OSDN Git Service

ver1.3.0b
[jugglemaster/source.git] / workspace / JuggleMaster / src / com / jm / db / InitDB.java
index 9a74c7e..5ab31d7 100644 (file)
@@ -5,41 +5,68 @@ import android.database.sqlite.SQLiteDatabase;
 
 import com.jm.PatternList;
 import com.jm.utility.AsyncTaskIF;
+import com.jm.utility.Debug;
 import com.jm.utility.JmException;
 
 public class InitDB implements AsyncTaskIF {
+       private Context context;
+
        public InitDB(Context context) {
-               //this.context = context;
+               this.context = context;
        }
 
        @Override
        public void doExecute() {
                DatabaseHelper helper = DatabaseHelper.getInstance();
                PatternList p = new PatternList();
-               SQLiteDatabase db = helper.getWritableDatabase();
 
+               boolean convFlag1to2 = helper.getConvFlag1to2();
+               //boolean convFlag2to3 = helper.getConvFlag2to3();
+
+               SQLiteDatabase db = helper.getWritableDatabase();
                try {
                        helper.setLangId(DatabaseHelper.NONE_ID);
                        int langId = helper.getLangId();
        
                        db.beginTransaction();
                        
-                       boolean convFlag1to2 = helper.getConvFlag1to2();
+                       Dao dao = Dao.getInstance();
+                       int count = dao.countAll();
+                       
+//                     if (helper.getConvFlag()){
+//                             // 1to2 or 2to3
+//                             helper.convert(db, langId);
+//                             Dao.getInstance().start(db);
+//
+//                             // 1to2
+//                             helper.setLangId(DatabaseHelper.JAPANEASE_ID);
+//                             p.update();                     
+//                     }
+//                     else {
+//                             // 0件 and 2
+//                             helper.setLangId(DatabaseHelper.JAPANEASE_ID);
+//                             p.create(DatabaseHelper.JAPANEASE_ID);                          
+//                     }
+
                        if (helper.getConvFlag()){
+                               // 1to2 or 2to3
                                helper.convert(db, langId);
                                Dao.getInstance().start(db);
                        }
-                       
                        if (convFlag1to2){
-                               if (helper.getConvFlag()){
-                                       helper.setLangId(DatabaseHelper.JAPANEASE_ID);
-                                       p.update();                     
-                               }
-                               else {
+                               // 1to2
+                               helper.setLangId(DatabaseHelper.JAPANEASE_ID);
+                               p.update();                                                     
+                       }
+                       
+                       if (count <= 0 || convFlag1to2){
+                               if (count <= 0){
+                                       // 0件 and 2
                                        helper.setLangId(DatabaseHelper.JAPANEASE_ID);
                                        p.create(DatabaseHelper.JAPANEASE_ID);                          
                                }
-       
+                               
+                               // (0件 and 2) or 1to2
                                helper.setLangId(DatabaseHelper.ENGLISH_ID);
                                p.create(DatabaseHelper.ENGLISH_ID);
                                
@@ -50,10 +77,15 @@ public class InitDB implements AsyncTaskIF {
                        db.setTransactionSuccessful();
                } catch (JmException e) {
                        // 失敗
+                       Debug.d(this, null, e);
+                       return;
                } finally {
                        db.endTransaction();
                }
-               helper.setLangId(DatabaseHelper.NONE_ID);
+               helper.setLangId(DatabaseHelper.NONE_ID);               
+
+               JmDao jdao = JmDao.getInstance();
+               jdao.init(null, context);
        }
 
        @Override