OSDN Git Service

ver1.3.0
[jugglemaster/source.git] / workspace / JuggleMaster / src / com / jm / db / InitDB.java
1 package com.jm.db;
2
3 import android.content.Context;
4 import android.database.sqlite.SQLiteDatabase;
5
6 import com.jm.PatternList;
7 import com.jm.utility.AsyncTaskIF;
8 import com.jm.utility.Debug;
9 import com.jm.utility.JmException;
10
11 public class InitDB implements AsyncTaskIF {
12         private Context context;
13
14         public InitDB(Context context) {
15                 this.context = context;
16         }
17
18         @Override
19         public void doExecute() {
20                 DatabaseHelper helper = DatabaseHelper.getInstance();
21                 PatternList p = new PatternList();
22
23                 boolean convFlag1to2 = helper.getConvFlag1to2();
24                 //boolean convFlag2to3 = helper.getConvFlag2to3();
25
26                 SQLiteDatabase db = helper.getWritableDatabase();
27                 try {
28                         helper.setLangId(DatabaseHelper.NONE_ID);
29                         int langId = helper.getLangId();
30         
31                         db.beginTransaction();
32                         
33                         Dao dao = Dao.getInstance();
34                         int count = dao.countAll();
35                         
36 //                      if (helper.getConvFlag()){
37 //                              // 1to2 or 2to3
38 //                              helper.convert(db, langId);
39 //                              Dao.getInstance().start(db);
40 //
41 //                              // 1to2
42 //                              helper.setLangId(DatabaseHelper.JAPANEASE_ID);
43 //                              p.update();                     
44 //                      }
45 //                      else {
46 //                              // 0件 and 2
47 //                              helper.setLangId(DatabaseHelper.JAPANEASE_ID);
48 //                              p.create(DatabaseHelper.JAPANEASE_ID);                          
49 //                      }
50
51                         if (helper.getConvFlag()){
52                                 // 1to2 or 2to3
53                                 helper.convert(db, langId);
54                                 Dao.getInstance().start(db);
55                         }
56                         if (convFlag1to2){
57                                 // 1to2
58                                 helper.setLangId(DatabaseHelper.JAPANEASE_ID);
59                                 p.update();                                                     
60                         }
61                         
62                         if (count <= 0 || convFlag1to2){
63                                 if (count <= 0){
64                                         // 0件 and 2
65                                         helper.setLangId(DatabaseHelper.JAPANEASE_ID);
66                                         p.create(DatabaseHelper.JAPANEASE_ID);                          
67                                 }
68                                 
69                                 // (0件 and 2) or 1to2
70                                 helper.setLangId(DatabaseHelper.ENGLISH_ID);
71                                 p.create(DatabaseHelper.ENGLISH_ID);
72                                 
73                                 helper.setLangId(DatabaseHelper.FRENCH_ID);
74                                 p.create(DatabaseHelper.FRENCH_ID);
75                         }
76                         
77                         db.setTransactionSuccessful();
78                 } catch (JmException e) {
79                         // 失敗
80                         Debug.d(this, null, e);
81                         return;
82                 } finally {
83                         db.endTransaction();
84                 }
85                 helper.setLangId(DatabaseHelper.NONE_ID);               
86
87                 JmDao jdao = JmDao.getInstance();
88                 jdao.init(null, context);
89         }
90
91         @Override
92         public void cancel() {
93
94         }
95
96         @Override
97         public void done(boolean isCancel) {
98
99         }
100
101 }