Author: tv
Date: Fri Jun  6 13:51:01 2014
New Revision: 1600888

URL: http://svn.apache.org/r1600888
Log:
Fix JCS-113: Improve error handling by bubbling up exceptions. Simplify code.

Removed:
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccessFactory.java
Modified:
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManagerAbstractTemplate.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccess.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccessManager.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheManager.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java
    
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizerManualTester.java
    commons/proper/jcs/trunk/src/changes/changes.xml

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
 Fri Jun  6 13:51:01 2014
@@ -116,14 +116,14 @@ public class JDBCDiskCache<K, V>
      * @param cattr
      * @param tableState
      * @param compositeCacheManager
+     * @throws SQLException if the pool access could not be set up
      */
     public JDBCDiskCache( JDBCDiskCacheAttributes cattr, TableState tableState,
-                          ICompositeCacheManager compositeCacheManager )
+                          ICompositeCacheManager compositeCacheManager ) 
throws SQLException
     {
         super( cattr );
 
         setTableState( tableState );
-
         setJdbcDiskCacheAttributes( cattr );
 
         if ( log.isInfoEnabled() )
@@ -132,7 +132,7 @@ public class JDBCDiskCache<K, V>
         }
 
         // This initializes the pool access.
-        setPoolAccess( initializePoolAccess( cattr, compositeCacheManager ) );
+        this.poolAccess = initializePoolAccess( cattr, compositeCacheManager );
 
         // Initialization finished successfully, so set alive to true.
         alive = true;
@@ -144,9 +144,10 @@ public class JDBCDiskCache<K, V>
      * @param cattr
      * @param compositeCacheManager
      * @return JDBCDiskCachePoolAccess for testing
+     * @throws SQLException if a database access error occurs
      */
     protected JDBCDiskCachePoolAccess initializePoolAccess( 
JDBCDiskCacheAttributes cattr,
-                                                            
ICompositeCacheManager compositeCacheManager )
+                                                            
ICompositeCacheManager compositeCacheManager ) throws SQLException
     {
         JDBCDiskCachePoolAccess poolAccess1 = null;
         if ( cattr.getConnectionPoolName() != null )
@@ -158,16 +159,7 @@ public class JDBCDiskCache<K, V>
         }
         else
         {
-            try
-            {
-                poolAccess1 = JDBCDiskCachePoolAccessFactory.createPoolAccess( 
cattr );
-            }
-            catch ( Exception e )
-            {
-                logError( getAuxiliaryCacheAttributes().getName(), 
"initializePoolAccess", e.getMessage() + " URL: "
-                    + getDiskLocation() );
-                log.error( "Problem getting connection.", e );
-            }
+            poolAccess1 = JDBCDiskCachePoolAccessManager.createPoolAccess( 
cattr );
         }
         return poolAccess1;
     }
@@ -1188,14 +1180,6 @@ public class JDBCDiskCache<K, V>
     }
 
     /**
-     * @param poolAccess the poolAccess to set
-     */
-    protected void setPoolAccess( JDBCDiskCachePoolAccess poolAccess )
-    {
-        this.poolAccess = poolAccess;
-    }
-
-    /**
      * Public so managers can access it.
      * @return the poolAccess
      */

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java
 Fri Jun  6 13:51:01 2014
@@ -19,6 +19,8 @@ package org.apache.commons.jcs.auxiliary
  * under the License.
  */
 
+import java.sql.SQLException;
+
 import org.apache.commons.jcs.engine.behavior.ICompositeCacheManager;
 import org.apache.commons.jcs.engine.behavior.IElementSerializer;
 import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
