Author: asmuts Date: Wed Dec 3 09:00:49 2008 New Revision: 722969 URL: http://svn.apache.org/viewvc?rev=722969&view=rev Log: Disposal null pointer fixed. This bug caused no problems other than a misleading error log message.
Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/RemoteCacheUnitTest.java Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java?rev=722969&r1=722968&r2=722969&view=diff ============================================================================== --- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java (original) +++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/remote/RemoteCache.java Wed Dec 3 09:00:49 2008 @@ -472,11 +472,14 @@ { if ( log.isInfoEnabled() ) { - log.info( "Disposing of remote cache" ); + log.info( "Disposing of remote cache." ); } try { - listener.dispose(); + if ( listener != null ) + { + listener.dispose(); + } } catch ( Exception ex ) { Modified: jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/RemoteCacheUnitTest.java URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/RemoteCacheUnitTest.java?rev=722969&r1=722968&r2=722969&view=diff ============================================================================== --- jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/RemoteCacheUnitTest.java (original) +++ jakarta/jcs/trunk/src/test/org/apache/jcs/auxiliary/remote/RemoteCacheUnitTest.java Wed Dec 3 09:00:49 2008 @@ -264,4 +264,56 @@ assertEquals( "Start should have been called.", 1, cacheEventLogger.startICacheEventCalls ); assertEquals( "End should have been called.", 1, cacheEventLogger.endICacheEventCalls ); } + + /** + * Verify event log calls. + * <p> + * @throws Exception + */ + public void testDispose_simple() + throws Exception + { + // SETUP + IRemoteCacheAttributes cattr = new RemoteCacheAttributes(); + MockRemoteCacheService service = new MockRemoteCacheService(); + MockRemoteCacheListener listener = new MockRemoteCacheListener(); + + RemoteCache remoteCache = new RemoteCache( cattr, service, listener ); + + MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger(); + remoteCache.setCacheEventLogger( cacheEventLogger ); + + // DO WORK + remoteCache.dispose( ); + + // VERIFY + assertEquals( "Start should have been called.", 1, cacheEventLogger.startICacheEventCalls ); + assertEquals( "End should have been called.", 1, cacheEventLogger.endICacheEventCalls ); + } + + /** + * Verify that there is no problem if there is no listener. + * <p> + * @throws Exception + */ + public void testDispose_nullListener() + throws Exception + { + // SETUP + IRemoteCacheAttributes cattr = new RemoteCacheAttributes(); + MockRemoteCacheService service = new MockRemoteCacheService(); + MockRemoteCacheListener listener = null; + + RemoteCache remoteCache = new RemoteCache( cattr, service, listener ); + + MockCacheEventLogger cacheEventLogger = new MockCacheEventLogger(); + remoteCache.setCacheEventLogger( cacheEventLogger ); + + // DO WORK + remoteCache.dispose( ); + + // VERIFY + assertEquals( "Start should have been called.", 1, cacheEventLogger.startICacheEventCalls ); + assertEquals( "End should have been called.", 1, cacheEventLogger.endICacheEventCalls ); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]