package siprp; import com.evolute.entity.ProviderInterface; import com.evolute.entity.ProviderRegistry; import com.evolute.entity.evo.EvoDataProviderFactory; import com.evolute.entity.utils.ConnectionIdentity; import com.evolute.utils.Singleton; import com.evolute.utils.db.keyretrievers.PostgresqlAutoKeyRetriever; import com.evolute.utils.sql.Insert; public class ORMInitializer { public void initializeORM(String url, String user, String password) { // Date d = new Date(); // System.out.println( "INIT: " + d ); // // // Properties jpoxProps; // jpoxProps = System.getProperties();//new Properties(); // Set the PersistenceManagerFactoryClass to the TJDO class. // jpoxProps.setProperty( "javax.jdo.PersistenceManagerFactoryClass", // "org.jpox.PersistenceManagerFactoryImpl" ); // Set the JDBC driver name. // jpoxProps.setProperty( "javax.jdo.option.ConnectionDriverName", (String) Singleton.getInstance( SingletonConstants.LOCAL_DRIVER_NAME ) ); // jpoxProps.setProperty( "org.jpox.identifier.fullyQualifiedNames", "false" ); // props.setProperty("com.triactive.jdo.transactionIsolation", // "read-uncommitted" ); // Set the connection URL // jpoxProps.setProperty( "javax.jdo.option.ConnectionURL", "jdbc:informix-sqli://192.168.0.3:6666" // + "/apdp_db:informixserver=server" ); // jpoxProps.setProperty( "javax.jdo.option.ConnectionURL", url ); // jpoxProps.setProperty( "javax.jdo.option.ConnectionUserName", user ); // jpoxProps.setProperty( "javax.jdo.option.ConnectionPassword", password ); // jpoxProps.setProperty( "javax.jdo.option.IgnoreCache", "true" ); // jpoxProps.setProperty( "javax.jdo.option.NonTransactionalRead", "true" ); // jpoxProps.setProperty( "javax.jdo.option.RetainValues", "true" ); // // jpoxProps.setProperty( "org.jpox.autoCreateTables", "false" ); // jpoxProps.setProperty( "org.jpox.autoCreateSchema", "false" ); // jpoxProps.setProperty( "org.jpox.autoCreateConstraints", "false" ); // jpoxProps.setProperty( "org.jpox.validateTables", "false" ); // jpoxProps.setProperty( "org.jpox.validateConstraints", "false" ); // jpoxProps.setProperty( "org.jpox.autoStartMechanismMode", "Ignored" ); // jpoxProps.setProperty( "org.jpox.autoStartMechanism", "None" ); // jpoxProps.setProperty( "javax.jdo.option.RetainValues", "true" ); // jpoxProps.setProperty( "javax.jdo.option.Optimistic", "true" ); // jpoxProps.setProperty( "org.jpox.identifier.defaultSchemaName", "informix" ); // jpoxProps.setProperty( "org.jpox.rdbms.CheckExistTablesOrViews", "false" ); // // System.setProperty( "org.jpox.catalogName", (String)Singleton.getInstance( SingletonConstants.LOCAL_DB_NAME ) ); // System.setProperty( "org.jpox.schemaName", "" ); // PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory( jpoxProps ); //// pmf.setOptimistic( true ); //System.out.print( "Loading PM: " + new Date() ); // // ( ( PersistenceManagerFactoryImpl )pmf ).setTransactionIsolation( Connection.TRANSACTION_READ_UNCOMMITTED ); // // Retrieve a PersistenceManager from the PersistenceManagerFactory. // PersistenceManager pm = pmf.getPersistenceManager(); // JDOObject.setPersistentManager( pm ); // Singleton.setInstance( Singleton.DEFAULT_PERSISTENCE_MANAGER_FACTORY, pmf ); // Singleton.setInstance( SingletonConstants.PERSISTENCE_MANAGER, pm ); // JDOProvider jdoProvider = new JDOProvider( jpoxProps ); // Singleton.setInstance( Singleton.DEFAULT_JDO_PROVIDER, jdoProvider ); //System.out.println( "PM done " + new Date() + "JDO: " + jdoProvider ); Insert.setDefaultKeyRetriever( PostgresqlAutoKeyRetriever.RETRIEVER ); ProviderRegistry.registerDefaultProviderFactory( new EvoDataProviderFactory() ); ConnectionIdentity conn = new ConnectionIdentity( url, user ); conn.setPassword( password ); ProviderRegistry.registerDefaultConnection( conn ); ProviderInterface< ?, ? > provider = ProviderRegistry.getDefaultProvider( conn ); Singleton.setInstance( Singleton.DEFAULT_OBJECT_PROVIDER, provider ); Singleton.setInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER, provider ); } }