Clover Coverage Report - SaveApp Coverage Report
Coverage timestamp: mar dic 23 2014 15:53:11 EST
../../../../img/srcFileCovDistChart9.png 12% of files have more coverage
202   584   33   9,62
6   447   0,16   21
21     1,57  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  DBManager       Line # 13 202 33 82,5% 0.8253275
 
No Tests
 
1    package com.loopback.androidapps.saveapp;
2   
3   
4    import android.content.ContentValues;
5    import android.content.Context;
6    import android.database.Cursor;
7    import android.database.SQLException;
8    import android.database.sqlite.SQLiteDatabase;
9    import android.database.sqlite.SQLiteException;
10    import android.database.sqlite.SQLiteOpenHelper;
11    import android.util.Log;
12   
 
13    public class DBManager extends SQLiteOpenHelper {
14   
15    public static SaveApp saveApp;
16   
17    /********************************************************************************************************/
18    /*-----------------------------------TABLE CONSTANTS-----------------------------------------------------/
19    /********************************************************************************************************/
20    // General Constants
21    private static final String DB_NAME = "/mnt/sdcard/saveapp/db";
22    private static final int DB_VERSION = 1;
23    public static final String KEY_ID = "_id";
24   
25    // Currency
26    public static final char CURRENCY_TABLE_ID = 'C';
27    public static final String CURRENCY_TABLE = "CURRENCY";
28    public static final String CURRENCY_COLUMN_SYMBOL = "symbol";
29    public static final String CURRENCY_COLUMN_DESC = "description";
30    public static final String CURRENCY_TABLE_CREATE = "CREATE TABLE "
31    + CURRENCY_TABLE + " (" + KEY_ID
32    + " INTEGER PRIMARY KEY AUTOINCREMENT, " + CURRENCY_COLUMN_SYMBOL
33    + " VARCHAR, " + CURRENCY_COLUMN_DESC + " VARCHAR " + ");";
34   
35    // Account
36    public static final char ACCOUNT_TABLE_ID = 'A'; // For switching between
37    // tables
38    public static final int ACCOUNT_TABLE_NUM_COLS = 3;
39    public static final String ACCOUNT_TABLE = "ACCOUNT";
40    public static final String ACCOUNT_COLUMN_DESC = "description";
41    public static final String ACCOUNT_COLUMN_BUDGET = "budget";
42    public static final String ACCOUNT_COLUMN_PERIOD = "period";
43    public static final String ACCOUNT_COLUMN_START_DATE = "start_date";
44    public static final String ACCOUNT_COLUMN_END_DATE = "end_date";
45    public static final String ACCOUNT_COLUMN_CURRENCY = "currency_id";
46    public static final String ACCOUNT_FK_CURRENCY = "currency_fk";
47   
48    public static final String ACCOUNT_TABLE_CREATE = "CREATE TABLE "
49    + ACCOUNT_TABLE + " (" + KEY_ID
50    + " INTEGER PRIMARY KEY AUTOINCREMENT, " + ACCOUNT_COLUMN_BUDGET
51    + " VARCHAR, " + ACCOUNT_COLUMN_PERIOD + " VARCHAR, "
52    + ACCOUNT_COLUMN_DESC + " VARCHAR, " + ACCOUNT_COLUMN_START_DATE
53    + " VARCHAR, " + ACCOUNT_COLUMN_END_DATE + " VARCHAR, "
54    + ACCOUNT_COLUMN_CURRENCY + " INTEGER, " + "FOREIGN KEY ("
55    + ACCOUNT_COLUMN_CURRENCY + ") REFERENCES " + CURRENCY_TABLE + " ("
56    + KEY_ID + ") " + ");";
57   
58    // Item
59    public static final char ITEM_TABLE_ID = 'I';
60    public static final String ITEM_TABLE = "ITEM";
61    public static final String ITEM_COLUMN_TYPE = "type";
62    public static final String ITEM_COLUMN_DESC = "description";
63    public static final String ITEM_TABLE_CREATE = "CREATE TABLE " + ITEM_TABLE
64    + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
65    + ITEM_COLUMN_TYPE + " VARCHAR, " + ITEM_COLUMN_DESC + " VARCHAR "
66    + ");";
67   
68    // Places
69    public static final char PLACE_TABLE_ID = 'P';
70    public static final String PLACE_TABLE = "PLACE";
71    public static final String PLACE_COLUMN_TYPE = "type";
72    public static final String PLACE_COLUMN_DESC = "description";
73    public static final String PLACE_TABLE_CREATE = "CREATE TABLE "
74    + PLACE_TABLE + " (" + KEY_ID
75    + " INTEGER PRIMARY KEY AUTOINCREMENT, " + PLACE_COLUMN_TYPE
76    + " VARCHAR, " + PLACE_COLUMN_DESC + " VARCHAR" + ");";
77   
78    // Address
79    public static final char ADDRESS_TABLE_ID = 'D';
80    public static final String ADDRESS_TABLE = "ADDRESS";
81    public static final String ADDRESS_COLUMN_LATITUDE = "latitude";
82    public static final String ADDRESS_COLUMN_LONGITUDE = "longitue";
83    public static final String ADDRESS_COLUMN_DESC = "description";
84    public static final String ADDRESS_COLUMN_PLACE = "place_id";
85    public static final String ADDRESS_FK_PLACE = "place_fk";
86    public static final String ADDRESS_TABLE_CREATE = "CREATE TABLE "
87    + ADDRESS_TABLE + " (" + KEY_ID
88    + " INTEGER PRIMARY KEY AUTOINCREMENT, " + ADDRESS_COLUMN_LATITUDE
89    + " VARCHAR, " + ADDRESS_COLUMN_LONGITUDE + " VARCHAR, "
90    + ADDRESS_COLUMN_DESC + " VARCHAR, " + ADDRESS_COLUMN_PLACE
91    + " INTEGER, " + "FOREIGN KEY (" + ADDRESS_COLUMN_PLACE
92    + ") REFERENCES " + PLACE_TABLE + " (" + KEY_ID + ") " + ");";
93   
94    // File
95    public static final char FILE_TABLE_ID = 'H';
96    public static final String FILE_TABLE = "FILE";
97    public static final String FILE_COLUMN_TYPE = "type";
98    public static final String FILE_COLUMN_PATH = "path";
99    public static final String FILE_TABLE_CREATE = "CREATE TABLE " + FILE_TABLE
100    + " (" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
101    + FILE_COLUMN_TYPE + " VARCHAR, " + FILE_COLUMN_PATH + " VARCHAR "
102    + ");";
103   
104    // Album
105    public static final char ALBUM_TABLE_ID = 'L';
106    public static final String ALBUM_TABLE = "ALBUM";
107    public static final String ALBUM_COLUMN_FILE = "file_id";
108    public static final String ALBUM_FK_FILE = "file_fk";
109    public static final String ALBUM_TABLE_CREATE = "CREATE TABLE "
110    + ALBUM_TABLE + " (" + KEY_ID
111    + " INTEGER PRIMARY KEY AUTOINCREMENT, " + ALBUM_COLUMN_FILE
112    + " INTEGER, " + "FOREIGN KEY (" + ALBUM_COLUMN_FILE
113    + ") REFERENCES " + FILE_TABLE + " (" + KEY_ID + ") " + ");";
114   
115    // Outlay
116    public static final char OUTLAY_TABLE_ID = 'T';
117    public static final String OUTLAY_TABLE = "OUTLAY";
118    public static final String OUTLAY_COLUMN_CHARGE = "charge";
119    public static final String OUTLAY_COLUMN_DATE = "date";
120    public static final String OUTLAY_COLUMN_NOTES = "notes";
121   
122    public static final String OUTLAY_COLUMN_ACCOUNT = "account_id";
123    public static final String OUTLAY_COLUMN_PLACE = "place_id";
124    public static final String OUTLAY_COLUMN_ADDRESS = "address_id";
125    public static final String OUTLAY_COLUMN_ITEM = "item_id";
126    public static final String OUTLAY_COLUMN_ALBUM = "album_id";
127   
128    public static final String OUTLAY_FK_ACCOUNT = "account_fk";
129    public static final String OUTLAY_FK_PLACE = "place_fk";
130    public static final String OUTLAY_FK_ADDRESS = "address_fk";
131    public static final String OUTLAY_FK_ITEM = "item_fk";
132    public static final String OUTLAY_FK_ALBUM = "album_fk";
133   
134    public static final String OUTLAY_TABLE_CREATE = "CREATE TABLE "
135    + OUTLAY_TABLE + " (" + KEY_ID
136    + " INTEGER PRIMARY KEY AUTOINCREMENT, " + OUTLAY_COLUMN_CHARGE
137    + " INTEGER, " + OUTLAY_COLUMN_DATE + " DATETIME, "
138    + OUTLAY_COLUMN_NOTES + " VARCHAR, "
139   
140    + OUTLAY_COLUMN_ACCOUNT + " INTEGER, " + OUTLAY_COLUMN_PLACE
141    + " INTEGER, " + OUTLAY_COLUMN_ADDRESS + " INTEGER, "
142    + OUTLAY_COLUMN_ITEM + " INTEGER, " + OUTLAY_COLUMN_ALBUM
143    + " INTEGER, " + "FOREIGN KEY (" + OUTLAY_COLUMN_ACCOUNT
144    + ") REFERENCES " + ACCOUNT_TABLE + " (" + KEY_ID + "), "
145    + "FOREIGN KEY (" + OUTLAY_COLUMN_PLACE + ") REFERENCES "
146    + PLACE_TABLE + " (" + KEY_ID + "), " + "FOREIGN KEY ("
147    + OUTLAY_COLUMN_ADDRESS + ") REFERENCES " + ADDRESS_TABLE + " ("
148    + KEY_ID + "), " + "FOREIGN KEY (" + OUTLAY_COLUMN_ITEM
149    + ") REFERENCES " + ITEM_TABLE + " (" + KEY_ID + "), "
150    + "FOREIGN KEY (" + OUTLAY_COLUMN_ALBUM + ") REFERENCES "
151    + ALBUM_TABLE + " (" + KEY_ID + ") " + ");";
152   
153    public static final String OUTLAY_TABLE_TRIGGER_ACCOUNT = "CREATE TRIGGER "
154    + OUTLAY_FK_ACCOUNT + " BEFORE INSERT " + " ON " + OUTLAY_TABLE
155    + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT "
156    + OUTLAY_COLUMN_ACCOUNT + " FROM " + ACCOUNT_TABLE + " WHERE "
157    + OUTLAY_COLUMN_ACCOUNT + "=new." + OUTLAY_COLUMN_ACCOUNT
158    + " ) IS NULL)"
159    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
160   
161    public static final String OUTLAY_TABLE_TRIGGER_ITEM = "CREATE TRIGGER "
162    + OUTLAY_FK_ITEM + " BEFORE INSERT " + " ON " + OUTLAY_TABLE
163    + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT "
164    + OUTLAY_COLUMN_ITEM + " FROM " + ITEM_TABLE + " WHERE "
165    + OUTLAY_COLUMN_ITEM + "=new." + OUTLAY_COLUMN_ITEM + " ) IS NULL)"
166    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
167   
168    public static final String OUTLAY_TABLE_TRIGGER_PLACE = "CREATE TRIGGER "
169    + OUTLAY_FK_PLACE + " BEFORE INSERT " + " ON " + OUTLAY_TABLE
170    + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT "
171    + OUTLAY_COLUMN_PLACE + " FROM " + PLACE_TABLE + " WHERE "
172    + OUTLAY_COLUMN_PLACE + "=new." + OUTLAY_COLUMN_PLACE
173    + " ) IS NULL)"
174    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
175   
176    public static final String OUTLAY_TABLE_TRIGGER_ADDRESS = "CREATE TRIGGER "
177    + OUTLAY_FK_ADDRESS + " BEFORE INSERT " + " ON " + OUTLAY_TABLE
178    + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT "
179    + OUTLAY_COLUMN_ADDRESS + " FROM " + ADDRESS_TABLE + " WHERE "
180    + OUTLAY_COLUMN_ADDRESS + "=new." + OUTLAY_COLUMN_ADDRESS
181    + " ) IS NULL)"
182    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
183   
184    public static final String OUTLAY_TABLE_TRIGGER_ALBUM = "CREATE TRIGGER "
185    + OUTLAY_FK_ALBUM + " BEFORE INSERT " + " ON " + OUTLAY_TABLE
186    + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT "
187    + OUTLAY_COLUMN_ALBUM + " FROM " + ALBUM_TABLE + " WHERE "
188    + OUTLAY_COLUMN_ALBUM + "=new." + OUTLAY_COLUMN_ALBUM
189    + " ) IS NULL)"
190    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
191   
192    public static final String ACCOUNT_TABLE_TRIGGER_CURRENCY = "CREATE TRIGGER "
193    + ACCOUNT_FK_CURRENCY
194    + " BEFORE INSERT "
195    + " ON "
196    + ACCOUNT_TABLE
197    + " FOR EACH ROW BEGIN"
198    + " SELECT CASE WHEN ((SELECT "
199    + ACCOUNT_COLUMN_CURRENCY
200    + " FROM "
201    + CURRENCY_TABLE
202    + " WHERE "
203    + ACCOUNT_COLUMN_CURRENCY
204    + "=new."
205    + ACCOUNT_COLUMN_CURRENCY
206    + " ) IS NULL)"
207    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
208   
209    public static final String ADDRESS_TABLE_TRIGGER_PLACE = "CREATE TRIGGER "
210    + ADDRESS_FK_PLACE + " BEFORE INSERT " + " ON " + PLACE_TABLE
211    + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT "
212    + ADDRESS_COLUMN_PLACE + " FROM " + PLACE_TABLE + " WHERE "
213    + ADDRESS_COLUMN_PLACE + "=new." + ADDRESS_COLUMN_PLACE
214    + " ) IS NULL)"
215    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
216   
217    public static final String ALBUM_TABLE_TRIGGER_FILE = "CREATE TRIGGER "
218    + ALBUM_FK_FILE + " BEFORE INSERT " + " ON " + ALBUM_TABLE
219    + " FOR EACH ROW BEGIN" + " SELECT CASE WHEN ((SELECT "
220    + ALBUM_COLUMN_FILE + " FROM " + FILE_TABLE + " WHERE "
221    + ALBUM_COLUMN_FILE + "=new." + ALBUM_COLUMN_FILE + " ) IS NULL)"
222    + " THEN RAISE (ABORT,'Foreign Key Violation') END;" + " END;";
223   
224    /********************************************************************************************************/
225    /*----------------------------------CONSTRUCTOR & OPEN & CLOSE-------------------------------------------/
226    /********************************************************************************************************/
227   
228    // Variable to hold the database instance
229    public SQLiteDatabase db;
230    private DBManager dbManager;
231   
232   
233    /********************************************************************************************************/
234    /*---------------------------------------DDL-------------------------------------------------------------/
235    /*----------------------------(Data Definition Language)-------------------------------------------------/
236    /********************************************************************************************************/
237   
238    // CONSTRUCTOR
239    // // Context of the application using the database.
240    // private Context context;
241    // public DBManager(Context context, String name, CursorFactory factory,
242    // int version) {
243    // super(context, DB_NAME, factory, DB_VERSION);
244    // this.context = context;
245    // Log.i("DB", "Contructor 1");
246    // }
247   
 
248  6 toggle public DBManager(Context context) {
249  6 super(context, DB_NAME, null, DB_VERSION);
250  6 Log.i("DB", "Constructor 2");
251   
252    }
253   
254    // CREATE
 
255  1 toggle public void onCreate(SQLiteDatabase _db) {
256  1 Log.i("DB", "Create Tables...");
257   
258    // CURRENCY
259  1 _db.execSQL(ACCOUNT_TABLE_CREATE);
260  1 Log.i("DB", "Created ACCOUNT.");
261  1 _db.execSQL(ITEM_TABLE_CREATE);
262  1 Log.i("DB", "Created OBJECT.");
263  1 _db.execSQL(CURRENCY_TABLE_CREATE);
264  1 Log.i("DB", "Created CURRENCY.");
265  1 _db.execSQL(ADDRESS_TABLE_CREATE);
266  1 Log.i("DB", "Created ADDRESS.");
267  1 _db.execSQL(PLACE_TABLE_CREATE);
268  1 Log.i("DB", "Created PLACE.");
269  1 _db.execSQL(FILE_TABLE_CREATE);
270  1 Log.i("DB", "Created PHOTP.");
271  1 _db.execSQL(ALBUM_TABLE_CREATE);
272  1 Log.i("DB", "Created ALBUM.");
273  1 _db.execSQL(OUTLAY_TABLE_CREATE);
274  1 Log.i("DB", "Created OUTLAY.");
275   
276    // _db.execSQL(OUTLAY_TABLE_TRIGGER_ITEM);
277    // Log.i("DB", "Created OBJECT TRIGGER.");
278    // _db.execSQL(OUTLAY_TABLE_TRIGGER_ACCOUNT);
279    // Log.i("DB", "Created CURRENCY TRIGGER.");
280    // _db.execSQL(OUTLAY_TABLE_TRIGGER_PLACE);
281    // Log.i("DB", "Created PLACE TRIGGER.");
282    // _db.execSQL(OUTLAY_TABLE_TRIGGER_ADDRESS);
283    // Log.i("DB", "Created PLACE TRIGGER.");
284    // _db.execSQL(OUTLAY_TABLE_TRIGGER_ALBUM);
285    // Log.i("DB", "Created ALBUM TRIGGER.");
286    // _db.execSQL(ADDRESS_TABLE_TRIGGER_PLACE);
287    // Log.i("DB", "Created ADDRESS TRIGGER.");
288    // _db.execSQL(ALBUM_TABLE_TRIGGER_FILE);
289    // Log.i("DB", "Created FILE TRIGGER.");
290    // Log.i("DB", "Tables created.");
291    //
292  1 insertInitialCurrencies(_db);
293  1 insertInitialAccount(_db);
294  1 insertInitialItem(_db);
295  1 insertInitialAddress(_db);
296  1 insertInitialPlace(_db);
297  1 insertInitialFile(_db);
298  1 insertInitialAlbum(_db);
299   
300    }
301   
 
302  0 toggle public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) {
303  0 Log.i("DB", "Upgrade");
304  0 _db.execSQL("DROP TABLE IF EXISTS " + OUTLAY_TABLE);
305  0 _db.execSQL("DROP TABLE IF EXISTS " + ACCOUNT_TABLE);
306  0 _db.execSQL("DROP TABLE IF EXISTS " + ITEM_TABLE);
307  0 _db.execSQL("DROP TABLE IF EXISTS " + CURRENCY_TABLE);
308  0 _db.execSQL("DROP TABLE IF EXISTS " + ADDRESS_TABLE);
309  0 _db.execSQL("DROP TABLE IF EXISTS " + PLACE_TABLE);
310  0 _db.execSQL("DROP TABLE IF EXISTS " + FILE_TABLE);
311  0 _db.execSQL("DROP TABLE IF EXISTS " + ALBUM_TABLE);
312  0 _db.execSQL("DROP TRIGGER IF EXISTS " + OUTLAY_TABLE_TRIGGER_ACCOUNT);
313  0 _db.execSQL("DROP TRIGGER IF EXISTS " + OUTLAY_TABLE_TRIGGER_ITEM);
314  0 _db.execSQL("DROP TRIGGER IF EXISTS " + OUTLAY_TABLE_TRIGGER_PLACE);
315  0 _db.execSQL("DROP TRIGGER IF EXISTS " + OUTLAY_TABLE_TRIGGER_ADDRESS);
316  0 _db.execSQL("DROP TRIGGER IF EXISTS " + OUTLAY_TABLE_TRIGGER_ALBUM);
317  0 _db.execSQL("DROP TRIGGER IF EXISTS " + ACCOUNT_TABLE_TRIGGER_CURRENCY);
318  0 _db.execSQL("DROP TRIGGER IF EXISTS " + ALBUM_TABLE_TRIGGER_FILE);
319  0 _db.execSQL("DROP TRIGGER IF EXISTS " + ADDRESS_TABLE_TRIGGER_PLACE);
320  0 onCreate(_db);
321    // Log the version upgrade.
322    /*
323    * Log.w('TaskDBAdapter', 'Upgrading from version ' + _oldVersion + 'to'
324    * + _newVersion + ', which will destroy all old data');
325    */
326    }
327   
328    // OPEN DB
 
