00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 package org.openmobileis.bundle.update.terminal;
00027
00028 import org.odbms.ObjectSet;
00029 import org.odbms.Query;
00030 import org.openmobileis.common.util.PropertiesManager;
00031 import org.openmobileis.common.util.log.LogManager;
00032 import org.openmobileis.database.fastobjectdb.FODBIndexDescriptor;
00033 import org.openmobileis.database.fastobjectdb.FODBStringIndexDescriptor;
00034 import org.openmobileis.database.fastobjectdb.FastObjectDB;
00035 import org.openmobileis.database.fastobjectdb.FastObjectDBManager;
00036 import org.openmobileis.database.fastobjectdb.db.test.TestData;
00037 import org.openmobileis.database.fastobjectdb.synchro.client.SynchroFastObjectDBManager;
00038
00043 public class ResetFODBUpdatePostInstall implements FullUpdatePostInstallInterface {
00044
00048 public ResetFODBUpdatePostInstall() {
00049
00050 }
00051
00052
00053
00054
00055 public void updateInstall() {
00056 try {
00057 if (!FastObjectDBManager.getManager().isFodbStarted()) {
00058
00059 PropertiesManager.getManager().addProperty("fastobjectdb.database.path", System.getProperty("user.dir") + "/database");
00060 PropertiesManager.getManager().addProperty("fastobjectdb.database.name", "db");
00061
00062 PropertiesManager.getManager().addProperty("org.openmobileis.synchro.client.openmsp.numsyncpropsfile", System.getProperty("user.dir") + "/WEB-INF/conf/numsync.txt");
00063 FastObjectDBManager.registerManager(new SynchroFastObjectDBManager());
00064 FastObjectDBManager.getManager().getCurrentFODB();
00065 }
00066 FastObjectDBManager.getManager().resetDB();
00067
00068 } catch (Throwable ex) {
00069 ex.printStackTrace();
00070 }
00071
00072 }
00073
00074 public static void main(String[] args) {
00075 LogManager.registerLogManager(null);
00076 ResetFODBUpdatePostInstall update = new ResetFODBUpdatePostInstall();
00077 update.updateInstall();
00078 try {
00079
00080 FastObjectDB db = FastObjectDBManager.getManager().getCurrentFODB();
00081
00082 if (!db.isCollectionExist("TESTDATA")) {
00083 db.createCollection("TESTDATA", TestData.class);
00084 FODBStringIndexDescriptor KeyDescriptor = new FODBStringIndexDescriptor("KEY", FODBIndexDescriptor.UNIQUE, "getKey()", 12, 15);
00085 db.addIndex("TESTDATA", KeyDescriptor);
00086 FODBStringIndexDescriptor debKeyDescriptor = new FODBStringIndexDescriptor("DEBKEY", FODBIndexDescriptor.MULTIPLE, "getDebKey()", 10, TestData.NB_BEGIN_KEY_LETTER, 5);
00087 db.addIndex("TESTDATA", debKeyDescriptor);
00088 }
00089 TestData data = new TestData("key1");
00090 db.add("TESTDATA", data);
00091
00092 Query q = db.query();
00093 q.constrain(TestData.class);
00094 q.descend("getKey()");
00095 ObjectSet set = q.execute();
00096 LogManager.traceInfo(0, set.next());
00097
00098 update.updateInstall();
00099
00100
00101 q = db.query();
00102 q.constrain(TestData.class);
00103 q.descend("getKey()");
00104 set = q.execute();
00105 LogManager.traceInfo(0, Boolean.toString(set.hasNext()));
00106
00107 db.add("TESTDATA", data);
00108
00109
00110 q = db.query();
00111 q.constrain(TestData.class);
00112 q.descend("getKey()");
00113 set = q.execute();
00114 LogManager.traceInfo(0, set.next());
00115
00116 } catch (Throwable ex) {
00117 ex.printStackTrace();
00118 }
00119
00120 }
00121
00122 }