]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/MobileLedgerDB.java
migrate to a proper db helper class, sub-classed from SQLiteOpenHelper
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / MobileLedgerDB.java
diff --git a/app/src/main/java/net/ktnx/mobileledger/MobileLedgerDB.java b/app/src/main/java/net/ktnx/mobileledger/MobileLedgerDB.java
deleted file mode 100644 (file)
index 021ee45..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-package net.ktnx.mobileledger;
-
-import android.content.res.Resources;
-import android.database.Cursor;
-import android.database.SQLException;
-import android.database.sqlite.SQLiteDatabase;
-import android.util.Log;
-
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Locale;
-
-class MobileLedgerDB {
-    static final String DATABASE_NAME = "accounts";
-    static final String OPT_DB_REVISION = "db_revision";
-    static final String ACCOUNTS_TABLE = "accounts";
-    static final String DESCRIPTION_HISTORY_TABLE = "description_history";
-    private static String db_filename;
-    static SQLiteDatabase db;
-
-    static String getDb_filename() {
-        return db_filename;
-    }
-
-    static void setDb_filename(String db_filename) {
-        MobileLedgerDB.db_filename = db_filename;
-    }
-
-    static void initDB(Resources rm, String pkg_name) {
-        db = SQLiteDatabase.openOrCreateDatabase(db_filename, null);
-        int cur_ver = Integer.parseInt(get_option_value(OPT_DB_REVISION, "-1"));
-
-        Log.d("db", "Current DB revision is "+String.valueOf(cur_ver));
-
-        while (applyRevision(rm, pkg_name, cur_ver+1)) {
-            cur_ver++;
-        }
-
-        Log.d("db", "Database revision is "+String.valueOf(cur_ver)+" now");
-    }
-    private static boolean applyRevision(Resources rm, String pkg_name, int rev_no) {
-        String rev_file = String.format(Locale.US, "sql_%d", rev_no);
-
-        int res_id = rm.getIdentifier(rev_file, "raw", pkg_name);
-        if (res_id == 0) {
-            Log.d("db", String.format(Locale.US, "No resource for revision %d", rev_no));
-            return false;
-        }
-        db.beginTransaction();
-        try (InputStream res = rm.openRawResource(res_id)) {
-            Log.d("db", "Applying revision " + String.valueOf(rev_no));
-            InputStreamReader isr = new InputStreamReader(res);
-            BufferedReader reader = new BufferedReader(isr);
-
-            String line;
-            while ((line = reader.readLine()) != null) {
-                db.execSQL(line);
-            }
-
-            set_option_value(OPT_DB_REVISION, rev_no);
-            db.setTransactionSuccessful();
-        } catch (Resources.NotFoundException e) {
-            Log.d("db", "SQL revision "+String.valueOf(rev_no)+" not found");
-            return false;
-        }
-        catch (SQLException e) {
-            Log.e("db", String.format(Locale.US, "Error applying revision %d: %s", rev_no, e.getMessage()));
-            return false;
-        }
-        catch (Exception e) {
-            Log.w("db", "Error reading revision" + String.valueOf(rev_no)+": "+e.getMessage());
-            return false;
-        }
-        finally {
-            db.endTransaction();
-        }
-
-        return true;
-    }
-
-    static int get_option_value(String name, int default_value) {
-        String s = get_option_value(name, String.valueOf(default_value));
-        try {
-            return Integer.parseInt(s);
-        }
-        catch (Exception e) {
-            return default_value;
-        }
-    }
-
-    static long get_option_value(String name, long default_value) {
-        String s = get_option_value(name, String.valueOf(default_value));
-        try {
-            return Long.parseLong(s);
-        }
-        catch (Exception e) {
-            Log.d("db", "returning default long value of "+name, e);
-            return default_value;
-        }
-    }
-
-    static String get_option_value(String name, String default_value) {
-        Log.d("db", "about fo fetch option "+name);
-        try (Cursor cursor = db.rawQuery("select value from options where name=?", new String[]{name})) {
-            if (cursor.moveToFirst()) {
-                String result = cursor.getString(0);
-
-                if (result == null ) result = default_value;
-
-                Log.d("db", "option "+name+"="+result);
-                return result;
-            }
-            else return default_value;
-        }
-        catch(Exception e) {
-            Log.d("db", "returning default value for "+name, e);
-            return default_value;
-        }
-    }
-
-    static void set_option_value(String name, String value) {
-        Log.d("db", "setting option "+name+"="+value);
-        db.execSQL("insert or replace into options(name, value) values(?, ?);", new String[]{name, value});
-    }
-
-    static void set_option_value(String name, long value) {
-        set_option_value(name, String.valueOf(value));
-    }
-}