|
|
|
@ -18,6 +18,7 @@ import com.evolute.utils.db.DriverProvider;
|
|
|
|
import com.evolute.utils.db.JDBCManager;
|
|
|
|
import com.evolute.utils.db.JDBCManager;
|
|
|
|
import com.evolute.utils.error.ErrorLogger;
|
|
|
|
import com.evolute.utils.error.ErrorLogger;
|
|
|
|
import com.evolute.utils.sql.SQLQuery;
|
|
|
|
import com.evolute.utils.sql.SQLQuery;
|
|
|
|
|
|
|
|
import com.evolute.utils.sql.Select;
|
|
|
|
import com.evolute.utils.timer.Timer;
|
|
|
|
import com.evolute.utils.timer.Timer;
|
|
|
|
|
|
|
|
|
|
|
|
public class ProviderSpringBean {
|
|
|
|
public class ProviderSpringBean {
|
|
|
|
@ -33,9 +34,11 @@ public class ProviderSpringBean {
|
|
|
|
private String parameters;
|
|
|
|
private String parameters;
|
|
|
|
private String databasePrefix;
|
|
|
|
private String databasePrefix;
|
|
|
|
private String url;
|
|
|
|
private String url;
|
|
|
|
|
|
|
|
private SQLQuery[] initQueries;
|
|
|
|
|
|
|
|
|
|
|
|
private boolean readDefaults = true ;
|
|
|
|
private boolean readDefaults = true ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String prefix = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public ProviderSpringBean()
|
|
|
|
public ProviderSpringBean()
|
|
|
|
@ -47,12 +50,15 @@ public class ProviderSpringBean {
|
|
|
|
|
|
|
|
|
|
|
|
if(ENTITY_PROVIDER != null)
|
|
|
|
if(ENTITY_PROVIDER != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
((EvoDataProvider) ENTITY_PROVIDER).clearCache( );
|
|
|
|
ENTITY_PROVIDER.close();
|
|
|
|
ENTITY_PROVIDER.close();
|
|
|
|
|
|
|
|
ENTITY_PROVIDER = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(DBMANAGER != null)
|
|
|
|
if(DBMANAGER != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
DBMANAGER.close();
|
|
|
|
DBMANAGER.close();
|
|
|
|
|
|
|
|
DBMANAGER = null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Timer.stop();
|
|
|
|
Timer.stop();
|
|
|
|
@ -61,40 +67,17 @@ public class ProviderSpringBean {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public synchronized ProviderInterface<EvoDataObject<?>, EvoDataException> getENTITY_PROVIDER() {
|
|
|
|
public ProviderInterface<EvoDataObject<?>, EvoDataException> getENTITY_PROVIDER()
|
|
|
|
if(ENTITY_PROVIDER == null)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
init();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ErrorLogger.logException(e, Level.SEVERE);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return ENTITY_PROVIDER;
|
|
|
|
return ENTITY_PROVIDER;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public synchronized DBManager getDBMANAGER() {
|
|
|
|
public DBManager getDBMANAGER()
|
|
|
|
if(DBMANAGER == null)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
try
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
init();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ErrorLogger.logException(e, Level.SEVERE);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return DBMANAGER;
|
|
|
|
return DBMANAGER;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void init() throws Exception
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void init() throws Exception
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(readDefaults)
|
|
|
|
if(readDefaults)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@ -102,10 +85,11 @@ public class ProviderSpringBean {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setupProperties();
|
|
|
|
setupProperties();
|
|
|
|
|
|
|
|
|
|
|
|
DBMANAGER = new JDBCManager( url, username, password, 50,10, new SQLQuery[]{} );
|
|
|
|
DBMANAGER = new JDBCManager( url, username, password, 50,10, initQueries );
|
|
|
|
|
|
|
|
|
|
|
|
ConnectionIdentity conn = new ConnectionIdentity( url, username );
|
|
|
|
ConnectionIdentity conn = new ConnectionIdentity( url, username );
|
|
|
|
conn.setPassword( password );
|
|
|
|
conn.setPassword( password );
|
|
|
|
|
|
|
|
conn.setInitQueries(initQueries);
|
|
|
|
|
|
|
|
|
|
|
|
ENTITY_PROVIDER = new EvoDataProvider(conn);
|
|
|
|
ENTITY_PROVIDER = new EvoDataProvider(conn);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -121,21 +105,28 @@ public class ProviderSpringBean {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (PropertiesException e)
|
|
|
|
catch (PropertiesException e)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
e.printStackTrace(System.out);
|
|
|
|
ErrorLogger.logException(e,Level.SEVERE);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
server = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.CONNECTION.HOSTNAME );
|
|
|
|
|
|
|
|
port = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.CONNECTION.PORT );
|
|
|
|
|
|
|
|
username = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.USER );
|
|
|
|
|
|
|
|
password = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.PASSWORD );
|
|
|
|
|
|
|
|
database = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.NAME );
|
|
|
|
|
|
|
|
parameters = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.PARAMETERS, "" );
|
|
|
|
|
|
|
|
databasePrefix = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.CONNECTION.PREFIX, EvoPropertyKey.DEFAULT_DATABASE_PREFIX );
|
|
|
|
|
|
|
|
url = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.CONNECTION.DB_URL_FULL );
|
|
|
|
|
|
|
|
if( EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.ALLOW_JNLP_OVERRIDE, false ) )
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
url = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + EvoPropertyKey.DB.CONNECTION.DB_URL_JNLP_FULL, url );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
server = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.CONNECTION.HOSTNAME );
|
|
|
|
String initQueriesString = EvoDefaultPropertiesLoader.getInstance().findProperty( prefix + "db.initQueries" );
|
|
|
|
port = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.CONNECTION.PORT );
|
|
|
|
if(null != initQueriesString && !initQueriesString.isEmpty())
|
|
|
|
username = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.USER );
|
|
|
|
|
|
|
|
password = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.PASSWORD );
|
|
|
|
|
|
|
|
database = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.NAME );
|
|
|
|
|
|
|
|
parameters = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.PARAMETERS, "" );
|
|
|
|
|
|
|
|
databasePrefix = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.CONNECTION.PREFIX, EvoPropertyKey.DEFAULT_DATABASE_PREFIX );
|
|
|
|
|
|
|
|
url = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.CONNECTION.DB_URL_FULL );
|
|
|
|
|
|
|
|
if( EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.ALLOW_JNLP_OVERRIDE, false ) )
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
url = EvoDefaultPropertiesLoader.getInstance().findProperty( EvoPropertyKey.DB.CONNECTION.DB_URL_JNLP_FULL, url );
|
|
|
|
String[] initQueriesStrings = initQueriesString.split(";");
|
|
|
|
|
|
|
|
setInitQueries(initQueriesStrings);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -155,19 +146,8 @@ public class ProviderSpringBean {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public synchronized void setAsSingletonDefaults()
|
|
|
|
public void setAsSingletonDefaults()
|
|
|
|
{
|
|
|
|
|
|
|
|
if(ENTITY_PROVIDER == null || DBMANAGER == null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
try
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
init();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ErrorLogger.logException(e, Level.SEVERE);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Singleton.setInstance(Singleton.DEFAULT_EVO_DATA_PROVIDER, ENTITY_PROVIDER);
|
|
|
|
Singleton.setInstance(Singleton.DEFAULT_EVO_DATA_PROVIDER, ENTITY_PROVIDER);
|
|
|
|
Singleton.setInstance(Singleton.DEFAULT_DBMANAGER, DBMANAGER);
|
|
|
|
Singleton.setInstance(Singleton.DEFAULT_DBMANAGER, DBMANAGER);
|
|
|
|
Singleton.setInstance(Singleton.DEFAULT_OBJECT_PROVIDER, ENTITY_PROVIDER );
|
|
|
|
Singleton.setInstance(Singleton.DEFAULT_OBJECT_PROVIDER, ENTITY_PROVIDER );
|
|
|
|
@ -215,5 +195,21 @@ public class ProviderSpringBean {
|
|
|
|
readDefaults = false ;
|
|
|
|
readDefaults = false ;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void setInitQueries(String[] initQueries)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.initQueries = new SQLQuery[initQueries.length] ;
|
|
|
|
|
|
|
|
for(int i=0;i<initQueries.length;i++)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
SQLQuery sel = new Select(initQueries[i]);
|
|
|
|
|
|
|
|
this.initQueries[i] = sel;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void setPrefix(String prefix)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
this.prefix = prefix+".";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|