329  0 toggle public void open() throws SQLException {
330  0 Log.i("DB", "Open");
331  0 try {
332  0 db = dbManager.getWritableDatabase();
333    } catch (SQLiteException ex) {
334  0 db = dbManager.getReadableDatabase();
335    }
336    }
337   
338    // CLOSE
 
339  0 toggle public void close() {
340  0 Log.i("DB", "Closing");
341  0 db.close();
342  0 Log.i("DB", "Closed");
343    }
344   
345    /********************************************************************************************************/
346    /*---------------------------------------(DML) ----------------------------------------------------------/
347    /*-----------------------------Data Manipulation Language -----------------------------------------------/
348    /********************************************************************************************************/
349   
350    // Insert
 
351  9 toggle public int insert(String table, ContentValues cv) {
352  9 Log.i("DB", "Inserting in " + table + "...");
353  9 SQLiteDatabase db = this.getWritableDatabase();
354  9 db.insert(table, KEY_ID, cv);
355  9 Cursor cursor = db.rawQuery("SELECT COUNT(1) FROM " + table, null);
356  9 cursor.moveToFirst();
357  9 Log.i("DB", "Inserted.");
358  9 return Integer.valueOf(cursor.getString(0));
359    }
360   
361    // Update
 
362  5 toggle public void update(int id, String table, ContentValues cv) {
363  5 Log.i("DB", "Updating " + table + "...");
364  5 SQLiteDatabase db = this.getWritableDatabase();
365  5 db.update(table, cv, KEY_ID + "=?", new String[] { String.valueOf(id) });
366  5 Log.i("DB", "Updated.");
367    }
368   
369    // Delete
 
