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 package org.openmobileis.examples.server;
00026
00027 import java.io.File;
00028 import java.util.Properties;
00029
00030 import org.openmobileis.common.user.UserManager;
00031 import org.openmobileis.common.user.impl.MonoUserUserManagerFactory;
00032 import org.openmobileis.common.user.profile.ProfileDataManager;
00033 import org.openmobileis.common.user.profile.impl.XmlFileProfilDataFactory;
00034 import org.openmobileis.common.util.PropertiesManager;
00035 import org.openmobileis.common.util.database.JdbcPoolManagerDB;
00036 import org.openmobileis.common.util.database.ManagerDB;
00037 import org.openmobileis.common.util.exception.ServiceException;
00038 import org.openmobileis.common.util.log.FileLogManager;
00039 import org.openmobileis.common.util.log.LogManager;
00040 import org.openmobileis.database.fastobjectdb.synchro.server.FODBSynchroManager;
00041 import org.openmobileis.examples.server.synchro.BaseDataFODBSyncTarget;
00042 import org.openmobileis.services.servlet.OpenMISInit;
00043 import org.openmobileis.synchro.algo.replication.utils.DefaultSynchroAtomicObjectDelegate;
00044 import org.openmobileis.synchro.algo.replication.utils.SynchroAtomicObjectManager;
00045 import org.openmobileis.synchro.algo.replication.utils.impl.HSQLAtomicObjectQueryManager;
00046 import org.openmobileis.synchro.algo.syncnumber.SyncNumberManager;
00047 import org.openmobileis.synchro.algo.syncnumber.impl.DefaultSyncNumberManagerDelegate;
00048 import org.openmobileis.synchro.algo.syncnumber.impl.HSQLSyncNumberQueryManager;
00049 import org.openmobileis.synchro.openmsp.server.synctarget.SynchroTargerManager;
00050 import org.openmobileis.synchro.openmsp.server.synctarget.proxy.GenericProxySynchroTarget;
00051
00059 public final class ServerOpenMISInit implements OpenMISInit {
00060
00064 public ServerOpenMISInit() {
00065 super();
00066 }
00067
00068
00069
00070
00071 public void preLoadingInit() throws ServiceException {
00072
00073
00074 try {
00075 Properties props = new Properties();
00076 props.put("org.openmobileis.common.log.file", System.getProperty("user.dir")+"/WEB-INF/log/serverlog.txt");
00077 File file = new File(System.getProperty("user.dir")+"/WEB-INF/log");
00078 if (file.exists()) FileLogManager.registerLogManager(props);
00079 else LogManager.registerLogManager(null);
00080
00081
00082
00083
00084 PropertiesManager.getManager().addProperty("server.database.dbDriver", "org.hsqldb.jdbcDriver");
00085 PropertiesManager.getManager().addProperty("server.database.dbServer","jdbc:hsqldb:file:"+System.getProperty("user.dir")+"/hsql/basedb");
00086 PropertiesManager.getManager().addProperty("server.database.dbLogin","sa");
00087 PropertiesManager.getManager().addProperty("server.database.dbPassword","");
00088 PropertiesManager.getManager().addProperty("server.database.pool.monitorInterval", "300");
00089 PropertiesManager.getManager().addProperty("server.database.pool.maxConns", "10");
00090 PropertiesManager.getManager().addProperty("server.database.pool.idleTimeout", "300");
00091 PropertiesManager.getManager().addProperty("server.database.pool.checkoutTimeout", "120");
00092 PropertiesManager.getManager().addProperty("server.database.pool.maxCheckout", "3000");
00093 JdbcPoolManagerDB dbmanager = new JdbcPoolManagerDB();
00094 ManagerDB.registerManager(dbmanager);
00095
00096 PropertiesManager.getManager().addProperty("org.openmobileis.common.user.profil.xmlprofilfile.path",System.getProperty("user.dir") + "/WEB-INF/conf/defaultprofils.xml");
00097
00098
00099 UserManager.getManager().registerUserManagerFactoryForGroup("default", new MonoUserUserManagerFactory());
00100
00101
00102 SyncNumberManager.getManager().registerDelegate(new DefaultSyncNumberManagerDelegate(new HSQLSyncNumberQueryManager()));
00103
00104
00105
00106
00107
00108
00109
00110 SynchroAtomicObjectManager.getManager().registerDelegateManager(
00111 new DefaultSynchroAtomicObjectDelegate(
00112 new HSQLAtomicObjectQueryManager()
00113 )
00114 );
00115
00116
00117
00118 ProfileDataManager.getManager().registerProfilDataFactoryForGroup("default", new XmlFileProfilDataFactory());
00119
00120
00121 FODBSynchroManager.getManager().registerCollection(new BaseDataFODBSyncTarget());
00122
00123
00124 SynchroTargerManager.getManager().registerProxyTargetForTerminal(new GenericProxySynchroTarget(), null);
00125 } catch (Throwable ex) {
00126 throw new ServiceException(ex);
00127 }
00128
00129
00130 }
00131
00132
00133
00134
00135 public void postLoadingInit() throws ServiceException {
00136 }
00137
00138 }