[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