370  1 toggle public void delete(int id, String table) {
371  1 Log.i("DB", "Deleting " + table + "...");
372  1 SQLiteDatabase db = this.getWritableDatabase();
373  1 db.delete(table, KEY_ID + "=?", new String[] { String.valueOf(id) });
374  1 Log.i("DB", "Deleted.");
375    }
376   
377    // Select
 
378  160 toggle public Cursor select(int id, char tableId) {
379  160 Log.i("DB", "Selecting data...");
380   
381  160 String table = null;
382  160 Cursor cursor;
383  160 SQLiteDatabase db = this.getWritableDatabase();
384   
385  160 switch (tableId) {
386  21 case ACCOUNT_TABLE_ID:
387  21 table = ACCOUNT_TABLE;
388  21 break;
389  32 case ITEM_TABLE_ID:
390  32 table = ITEM_TABLE;
391  32 break;
392  12 case CURRENCY_TABLE_ID:
393  12 table = CURRENCY_TABLE;
394  12 break;
395  32 case PLACE_TABLE_ID:
396  32 table = PLACE_TABLE;
397  32 break;
398  37 case ADDRESS_TABLE_ID:
399  37 table = ADDRESS_TABLE;
400  37 break;
401  0 case ALBUM_TABLE_ID:
402  0 table = ALBUM_TABLE;
403  0 break;
404  0 case FILE_TABLE_ID:
405  0 table = FILE_TABLE;
406  0 break;
407  26 case OUTLAY_TABLE_ID:
408    // Select only the outlays of the account selected. and order it
409    // TODO
410  26 table = OUTLAY_TABLE;
411  26 if (id == -1)
412  10 table = OUTLAY_TABLE + " WHERE " + OUTLAY_COLUMN_ACCOUNT
413    + " = '" + String.valueOf(saveApp.getAccountId())
414    + "' ORDER BY " + OUTLAY_COLUMN_DATE;
415  26 break;
416    }
417  160 if (id == -1)
418  10 cursor = db.rawQuery("SELECT * FROM " + table, null);
419    else
420  150 cursor = db.rawQuery("SELECT * FROM " + table + " WHERE " + KEY_ID
421    + " = '" + String.valueOf(id) + "'", null);
422  160 Log.i("DB", "Selected.");
423  160 return cursor;
424    }
425   
 
