public class SQLDataSourceManager extends AbstractDataSourceManager
AbstractDataSourceManager.DataSourceDefinition| Modifier and Type | Field and Description |
|---|---|
private static I18nizableText |
__AMETYS_INTERNAL_DATASOURCE_DESCRIPTION |
private static I18nizableText |
__AMETYS_INTERNAL_DATASOURCE_NAME |
private static String |
__filename |
private AbstractDataSourceManager.DataSourceDefinition |
_internalDataSource |
private ServiceManager |
_manager |
private Map<String,org.apache.commons.pool2.ObjectPool> |
_pools |
private SQLDatabaseTypeExtensionPoint |
_sqlDatabaseTypeEP |
private Map<String,DataSource> |
_sqlDataSources |
static String |
AMETYS_INTERNAL_DATASOURCE_ID
The id of the internal DataSource
|
static String |
PARAM_DATABASE_PASSWORD
Name of parameter for user's password
|
static String |
PARAM_DATABASE_TYPE
Name of parameter for database type
|
static String |
PARAM_DATABASE_URL
Name of parameter for database url
|
static String |
PARAM_DATABASE_USER
Name of parameter for user's login
|
static String |
ROLE
Avalon Role
|
static String |
SQL_DATASOURCE_PREFIX
The id of the internal DataSource
|
_currentUserProvider, _dataSourcesDef, _observationManager, DEFAULT_DATASOURCE_SUFFIX| Constructor and Description |
|---|
SQLDataSourceManager() |
| Modifier and Type | Method and Description |
|---|---|
private void |
_closePool(String id) |
private void |
_disposePool(String id)
Dispose of a connection pool
|
void |
checkParameters(Map<String,Object> parameters)
Checks the parameters of a data source
|
protected void |
createDataSource(AbstractDataSourceManager.DataSourceDefinition dataSourceDef)
Creates a data source from its configuration
|
protected void |
deleteDataSource(AbstractDataSourceManager.DataSourceDefinition dataSource)
Deletes a data source
|
void |
dispose() |
void |
dispose(boolean preserveInternalDB)
Disposes connections.
|
protected Map<String,AbstractDataSourceManager.DataSourceDefinition> |
doReadConfiguration(File file)
Actually read configuration.
|
protected void |
editDataSource(AbstractDataSourceManager.DataSourceDefinition dataSource)
Edit a data source from its configuration
|
AbstractDataSourceManager.DataSourceDefinition |
getDataSourceDefinition(String id)
Get the data source definition or null if not found
|
Map<String,AbstractDataSourceManager.DataSourceDefinition> |
getDataSourceDefinitions(boolean includePrivate,
boolean includeInternal,
boolean includeDefault)
Get the data source definitions
|
protected String |
getDataSourcePrefixId()
Get the prefix for data source identifier
|
AbstractDataSourceManager.DataSourceDefinition |
getDefaultDataSourceDefinition()
Get the default data source for this type
|
File |
getFileConfiguration()
Get the file configuration of data sources
|
static AbstractDataSourceManager.DataSourceDefinition |
getInternalDataSourceDefinition()
Get the datasource definition for internal database
|
Connection |
getInternalSQLDataSourceConnection()
Get a connection object the internal data source
|
private SQLDatabaseTypeExtensionPoint |
getSQLDatabaseTypeEP() |
DataSource |
getSQLDataSource(String id)
Get the SQL data source by its identifier
|
Map<String,DataSource> |
getSQLDataSources()
Get the existing SQL data sources
|
static File |
getStaticFileConfiguration()
Get the configuration file for SQL data sources
|
void |
initialize() |
void |
initialize(boolean preserveInternalDB)
Initializes connections.
|
protected void |
internalSetDefaultDataSource()
Set a default data source internally
|
static Map<String,AbstractDataSourceManager.DataSourceDefinition> |
readDataSourceDefinition(File file)
Read the read source definitions
|
void |
service(ServiceManager serviceManager) |
AbstractDataSourceManager.DataSourceDefinition |
setDefaultDataSource(String id)
Set the data source with the given id as the default data source
|
static void |
setFilename(String filename)
Set the config filename.
|
add, checkDataSources, delete, edit, getDefaultDataSourceId, readConfiguration, saveConfiguration, saxDataSourcegetLogger, setLoggerpublic static final String PARAM_DATABASE_TYPE
public static final String PARAM_DATABASE_URL
public static final String PARAM_DATABASE_USER
public static final String PARAM_DATABASE_PASSWORD
public static final String SQL_DATASOURCE_PREFIX
public static final String AMETYS_INTERNAL_DATASOURCE_ID
private static final I18nizableText __AMETYS_INTERNAL_DATASOURCE_NAME
private static final I18nizableText __AMETYS_INTERNAL_DATASOURCE_DESCRIPTION
private static String __filename
private Map<String,DataSource> _sqlDataSources
private AbstractDataSourceManager.DataSourceDefinition _internalDataSource
private SQLDatabaseTypeExtensionPoint _sqlDatabaseTypeEP
private ServiceManager _manager
public SQLDataSourceManager()
public void service(ServiceManager serviceManager) throws ServiceException
service in interface Serviceableservice in class AbstractDataSourceManagerServiceExceptionpublic static Map<String,AbstractDataSourceManager.DataSourceDefinition> readDataSourceDefinition(File file)
file - The configuration fileprotected Map<String,AbstractDataSourceManager.DataSourceDefinition> doReadConfiguration(File file)
AbstractDataSourceManagerdoReadConfiguration in class AbstractDataSourceManagerfile - the definitions file.private SQLDatabaseTypeExtensionPoint getSQLDatabaseTypeEP()
public static void setFilename(String filename)
filename - Name with path of the config filepublic static File getStaticFileConfiguration()
public File getFileConfiguration()
AbstractDataSourceManagergetFileConfiguration in class AbstractDataSourceManagerpublic void initialize(boolean preserveInternalDB) throws Exception
preserveInternalDB - also initialize internal db connection, or not.Exception - if an error occurspublic void initialize() throws Exception
initialize in interface Initializableinitialize in class AbstractDataSourceManagerExceptionpublic AbstractDataSourceManager.DataSourceDefinition getDataSourceDefinition(String id)
AbstractDataSourceManagergetDataSourceDefinition in class AbstractDataSourceManagerid - the id of data sourcepublic Map<String,AbstractDataSourceManager.DataSourceDefinition> getDataSourceDefinitions(boolean includePrivate, boolean includeInternal, boolean includeDefault)
AbstractDataSourceManagergetDataSourceDefinitions in class AbstractDataSourceManagerincludePrivate - true to include private data sourcesincludeInternal - true to include internal data sources. Not used by default.includeDefault - true to include an additional data source definition for each default data sourceprotected String getDataSourcePrefixId()
AbstractDataSourceManagergetDataSourcePrefixId in class AbstractDataSourceManagerpublic static AbstractDataSourceManager.DataSourceDefinition getInternalDataSourceDefinition()
public Connection getInternalSQLDataSourceConnection()
public Map<String,DataSource> getSQLDataSources()
public DataSource getSQLDataSource(String id)
id - The id of data sourcepublic AbstractDataSourceManager.DataSourceDefinition setDefaultDataSource(String id)
AbstractDataSourceManagersetDefaultDataSource in class AbstractDataSourceManagerid - the id of the data sourceAbstractDataSourceManager.DataSourceDefinition of the data source set as defaultpublic AbstractDataSourceManager.DataSourceDefinition getDefaultDataSourceDefinition()
AbstractDataSourceManagergetDefaultDataSourceDefinition in class AbstractDataSourceManagerprotected void internalSetDefaultDataSource()
AbstractDataSourceManagerinternalSetDefaultDataSource in class AbstractDataSourceManagerpublic void checkParameters(Map<String,Object> parameters) throws ItemCheckerTestFailureException
AbstractDataSourceManagercheckParameters in class AbstractDataSourceManagerparameters - the parameters of the data sourceItemCheckerTestFailureException - if the test failedprotected void editDataSource(AbstractDataSourceManager.DataSourceDefinition dataSource)
AbstractDataSourceManagereditDataSource in class AbstractDataSourceManagerdataSource - the data source configurationprotected void createDataSource(AbstractDataSourceManager.DataSourceDefinition dataSourceDef)
AbstractDataSourceManagercreateDataSource in class AbstractDataSourceManagerdataSourceDef - the data source configurationprotected void deleteDataSource(AbstractDataSourceManager.DataSourceDefinition dataSource)
AbstractDataSourceManagerdeleteDataSource in class AbstractDataSourceManagerdataSource - the data source configurationpublic void dispose(boolean preserveInternalDB)
preserveInternalDB - also remove internal db connection, or not.public void dispose()
dispose in interface Disposabledispose in class AbstractDataSourceManagerprivate void _disposePool(String id)
id - the id of the connection pool to dispose ofprivate void _closePool(String id)