@@ -32,9 +34,6 @@ import org.apache.commons.logging.LogFac
 public class JDBCDiskCacheManager
     extends JDBCDiskCacheManagerAbstractTemplate
 {
-    /** Don't change */
-    private static final long serialVersionUID = -8258856770927857896L;
-
     /** The logger. */
     private static final Log log = LogFactory.getLog( 
JDBCDiskCacheManager.class );
 
@@ -121,9 +120,10 @@ public class JDBCDiskCacheManager
      * @param cattr
      * @param tableState
      * @return AuxiliaryCache
+     * @throws SQLException if database operations fail
      */
     @Override
-    protected <K, V> JDBCDiskCache<K, V> createJDBCDiskCache( 
JDBCDiskCacheAttributes cattr, TableState tableState )
+    protected <K, V> JDBCDiskCache<K, V> createJDBCDiskCache( 
JDBCDiskCacheAttributes cattr, TableState tableState ) throws SQLException
     {
         JDBCDiskCache<K, V> raf;
         raf = new JDBCDiskCache<K, V>( cattr, tableState, 
getCompositeCacheManager() );

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManagerAbstractTemplate.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManagerAbstractTemplate.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManagerAbstractTemplate.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManagerAbstractTemplate.java
 Fri Jun  6 13:51:01 2014
@@ -26,6 +26,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import java.io.IOException;
+import java.sql.SQLException;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Executors;
@@ -41,14 +42,11 @@ import java.util.concurrent.TimeUnit;
 public abstract class JDBCDiskCacheManagerAbstractTemplate
     extends AbstractDiskCacheManager
 {
-    /** Don't change. */
-    private static final long serialVersionUID = 218557927622128905L;
-
     /** The logger. */
     private static final Log log = LogFactory.getLog( 
JDBCDiskCacheManagerAbstractTemplate.class );
 
-    /** Incremented on getIntance, decremented on release. */
-    protected static int clients; // TODO needs to be made private and 
synchronised and/or turned into AtomicInt
+    /** Incremented on getInstance, decremented on release. */
+    protected static int clients; // TODO needs to be made private and 
synchronized and/or turned into AtomicInt
 
     /** A map of JDBCDiskCache objects to region names. */
     private static Map<String, JDBCDiskCache<?, ?>> caches =
@@ -76,7 +74,8 @@ public abstract class JDBCDiskCacheManag
      * @param tableState An object used by multiple processes to indicate 
state.
      * @return AuxiliaryCache -- a JDBCDiskCache
      */
-    protected abstract <K, V> JDBCDiskCache<K, V> createJDBCDiskCache( 
JDBCDiskCacheAttributes cattr, TableState tableState );
+    protected abstract <K, V> JDBCDiskCache<K, V> createJDBCDiskCache( 
JDBCDiskCacheAttributes cattr, TableState tableState )
+       throws SQLException;
 
     /**
      * Creates a JDBCDiskCache for the region if one doesn't exist, else it 
returns the pre-created
@@ -106,10 +105,17 @@ public abstract class JDBCDiskCacheManag
                     tableState = new TableState( cattr.getTableName() );
                 }
 
-                diskCache = createJDBCDiskCache( cattr, tableState );
-                diskCache.setCacheEventLogger( getCacheEventLogger() );
-                diskCache.setElementSerializer( getElementSerializer() );
-                caches.put( cattr.getCacheName(), diskCache );
+                try 
+                {
+                                       diskCache = createJDBCDiskCache( cattr, 
tableState );
+                                       diskCache.setCacheEventLogger( 
getCacheEventLogger() );
+                                       diskCache.setElementSerializer( 
getElementSerializer() );
+                                       caches.put( cattr.getCacheName(), 
diskCache );
+                               } 
+                catch (SQLException e) 
+                {
+                    log.error( "Failed to create cache " + 
cattr.getCacheName(), e );
+                               }
             }
         }
 

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccess.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccess.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccess.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccess.java
 Fri Jun  6 13:51:01 2014
@@ -118,7 +118,7 @@ public class JDBCDiskCachePoolAccess
             }
             numIdle = connectionPool.getNumIdle();
         }
-        catch ( Exception e )
+        catch ( SQLException e )
         {
             log.error( e );
         }
@@ -144,7 +144,7 @@ public class JDBCDiskCachePoolAccess
             }
             numActive = connectionPool.getNumActive();
         }
-        catch ( Exception e )
+        catch ( SQLException e )
         {
             log.error( e );
         }
@@ -155,7 +155,7 @@ public class JDBCDiskCachePoolAccess
      * @throws Exception
      */
     public void shutdownDriver()
-        throws Exception
+        throws SQLException
     {
         PoolingDriver driver = (PoolingDriver) DriverManager.getDriver( 
DRIVER_NAME );
         driver.closePool( this.getPoolName() );
@@ -190,10 +190,10 @@ public class JDBCDiskCachePoolAccess
      * @param userName
      * @param password
      * @param maxActive max connections
-     * @throws Exception
+     * @throws SQLException if a database access error occurs
      */
     public void setupDriver( String connectURI, String userName, String 
password, int maxActive )
-        throws Exception
+        throws SQLException
     {
         // First, we'll need a ObjectPool that serves as the
         // actual pool of connections.
@@ -222,7 +222,15 @@ public class JDBCDiskCachePoolAccess
         new PoolableConnectionFactory( connectionFactory, connectionPool, 
null, null, false, true );
 
         // Finally, we create the PoolingDriver itself...
-        Class.forName( "org.apache.commons.dbcp.PoolingDriver" );
+        try
+        {
+            // com.mysql.jdbc.Driver
+            Class.forName( "org.apache.commons.dbcp.PoolingDriver" );
+        }
+        catch ( ClassNotFoundException e )
+        {
+            throw new SQLException("Couldn't find class for driver 
[org.apache.commons.dbcp.PoolingDriver]", e );
+        }
         PoolingDriver driver = (PoolingDriver) DriverManager.getDriver( 
DRIVER_NAME );
 
         // ...and register our pool with it.
@@ -237,7 +245,7 @@ public class JDBCDiskCachePoolAccess
      * @throws Exception
      */
     public void logDriverStats()
-        throws Exception
+        throws SQLException
     {
         PoolingDriver driver = (PoolingDriver) DriverManager.getDriver( 
DRIVER_NAME );
         ObjectPool connectionPool = driver.getConnectionPool( 
this.getPoolName() );

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccessManager.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccessManager.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccessManager.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCachePoolAccessManager.java
 Fri Jun  6 13:51:01 2014
@@ -19,6 +19,7 @@ package org.apache.commons.jcs.auxiliary
  * under the License.
  */
 
+import java.sql.SQLException;
 import org.apache.commons.jcs.utils.config.PropertySetter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -84,28 +85,23 @@ public class JDBCDiskCachePoolAccessMana
      * @param poolName the name of the pool
      * @param props the configuration properties for the pool
      * @return JDBCDiskCachePoolAccess
+     * @throws SQLException if a database access error occurs
      */
     public synchronized JDBCDiskCachePoolAccess getJDBCDiskCachePoolAccess( 
String poolName, Properties props )
+        throws SQLException
     {
         JDBCDiskCachePoolAccess poolAccess = pools.get( poolName );
 
         if ( poolAccess == null )
         {
             JDBCDiskCachePoolAccessAttributes poolAttributes = 
configurePoolAccessAttributes( poolName, props );
-            try
-            {
-                poolAccess = JDBCDiskCachePoolAccessFactory.createPoolAccess( 
poolAttributes );
+            poolAccess = JDBCDiskCachePoolAccessManager.createPoolAccess( 
poolAttributes );
 
-                if ( log.isInfoEnabled() )
-                {
-                    log.info( "Created shared pooled access for pool name [" + 
poolName + "]." );
-                }
-                pools.put( poolName, poolAccess );
-            }
-            catch ( Exception e )
+            if ( log.isInfoEnabled() )
             {
-                log.error( "Problem creating connection pool for pool name [" 
+ poolName + "].", e );
+                log.info( "Created shared pooled access for pool name [" + 
poolName + "]." );
             }
+            pools.put( poolName, poolAccess );
         }
 
         return poolAccess;
@@ -135,4 +131,78 @@ public class JDBCDiskCachePoolAccessMana
         }
         return poolAttributes;
     }
+
+    /**
+     * Creates a pool access object and registers the driver.
+     * <p>
+     * @param driverClassName
+     * @param poolName
+     * @param fullURL = (url + database)
+     * @param userName
+     * @param password
+     * @param maxActive
+     * @return JDBCDiskCachePoolAccess
+     * @throws SQLException if a database access error occurs
+     */
+    public static JDBCDiskCachePoolAccess createPoolAccess( String 
driverClassName, String poolName, String fullURL,
+                                                            String userName, 
String password, int maxActive )
+       throws SQLException
+    {
+        JDBCDiskCachePoolAccess poolAccess = null;
+
+        try
+        {
+            // com.mysql.jdbc.Driver
+            Class.forName( driverClassName );
+        }
+        catch ( ClassNotFoundException e )
+        {
+            throw new SQLException("Couldn't find class for driver [" + 
driverClassName + "]", e );
+        }
+
+        poolAccess = new JDBCDiskCachePoolAccess( poolName );
+
+        poolAccess.setupDriver( fullURL, userName, password, maxActive );
+
+        poolAccess.logDriverStats();
+
+        if ( log.isInfoEnabled() )
+        {
+            log.info( "Created: " + poolAccess );
+        }
+
+        return poolAccess;
+    }
+
+    /**
+     * Creates a JDBCDiskCachePoolAccess object from the 
JDBCDiskCacheAttributes. Use this when not
+     * using the connection pool manager.
+     * <p>
+     * @param cattr
+     * @return JDBCDiskCachePoolAccess
+     * @throws SQLException if a database access error occurs
+     */
+    public static JDBCDiskCachePoolAccess createPoolAccess( 
JDBCDiskCacheAttributes cattr )
+        throws SQLException
+    {
+        return JDBCDiskCachePoolAccessManager.createPoolAccess( 
cattr.getDriverClassName(), cattr.getName(), cattr.getUrl() + 
cattr.getDatabase(),
+                                 cattr.getUserName(), cattr.getPassword(), 
cattr.getMaxActive() );
+    }
+
+    /**
+     * Creates a JDBCDiskCachePoolAccess object from the 
JDBCDiskCachePoolAccessAttributes. This is
+     * used by the connection pool manager.
+     * <p>
+     * @param poolAttributes
+     * @return JDBCDiskCachePoolAccess
+     * @throws SQLException if a database access error occurs
+     */
+    public static JDBCDiskCachePoolAccess createPoolAccess( 
JDBCDiskCachePoolAccessAttributes poolAttributes )
+        throws SQLException
+    {
+        return JDBCDiskCachePoolAccessManager.createPoolAccess( 
poolAttributes.getDriverClassName(), poolAttributes.getPoolName(), 
poolAttributes
+            .getUrl()
+            + poolAttributes.getDatabase(), poolAttributes.getUserName(), 
poolAttributes.getPassword(), poolAttributes
+            .getMaxActive() );
+    }
 }

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java
 Fri Jun  6 13:51:01 2014
@@ -19,6 +19,10 @@ package org.apache.commons.jcs.auxiliary
  * under the License.
  */
 
+import java.io.Serializable;
+import java.sql.SQLException;
+import java.util.Map;
+
 import org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCache;
 import org.apache.commons.jcs.auxiliary.disk.jdbc.TableState;
 import org.apache.commons.jcs.engine.behavior.ICacheElement;
@@ -37,7 +41,7 @@ import java.util.Map;
  * @author Aaron Smuts
  */
 public class MySQLDiskCache<K, V>
-    extends JDBCDiskCache<K, V>
+       extends JDBCDiskCache<K, V>
 {
     /** don't change */
     private static final long serialVersionUID = -7169488308515823491L;
@@ -55,8 +59,9 @@ public class MySQLDiskCache<K, V>
      * @param attributes
      * @param tableState
      * @param compositeCacheManager
+     * @throws SQLException if the pool access could not be set up
      */
-    public MySQLDiskCache( MySQLDiskCacheAttributes attributes, TableState 
tableState, ICompositeCacheManager compositeCacheManager )
+    public MySQLDiskCache( MySQLDiskCacheAttributes attributes, TableState 
tableState, ICompositeCacheManager compositeCacheManager ) throws SQLException
     {
         super( attributes, tableState, compositeCacheManager );
 

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheManager.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheManager.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheManager.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheManager.java
 Fri Jun  6 13:51:01 2014
@@ -31,6 +31,7 @@ import org.apache.commons.jcs.engine.log
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import java.sql.SQLException;
 import java.util.Date;
 import java.util.Timer;
 import java.util.TimerTask;
@@ -45,9 +46,6 @@ import java.util.TimerTask;
 public class MySQLDiskCacheManager
     extends JDBCDiskCacheManagerAbstractTemplate
 {
-    /** Don't change. */
-    private static final long serialVersionUID = -8258856770927857896L;
-
     /** The logger */
     private static final Log log = LogFactory.getLog( 
MySQLDiskCacheManager.class );
 
@@ -142,9 +140,11 @@ public class MySQLDiskCacheManager
      * @param cattr
      * @param tableState
      * @return AuxiliaryCache
+     * @throws SQLException if database operations fail
      */
     @Override
-    protected <K, V> MySQLDiskCache<K, V> createJDBCDiskCache( 
JDBCDiskCacheAttributes cattr, TableState tableState )
+    protected <K, V> MySQLDiskCache<K, V> createJDBCDiskCache( 
JDBCDiskCacheAttributes cattr, 
+            TableState tableState ) throws SQLException
     {
         MySQLDiskCache<K, V> diskCache = new MySQLDiskCache<K, V>( 
(MySQLDiskCacheAttributes) cattr, tableState, getCompositeCacheManager() );
 

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLDiskCacheUnitTest.java
 Fri Jun  6 13:51:01 2014
@@ -19,7 +19,10 @@ package org.apache.commons.jcs.auxiliary
  * under the License.
  */
 
+import java.sql.SQLException;
+
 import junit.framework.TestCase;
+
 import org.apache.commons.jcs.auxiliary.disk.jdbc.TableState;
 import org.apache.commons.jcs.engine.control.CompositeCacheManager;
 
@@ -39,8 +42,9 @@ public class MySQLDiskCacheUnitTest
      * <p>
      * This is a bit tricky since we don't want to have to have a mysql 
instance
      * running. Right now this doesn't really test much
+     * @throws SQLException 
      */
-    public void testBalkOnGet()
+    public void testBalkOnGet() throws SQLException
     {
         // SETUP
         MySQLDiskCacheAttributes attributes = new MySQLDiskCacheAttributes();
@@ -52,7 +56,8 @@ public class MySQLDiskCacheUnitTest
         TableState tableState = new TableState( tableName );
         tableState.setState( TableState.OPTIMIZATION_RUNNING );
 
-        MySQLDiskCache<String, String> cache = new MySQLDiskCache<String, 
String>( attributes, tableState, 
CompositeCacheManager.getUnconfiguredInstance() );
+        MySQLDiskCache<String, String> cache = new MySQLDiskCache<String, 
String>( attributes, tableState, 
+                       CompositeCacheManager.getUnconfiguredInstance() );
 
         // DO WORK
         Object result = cache.processGet( "myKey" );

Modified: 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizerManualTester.java
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizerManualTester.java?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizerManualTester.java
 (original)
+++ 
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/disk/jdbc/mysql/MySQLTableOptimizerManualTester.java
 Fri Jun  6 13:51:01 2014
@@ -20,7 +20,7 @@ package org.apache.commons.jcs.auxiliary
  */
 
 import junit.framework.TestCase;
-import 
org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCachePoolAccessFactory;
+import 
org.apache.commons.jcs.auxiliary.disk.jdbc.JDBCDiskCachePoolAccessManager;
 import org.apache.commons.jcs.auxiliary.disk.jdbc.TableState;
 
 /**
@@ -49,7 +49,7 @@ public class MySQLTableOptimizerManualTe
         attributes.setTableName( tableName );
         TableState tableState = new TableState( tableName );
 
-        MySQLTableOptimizer optimizer = new MySQLTableOptimizer( attributes, 
tableState, JDBCDiskCachePoolAccessFactory
+        MySQLTableOptimizer optimizer = new MySQLTableOptimizer( attributes, 
tableState, JDBCDiskCachePoolAccessManager
             .createPoolAccess( attributes ) );
 
         // DO WORK
@@ -74,7 +74,7 @@ public class MySQLTableOptimizerManualTe
         attributes.setTableName( tableName );
         TableState tableState = new TableState( tableName );
 
-        MySQLTableOptimizer optimizer = new MySQLTableOptimizer( attributes, 
tableState, JDBCDiskCachePoolAccessFactory
+        MySQLTableOptimizer optimizer = new MySQLTableOptimizer( attributes, 
tableState, JDBCDiskCachePoolAccessManager
             .createPoolAccess( attributes ) );
 
         // DO WORK

Modified: commons/proper/jcs/trunk/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/src/changes/changes.xml?rev=1600888&r1=1600887&r2=1600888&view=diff
==============================================================================
--- commons/proper/jcs/trunk/src/changes/changes.xml (original)
+++ commons/proper/jcs/trunk/src/changes/changes.xml Fri Jun  6 13:51:01 2014
@@ -20,6 +20,9 @@
        </properties>
        <body>
                <release version="2.0" date="unreleased" description="JDK 1.6 
based major release">
+            <action issue="JCS-113" dev="tv" type="fix" due-to="Sebastian 
Bazley">
+                Improve error handling by bubbling up exceptions
+            </action>
             <action dev="rmannibucau" type="add">
                 jcache-extra module to provide basic classes based on JCache 
API.
             </action>


Reply via email to