426  0 toggle public Cursor selectPlotList() {
427  0 Log.i("DB", "Select...");
428  0 SQLiteDatabase db = this.getWritableDatabase();
429  0 Cursor cursor = db.rawQuery("SELECT SUM(" + OUTLAY_COLUMN_CHARGE
430    + ") as "+OUTLAY_COLUMN_CHARGE + ", SUBSTR(" + OUTLAY_COLUMN_DATE + ",0,11) as "+ OUTLAY_COLUMN_DATE +" FROM "
431    + OUTLAY_TABLE + " WHERE " + OUTLAY_COLUMN_ACCOUNT + " = '"
432    + String.valueOf(saveApp.getAccountId()) + "' GROUP BY "
433    + "SUBSTR(" + OUTLAY_COLUMN_DATE + ",0,11) " + " ORDER BY "
434    + "SUBSTR(" + OUTLAY_COLUMN_DATE + ",0,11)", null);
435  0 cursor.moveToFirst();
436  0 return cursor;
437    // SELECT sum(charge),substr(date,0,11) FROM outlay group by
438    // substr(date,0,11) order by substr(date,0,11)
439    }
440   
 
441  14 toggle public int getId(String table, String column, String value) {
442  14 Log.i("DB", "Selecting data...");
443  14 SQLiteDatabase db = this.getWritableDatabase();
444  14 Cursor cursor = db.rawQuery("SELECT " + KEY_ID + " FROM " + table
445    + " WHERE " + column + "= '" + value + "'", null);
446  14 cursor.moveToFirst();
447  14 Log.i("DB", "Selected.");
448  14 return Integer.valueOf(cursor.getString(0));
449   
450    }
451   
452    // Exist
 
