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 |
|
|
|
|
| 82,5% |
Uncovered Elements: 40 (229) |
Complexity: 33 |
Complexity Density: 0,16 |
|
13 |
|
public class DBManager extends SQLiteOpenHelper { |
14 |
|
|
15 |
|
public static SaveApp saveApp; |
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
|
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 |
|
|
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 |
|
|
36 |
|
public static final char ACCOUNT_TABLE_ID = 'A'; |
37 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
226 |
|
|
227 |
|
|
228 |
|
|
229 |
|
public SQLiteDatabase db; |
230 |
|
private DBManager dbManager; |
231 |
|
|
232 |
|
|
233 |
|
|
234 |
|
|
235 |
|
|
236 |
|
|
237 |
|
|
238 |
|
|
239 |
|
|
240 |
|
|
241 |
|
|
242 |
|
|
243 |
|
|
244 |
|
|
245 |
|
|
246 |
|
|
247 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
|
248 |
6
|
public DBManager(Context context) {... |
249 |
6
|
super(context, DB_NAME, null, DB_VERSION); |
250 |
6
|
Log.i("DB", "Constructor 2"); |
251 |
|
|
252 |
|
} |
253 |
|
|
254 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (24) |
Complexity: 1 |
Complexity Density: 0,04 |
|
255 |
1
|
public void onCreate(SQLiteDatabase _db) {... |
256 |
1
|
Log.i("DB", "Create Tables..."); |
257 |
|
|
258 |
|
|
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 |
|
|
277 |
|
|
278 |
|
|
279 |
|
|
280 |
|
|
281 |
|
|
282 |
|
|
283 |
|
|
284 |
|
|
285 |
|
|
286 |
|
|
287 |
|
|
288 |
|
|
289 |
|
|
290 |
|
|
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 |
|
|
|
|
| 0% |
Uncovered Elements: 18 (18) |
Complexity: 1 |
Complexity Density: 0,06 |
|
302 |
0
|
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 |
|
|
322 |
|
|
323 |
|
|
324 |
|
|
325 |
|
|
326 |
|
} |
327 |
|
|
328 |
|
|
|
|
| 0% |
Uncovered Elements: 4 (4) |
Complexity: 2 |
Complexity Density: 0,5 |
|
329 |
0
|
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 |
|
|
|
|
| 0% |
Uncovered Elements: 3 (3) |
Complexity: 1 |
Complexity Density: 0,33 |
|
339 |
0
|
public void close() {... |
340 |
0
|
Log.i("DB", "Closing"); |
341 |
0
|
db.close(); |
342 |
0
|
Log.i("DB", "Closed"); |
343 |
|
} |
344 |
|
|
345 |
|
|
346 |
|
|
347 |
|
|
348 |
|
|
349 |
|
|
350 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0,14 |
|
351 |
9
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0,25 |
|
362 |
5
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (4) |
Complexity: 1 |
Complexity Density: 0,25 |
|
370 |
1
|
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 |
|
|
|
|
| 85% |
Uncovered Elements: 6 (40) |
Complexity: 11 |
Complexity Density: 0,31 |
|
378 |
160
|
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 |
|
|
409 |
|
|
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 |
|
|
|
|
| 0% |
Uncovered Elements: 5 (5) |
Complexity: 1 |
Complexity Density: 0,2 |
|
426 |
0
|
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 |
|
|
438 |
|
|
439 |
|
} |
440 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0,17 |
|
441 |
14
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0,14 |
|
453 |
21
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0,2 |
|
465 |
32
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (11) |
Complexity: 2 |
Complexity Density: 0,22 |
|
476 |
13
|
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 |
|
|
491 |
|
|
492 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (27) |
Complexity: 1 |
Complexity Density: 0,04 |
|
493 |
1
|
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 |
|
|
525 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (10) |
Complexity: 1 |
Complexity Density: 0,1 |
|
526 |
1
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0,17 |
|
539 |
1
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0,17 |
|
548 |
1
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (8) |
Complexity: 1 |
Complexity Density: 0,12 |
|
557 |
1
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (6) |
Complexity: 1 |
Complexity Density: 0,17 |
|
568 |
1
|
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 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (5) |
Complexity: 1 |
Complexity Density: 0,2 |
|
577 |
1
|
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 |
|
} |