Android Open Source - makler Quotes Dao






From Project

Back to project page makler.

License

The source code is released under:

GNU General Public License

If you think the Android project makler listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package pl.net.newton.Makler.db.quote;
//w w  w . ja v a 2s .c  om
import java.util.ArrayList;
import java.util.List;

import pl.net.newton.Makler.R;
import pl.net.newton.Makler.db.DbHelper;
import pl.net.newton.Makler.db.symbol.SymbolsDb;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import static pl.net.newton.Makler.db.Constants.QUOTES;

public class QuotesDao {

  private final Context ctx;

  private final SQLiteDatabase sqlDb;

  private final SymbolsDb symbolsDb;

  public QuotesDao(SQLiteDatabase sqlDb, Context ctx) {
    this.ctx = ctx;
    this.sqlDb = sqlDb;
    this.symbolsDb = new SymbolsDb(sqlDb, ctx);
  }

  public List<Quote> getQuotes(boolean all) {
    List<Quote> quotes = new ArrayList<Quote>();
    String sql;
    if (all) {
      sql = ctx.getString(R.string.getAllQuotes);
    } else {
      sql = ctx.getString(R.string.getQuotes);
    }
    Cursor c = sqlDb.rawQuery(sql, null);
    if (c.moveToFirst()) {
      do {
        quotes.add(new Quote(c));
      } while (c.moveToNext());
    }
    c.close();
    return quotes;
  }

  public Quote getQuoteBySymbol(String symbol) {
    Cursor c = sqlDb.rawQuery(ctx.getString(R.string.quoteBySymbol), new String[] { symbol });
    if (!c.moveToFirst()) {
      return null;
    }
    Quote q = new Quote(c);
    c.close();
    return q;
  }

  public Quote getQuoteById(Integer id) {
    Cursor c = sqlDb.rawQuery(ctx.getString(R.string.quoteById), new String[] { id.toString() });
    try {
      if (!c.moveToFirst()) {
        return null;
      }
      return new Quote(c);
    } finally {
      c.close();
    }
  }

  public void addQuotes(String symbols) {
    String[] s = symbols.replaceAll(",", " ").split(" ");
    sqlDb.beginTransaction();
    Integer size = (int) sqlDb.compileStatement("SELECT COUNT(*) FROM quotes").simpleQueryForLong();
    Integer pos = size + 1;
    for (String symbol : s) {
      Integer symbolId = this.symbolsDb.getSymbolId(symbol);
      if (symbolId == null) {
        continue;
      }
      ContentValues cv = new ContentValues();
      cv.put("symbol_id", symbolId);
      cv.put("position", pos++);
      sqlDb.insert(QUOTES, null, cv);
    }
    sqlDb.setTransactionSuccessful();
    sqlDb.endTransaction();
  }

  public void updateQuote(Quote q) {
    sqlDb.beginTransaction();
    int symbolId = this.symbolsDb.getSymbolId(q.get(QuoteField.SYMBOL));
    ContentValues cv = q.getContentValue();
    sqlDb.update(QUOTES, cv, "symbol_id = ?", new String[] { Integer.toString(symbolId) });
    sqlDb.setTransactionSuccessful();
    sqlDb.endTransaction();
  }

  public void deleteQuote(Integer id) {
    sqlDb.beginTransaction();
    sqlDb.delete(QUOTES, "id = ?", new String[] { id.toString() });
    sqlDb.delete("alerts", "quote_id = ?", new String[] { id.toString() });
    sqlDb.setTransactionSuccessful();
    sqlDb.endTransaction();
  }

  public void move(int id, boolean up) {
    DbHelper.move(sqlDb, QUOTES, id, up);
  }
}




Java Source Code List

pl.net.newton.Makler.common.Configuration.java
pl.net.newton.Makler.common.DateFormatUtils.java
pl.net.newton.Makler.common.GpwUtils.java
pl.net.newton.Makler.common.LocaleUtils.java
pl.net.newton.Makler.common.NumberFormatUtils.java
pl.net.newton.Makler.db.Constants.java
pl.net.newton.Makler.db.DbHelper.java
pl.net.newton.Makler.db.SqlConnection.java
pl.net.newton.Makler.db.alert.AlertBuilder.java
pl.net.newton.Makler.db.alert.AlertChecker.java
pl.net.newton.Makler.db.alert.AlertValue.java
pl.net.newton.Makler.db.alert.Alert.java
pl.net.newton.Makler.db.alert.AlertsDao.java
pl.net.newton.Makler.db.alert.Event.java
pl.net.newton.Makler.db.alert.Subject.java
pl.net.newton.Makler.db.quote.QuoteField.java
pl.net.newton.Makler.db.quote.Quote.java
pl.net.newton.Makler.db.quote.QuotesDao.java
pl.net.newton.Makler.db.service.SqlProvider.java
pl.net.newton.Makler.db.symbol.SymbolBuilder.java
pl.net.newton.Makler.db.symbol.Symbol.java
pl.net.newton.Makler.db.symbol.SymbolsDb.java
pl.net.newton.Makler.db.wallet.WalletDb.java
pl.net.newton.Makler.db.wallet.WalletItemBuilder.java
pl.net.newton.Makler.db.wallet.WalletItem.java
pl.net.newton.Makler.gpw.DefaultQuotesReceiver.java
pl.net.newton.Makler.gpw.QuotesReceiver.java
pl.net.newton.Makler.gpw.ex.GpwException.java
pl.net.newton.Makler.gpw.service.QuotesListener.java
pl.net.newton.Makler.gpw.service.QuotesService.java
pl.net.newton.Makler.gpw.service.UpdatingThread.java
pl.net.newton.Makler.history.BossaProvider.java
pl.net.newton.Makler.history.ByteArrayUtils.java
pl.net.newton.Makler.history.Cache.java
pl.net.newton.Makler.history.ChannelTools.java
pl.net.newton.Makler.history.EntryListWithIndexes.java
pl.net.newton.Makler.history.EntryList.java
pl.net.newton.Makler.history.HistoryFilter.java
pl.net.newton.Makler.history.HistoryProvider.java
pl.net.newton.Makler.history.service.HistoryListener.java
pl.net.newton.Makler.history.service.HistoryService.java
pl.net.newton.Makler.httpClient.Connector.java
pl.net.newton.Makler.receivers.QuotesAlarmReceiver.java
pl.net.newton.Makler.receivers.StartupReceiver.java
pl.net.newton.Makler.service.ServiceManager.java
pl.net.newton.Makler.ui.About.java
pl.net.newton.Makler.ui.AbstractActivity.java
pl.net.newton.Makler.ui.Alerts.java
pl.net.newton.Makler.ui.FullScreenGraph.java
pl.net.newton.Makler.ui.Preferences.java
pl.net.newton.Makler.ui.QuoteDetails.java
pl.net.newton.Makler.ui.Quotes.java
pl.net.newton.Makler.ui.Symbols.java
pl.net.newton.Makler.ui.WalletForm.java
pl.net.newton.Makler.ui.WalletItemCalculator.java
pl.net.newton.Makler.ui.Wallet.java
pl.net.newton.Makler.ui.adapter.AlertsAdapter.java
pl.net.newton.Makler.ui.adapter.QuotesAdapter.java
pl.net.newton.Makler.ui.adapter.SymbolsAdapter.java
pl.net.newton.Makler.ui.adapter.WalletAdapter.java
pl.net.newton.Makler.ui.graph.GraphView.java
pl.net.newton.Makler.ui.graph.MaklerGraphicalView.java