453  21 toggle public boolean exist(String table, String column, String value) {
454  21 Log.i("DB", "Checking Values Existence...");
455  21 SQLiteDatabase db = this.getWritableDatabase();
456  21 Cursor cursor = db.rawQuery("SELECT COUNT(" + column + ") FROM "
457    + table + " WHERE " + column + "= '" + value + "'", null);
458  21 cursor.moveToFirst();
459  21 String count = cursor.getString(0);
460  21 Log.i("DB", "Selected.");
461  21 return (Integer.valueOf(count) > 0);
462    }
463   
464    // Select Filter
 
465  32 toggle public Cursor selectFilter(String table, String column, int filter,
466    String columnFilter) {
467  32 Log.i("DB", "Select...");
468  32 SQLiteDatabase db = this.getWritableDatabase();
469  32 Cursor cursor = db
470    .rawQuery("SELECT " + column + " FROM " + table, null);
471  32 cursor.moveToFirst();
472  32 return cursor;
473    }
474   
475    // Ssum
 
476  13 toggle public int sum(String table, String column, int filter, String columnFilter) {
477  13 Log.i("DB", "Sum...");
478  13 SQLiteDatabase db = this.getWritableDatabase();
479  13 Cursor cursor = db.rawQuery("SELECT SUM(" + column + ") FROM " + table
480    + " WHERE " + columnFilter + "= '" + filter + "'", null);
481  13 cursor.moveToFirst();
482  13 String sum = cursor.getString(0);
483  13 if (sum == null)
484  1 return 0;
485  12 Log.i("DB", "Selected.");
486  12 return Integer.valueOf(sum);
487    }
488   
489    /*------------------------------------------------
490    --------------------CURRENCY----------------------
491    --------------------------------------------------*/
492   
 
