[infinispan-commits] Infinispan SVN: r1948 - in branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc: mixed and 1 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Thu Jul 1 07:50:10 EDT 2010
Author: manik.surtani at jboss.com
Date: 2010-07-01 07:50:09 -0400 (Thu, 01 Jul 2010)
New Revision: 1948
Modified:
branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreConfig.java
branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java
branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreConfig.java
Log:
[ISPN-368] (Remove code duplication in certain JDBC configuration classes)
Modified: branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreConfig.java
===================================================================
--- branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreConfig.java 2010-07-01 10:59:23 UTC (rev 1947)
+++ branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/binary/JdbcBinaryCacheStoreConfig.java 2010-07-01 11:50:09 UTC (rev 1948)
@@ -21,8 +21,7 @@
*/
package org.infinispan.loaders.jdbc.binary;
-import org.infinispan.loaders.LockSupportCacheStoreConfig;
-import org.infinispan.loaders.jdbc.DatabaseType;
+import org.infinispan.loaders.jdbc.AbstractNonDelegatingJdbcCacheStoreConfig;
import org.infinispan.loaders.jdbc.TableManipulation;
import org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactoryConfig;
@@ -31,17 +30,13 @@
*
* @author Mircea.Markus at jboss.com
*/
-public class JdbcBinaryCacheStoreConfig extends LockSupportCacheStoreConfig {
+public class JdbcBinaryCacheStoreConfig extends AbstractNonDelegatingJdbcCacheStoreConfig {
/** The serialVersionUID */
private static final long serialVersionUID = 7659899424935453635L;
-
- private ConnectionFactoryConfig connectionFactoryConfig = new ConnectionFactoryConfig();
- private TableManipulation tableManipulation = new TableManipulation();
- private boolean createConnectionFatory = true;
- public JdbcBinaryCacheStoreConfig(boolean createConnectionFatory) {
- this.createConnectionFatory = createConnectionFatory;
+ public JdbcBinaryCacheStoreConfig(boolean manageConnectionFactory) {
+ this.manageConnectionFactory = manageConnectionFactory;
}
public JdbcBinaryCacheStoreConfig(ConnectionFactoryConfig connectionFactoryConfig, TableManipulation tm) {
@@ -54,27 +49,7 @@
cacheLoaderClassName = JdbcBinaryCacheStore.class.getName();
}
- boolean isManageConnectionFactory() {
- return createConnectionFatory;
- }
-
/**
- * If true, and the table is missing it will be created when starting the cache store. Default to <tt>true</tt>.
- */
- public void setCreateTableOnStart(boolean createTableOnStart) {
- testImmutability("tableManipulation");
- tableManipulation.setCreateTableOnStart(createTableOnStart);
- }
-
- /**
- * If true, the table will be created when cache store is stopped. Default to <tt>false</tt>.
- */
- public void setDropTableOnExit(boolean dropTableOnExit) {
- testImmutability("tableManipulation");
- this.tableManipulation.setDropTableOnExit(dropTableOnExit);
- }
-
- /**
* Sets the prefix for the name of the table where the data will be stored. "_<cache name>" will be appended
* to this prefix in order to enforce unique table names for each cache.
*/
@@ -82,150 +57,4 @@
testImmutability("tableManipulation");
this.tableManipulation.setTableNamePrefix(bucketTableName);
}
-
- public void setIdColumnName(String idColumnName) {
- testImmutability("tableManipulation");
- this.tableManipulation.setIdColumnName(idColumnName);
- }
-
- public void setIdColumnType(String idColumnType) {
- testImmutability("tableManipulation");
- this.tableManipulation.setIdColumnType(idColumnType);
- }
-
- public void setDataColumnName(String dataColumnName) {
- testImmutability("tableManipulation");
- this.tableManipulation.setDataColumnName(dataColumnName);
- }
-
- public void setDataColumnType(String dataColumnType) {
- testImmutability("tableManipulation");
- this.tableManipulation.setDataColumnType(dataColumnType);
- }
-
- public void setTimestampColumnName(String timestampColumnName) {
- testImmutability("tableManipulation");
- this.tableManipulation.setTimestampColumnName(timestampColumnName);
- }
-
-
- public void setTimestampColumnType(String timestampColumnType) {
- testImmutability("tableManipulation");
- this.tableManipulation.setTimestampColumnType(timestampColumnType);
- }
-
- /**
- * Url connection to the database.
- */
-
- public void setConnectionUrl(String connectionUrl) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setConnectionUrl(connectionUrl);
- }
-
- /**
- * Database user name.
- */
- public void setUserName(String userName) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setUserName(userName);
- }
-
- /**
- * Database username's password.
- */
- public void setPassword(String password) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setPassword(password);
- }
-
-
- public void setDatasourceJndiLocation(String location) {
- testImmutability("datasourceJndiLocation");
- this.connectionFactoryConfig.setDatasourceJndiLocation(location);
- }
-
- /**
- * Driver class, will be loaded before initializing the {@link org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactory}
- */
- public void setDriverClass(String driverClass) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setDriverClass(driverClass);
- }
-
- /**
- * Name of the connection factory class.
- *
- * @see org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactory
- */
- public void setConnectionFactoryClass(String connectionFactoryClass) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setConnectionFactoryClass(connectionFactoryClass);
- }
-
-
- @Override
- public JdbcBinaryCacheStoreConfig clone() {
- JdbcBinaryCacheStoreConfig result = (JdbcBinaryCacheStoreConfig) super.clone();
- result.connectionFactoryConfig = connectionFactoryConfig.clone();
- result.tableManipulation = tableManipulation.clone();
- return result;
- }
-
- public ConnectionFactoryConfig getConnectionFactoryConfig() {
- return connectionFactoryConfig;
- }
-
- public TableManipulation getTableManipulation() {
- return tableManipulation;
- }
-
- public void setTableManipulation(TableManipulation tableManipulation) {
- testImmutability("tableManipulation");
- this.tableManipulation = tableManipulation;
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getFetchSize()
- */
- public void setFetchSize(int fetchSize) {
- testImmutability("tableManipulation");
- this.tableManipulation.setFetchSize(fetchSize);
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getBatchSize()
- */
- public void setBatchSize(int batchSize) {
- testImmutability("tableManipulation");
- this.tableManipulation.setBatchSize(batchSize);
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getFetchSize()
- */
- public int getFetchSize() {
- return this.tableManipulation.getFetchSize();
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getBatchSize()
- */
- public int getBatchSize() {
- return this.tableManipulation.getBatchSize();
- }
-
- public String getDatabaseType() {
- return this.tableManipulation.databaseType == null ? "" : this.tableManipulation.databaseType.toString();
- }
-
- /**
- * Sets the database dialect. Valid types are reflected in the DatabaseType enum. If unspecified, will attempt to
- * "guess" appropriate dialect from the JDBC driver specified.
- * @param dbType
- */
- public void setDatabaseType(String dbType) {
- if (dbType != null)
- this.tableManipulation.databaseType = DatabaseType.valueOf(dbType.toUpperCase().trim());
- }
}
Modified: branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java
===================================================================
--- branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java 2010-07-01 10:59:23 UTC (rev 1947)
+++ branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/mixed/JdbcMixedCacheStoreConfig.java 2010-07-01 11:50:09 UTC (rev 1948)
@@ -23,6 +23,7 @@
import org.infinispan.loaders.AbstractCacheStoreConfig;
import org.infinispan.loaders.LockSupportCacheStoreConfig;
+import org.infinispan.loaders.jdbc.AbstractJdbcCacheStoreConfig;
import org.infinispan.loaders.jdbc.DatabaseType;
import org.infinispan.loaders.jdbc.TableManipulation;
import org.infinispan.loaders.jdbc.binary.JdbcBinaryCacheStoreConfig;
@@ -34,11 +35,10 @@
*
* @author Mircea.Markus at jboss.com
*/
-public class JdbcMixedCacheStoreConfig extends AbstractCacheStoreConfig {
+public class JdbcMixedCacheStoreConfig extends AbstractJdbcCacheStoreConfig {
private static final long serialVersionUID = -1343548133363285687L;
-
- private ConnectionFactoryConfig connectionFactoryConfig = new ConnectionFactoryConfig();
+
private TableManipulation binaryTableManipulation = new TableManipulation();
private TableManipulation stringsTableManipulation = new TableManipulation();
private String key2StringMapper;
@@ -172,7 +172,7 @@
testImmutability("binaryTableManipulation");
this.binaryTableManipulation.setTimestampColumnName(timestampColumnNameForBinary);
}
-
+
public void setTimestampColumnTypeForBinary(String timestampColumnTypeForBinary) {
this.binaryTableManipulation.setTimestampColumnType(timestampColumnTypeForBinary);
}
@@ -181,52 +181,12 @@
testImmutability("binaryTableManipulation");
this.binaryTableManipulation.setCreateTableOnStart(createTableOnStartForBinary);
}
-
+
public void setDropTableOnExitForBinary(boolean dropTableOnExitForBinary) {
testImmutability("binaryTableManipulation");
this.binaryTableManipulation.setDropTableOnExit(dropTableOnExitForBinary);
}
-
- public void setDriverClass(String driverClass) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setDriverClass(driverClass);
- }
- public void setConnectionUrl(String connectionUrl) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setConnectionUrl(connectionUrl);
- }
-
- public void setUserName(String userName) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setUserName(userName);
- }
-
- public void setPassword(String password) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setPassword(password);
- }
-
- /**
- * Name of the connection factory class.
- *
- * @see org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactory
- */
- public void setConnectionFactoryClass(String connectionFactoryClass) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setConnectionFactoryClass(connectionFactoryClass);
- }
-
- public void setDatasourceJndiLocation(String location) {
- testImmutability("datasourceJndiLocation");
- this.connectionFactoryConfig.setDatasourceJndiLocation(location);
- }
-
-
- public ConnectionFactoryConfig getConnectionFactoryConfig() {
- return connectionFactoryConfig;
- }
-
public void setKey2StringMapperClass(String name) {
testImmutability("key2StringMapper");
this.key2StringMapper = name;
@@ -272,6 +232,7 @@
/**
* Sets the database dialect. Valid types are reflected in the DatabaseType enum. If unspecified, will attempt to
* "guess" appropriate dialect from the JDBC driver specified.
+ *
* @param dbType
*/
public void setDatabaseType(String dbType) {
@@ -282,7 +243,6 @@
@Override
public JdbcMixedCacheStoreConfig clone() {
JdbcMixedCacheStoreConfig dolly = (JdbcMixedCacheStoreConfig) super.clone();
- dolly.connectionFactoryConfig = this.connectionFactoryConfig.clone();
dolly.binaryTableManipulation = this.binaryTableManipulation.clone();
dolly.stringsTableManipulation = this.stringsTableManipulation.clone();
return dolly;
Modified: branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreConfig.java
===================================================================
--- branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreConfig.java 2010-07-01 10:59:23 UTC (rev 1947)
+++ branches/4.1.x/cachestore/jdbc/src/main/java/org/infinispan/loaders/jdbc/stringbased/JdbcStringBasedCacheStoreConfig.java 2010-07-01 11:50:09 UTC (rev 1948)
@@ -21,8 +21,7 @@
*/
package org.infinispan.loaders.jdbc.stringbased;
-import org.infinispan.loaders.LockSupportCacheStoreConfig;
-import org.infinispan.loaders.jdbc.DatabaseType;
+import org.infinispan.loaders.jdbc.AbstractNonDelegatingJdbcCacheStoreConfig;
import org.infinispan.loaders.jdbc.TableManipulation;
import org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactoryConfig;
import org.infinispan.util.Util;
@@ -33,17 +32,13 @@
* @author Mircea.Markus at jboss.com
* @see org.infinispan.loaders.jdbc.stringbased.Key2StringMapper
*/
-public class JdbcStringBasedCacheStoreConfig extends LockSupportCacheStoreConfig {
+public class JdbcStringBasedCacheStoreConfig extends AbstractNonDelegatingJdbcCacheStoreConfig {
/** The serialVersionUID */
private static final long serialVersionUID = 8835350707132331983L;
private Key2StringMapper key2StringMapper;
- private ConnectionFactoryConfig connectionFactoryConfig = new ConnectionFactoryConfig();
- private TableManipulation tableManipulation = new TableManipulation();
- private boolean manageConnectionFactory = true;
-
public JdbcStringBasedCacheStoreConfig(ConnectionFactoryConfig connectionFactoryConfig, TableManipulation tableManipulation) {
this();
this.connectionFactoryConfig = connectionFactoryConfig;
@@ -93,192 +88,11 @@
this.tableManipulation.setTableNamePrefix(stringsTableNamePrefix);
}
- /**
- * Sets the name of the table where data will be stored.
- */
- public void setCacheName(String cacheName) {
- testImmutability("tableManipulation");
- this.tableManipulation.setCacheName(cacheName);
- }
- /**
- * Sets the name of the column where the id will be stored. The id is obtained through:
- * <pre>
- * key2StringMapper.getStringMapping(storedEntry.getKey());
- * </pre>
- * Mandatory.
- */
- public void setIdColumnName(String idColumnName) {
- testImmutability("tableManipulation");
- this.tableManipulation.setIdColumnName(idColumnName);
- }
-
- /**
- * Sets the name of the column where the StoredEntry will be binary stored. Mandatory.
- */
- public void setDataColumnName(String dataColumnName) {
- testImmutability("tableManipulation");
- this.tableManipulation.setDataColumnName(dataColumnName);
- }
-
- /**
- * Sets the name of the column where the timestamp (Long in java) will be stored. Mandatory.
- */
- public void setTimestampColumnName(String timestampColumnName) {
- testImmutability("tableManipulation");
- this.tableManipulation.setTimestampColumnName(timestampColumnName);
- }
-
- /**
- * Sets the prefix for the name of the table where the data will be stored. "_<cache name>" will be appended
- * to this prefix in order to enforce unique table names for each cache.
- */
- public void setTimestampColumnType(String timestampColumnType) {
- testImmutability("tableManipulation");
- this.tableManipulation.setTimestampColumnType(timestampColumnType);
- }
-
- public void setConnectionFactoryClass(String connectionFactoryClass) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setConnectionFactoryClass(connectionFactoryClass);
- }
-
- public ConnectionFactoryConfig getConnectionFactoryConfig() {
- return connectionFactoryConfig;
- }
-
- public TableManipulation getTableManipulation() {
- return tableManipulation;
- }
-
- /**
- * Jdbc connection string for connecting to the database. Mandatory.
- */
- public void setConnectionUrl(String connectionUrl) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setConnectionUrl(connectionUrl);
- }
-
- /**
- * Database username.
- */
- public void setUserName(String userName) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setUserName(userName);
- }
-
- public void setDatasourceJndiLocation(String location) {
- testImmutability("datasourceJndiLocation");
- this.connectionFactoryConfig.setDatasourceJndiLocation(location);
- }
-
- /**
- * Database username's password.
- */
- public void setPassword(String password) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setPassword(password);
- }
-
- /**
- * The name of the driver used for connecting to the database. Mandatory, will be loaded before initiating the first
- * connection.
- */
- public void setDriverClass(String driverClassName) {
- testImmutability("connectionFactoryConfig");
- this.connectionFactoryConfig.setDriverClass(driverClassName);
- }
-
- /**
- * sql equivalent for java's String. Mandatory.
- */
- public void setIdColumnType(String idColumnType) {
- testImmutability("tableManipulation");
- this.tableManipulation.setIdColumnType(idColumnType);
- }
-
- /**
- * Sets the type of the column where data will be binary stored. BLOB-like type, DBMS dependent. Mandatory.
- */
- public void setDataColumnType(String dataColumnType) {
- testImmutability("tableManipulation");
- this.tableManipulation.setDataColumnType(dataColumnType);
- }
-
- public void setDropTableOnExit(boolean dropTableOnExit) {
- testImmutability("tableManipulation");
- this.tableManipulation.setDropTableOnExit(dropTableOnExit);
- }
-
- public void setCreateTableOnStart(boolean createTableOnStart) {
- testImmutability("tableManipulation");
- this.tableManipulation.setCreateTableOnStart(createTableOnStart);
- }
-
- /**
- * If this method returns false, then the connection factory should not be created by the {@link
- * org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore}, but will be injected through {@link
- * org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore#doConnectionFactoryInitialization(org.infinispan.loaders.jdbc.connectionfactory.ConnectionFactory)}
- */
- boolean isManageConnectionFactory() {
- return manageConnectionFactory;
- }
-
- public void setTableManipulation(TableManipulation tableManipulation) {
- testImmutability("tableManipulation");
- this.tableManipulation = tableManipulation;
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getFetchSize()
- */
- public void setFetchSize(int fetchSize) {
- testImmutability("tableManipulation");
- this.tableManipulation.setFetchSize(fetchSize);
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getBatchSize()
- */
- public void setBatchSize(int batchSize) {
- testImmutability("tableManipulation");
- this.tableManipulation.setBatchSize(batchSize);
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getFetchSize()
- */
- public int getFetchSize() {
- return this.tableManipulation.getFetchSize();
- }
-
- /**
- * @see org.infinispan.loaders.jdbc.TableManipulation#getBatchSize()
- */
- public int getBatchSize() {
- return this.tableManipulation.getBatchSize();
- }
-
- public String getDatabaseType() {
- return this.tableManipulation.databaseType == null ? "" : this.tableManipulation.databaseType.toString();
- }
-
- /**
- * Sets the database dialect. Valid types are reflected in the DatabaseType enum. If unspecified, will attempt to
- * "guess" appropriate dialect from the JDBC driver specified.
- * @param dbType
- */
- public void setDatabaseType(String dbType) {
- if (dbType != null)
- this.tableManipulation.databaseType = DatabaseType.valueOf(dbType.toUpperCase().trim());
- }
-
-
@Override
public JdbcStringBasedCacheStoreConfig clone() {
JdbcStringBasedCacheStoreConfig result = (JdbcStringBasedCacheStoreConfig) super.clone();
- result.connectionFactoryConfig = connectionFactoryConfig.clone();
- result.tableManipulation = tableManipulation.clone();
+ result.key2StringMapper = key2StringMapper;
return result;
}
}
More information about the infinispan-commits
mailing list