493  1 toggle public static void insertInitialCurrencies(SQLiteDatabase _db) {
494  1 Log.i("DB", "Inserting Initial Currencies...");
495  1 ContentValues cv = new ContentValues();
496  1 cv.put(CURRENCY_COLUMN_SYMBOL, "$");
497  1 cv.put(CURRENCY_COLUMN_DESC, "Dollar");
498  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
499  1 cv.put(CURRENCY_COLUMN_SYMBOL, "�");
500  1 cv.put(CURRENCY_COLUMN_DESC, "Euro");
501  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
502  1 cv.put(CURRENCY_COLUMN_SYMBOL, "�");
503  1 cv.put(CURRENCY_COLUMN_DESC, "Pound");
504  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
505  1 cv.put(CURRENCY_COLUMN_SYMBOL, "�");
506  1 cv.put(CURRENCY_COLUMN_DESC, "Yen");
507  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
508  1 cv.put(CURRENCY_COLUMN_SYMBOL, "�");
509  1 cv.put(CURRENCY_COLUMN_DESC, "Yuan");
510  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
511  1 cv.put(CURRENCY_COLUMN_SYMBOL, "W");
512  1 cv.put(CURRENCY_COLUMN_DESC, "Won");
513  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
514  1 cv.put(CURRENCY_COLUMN_SYMBOL, "$");
515  1 cv.put(CURRENCY_COLUMN_DESC, "Peso");
516  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
517  1 cv.put(CURRENCY_COLUMN_SYMBOL, "");
518  1 cv.put(CURRENCY_COLUMN_DESC, "None");
519  1 _db.insert(CURRENCY_TABLE, KEY_ID, cv);
520  1 Log.i("DB", "Currencies Inserted");
521    }
522   
523    /*------------------------------------------------
524    --------------------ACCOUNT----------------------
525    --------------------------------------------------*/
 
526  1 toggle public static void insertInitialAccount(SQLiteDatabase _db) {
527  1 Log.i("DB", "Inserting Initial Account...");
528  1 ContentValues cv = new ContentValues();
529  1 cv.put(ACCOUNT_COLUMN_DESC, "MAIN");
530  1 cv.put(ACCOUNT_COLUMN_BUDGET, "0");
531  1 cv.put(ACCOUNT_COLUMN_PERIOD, "Month");
532  1 cv.put(ACCOUNT_COLUMN_START_DATE, Utilities.dateGetter());
533  1 cv.put(ACCOUNT_COLUMN_END_DATE, "None ");
534  1 cv.put(ACCOUNT_COLUMN_CURRENCY, "1");
535  1 _db.insert(ACCOUNT_TABLE, KEY_ID, cv);
536  1 Log.i("DB", "Inserted");
537    }
538   
 
539  1 toggle public static void insertInitialItem(SQLiteDatabase _db) {
540  1 Log.i("DB", "Inserting Initial Item...");
541  1 ContentValues cv = new ContentValues();
542  1 cv.put(ITEM_COLUMN_TYPE, "");
543  1 cv.put(ITEM_COLUMN_DESC, "");
544  1 _db.insert(ITEM_TABLE, KEY_ID, cv);
545  1 Log.i("DB", "Inserted");
546    }
547   
 
548  1 toggle public static void insertInitialPlace(SQLiteDatabase _db) {
549  1 Log.i("DB", "Inserting Initial C...");
550  1 ContentValues cv = new ContentValues();
551  1 cv.put(PLACE_COLUMN_TYPE, "");
552  1 cv.put(PLACE_COLUMN_DESC, "");
553  1 _db.insert(PLACE_TABLE, KEY_ID, cv);
554  1 Log.i("DB", "Inserted");
555    }
556   
 
557  1 toggle public static void insertInitialAddress(SQLiteDatabase _db) {
558  1 Log.i("DB", "Inserting Initial Address...");
559  1 ContentValues cv = new ContentValues();
560  1 cv.put(ADDRESS_COLUMN_DESC, "");
561  1 cv.put(ADDRESS_COLUMN_PLACE, "");
562  1 cv.put(ADDRESS_COLUMN_LATITUDE, "0");
563  1 cv.put(ADDRESS_COLUMN_LONGITUDE, "0");
564  1 _db.insert(ADDRESS_TABLE, KEY_ID, cv);
565  1 Log.i("DB", "Inserted");
566    }
567   
 
568  1 toggle public static void insertInitialFile(SQLiteDatabase _db) {
569  1 Log.i("DB", "Inserting Initial File...");
570  1 ContentValues cv = new ContentValues();
571  1 cv.put(FILE_COLUMN_TYPE, "");
572  1 cv.put(FILE_COLUMN_PATH, "");
573  1 _db.insert(FILE_TABLE, KEY_ID, cv);
574  1 Log.i("DB", "Inserted");
575    }
576   
 
577  1 toggle public static void insertInitialAlbum(SQLiteDatabase _db) {
578  1 Log.i("DB", "Inserting Initial Album...");
579  1 ContentValues cv = new ContentValues();
580  1 cv.put(ALBUM_COLUMN_FILE, "");
581  1 _db.insert(ALBUM_TABLE, KEY_ID, cv);
582  1 Log.i("DB", "Inserted");
583    }
584    }