This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jcs.git
commit fd9b5de4705e091f77fc4a5f7b5d133792f5f794 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Tue Jul 9 19:53:22 2024 -0400 Use final Use blocks Remove useless or redundant parens Use diamonds Remove redundant keywords Use else if Add @Override Use a for each loop instead of an iterator Remove trailing whitespace Use a switch instead of a cascading if else --- .../jcs3/auxiliary/disk/jdbc/ShrinkerThread.java | 4 +- .../jcs3/auxiliary/disk/jdbc/TableState.java | 2 +- .../auxiliary/disk/jdbc/mysql/MySQLDiskCache.java | 8 +- .../disk/jdbc/mysql/MySQLDiskCacheFactory.java | 2 +- .../disk/jdbc/mysql/MySQLTableOptimizer.java | 10 +- .../disk/jdbc/mysql/util/ScheduleParser.java | 2 +- .../socket/tcp/TCPLateralCacheAttributes.java | 2 +- .../commons/jcs3/auxiliary/remote/RemoteCache.java | 6 +- .../jcs3/auxiliary/remote/RemoteCacheFactory.java | 6 +- .../jcs3/auxiliary/remote/RemoteCacheManager.java | 14 +- .../jcs3/auxiliary/remote/RemoteCacheMonitor.java | 4 +- .../commons/jcs3/auxiliary/remote/RemoteUtils.java | 2 +- .../remote/http/server/RemoteHttpCacheServlet.java | 2 +- .../auxiliary/remote/server/RemoteCacheServer.java | 2 +- .../remote/server/RemoteCacheServerAttributes.java | 16 +- .../remote/server/RemoteCacheServerFactory.java | 6 +- .../commons/jcs3/engine/PooledCacheEventQueue.java | 6 +- .../jcs3/io/ObjectInputStreamClassLoaderAware.java | 8 +- .../commons/jcs3/utils/config/OptionConverter.java | 42 ++-- .../commons/jcs3/utils/config/PropertySetter.java | 2 +- .../utils/discovery/UDPDiscoveryAttributes.java | 14 +- .../jcs3/utils/discovery/UDPDiscoveryReceiver.java | 22 +- .../jcs3/utils/discovery/UDPDiscoverySender.java | 2 +- .../jcs3/utils/discovery/UDPDiscoveryService.java | 28 ++- .../commons/jcs3/access/TestCacheAccess.java | 59 +++--- .../lateral/socket/tcp/TestTCPLateralUnitTest.java | 6 +- .../remote/RemoteCacheNoWaitFacadeUnitTest.java | 2 +- .../auxiliary/remote/TestRemoteCacheFactory.java | 6 +- .../engine/control/MockCompositeCacheManager.java | 2 +- .../jcs3/engine/memory/MockMemoryCache.java | 8 +- .../UDPDiscoverySenderEncryptedUnitTest.java | 8 +- .../discovery/UDPDiscoverySenderUnitTest.java | 6 +- .../jcs3/utils/discovery/UDPDiscoveryUnitTest.java | 2 +- .../commons/jcs3/utils/props/PropertyLoader.java | 2 +- .../serialization/StandardSerializerUnitTest.java | 6 +- .../jcs/yajcache/config/PerCacheConfig.java | 4 +- .../jcs/yajcache/config/YajCacheConfig.java | 2 +- .../jcs/yajcache/core/SafeCacheWrapper.java | 79 ++++--- .../commons/jcs/yajcache/soft/SoftRefCache.java | 139 ++++++++----- .../jcs/yajcache/soft/SoftRefFileCache.java | 228 ++++++++++++--------- .../jcs/yajcache/core/SafeCacheManagerTest.java | 30 +-- .../jcs/yajcache/soft/SoftRefCacheTest.java | 4 +- .../yajcache/soft/SoftRefFileCacheSafeTest.java | 4 +- .../jcs/yajcache/util/SerializeUtilsTest.java | 32 +-- .../jcs/yajcache/util/TestSerializable.java | 8 +- 45 files changed, 458 insertions(+), 391 deletions(-) diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java index 10a24624..a41fef73 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/ShrinkerThread.java @@ -92,11 +92,11 @@ public class ShrinkerThread if ( i.hasNext() ) { log.info( "Pausing for [{0}] ms before shrinking the next region.", - this.getPauseBetweenRegionCallsMillis() ); + getPauseBetweenRegionCallsMillis() ); try { - Thread.sleep( this.getPauseBetweenRegionCallsMillis() ); + Thread.sleep( getPauseBetweenRegionCallsMillis() ); } catch ( final InterruptedException e ) { diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java index ce7ef413..3f4cc77e 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/TableState.java @@ -58,7 +58,7 @@ public class TableState */ public TableState( final String tableName ) { - this.setTableName( tableName ); + setTableName( tableName ); } /** diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java index ec1668f8..838a0cb0 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCache.java @@ -76,7 +76,7 @@ public class MySQLDiskCache<K, V> @Override protected int deleteExpired() { - if (this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING && + if (getTableState().getState() == TableState.OPTIMIZATION_RUNNING && this.mySQLDiskCacheAttributes.isBalkDuringOptimization()) { return -1; @@ -94,7 +94,7 @@ public class MySQLDiskCache<K, V> @Override protected ICacheElement<K, V> processGet( final K key ) { - if (this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING && + if (getTableState().getState() == TableState.OPTIMIZATION_RUNNING && this.mySQLDiskCacheAttributes.isBalkDuringOptimization()) { return null; @@ -112,7 +112,7 @@ public class MySQLDiskCache<K, V> @Override protected Map<K, ICacheElement<K, V>> processGetMatching( final String pattern ) { - if (this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING && + if (getTableState().getState() == TableState.OPTIMIZATION_RUNNING && this.mySQLDiskCacheAttributes.isBalkDuringOptimization()) { return null; @@ -129,7 +129,7 @@ public class MySQLDiskCache<K, V> @Override protected void processUpdate( final ICacheElement<K, V> element ) { - if (this.getTableState().getState() == TableState.OPTIMIZATION_RUNNING && + if (getTableState().getState() == TableState.OPTIMIZATION_RUNNING && this.mySQLDiskCacheAttributes.isBalkDuringOptimization()) { return; diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java index 0a22e591..c0c2fc1c 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLDiskCacheFactory.java @@ -136,7 +136,7 @@ public class MySQLDiskCacheFactory // can“t be null, otherwise ScheduleParser.createDatesForSchedule will throw ParseException final Date[] dates = ScheduleParser.createDatesForSchedule( attributes.getOptimizationSchedule() ); for (final Date date : dates) { - this.scheduleOptimization( date, optimizer ); + scheduleOptimization( date, optimizer ); } } catch ( final ParseException e ) diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java index 57eb91b8..a608e762 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/MySQLTableOptimizer.java @@ -165,14 +165,14 @@ public class MySQLTableOptimizer try { tableState.setState( TableState.OPTIMIZATION_RUNNING ); - log.info( "Optimizing table [{0}]", this.getTableName()); + log.info( "Optimizing table [{0}]", getTableName()); try (Connection con = dataSource.getConnection()) { // TEST try (Statement sStatement = con.createStatement()) { - try (ResultSet rs = sStatement.executeQuery( "optimize table " + this.getTableName() )) + try (ResultSet rs = sStatement.executeQuery( "optimize table " + getTableName() )) { // first row is error, then status // if there is only one row in the result set, everything @@ -204,12 +204,12 @@ public class MySQLTableOptimizer // log the table status final String statusString = getTableStatus( sStatement ); log.info( "Table status after optimizing table [{0}]: {1}", - this.getTableName(), statusString ); + getTableName(), statusString ); } catch ( final SQLException e ) { log.error( "Problem optimizing table [{0}]", - this.getTableName(), e ); + getTableName(), e ); return false; } } @@ -246,7 +246,7 @@ public class MySQLTableOptimizer // if( message != null && message.indexOf( ) ) final StringBuilder repairString = new StringBuilder(); - try (ResultSet repairResult = sStatement.executeQuery( "repair table " + this.getTableName())) + try (ResultSet repairResult = sStatement.executeQuery( "repair table " + getTableName())) { final int numColumns = repairResult.getMetaData().getColumnCount(); while ( repairResult.next() ) diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java index a7453824..6a93c069 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/disk/jdbc/mysql/util/ScheduleParser.java @@ -48,7 +48,7 @@ public class ScheduleParser final String[] timeStrings = schedule.split("\\s*,\\s*"); final Date[] dates = new Date[timeStrings.length]; int cnt = 0; - for (String time : timeStrings) + for (final String time : timeStrings) { dates[cnt++] = getDateForSchedule(time); } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java index c5f4ed9b..4d850f67 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TCPLateralCacheAttributes.java @@ -429,6 +429,6 @@ public class TCPLateralCacheAttributes @Override public String toString() { - return this.getTcpServer() + ":" + this.getTcpListenerPort(); + return getTcpServer() + ":" + getTcpListenerPort(); } } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java index 0b21d4d9..3c9ed8c9 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCache.java @@ -105,9 +105,9 @@ public class RemoteCache<K, V> protected String getIPAddressForService() { String ipAddress = "(null)"; - if (this.getRemoteCacheAttributes().getRemoteLocation() != null) + if (getRemoteCacheAttributes().getRemoteLocation() != null) { - ipAddress = this.getRemoteCacheAttributes().getRemoteLocation().toString(); + ipAddress = getRemoteCacheAttributes().getRemoteLocation().toString(); } return ipAddress; } @@ -124,7 +124,7 @@ public class RemoteCache<K, V> final ArrayList<IStatElement<?>> elems = new ArrayList<>(); elems.add(new StatElement<>( "Remote Host:Port", getIPAddressForService() ) ); - elems.add(new StatElement<>( "Remote Type", this.getRemoteCacheAttributes().getRemoteTypeName() ) ); + elems.add(new StatElement<>( "Remote Type", getRemoteCacheAttributes().getRemoteTypeName() ) ); // if ( this.getRemoteCacheAttributes().getRemoteType() == RemoteType.CLUSTER ) // { diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java index b5bef665..260e7f3c 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheFactory.java @@ -91,7 +91,7 @@ public class RemoteCacheFactory if (failoverList != null && !failoverList.isEmpty()) { final String[] failoverServers = failoverList.split("\\s*,\\s*"); - for (String server : failoverServers) + for (final String server : failoverServers) { final RemoteLocation location = RemoteLocation.parseServerAndPort(server); @@ -121,7 +121,7 @@ public class RemoteCacheFactory case CLUSTER: // REGISTER LISTENERS FOR EACH SYSTEM CLUSTERED CACHEs final String[] clusterServers = rca.getClusterServers().split("\\s*,\\s*"); - for (String server: clusterServers) + for (final String server: clusterServers) { if (server.isEmpty()) { @@ -220,7 +220,7 @@ public class RemoteCacheFactory return managers.computeIfAbsent(rca.getRemoteLocation(), key -> { - RemoteCacheManager manager = new RemoteCacheManager(rca, cacheMgr, monitor, cacheEventLogger, elementSerializer); + final RemoteCacheManager manager = new RemoteCacheManager(rca, cacheMgr, monitor, cacheEventLogger, elementSerializer); monitor.addManager(manager); return manager; diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java index 25a1af8d..5e2eeb13 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheManager.java @@ -320,18 +320,14 @@ public class RemoteCacheManager if ( cache != null ) { removeListenerFromCache(cache); + } else if ( cattr.isReceive() ) + { + log.warn( "Trying to deregister Cache Listener that was never registered." ); } else { - if ( cattr.isReceive() ) - { - log.warn( "Trying to deregister Cache Listener that was never registered." ); - } - else - { - log.debug( "Since the remote cache is configured to not receive, " - + "there is no listener to deregister." ); - } + log.debug( "Since the remote cache is configured to not receive, " + + "there is no listener to deregister." ); } } } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java index 807bebec..fee54aba 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheMonitor.java @@ -58,9 +58,9 @@ public class RemoteCacheMonitor extends AbstractAuxiliaryCacheMonitor this.managers.put(manager, manager); // if not yet started, go ahead - if (this.getState() == Thread.State.NEW) + if (getState() == Thread.State.NEW) { - this.start(); + start(); } } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java index 223a472a..c56cc058 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/RemoteUtils.java @@ -211,7 +211,7 @@ public class RemoteUtils if (null == is) // not found in class path { - Path propPath = Paths.get(propFile); + final Path propPath = Paths.get(propFile); if (Files.exists(propPath)) { // file found diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java index 17eeb470..61339e04 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java @@ -153,7 +153,7 @@ public class RemoteHttpCacheServlet { // not thread safe, but it doesn't have to be accurate serviceCalls++; - if ( log.isInfoEnabled() && (serviceCalls % logInterval == 0) ) + if ( log.isInfoEnabled() && serviceCalls % logInterval == 0 ) { log.info( "serviceCalls = {0}", serviceCalls ); } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java index 74228d07..ecc58922 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServer.java @@ -821,7 +821,7 @@ public class RemoteCacheServer<K, V> // not thread safe, but it doesn't have to be 100% accurate puts++; - if ( log.isInfoEnabled() && (puts % logInterval == 0) ) + if ( log.isInfoEnabled() && puts % logInterval == 0 ) { log.info( "puts = {0}", puts ); } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java index c2437a56..0f3e8ef2 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerAttributes.java @@ -168,14 +168,14 @@ public class RemoteCacheServerAttributes public String toString() { final StringBuilder buf = new StringBuilder(super.toString()); - buf.append( "\n servicePort = [" + this.getServicePort() + "]" ); - buf.append( "\n allowClusterGet = [" + this.isAllowClusterGet() + "]" ); - buf.append( "\n configFileName = [" + this.getConfigFileName() + "]" ); - buf.append( "\n rmiSocketFactoryTimeoutMillis = [" + this.getRmiSocketFactoryTimeoutMillis() + "]" ); - buf.append( "\n useRegistryKeepAlive = [" + this.isUseRegistryKeepAlive() + "]" ); - buf.append( "\n registryKeepAliveDelayMillis = [" + this.getRegistryKeepAliveDelayMillis() + "]" ); - buf.append( "\n eventQueueType = [" + this.getEventQueueType() + "]" ); - buf.append( "\n eventQueuePoolName = [" + this.getEventQueuePoolName() + "]" ); + buf.append( "\n servicePort = [" + getServicePort() + "]" ); + buf.append( "\n allowClusterGet = [" + isAllowClusterGet() + "]" ); + buf.append( "\n configFileName = [" + getConfigFileName() + "]" ); + buf.append( "\n rmiSocketFactoryTimeoutMillis = [" + getRmiSocketFactoryTimeoutMillis() + "]" ); + buf.append( "\n useRegistryKeepAlive = [" + isUseRegistryKeepAlive() + "]" ); + buf.append( "\n registryKeepAliveDelayMillis = [" + getRegistryKeepAliveDelayMillis() + "]" ); + buf.append( "\n eventQueueType = [" + getEventQueueType() + "]" ); + buf.append( "\n eventQueuePoolName = [" + getEventQueuePoolName() + "]" ); return buf.toString(); } } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java index 6add75eb..3d8b7ddb 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java @@ -155,9 +155,9 @@ public class RemoteCacheServerFactory * @param cacheEventLogger the event logger for error messages * @since 3.1 */ - protected static void keepAlive(String registryHost, int registryPort, ICacheEventLogger cacheEventLogger) + protected static void keepAlive(final String registryHost, final int registryPort, final ICacheEventLogger cacheEventLogger) { - String namingURL = RemoteUtils.getNamingURL(registryHost, registryPort, serviceName); + final String namingURL = RemoteUtils.getNamingURL(registryHost, registryPort, serviceName); log.debug( "looking up server {0}", namingURL ); try @@ -422,7 +422,7 @@ public class RemoteCacheServerFactory * @param props * @throws IOException */ - public static void startup( String host, final int port, final Properties props) + public static void startup( final String host, final int port, final Properties props) throws IOException { if ( remoteCacheServer != null ) diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java index 6652194c..e258dbf2 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/engine/PooledCacheEventQueue.java @@ -82,7 +82,7 @@ public class PooledCacheEventQueue<K, V> { // this will share the same pool with other event queues by default. return ThreadPoolManager.getInstance().getExecutorService( - (threadPoolName == null) ? "cache_event_queue" : threadPoolName ); + threadPoolName == null ? "cache_event_queue" : threadPoolName ); } /** @@ -91,7 +91,7 @@ public class PooledCacheEventQueue<K, V> * @param waitSeconds number of seconds to wait for the queue to drain */ @Override - public synchronized void destroy(int waitSeconds) + public synchronized void destroy(final int waitSeconds) { if ( isWorking() ) { @@ -108,7 +108,7 @@ public class PooledCacheEventQueue<K, V> this::getStatistics); } } - catch (InterruptedException e) + catch (final InterruptedException e) { // ignore } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java index afc11ea8..33151640 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/io/ObjectInputStreamClassLoaderAware.java @@ -26,15 +26,15 @@ import java.io.ObjectStreamClass; import java.lang.reflect.Proxy; /** - * ObjectInputStream implementation that allows to specify a class loader for deserializing + * ObjectInputStream implementation that allows to specify a class loader for deserializing * objects - * + * * The class also evaluates the system property <code>jcs.serialization.class.filter</code> * to define a list of classes that are allowed to be de-serialized. The filter value * is directly fed into {@link java.io.ObjectInputFilter.Config#createFilter(String)} * See the syntax documentation there. */ -public class ObjectInputStreamClassLoaderAware extends ObjectInputStream +public class ObjectInputStreamClassLoaderAware extends ObjectInputStream { public static final String SYSTEM_PROPERTY_SERIALIZATION_FILTER = "jcs.serialization.class.filter"; @@ -44,7 +44,7 @@ public class ObjectInputStreamClassLoaderAware extends ObjectInputStream private final ClassLoader classLoader; - public ObjectInputStreamClassLoaderAware(final InputStream in, final ClassLoader classLoader) throws IOException + public ObjectInputStreamClassLoaderAware(final InputStream in, final ClassLoader classLoader) throws IOException { super(in); setObjectInputFilter(ObjectInputFilter.Config.createFilter(filter)); diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java index 9b0171cb..bce0504e 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/OptionConverter.java @@ -82,37 +82,33 @@ public class OptionConverter if ( c == '\\' ) { c = s.charAt( i++ ); - if ( c == 'n' ) - { + switch (c) { + case 'n': c = '\n'; - } - else if ( c == 'r' ) - { + break; + case 'r': c = '\r'; - } - else if ( c == 't' ) - { + break; + case 't': c = '\t'; - } - else if ( c == 'f' ) - { + break; + case 'f': c = '\f'; - } - else if ( c == '\b' ) - { + break; + case '\b': c = '\b'; - } - else if ( c == '\"' ) - { + break; + case '\"': c = '\"'; - } - else if ( c == '\'' ) - { + break; + case '\'': c = '\''; - } - else if ( c == '\\' ) - { + break; + case '\\': c = '\\'; + break; + default: + break; } } sb.append( c ); diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java index aa571b45..dddf7b03 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/config/PropertySetter.java @@ -124,7 +124,7 @@ public class PropertySetter } else if( type.isEnum() ) { - Enum<?> valueOf = Enum.valueOf(type.asSubclass(Enum.class), v); + final Enum<?> valueOf = Enum.valueOf(type.asSubclass(Enum.class), v); return valueOf; } else if ( File.class.isAssignableFrom( type ) ) diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java index f1927598..e0443496 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryAttributes.java @@ -77,13 +77,13 @@ public final class UDPDiscoveryAttributes public UDPDiscoveryAttributes clone() { final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes(); - attributes.setSendDelaySec( this.getSendDelaySec() ); - attributes.setMaxIdleTimeSec( this.getMaxIdleTimeSec() ); - attributes.setServiceName( this.getServiceName() ); - attributes.setServicePort( this.getServicePort() ); - attributes.setUdpDiscoveryAddr( this.getUdpDiscoveryAddr() ); - attributes.setUdpDiscoveryPort( this.getUdpDiscoveryPort() ); - attributes.setDark( this.isDark() ); + attributes.setSendDelaySec( getSendDelaySec() ); + attributes.setMaxIdleTimeSec( getMaxIdleTimeSec() ); + attributes.setServiceName( getServiceName() ); + attributes.setServicePort( getServicePort() ); + attributes.setUdpDiscoveryAddr( getUdpDiscoveryAddr() ); + attributes.setUdpDiscoveryPort( getUdpDiscoveryPort() ); + attributes.setDark( isDark() ); return attributes; } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java index b003822c..91bfd416 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryReceiver.java @@ -198,7 +198,7 @@ public class UDPDiscoveryReceiver /** * Separate thread run when a command comes into the UDPDiscoveryReceiver. */ - private void handleMessage(UDPDiscoveryMessage message) + private void handleMessage(final UDPDiscoveryMessage message) { // consider comparing ports here instead. if ( message.getRequesterId() == CacheInfo.listenerId ) @@ -233,20 +233,20 @@ public class UDPDiscoveryReceiver while (!shutdown.get()) { - int activeKeys = selector.select(); + final int activeKeys = selector.select(); if (activeKeys == 0) { continue; } - for (Iterator<SelectionKey> i = selector.selectedKeys().iterator(); i.hasNext();) + for (final Iterator<SelectionKey> i = selector.selectedKeys().iterator(); i.hasNext();) { if (shutdown.get()) { break; } - SelectionKey key = i.next(); + final SelectionKey key = i.next(); i.remove(); if (!key.isValid()) @@ -259,19 +259,19 @@ public class UDPDiscoveryReceiver cnt.incrementAndGet(); log.debug( "{0} messages received.", this::getCnt ); - DatagramChannel mc = (DatagramChannel) key.channel(); + final DatagramChannel mc = (DatagramChannel) key.channel(); - ByteBuffer byteBuffer = ByteBuffer.allocate(65536); - InetSocketAddress sourceAddress = + final ByteBuffer byteBuffer = ByteBuffer.allocate(65536); + final InetSocketAddress sourceAddress = (InetSocketAddress) mc.receive(byteBuffer); byteBuffer.flip(); try { log.debug("Received packet from address [{0}]", sourceAddress); - byte[] bytes = new byte[byteBuffer.limit()]; + final byte[] bytes = new byte[byteBuffer.limit()]; byteBuffer.get(bytes); - Object obj = serializer.deSerialize(bytes, null); + final Object obj = serializer.deSerialize(bytes, null); if (obj instanceof UDPDiscoveryMessage) { @@ -316,7 +316,7 @@ public class UDPDiscoveryReceiver * @param serializer the serializer to set * @since 3.1 */ - protected void setSerializer(IElementSerializer serializer) + protected void setSerializer(final IElementSerializer serializer) { this.serializer = serializer; } @@ -327,7 +327,7 @@ public class UDPDiscoveryReceiver * @param service the service to set * @since 4.0 */ - protected void setService(Consumer<UDPDiscoveryMessage> service) + protected void setService(final Consumer<UDPDiscoveryMessage> service) { this.service = service; } diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java index e13d4874..4db09469 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySender.java @@ -69,7 +69,7 @@ public class UDPDiscoverySender implements AutoCloseable * @since 3.1 */ public UDPDiscoverySender(final String mcastInterface, final String host, - final int port, final int udpTTL, IElementSerializer serializer) + final int port, final int udpTTL, final IElementSerializer serializer) throws IOException { try diff --git a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java index 7a1862d9..8279f5bf 100644 --- a/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java +++ b/commons-jcs3-core/src/main/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryService.java @@ -98,14 +98,14 @@ public class UDPDiscoveryService * @param serializer the serializer to use to send and receive messages * @since 3.1 */ - public UDPDiscoveryService(final UDPDiscoveryAttributes attributes, IElementSerializer serializer) + public UDPDiscoveryService(final UDPDiscoveryAttributes attributes, final IElementSerializer serializer) { this.udpDiscoveryAttributes = attributes.clone(); this.serializer = serializer; try { - InetAddress multicastAddress = InetAddress.getByName( + final InetAddress multicastAddress = InetAddress.getByName( getUdpDiscoveryAttributes().getUdpDiscoveryAddr()); // Set service address if still empty @@ -128,7 +128,7 @@ public class UDPDiscoveryService { InetAddress serviceAddress = null; - for (Enumeration<InetAddress> addresses = serviceInterface.getInetAddresses(); + for (final Enumeration<InetAddress> addresses = serviceInterface.getInetAddresses(); addresses.hasMoreElements();) { serviceAddress = addresses.nextElement(); @@ -143,17 +143,13 @@ public class UDPDiscoveryService // if Multicast uses IPv6, try to publish our IPv6 address break; } - } - else + } else if (serviceAddress instanceof Inet4Address && + !serviceAddress.isLoopbackAddress() && + !serviceAddress.isMulticastAddress() && + serviceAddress.isSiteLocalAddress()) { - if (serviceAddress instanceof Inet4Address && - !serviceAddress.isLoopbackAddress() && - !serviceAddress.isMulticastAddress() && - serviceAddress.isSiteLocalAddress()) - { - // if Multicast uses IPv4, try to publish our IPv4 address - break; - } + // if Multicast uses IPv4, try to publish our IPv4 address + break; } } @@ -386,7 +382,7 @@ public class UDPDiscoveryService /** * Process the incoming message. */ - protected void processMessage(UDPDiscoveryMessage message) + protected void processMessage(final UDPDiscoveryMessage message) { final DiscoveredService discoveredService = new DiscoveredService(message); @@ -426,7 +422,7 @@ public class UDPDiscoveryService sender.passiveBroadcast( getUdpDiscoveryAttributes().getServiceAddress(), getUdpDiscoveryAttributes().getServicePort(), - this.getCacheNames() ); + getCacheNames() ); log.debug( "Called sender to issue a passive broadcast" ); } @@ -515,7 +511,7 @@ public class UDPDiscoveryService sender.removeBroadcast( getUdpDiscoveryAttributes().getServiceAddress(), getUdpDiscoveryAttributes().getServicePort(), - this.getCacheNames() ); + getCacheNames() ); log.debug( "Called sender to issue a remove broadcast in shutdown." ); } diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java index 588b6e02..bb962f20 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/access/TestCacheAccess.java @@ -104,13 +104,9 @@ public class TestCacheAccess if ( isSysOut ) { System.out.println( s ); - } - else + } else if ( log.isDebugEnabled() ) { - if ( log.isDebugEnabled() ) - { - log.debug( s ); - } + log.debug( s ); } } @@ -259,17 +255,18 @@ public class TestCacheAccess { tcnt++; final String t = (String) toke.nextElement(); - if ( tcnt == 2 ) - { + switch (tcnt) { + case 2: num = Integer.parseInt( t.trim() ); - } - else if ( tcnt == 3 ) - { + break; + case 3: group = t.trim(); - } - else if ( tcnt == 4 ) - { + break; + case 4: show = Boolean.parseBoolean(t); + break; + default: + break; } } @@ -315,17 +312,18 @@ public class TestCacheAccess { tcnt++; final String t = (String) toke.nextElement(); - if ( tcnt == 2 ) - { + switch (tcnt) { + case 2: key = t.trim(); - } - else if ( tcnt == 3 ) - { + break; + case 3: group = t.trim(); - } - else if ( tcnt == 4 ) - { + break; + case 4: show = Boolean.parseBoolean(t); + break; + default: + break; } } @@ -581,17 +579,18 @@ public class TestCacheAccess { tcnt++; final String t = (String) toke.nextElement(); - if ( tcnt == 2 ) - { + switch (tcnt) { + case 2: rangeS = t.trim(); - } - else if ( tcnt == 3 ) - { + break; + case 3: numOpsS = t.trim(); - } - else if ( tcnt == 4 ) - { + break; + case 4: show = Boolean.parseBoolean(t); + break; + default: + break; } } diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java index 09da431a..e87c9ad0 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/lateral/socket/tcp/TestTCPLateralUnitTest.java @@ -52,7 +52,7 @@ public class TestTCPLateralUnitTest { private final MockCompositeCacheManager cacheMgr = new MockCompositeCacheManager(); - private <K,V> CompositeCache<K, V> createCache(int port) + private <K,V> CompositeCache<K, V> createCache(final int port) { final TCPLateralCacheAttributes lattr = new TCPLateralCacheAttributes(); lattr.setTcpListenerPort(port); @@ -68,7 +68,7 @@ public class TestTCPLateralUnitTest return cache; } - private <K, V> LateralTCPService<K, V> createService(int listenerPort, int serverPort, long listenerId) throws IOException + private <K, V> LateralTCPService<K, V> createService(final int listenerPort, final int serverPort, final long listenerId) throws IOException { final TCPLateralCacheAttributes lattr2 = new TCPLateralCacheAttributes(); lattr2.setTcpListenerPort(listenerPort); @@ -319,7 +319,7 @@ public class TestTCPLateralUnitTest public void testSimpleEncryptedSend() throws Exception { - EncryptingSerializer serializer = new EncryptingSerializer(); + final EncryptingSerializer serializer = new EncryptingSerializer(); serializer.setPreSharedKey("my_key"); simpleSend(serializer, 8112); } diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java index 9349ec0e..1e9b958a 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/RemoteCacheNoWaitFacadeUnitTest.java @@ -81,7 +81,7 @@ public class RemoteCacheNoWaitFacadeUnitTest assertEquals("Should have two failovers.", 2, cattr.getFailovers().size()); assertEquals("Should have two managers.", 2, factory.managers.size()); assertEquals("Should have primary server.", 0, cattr.getFailoverIndex()); - RemoteCacheNoWait<String, String> primary = facade.getPrimaryServer(); + final RemoteCacheNoWait<String, String> primary = facade.getPrimaryServer(); assertEquals("Should be ALIVE", CacheStatus.ALIVE, primary.getStatus()); // Make primary unusable diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCacheFactory.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCacheFactory.java index 9b31939b..9c6fc7da 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCacheFactory.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/auxiliary/remote/TestRemoteCacheFactory.java @@ -36,8 +36,8 @@ public class TestRemoteCacheFactory extends RemoteCacheFactory // Mock public class TestRemoteCacheManager extends RemoteCacheManager { - protected TestRemoteCacheManager(IRemoteCacheAttributes cattr, ICompositeCacheManager cacheMgr, RemoteCacheMonitor monitor, ICacheEventLogger cacheEventLogger, - IElementSerializer elementSerializer) + protected TestRemoteCacheManager(final IRemoteCacheAttributes cattr, final ICompositeCacheManager cacheMgr, final RemoteCacheMonitor monitor, final ICacheEventLogger cacheEventLogger, + final IElementSerializer elementSerializer) { super(cattr, cacheMgr, monitor, cacheEventLogger, elementSerializer); } @@ -49,7 +49,7 @@ public class TestRemoteCacheFactory extends RemoteCacheFactory } @Override - public void removeRemoteCacheListener(IRemoteCacheAttributes cattr) throws IOException + public void removeRemoteCacheListener(final IRemoteCacheAttributes cattr) throws IOException { // Skip } diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java index 1252bf28..38b1c4fb 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/control/MockCompositeCacheManager.java @@ -73,7 +73,7 @@ public class MockCompositeCacheManager // System.out.println( "Creating mock cache" ); final CompositeCache<K, V> newCache = new CompositeCache<>( new CompositeCacheAttributes(), new ElementAttributes() ); - this.setCache( newCache ); + setCache( newCache ); } return (CompositeCache<K, V>)cache; diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java index 33ce9fc3..5b1ee227 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/engine/memory/MockMemoryCache.java @@ -21,7 +21,6 @@ package org.apache.commons.jcs3.engine.memory; import java.io.IOException; import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; @@ -141,12 +140,7 @@ public class MockMemoryCache<K, V> if ( keys != null && !keys.isEmpty() ) { - final Iterator<K> iterator = keys.iterator(); - - while ( iterator.hasNext() ) - { - final K key = iterator.next(); - + for (K key : keys) { final ICacheElement<K, V> element = get( key ); if ( element != null ) diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderEncryptedUnitTest.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderEncryptedUnitTest.java index bb586b2c..7eca1bb7 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderEncryptedUnitTest.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderEncryptedUnitTest.java @@ -72,7 +72,7 @@ public class UDPDiscoverySenderEncryptedUnitTest { assumeNotNull("This machine does not support multicast", HostNameUtil.getMulticastNetworkInterface()); - EncryptingSerializer serializer = new EncryptingSerializer(); + final EncryptingSerializer serializer = new EncryptingSerializer(); serializer.setPreSharedKey("my_key"); futureMsg = new CompletableFuture<>(); @@ -122,7 +122,7 @@ public class UDPDiscoverySenderEncryptedUnitTest sender.passiveBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY - UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); + final UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); assertNotNull("message not received", msg); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.PASSIVE, msg.getMessageType() ); @@ -145,7 +145,7 @@ public class UDPDiscoverySenderEncryptedUnitTest sender.removeBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY - UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); + final UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); assertNotNull("message not received", msg); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.REMOVE, msg.getMessageType() ); @@ -164,7 +164,7 @@ public class UDPDiscoverySenderEncryptedUnitTest sender.requestBroadcast(1L); // VERIFY - UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); + final UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); assertNotNull("message not received", msg); assertEquals( "wrong message type", BroadcastType.REQUEST, msg.getMessageType() ); } diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java index a343ffde..9c1816e7 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoverySenderUnitTest.java @@ -119,7 +119,7 @@ public class UDPDiscoverySenderUnitTest sender.passiveBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY - UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); + final UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); assertNotNull("message not received", msg); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.PASSIVE, msg.getMessageType() ); @@ -142,7 +142,7 @@ public class UDPDiscoverySenderUnitTest sender.removeBroadcast( SENDING_HOST, SENDING_PORT, cacheNames, 1L ); // VERIFY - UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); + final UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); assertNotNull("message not received", msg); assertEquals( "wrong port", SENDING_PORT, msg.getPort() ); assertEquals( "wrong message type", BroadcastType.REMOVE, msg.getMessageType() ); @@ -161,7 +161,7 @@ public class UDPDiscoverySenderUnitTest sender.requestBroadcast(1L); // VERIFY - UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); + final UDPDiscoveryMessage msg = futureMsg.get(3, TimeUnit.SECONDS); assertNotNull("message not received", msg); assertEquals( "wrong message type", BroadcastType.REQUEST, msg.getMessageType() ); } diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java index 1af70837..a243ba7f 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/discovery/UDPDiscoveryUnitTest.java @@ -38,7 +38,7 @@ public class UDPDiscoveryUnitTest * <p> * @throws Exception */ - private void simpleUDPDiscovery(String discoveryAddress) + private void simpleUDPDiscovery(final String discoveryAddress) throws Exception { final UDPDiscoveryAttributes attributes = new UDPDiscoveryAttributes(); diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java index bf93f6a6..c9a631ee 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/props/PropertyLoader.java @@ -103,7 +103,7 @@ public abstract class PropertyLoader throw new IllegalArgumentException( "null input: name" ); } - final ClassLoader classLoader = ( loader == null ) ? ClassLoader.getSystemClassLoader() : loader; + final ClassLoader classLoader = loader == null ? ClassLoader.getSystemClassLoader() : loader; String fileName = name.startsWith( "/" ) ? name.substring( 1 ) : name; diff --git a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java index 31327919..4c45f3d8 100644 --- a/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java +++ b/commons-jcs3-core/src/test/java/org/apache/commons/jcs3/utils/serialization/StandardSerializerUnitTest.java @@ -37,7 +37,7 @@ import org.junit.Test; public class StandardSerializerUnitTest { private StandardSerializer serializer; - + /** * Test setup * <p> @@ -48,7 +48,7 @@ public class StandardSerializerUnitTest throws Exception { // Override filter expression for ObjectInputFilter - System.setProperty(ObjectInputStreamClassLoaderAware.SYSTEM_PROPERTY_SERIALIZATION_FILTER, + System.setProperty(ObjectInputStreamClassLoaderAware.SYSTEM_PROPERTY_SERIALIZATION_FILTER, "!org.apache.commons.collections4.**"); this.serializer = new StandardSerializer(); } @@ -117,7 +117,7 @@ public class StandardSerializerUnitTest // VERIFY assertEquals( "Before and after should be the same.", before, after ); } - + /** * Verify that we can filter classes to be deserialized *<p> diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/PerCacheConfig.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/PerCacheConfig.java index ebc888de..bcd1827e 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/PerCacheConfig.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/PerCacheConfig.java @@ -29,8 +29,8 @@ import org.apache.commons.jcs.yajcache.lang.annotation.*; public class PerCacheConfig { private boolean isCacheFileEnabled = true; - public boolean setCacheFileEnabled(boolean isCacheFileEnabled) { - boolean ret = this.isCacheFileEnabled; + public boolean setCacheFileEnabled(final boolean isCacheFileEnabled) { + final boolean ret = this.isCacheFileEnabled; this.isCacheFileEnabled = isCacheFileEnabled; return ret; } diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/YajCacheConfig.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/YajCacheConfig.java index 4466bddd..a3a020aa 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/YajCacheConfig.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/config/YajCacheConfig.java @@ -41,7 +41,7 @@ public enum YajCacheConfig { public @NonNullable File getCacheDir() { return cacheDir; } - void setCacheDir(File cacheDir) { + void setCacheDir(final File cacheDir) { this.cacheDir = cacheDir; this.cacheDir.mkdirs(); } diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/core/SafeCacheWrapper.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/core/SafeCacheWrapper.java index cc5217ab..0d002d73 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/core/SafeCacheWrapper.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/core/SafeCacheWrapper.java @@ -44,7 +44,7 @@ public class SafeCacheWrapper<V> implements ICacheSafe<V> * Constructs a safe cache by wrapping an underlying cache. * @param cache underlying cache. */ - public SafeCacheWrapper(@NonNullable ICache<V> cache) + public SafeCacheWrapper(@NonNullable final ICache<V> cache) { this.cache = cache; @@ -62,94 +62,123 @@ public class SafeCacheWrapper<V> implements ICacheSafe<V> // ICache implementation by delegating to the underlying cache. + @Override public String getName() { return this.cache.getName(); } + @Override public Class<V> getValueType() { return this.cache.getValueType(); } - public V get(String key) { + @Override + public V get(final String key) { return this.cache.get(key); } + @Override public int size() { return this.cache.size(); } + @Override public boolean isEmpty() { return this.cache.isEmpty(); } - public boolean containsKey(Object key) { + @Override + public boolean containsKey(final Object key) { return this.cache.containsKey(key); } - public boolean containsValue(Object value) { + @Override + public boolean containsValue(final Object value) { return this.cache.containsValue(value); } - public V get(Object key) { + @Override + public V get(final Object key) { return this.cache.get(key); } - public V put(String key, V value) { + @Override + public V put(final String key, final V value) { return this.cache.put(key, value); } - public V remove(Object key) { + @Override + public V remove(final Object key) { return this.cache.remove(key); } + @Override public void clear() { this.cache.clear(); } + @Override public Set<String> keySet() { return this.cache.keySet(); } + @Override public Collection<V> values() { return this.cache.values(); } + @Override public Set<Map.Entry<String, V>> entrySet() { return this.cache.entrySet(); } // ICacheSafe implementation - public V getCopy(@NonNullable String key) { - V val = this.cache.get(key); + @Override + public V getCopy(@NonNullable final String key) { + final V val = this.cache.get(key); return this.dup(val); } - public V putCopy(@NonNullable String key, @NonNullable V value) { + @Override + public V putCopy(@NonNullable final String key, @NonNullable final V value) { return this.cache.put(key, this.dup(value)); } - public void putAll(@NonNullable Map<? extends String, ? extends V> map) { - for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) + @Override + public void putAll(@NonNullable final Map<? extends String, ? extends V> map) { + for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) { this.cache.put(e.getKey(), e.getValue()); + } } - public void putAllCopies(@NonNullable Map<? extends String, ? extends V> map) { - for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) + @Override + public void putAllCopies(@NonNullable final Map<? extends String, ? extends V> map) { + for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) { this.cache.put(e.getKey(), this.dup(e.getValue())); + } } - public V getBeanCopy(@NonNullable String key) { - V val = this.cache.get(key); + @Override + public V getBeanCopy(@NonNullable final String key) { + final V val = this.cache.get(key); return BeanUtils.inst.cloneDeep(val); } - public V putBeanCopy(@NonNullable String key, @NonNullable V value) { + @Override + public V putBeanCopy(@NonNullable final String key, @NonNullable final V value) { return this.cache.put(key, BeanUtils.inst.cloneDeep(value)); } - public void putAllBeanCopies(@NonNullable Map<? extends String, ? extends V> map) { - for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) + @Override + public void putAllBeanCopies(@NonNullable final Map<? extends String, ? extends V> map) { + for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) { this.cache.put(e.getKey(), BeanUtils.inst.cloneDeep(e.getValue())); + } } - public V getBeanClone(@NonNullable String key) { - V val = this.cache.get(key); + @Override + public V getBeanClone(@NonNullable final String key) { + final V val = this.cache.get(key); return BeanUtils.inst.cloneShallow(val); } - public V putBeanClone(@NonNullable String key, @NonNullable V value) { + @Override + public V putBeanClone(@NonNullable final String key, @NonNullable final V value) { return this.cache.put(key, BeanUtils.inst.cloneShallow(value)); } - public void putAllBeanClones(@NonNullable Map<? extends String, ? extends V> map) { - for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) + @Override + public void putAllBeanClones(@NonNullable final Map<? extends String, ? extends V> map) { + for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) { this.cache.put(e.getKey(), BeanUtils.inst.cloneShallow(e.getValue())); + } } - private V dup(V val) { + private V dup(final V val) { if (val instanceof Serializable) { return (V)SerializeUtils.inst.dup((Serializable)val); } return val; } + @Override @Implements(ICache.class) public CacheType getCacheType() { return this.cacheType; diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefCache.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefCache.java index 5cae12ad..99b1f066 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefCache.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefCache.java @@ -50,107 +50,120 @@ import java.util.concurrent.atomic.AtomicInteger; @TODO("Annotate the thread-safetyness of the methods") public class SoftRefCache<V> implements ICache<V> { private static final boolean debug = true; - private Log log = debug ? LogFactory.getLog(this.getClass()) : null; - private final @NonNullable ReferenceQueue<V> refq = new ReferenceQueue<V>(); + private final Log log = debug ? LogFactory.getLog(this.getClass()) : null; + private final @NonNullable ReferenceQueue<V> refq = new ReferenceQueue<>(); private final @NonNullable String name; private final @NonNullable Class<V> valueType; private final @NonNullable ConcurrentMap<String,KeyedSoftReference<String,V>> map; private final @NonNullable KeyedRefCollector<String> collector; private @NonNullable PerCacheConfig config; - private AtomicInteger countGet = new AtomicInteger(); - private AtomicInteger countGetHitMemory = new AtomicInteger(); - private AtomicInteger countGetMiss = new AtomicInteger(); - private AtomicInteger countGetEmptyRef = new AtomicInteger(); + private final AtomicInteger countGet = new AtomicInteger(); + private final AtomicInteger countGetHitMemory = new AtomicInteger(); + private final AtomicInteger countGetMiss = new AtomicInteger(); + private final AtomicInteger countGetEmptyRef = new AtomicInteger(); - private AtomicInteger countPut = new AtomicInteger(); - private AtomicInteger countRemove = new AtomicInteger(); + private final AtomicInteger countPut = new AtomicInteger(); + private final AtomicInteger countRemove = new AtomicInteger(); /** Returns the cache name. */ + @Override public @NonNullable String getName() { return this.name; } /** Returns the value type of the cache. */ + @Override public @NonNullable Class<V> getValueType() { return this.valueType; } - public SoftRefCache(@NonNullable String name, @NonNullable Class<V> valueType, - int initialCapacity, float loadFactor, int concurrencyLevel) + public SoftRefCache(@NonNullable final String name, @NonNullable final Class<V> valueType, + final int initialCapacity, final float loadFactor, final int concurrencyLevel) { this.map = CollectionUtils.inst.newConcurrentHashMap(initialCapacity, loadFactor, concurrencyLevel); - this.collector = new KeyedRefCollector<String>(refq, map); + this.collector = new KeyedRefCollector<>(refq, map); this.name = name; this.valueType = valueType; } public SoftRefCache( - @NonNullable String name, - @NonNullable Class<V> valueType, - int initialCapacity) + @NonNullable final String name, + @NonNullable final Class<V> valueType, + final int initialCapacity) { this.map = CollectionUtils.inst.newConcurrentHashMap(initialCapacity); - this.collector = new KeyedRefCollector<String>(refq, map); + this.collector = new KeyedRefCollector<>(refq, map); this.name = name; this.valueType = valueType; } public SoftRefCache( - @NonNullable String name, - @NonNullable Class<V> valueType) + @NonNullable final String name, + @NonNullable final Class<V> valueType) { this.map = CollectionUtils.inst.newConcurrentHashMap(); - this.collector = new KeyedRefCollector<String>(refq, map); + this.collector = new KeyedRefCollector<>(refq, map); this.name = name; this.valueType = valueType; } + @Override public boolean isEmpty() { this.collector.run(); return map.isEmpty(); } + @Override public int size() { this.collector.run(); return map.size(); } - public V get(@NonNullable String key) { - if (debug) + @Override + public V get(@NonNullable final String key) { + if (debug) { this.countGet.incrementAndGet(); + } this.collector.run(); - KeyedSoftReference<String,V> ref = map.get(key); + final KeyedSoftReference<String,V> ref = map.get(key); if (ref == null) { - if (debug) + if (debug) { this.countGetMiss.incrementAndGet(); + } return null; } - V val = ref.get(); + final V val = ref.get(); if (val == null) { // Rarely gets here, if ever. // already garbage collected. So try to clean up the key. - if (debug) + if (debug) { this.countGetEmptyRef.incrementAndGet(); + } this.map.remove(key, ref); } // cache value exists. // try to refresh the soft reference. - if (debug) + if (debug) { this.countGetHitMemory.incrementAndGet(); + } return val; } - public V get(@NonNullable Object key) { + @Override + public V get(@NonNullable final Object key) { return key == null ? null : this.get(key.toString()); } - public V put(@NonNullable String key, @NonNullable V value) { - if (debug) + @Override + public V put(@NonNullable final String key, @NonNullable final V value) { + if (debug) { this.countPut.incrementAndGet(); + } this.collector.run(); - KeyedSoftReference<String,V> oldRef = - map.put(key, new KeyedSoftReference<String,V>(key, value, refq)); + final KeyedSoftReference<String,V> oldRef = + map.put(key, new KeyedSoftReference<>(key, value, refq)); - if (oldRef == null) + if (oldRef == null) { return null; - V ret = oldRef.get(); + } + final V ret = oldRef.get(); oldRef.clear(); if (!EqualsUtils.inst.equals(value, ret)) { @@ -164,60 +177,69 @@ public class SoftRefCache<V> implements ICache<V> { value="Queue up a flush event for the key.", details="This is useful for synchronizing caches in a cluster environment." ) - private void publishFlushKey(@NonNullable String key) { + private void publishFlushKey(@NonNullable final String key) { } - public void putAll(@NonNullable Map<? extends String, ? extends V> map) { - for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) + @Override + public void putAll(@NonNullable final Map<? extends String, ? extends V> map) { + for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) { this.put(e.getKey(), e.getValue()); + } } - public V remove(@NonNullable String key) { - if (debug) + public V remove(@NonNullable final String key) { + if (debug) { this.countRemove.incrementAndGet(); + } this.collector.run(); - KeyedSoftReference<String,V> oldRef = map.remove(key); + final KeyedSoftReference<String,V> oldRef = map.remove(key); - if (oldRef == null) + if (oldRef == null) { return null; + } this.publishFlushKey(key); - V ret = oldRef.get(); + final V ret = oldRef.get(); oldRef.clear(); return ret; } - public V remove(@NonNullable Object key) { + @Override + public V remove(@NonNullable final Object key) { return key == null ? null : this.remove(key.toString()); } + @Override public void clear() { this.collector.run(); map.clear(); } + @Override public @NonNullable Set<String> keySet() { this.collector.run(); return map.keySet(); } + @Override public @NonNullable Set<Map.Entry<String,V>> entrySet() { this.collector.run(); - Set<Map.Entry<String,KeyedSoftReference<String,V>>> fromSet = map.entrySet(); - Set<Map.Entry<String,V>> toSet = new HashSet<Map.Entry<String,V>>(); + final Set<Map.Entry<String,KeyedSoftReference<String,V>>> fromSet = map.entrySet(); + final Set<Map.Entry<String,V>> toSet = new HashSet<>(); for (final Map.Entry<String,KeyedSoftReference<String,V>> item : fromSet) { - KeyedSoftReference<String,V> ref = item.getValue(); - V val = ref.get(); + final KeyedSoftReference<String,V> ref = item.getValue(); + final V val = ref.get(); if (val != null) { - Map.Entry<String,V> e = new CacheEntry<V>(item.getKey(), val); + final Map.Entry<String,V> e = new CacheEntry<>(item.getKey(), val); toSet.add(e); } } return toSet; } + @Override public @NonNullable Collection<V> values() { this.collector.run(); - Collection<KeyedSoftReference<String,V>> fromSet = map.values(); - List<V> toCol = new ArrayList<V>(fromSet.size()); + final Collection<KeyedSoftReference<String,V>> fromSet = map.values(); + final List<V> toCol = new ArrayList<>(fromSet.size()); for (final KeyedSoftReference<String,V> ref : fromSet) { - V val = ref.get(); + final V val = ref.get(); if (val != null) { toCol.add(val); @@ -225,20 +247,24 @@ public class SoftRefCache<V> implements ICache<V> { } return toCol; } - public boolean containsKey(@NonNullable Object key) { - if (key == null) + @Override + public boolean containsKey(@NonNullable final Object key) { + if (key == null) { return false; + } return this.get(key.toString()) != null; } - public boolean containsValue(@NonNullable Object value) { + @Override + public boolean containsValue(@NonNullable final Object value) { this.collector.run(); - Collection<KeyedSoftReference<String,V>> fromSet = map.values(); + final Collection<KeyedSoftReference<String,V>> fromSet = map.values(); for (final KeyedSoftReference<String,V> ref : fromSet) { - V val = ref.get(); + final V val = ref.get(); - if (EqualsUtils.inst.equals(value, val)) + if (EqualsUtils.inst.equals(value, val)) { return true; + } } return false; } @@ -251,9 +277,10 @@ public class SoftRefCache<V> implements ICache<V> { return config; } - void setConfig(@NonNullable PerCacheConfig config) { + void setConfig(@NonNullable final PerCacheConfig config) { this.config = config; } + @Override @Implements(ICache.class) public CacheType getCacheType() { return CacheType.SOFT_REFERENCE; diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCache.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCache.java index 96bd2cb1..c35f08e2 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCache.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/main/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCache.java @@ -63,77 +63,80 @@ import java.util.concurrent.locks.Lock; public class SoftRefFileCache<V> implements ICache<V> { private static final boolean debug = true; - private Log log = debug ? LogFactory.getLog(this.getClass()) : null; - private final @NonNullable ReferenceQueue<V> refq = new ReferenceQueue<V>(); + private final Log log = debug ? LogFactory.getLog(this.getClass()) : null; + private final @NonNullable ReferenceQueue<V> refq = new ReferenceQueue<>(); private final @NonNullable String name; private final @NonNullable Class<V> valueType; private final @NonNullable ConcurrentMap<String,KeyedSoftReference<String,V>> map; private PerCacheConfig config; private final @NonNullable KeyedRefCollector<String> collector; - private final IKeyedReadWriteLock<String> keyedRWLock = new KeyedReadWriteLock<String>(); + private final IKeyedReadWriteLock<String> keyedRWLock = new KeyedReadWriteLock<>(); private final @NonNullable CacheChangeSupport<V> cacheChangeSupport = - new CacheChangeSupport<V>(this); + new CacheChangeSupport<>(this); - private AtomicInteger countGet = new AtomicInteger(); + private final AtomicInteger countGet = new AtomicInteger(); - private AtomicInteger countGetHitMemory = new AtomicInteger(); - private AtomicInteger countGetHitFile = new AtomicInteger(); + private final AtomicInteger countGetHitMemory = new AtomicInteger(); + private final AtomicInteger countGetHitFile = new AtomicInteger(); - private AtomicInteger countGetMissMemory = new AtomicInteger(); - private AtomicInteger countGetMiss = new AtomicInteger(); - private AtomicInteger countGetCorruptedFile = new AtomicInteger(); - private AtomicInteger countGetEmptyRef = new AtomicInteger(); + private final AtomicInteger countGetMissMemory = new AtomicInteger(); + private final AtomicInteger countGetMiss = new AtomicInteger(); + private final AtomicInteger countGetCorruptedFile = new AtomicInteger(); + private final AtomicInteger countGetEmptyRef = new AtomicInteger(); - private AtomicInteger countPut = new AtomicInteger(); - private AtomicInteger countPutClearRef = new AtomicInteger(); - private AtomicInteger countPutMissMemory = new AtomicInteger(); - private AtomicInteger countPutNewMemoryValue = new AtomicInteger(); - private AtomicInteger countPutNewFileValue = new AtomicInteger(); - private AtomicInteger countPutSerializable = new AtomicInteger(); - private AtomicInteger countPutReadFile = new AtomicInteger(); - private AtomicInteger countPutWriteFile = new AtomicInteger(); + private final AtomicInteger countPut = new AtomicInteger(); + private final AtomicInteger countPutClearRef = new AtomicInteger(); + private final AtomicInteger countPutMissMemory = new AtomicInteger(); + private final AtomicInteger countPutNewMemoryValue = new AtomicInteger(); + private final AtomicInteger countPutNewFileValue = new AtomicInteger(); + private final AtomicInteger countPutSerializable = new AtomicInteger(); + private final AtomicInteger countPutReadFile = new AtomicInteger(); + private final AtomicInteger countPutWriteFile = new AtomicInteger(); - private AtomicInteger countRemove = new AtomicInteger(); + private final AtomicInteger countRemove = new AtomicInteger(); + @Override public @NonNullable String getName() { return this.name; } + @Override public @NonNullable Class<V> getValueType() { return this.valueType; } public SoftRefFileCache( - @NonNullable String name, @NonNullable Class<V> valueType, - int initialCapacity, float loadFactor, int concurrencyLevel) + @NonNullable final String name, @NonNullable final Class<V> valueType, + final int initialCapacity, final float loadFactor, final int concurrencyLevel) { this.map = CollectionUtils.inst.newConcurrentHashMap(initialCapacity, loadFactor, concurrencyLevel); - this.collector = new KeyedRefCollector<String>(refq, map); + this.collector = new KeyedRefCollector<>(refq, map); this.name = name; this.valueType = valueType; CacheFileUtils.inst.mkCacheDirs(this.name); } public SoftRefFileCache( - @NonNullable String name, @NonNullable Class<V> valueType, - int initialCapacity) + @NonNullable final String name, @NonNullable final Class<V> valueType, + final int initialCapacity) { this.map = CollectionUtils.inst.newConcurrentHashMap(initialCapacity); - this.collector = new KeyedRefCollector<String>(refq, map); + this.collector = new KeyedRefCollector<>(refq, map); this.name = name; this.valueType = valueType; CacheFileUtils.inst.mkCacheDirs(this.name); } - public SoftRefFileCache(@NonNullable String name, - @NonNullable Class<V> valueType) + public SoftRefFileCache(@NonNullable final String name, + @NonNullable final Class<V> valueType) { this.map = CollectionUtils.inst.newConcurrentHashMap(); - this.collector = new KeyedRefCollector<String>(refq, map); + this.collector = new KeyedRefCollector<>(refq, map); this.name = name; this.valueType = valueType; CacheFileUtils.inst.mkCacheDirs(this.name); } /** Only an approximation. */ + @Override public boolean isEmpty() { return this.isMemoryCacheEmpty() && this.isCacheDirEmpty(); } @@ -142,7 +145,7 @@ public class SoftRefFileCache<V> implements ICache<V> return this.map.isEmpty(); } public boolean isCacheDirEmpty() { - Lock cacheLock = CacheManager.inst.readLock(this); + final Lock cacheLock = CacheManager.inst.readLock(this); cacheLock.lock(); try { return CacheFileUtils.inst.isCacheDirEmpty(this.name); @@ -150,6 +153,7 @@ public class SoftRefFileCache<V> implements ICache<V> cacheLock.unlock(); } } + @Override public int size() { return Math.max(this.getMemoryCacheSize(), this.getCacheDirSize()); } @@ -158,7 +162,7 @@ public class SoftRefFileCache<V> implements ICache<V> return this.map.size(); } public int getCacheDirSize() { - Lock cacheLock = CacheManager.inst.readLock(this); + final Lock cacheLock = CacheManager.inst.readLock(this); cacheLock.lock(); try { return CacheFileUtils.inst.getCacheDirSize(this.name); @@ -170,14 +174,16 @@ public class SoftRefFileCache<V> implements ICache<V> // @tothink: SoftReference.get() doesn't seem to be thread-safe. // But do we really want to synchronize upon invoking get() ? // It's not thread-safe, but what's the worst consequence ? - public V get(@NonNullable String key) { + @Override + public V get(@NonNullable final String key) { collector.run(); - if (debug) + if (debug) { this.countGet.incrementAndGet(); - Lock cacheLock = CacheManager.inst.readLock(this); + } + final Lock cacheLock = CacheManager.inst.readLock(this); cacheLock.lock(); try { - Lock lock = this.keyedRWLock.readLock(key); + final Lock lock = this.keyedRWLock.readLock(key); lock.lock(); try { return doGet(key); @@ -188,21 +194,18 @@ public class SoftRefFileCache<V> implements ICache<V> cacheLock.unlock(); } } - private V doGet(String key) { - KeyedSoftReference<String,V> ref = map.get(key); + private V doGet(final String key) { + final KeyedSoftReference<String,V> ref = map.get(key); V val = null; if (ref != null) { val = ref.get(); - if (debug) { - if (val == null) - this.countGetEmptyRef.incrementAndGet(); + if (debug && (val == null)) { + this.countGetEmptyRef.incrementAndGet(); } - } - else { - if (debug) - this.countGetMissMemory.incrementAndGet(); + } else if (debug) { + this.countGetMissMemory.incrementAndGet(); } if (val == null) { // Not in memory. @@ -211,34 +214,35 @@ public class SoftRefFileCache<V> implements ICache<V> // GC'd. So try to clean up the key/ref pair. this.map.remove(key, ref); } - CacheFileContent cfc = CacheFileDAO.inst.readCacheItem(this.name, key); + final CacheFileContent cfc = CacheFileDAO.inst.readCacheItem(this.name, key); if (cfc == null) { // Not in file system. - if (debug) + if (debug) { this.countGetMiss.incrementAndGet(); + } return null; } // Found in file system. - if (debug) + if (debug) { this.countGetHitFile.incrementAndGet(); + } val = (V)cfc.deserialize(); if (val == null) { // Corrupted file. Try remove it from file system. - if (debug) + if (debug) { this.countGetCorruptedFile.incrementAndGet(); + } // Don't think I need to put a read lock on the cache for removal. CacheFileDAO.inst.removeCacheItem(this.name, key); return null; } // Resurrect item back to memory. map.putIfAbsent(key, - new KeyedSoftReference<String,V>(key, val, refq)); - } - else { - if (debug) - this.countGetHitMemory.incrementAndGet(); + new KeyedSoftReference<>(key, val, refq)); + } else if (debug) { + this.countGetHitMemory.incrementAndGet(); } // cache value exists. return val; @@ -283,18 +287,21 @@ public class SoftRefFileCache<V> implements ICache<V> // return; // } - public V get(@NonNullable Object key) { + @Override + public V get(@NonNullable final Object key) { return this.get(key.toString()); } - public V put(@NonNullable String key, @NonNullable V value) { + @Override + public V put(@NonNullable final String key, @NonNullable final V value) { this.collector.run(); - if (debug) + if (debug) { this.countPut.incrementAndGet(); - Lock cacheLock = CacheManager.inst.readLock(this); + } + final Lock cacheLock = CacheManager.inst.readLock(this); cacheLock.lock(); try { - Lock lock = this.keyedRWLock.writeLock(key); + final Lock lock = this.keyedRWLock.writeLock(key); lock.lock(); try { return doPut(key, value); @@ -305,31 +312,35 @@ public class SoftRefFileCache<V> implements ICache<V> cacheLock.unlock(); } } - private V doPut(@NonNullable String key, @NonNullable V value) { - KeyedSoftReference<String,V> oldRef = - map.put(key, new KeyedSoftReference<String,V>(key, value, refq)); + private V doPut(@NonNullable final String key, @NonNullable final V value) { + final KeyedSoftReference<String,V> oldRef = + map.put(key, new KeyedSoftReference<>(key, value, refq)); V ret = null; if (oldRef != null) { ret = oldRef.get(); oldRef.clear(); - if (debug) + if (debug) { this.countPutClearRef.incrementAndGet(); + } } if (ret == null) { // Not in memory. - if (debug) + if (debug) { this.countPutMissMemory.incrementAndGet(); + } if (value instanceof Serializable) { // Try the file system. - if (debug) + if (debug) { this.countPutSerializable.incrementAndGet(); - CacheFileContent cfc = CacheFileDAO.inst.readCacheItem(this.name, key); + } + final CacheFileContent cfc = CacheFileDAO.inst.readCacheItem(this.name, key); if (cfc != null) { - if (debug) + if (debug) { this.countPutReadFile.incrementAndGet(); + } ret = (V)cfc.deserialize(); } if (!EqualsUtils.inst.equals(value, ret)) { @@ -339,7 +350,7 @@ public class SoftRefFileCache<V> implements ICache<V> this.countPutNewFileValue.incrementAndGet(); this.countPutWriteFile.incrementAndGet(); } - byte[] ba = SerializationUtils.serialize((Serializable)value); + final byte[] ba = SerializationUtils.serialize((Serializable)value); CacheFileDAO.inst.writeCacheItem( this.name, CacheFileContentType.JAVA_SERIALIZATION, key, ba); } @@ -349,8 +360,9 @@ public class SoftRefFileCache<V> implements ICache<V> // ret must be non-null. // Found in memory if (!EqualsUtils.inst.equals(value, ret)) { - if (debug) + if (debug) { this.countPutNewMemoryValue.incrementAndGet(); + } // Different value being put to memory. if (value instanceof Serializable) { // Persist to file system. @@ -358,7 +370,7 @@ public class SoftRefFileCache<V> implements ICache<V> this.countPutSerializable.incrementAndGet(); this.countPutWriteFile.incrementAndGet(); } - byte[] ba = SerializationUtils.serialize((Serializable)value); + final byte[] ba = SerializationUtils.serialize((Serializable)value); CacheFileDAO.inst.writeCacheItem( this.name, CacheFileContentType.JAVA_SERIALIZATION, key, ba); } @@ -370,22 +382,25 @@ public class SoftRefFileCache<V> implements ICache<V> value="Queue up a flush beans for the key.", details="This is useful for synchronizing caches in a cluster environment." ) - private void publishFlushKey(@NonNullable String key) { + private void publishFlushKey(@NonNullable final String key) { } - public void putAll(@NonNullable Map<? extends String, ? extends V> map) { - for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) + @Override + public void putAll(@NonNullable final Map<? extends String, ? extends V> map) { + for (final Map.Entry<? extends String, ? extends V> e : map.entrySet()) { this.put(e.getKey(), e.getValue()); + } } - public V remove(@NonNullable String key) { + public V remove(@NonNullable final String key) { this.collector.run(); - if (debug) + if (debug) { this.countRemove.incrementAndGet(); - Lock cacheLock = CacheManager.inst.readLock(this); + } + final Lock cacheLock = CacheManager.inst.readLock(this); cacheLock.lock(); try { - Lock lock = this.keyedRWLock.writeLock(key); + final Lock lock = this.keyedRWLock.writeLock(key); lock.lock(); try { return doRemove(key); @@ -396,8 +411,8 @@ public class SoftRefFileCache<V> implements ICache<V> cacheLock.unlock(); } } - private V doRemove(@NonNullable String key) { - KeyedSoftReference<String,V> oldRef = map.remove(key); + private V doRemove(@NonNullable final String key) { + final KeyedSoftReference<String,V> oldRef = map.remove(key); V ret = null; if (oldRef != null) { @@ -408,7 +423,7 @@ public class SoftRefFileCache<V> implements ICache<V> if (ret == null) { // not exist or no longer exist in memory; // so check the file system. - CacheFileContent cfc = CacheFileDAO.inst.readCacheItem(this.name, key); + final CacheFileContent cfc = CacheFileDAO.inst.readCacheItem(this.name, key); if (cfc == null) { // not exist in file system. @@ -424,57 +439,64 @@ public class SoftRefFileCache<V> implements ICache<V> CacheFileDAO.inst.removeCacheItem(this.name, key); return ret; } - public V remove(@NonNullable Object key) { + @Override + public V remove(@NonNullable final Object key) { return key == null ? null : this.remove(key.toString()); } + @Override public void clear() { - for (String key : this.map.keySet()) + for (final String key : this.map.keySet()) { this.remove(key); + } } + @Override public @NonNullable Set<String> keySet() { - Set<String> kset = map.keySet(); + final Set<String> kset = map.keySet(); String[] list = null; - Lock cacheLock = CacheManager.inst.readLock(this); + final Lock cacheLock = CacheManager.inst.readLock(this); cacheLock.lock(); try { list = CacheFileUtils.inst.getCacheDirList(this.name); } finally { cacheLock.unlock(); } - if (list != null) + if (list != null) { kset.addAll(Arrays.asList(list)); + } return kset; } + @Override @UnsupportedOperation public Set<Map.Entry<String,V>> entrySet() { throw new UnsupportedOperationException("Only memoryEntrySet and keySet are supported."); } public @NonNullable Set<Map.Entry<String,V>> memoryEntrySet() { // this.collector.run(); - Set<Map.Entry<String,KeyedSoftReference<String,V>>> fromSet = map.entrySet(); - Set<Map.Entry<String,V>> toSet = new HashSet<Map.Entry<String,V>>(); + final Set<Map.Entry<String,KeyedSoftReference<String,V>>> fromSet = map.entrySet(); + final Set<Map.Entry<String,V>> toSet = new HashSet<>(); for (final Map.Entry<String, KeyedSoftReference<String,V>> item : fromSet) { - KeyedSoftReference<String,V> ref = item.getValue(); - V val = ref.get(); + final KeyedSoftReference<String,V> ref = item.getValue(); + final V val = ref.get(); if (val != null) { - Map.Entry<String,V> e = new CacheEntry<V>(item.getKey(), val); + final Map.Entry<String,V> e = new CacheEntry<>(item.getKey(), val); toSet.add(e); } } return toSet; } + @Override @UnsupportedOperation public @NonNullable Collection<V> values() { throw new UnsupportedOperationException("Only memoryValues and keySet are supported."); } public @NonNullable Collection<V> memoryValues() { - Collection<KeyedSoftReference<String,V>> fromSet = map.values(); - List<V> toCol = new ArrayList<V>(fromSet.size()); + final Collection<KeyedSoftReference<String,V>> fromSet = map.values(); + final List<V> toCol = new ArrayList<>(fromSet.size()); for (final KeyedSoftReference<String,V> ref : fromSet) { - V val = ref.get(); + final V val = ref.get(); if (val != null) { toCol.add(val); @@ -482,21 +504,24 @@ public class SoftRefFileCache<V> implements ICache<V> } return toCol; } - public boolean containsKey(@NonNullable Object key) { + @Override + public boolean containsKey(@NonNullable final Object key) { return this.get(key.toString()) != null; } + @Override @UnsupportedOperation - public boolean containsValue(@NonNullable Object value) { + public boolean containsValue(@NonNullable final Object value) { throw new UnsupportedOperationException("Only memoryContainsValue is supported."); } - public boolean memoryContainsValue(@NonNullable Object value) { - Collection<KeyedSoftReference<String,V>> fromSet = map.values(); + public boolean memoryContainsValue(@NonNullable final Object value) { + final Collection<KeyedSoftReference<String,V>> fromSet = map.values(); for (final KeyedSoftReference<String,V> ref : fromSet) { - V val = ref.get(); + final V val = ref.get(); - if (EqualsUtils.inst.equals(value, val)) + if (EqualsUtils.inst.equals(value, val)) { return true; + } } return false; } @@ -504,11 +529,11 @@ public class SoftRefFileCache<V> implements ICache<V> // public int getCollectorCount() { // return this.collector.getCount(); // } - public void addCacheChangeListener(@NonNullable ICacheChangeListener<V> listener) + public void addCacheChangeListener(@NonNullable final ICacheChangeListener<V> listener) { this.cacheChangeSupport.addCacheChangeListener(listener); } - public void removeCacheChangeListener(@NonNullable ICacheChangeListener<V> listener) + public void removeCacheChangeListener(@NonNullable final ICacheChangeListener<V> listener) { this.cacheChangeSupport.removeCacheChangeListener(listener); } @@ -517,9 +542,10 @@ public class SoftRefFileCache<V> implements ICache<V> return config; } - public void setConfig(PerCacheConfig config) { + public void setConfig(final PerCacheConfig config) { this.config = config; } + @Override @Implements(ICache.class) public CacheType getCacheType() { return CacheType.SOFT_REFERENCE_FILE; diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/core/SafeCacheManagerTest.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/core/SafeCacheManagerTest.java index 3b79027f..26fc1fab 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/core/SafeCacheManagerTest.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/core/SafeCacheManagerTest.java @@ -32,7 +32,7 @@ import org.apache.commons.logging.LogFactory; @CopyRightApache @TestOnly public class SafeCacheManagerTest extends TestCase { - private Log log = LogFactory.getLog(this.getClass()); + private final Log log = LogFactory.getLog(this.getClass()); public void testGetCache() { log.debug("Test getCache and get"); @@ -62,13 +62,13 @@ public class SafeCacheManagerTest extends TestCase { assertTrue(null == c.get("2")); assertTrue(null == c.get("1")); log.debug("Test getCache and getValueType"); - ICacheSafe c1 = CacheManager.inst.getSafeCache("myCache"); + final ICacheSafe c1 = CacheManager.inst.getSafeCache("myCache"); assertTrue(c1.getValueType() == String.class); log.debug("Test checking of cache value type"); try { - ICacheSafe<Integer> c2 = CacheManager.inst.getSafeCache("myCache", Integer.class); + final ICacheSafe<Integer> c2 = CacheManager.inst.getSafeCache("myCache", Integer.class); assert false : "Bug: Cache for string cannot be used for Integer."; - } catch (ClassCastException ex) { + } catch (final ClassCastException ex) { // should go here. } log.debug(CacheManager.inst); @@ -76,17 +76,17 @@ public class SafeCacheManagerTest extends TestCase { public void testGetCacheRaceCondition() { log.debug("Test simulation of race condition in creating cache"); - ICache intCache = CacheManager.inst.testCreateCacheRaceCondition( + final ICache intCache = CacheManager.inst.testCreateCacheRaceCondition( "race", Integer.class, CacheType.SOFT_REFERENCE_SAFE); - ICache intCache1 = CacheManager.inst.testCreateCacheRaceCondition( + final ICache intCache1 = CacheManager.inst.testCreateCacheRaceCondition( "race", Integer.class, CacheType.SOFT_REFERENCE_SAFE); log.debug("Test simulation of the worst case scenario: " + "race condition in creating cache AND class cast exception"); try { - ICache doubleCache = CacheManager.inst.testCreateCacheRaceCondition( + final ICache doubleCache = CacheManager.inst.testCreateCacheRaceCondition( "race", Double.class, CacheType.SOFT_REFERENCE_SAFE); assert false : "Bug: Cache for Integer cannot be used for Double."; - } catch (ClassCastException ex) { + } catch (final ClassCastException ex) { // should go here. } assertTrue(intCache == intCache1); @@ -94,15 +94,15 @@ public class SafeCacheManagerTest extends TestCase { public void testRemoveCache() { log.debug("Test remove cache"); - ICacheSafe<Integer> intCache = CacheManager.inst.getSafeCache("race", Integer.class); + final ICacheSafe<Integer> intCache = CacheManager.inst.getSafeCache("race", Integer.class); intCache.put("1", 1); assertEquals(intCache.size(), 1); assertEquals(intCache, CacheManager.inst.removeCache("race")); assertEquals(intCache.size(), 0); - ICacheSafe intCache1 = CacheManager.inst.getSafeCache("race", Integer.class); + final ICacheSafe intCache1 = CacheManager.inst.getSafeCache("race", Integer.class); assertFalse(intCache == intCache1); CacheManager.inst.removeCache("race"); - ICache<Double> doubleCache = + final ICache<Double> doubleCache = CacheManager.inst.testCreateCacheRaceCondition( "race", Double.class, CacheType.SOFT_REFERENCE_SAFE); doubleCache.put("double", 1.234); @@ -130,7 +130,7 @@ public class SafeCacheManagerTest extends TestCase { CacheManager.inst.removeCache("myCache"); ICacheSafe<TestSerializable> c = CacheManager.inst.getSafeCache( "myCache", TestSerializable.class, CacheType.SOFT_REFERENCE_SAFE); - TestSerializable[] ta = { + final TestSerializable[] ta = { new TestSerializable("First Put"), new TestSerializable("Second Put"), new TestSerializable("Third Put") @@ -169,13 +169,13 @@ public class SafeCacheManagerTest extends TestCase { assertTrue(null == c.getCopy("2")); assertTrue(null == c.getCopy("1")); log.debug("Test getCache and getValueType"); - ICacheSafe c1 = CacheManager.inst.getSafeCache("myCache"); + final ICacheSafe c1 = CacheManager.inst.getSafeCache("myCache"); assertTrue(c1.getValueType() == TestSerializable.class); log.debug("Test checking of cache value type"); try { - ICacheSafe<Integer> c2 = CacheManager.inst.getSafeCache("myCache", Integer.class); + final ICacheSafe<Integer> c2 = CacheManager.inst.getSafeCache("myCache", Integer.class); assert false : "Bug: Cache for string cannot be used for Integer."; - } catch (ClassCastException ex) { + } catch (final ClassCastException ex) { // should go here. } log.debug(CacheManager.inst); diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefCacheTest.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefCacheTest.java index 48ce9417..5780a6c8 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefCacheTest.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefCacheTest.java @@ -34,10 +34,10 @@ import org.apache.commons.logging.LogFactory; @CopyRightApache @TestOnly public class SoftRefCacheTest extends TestCase { - private Log log = LogFactory.getLog(this.getClass()); + private final Log log = LogFactory.getLog(this.getClass()); public void testSoftRefCache() throws Exception { - ICache<byte[]> c = CacheManager.inst.getCache( + final ICache<byte[]> c = CacheManager.inst.getCache( "bytesCache", byte[].class, CacheType.SOFT_REFERENCE); for (int h=0; h < 10; h++) { for (int i=h*10, max=i+10; i < max; i++) { diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCacheSafeTest.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCacheSafeTest.java index 8096021d..a1b19edc 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCacheSafeTest.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/soft/SoftRefFileCacheSafeTest.java @@ -34,10 +34,10 @@ import org.apache.commons.logging.LogFactory; @CopyRightApache @TestOnly public class SoftRefFileCacheSafeTest extends TestCase { - private Log log = LogFactory.getLog(this.getClass()); + private final Log log = LogFactory.getLog(this.getClass()); public void testSoftRefCache() throws Exception { - ICacheSafe<byte[]> c = CacheManager.inst.getSafeCache( + final ICacheSafe<byte[]> c = CacheManager.inst.getSafeCache( "bytesCache", byte[].class, CacheType.SOFT_REFERENCE_FILE_SAFE); for (int h=0; h < 10; h++) { for (int i=h*10, max=i+10; i < max; i++) { diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/SerializeUtilsTest.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/SerializeUtilsTest.java index 095ae630..0e10e106 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/SerializeUtilsTest.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/SerializeUtilsTest.java @@ -33,42 +33,44 @@ import org.apache.commons.logging.LogFactory; @CopyRightApache @TestOnly public class SerializeUtilsTest extends TestCase { - private Log log = LogFactory.getLog(this.getClass()); + private final Log log = LogFactory.getLog(this.getClass()); /** * Test of dup method, of class org.apache.commons.jcs.yajcache.util.SerializeUtils. */ public void testDup() { // Test string dup: no clone log.debug("Test string dup: no clone"); - String s1 = "Abc Def"; - String s2 = SerializeUtils.inst.dup(s1); + final String s1 = "Abc Def"; + final String s2 = SerializeUtils.inst.dup(s1); assertTrue(s1 == s2); // Test non-string Seriailzable dup: deep clone log.debug("Test non-string Seriailzable dup: deep clone"); - TestSerializable o1 = new TestSerializable("abc Def"); - TestSerializable o2 = SerializeUtils.inst.dup(o1); + final TestSerializable o1 = new TestSerializable("abc Def"); + final TestSerializable o2 = SerializeUtils.inst.dup(o1); assertFalse(o1 == o2); assertEquals(o1, o2); // Test string array dup: shallow clone log.debug("Test string array dup: shallow clone"); - String[] sa = {"1", "2", "3"}; - String[] sa1 = SerializeUtils.inst.dup(sa); + final String[] sa = {"1", "2", "3"}; + final String[] sa1 = SerializeUtils.inst.dup(sa); assertFalse(sa == sa1); assertTrue(Arrays.equals(sa, sa1)); - for (int i=sa.length-1; i > -1; i--) + for (int i=sa.length-1; i > -1; i--) { assertTrue(sa[i] == sa1[i]); + } // Test int array dup: shallow clone log.debug("Test int array dup: shallow clone"); - int[] ia = {1,2,3}; - int[] ia1 = SerializeUtils.inst.dup(ia); + final int[] ia = {1,2,3}; + final int[] ia1 = SerializeUtils.inst.dup(ia); assertFalse(ia == ia1); assertTrue(Arrays.equals(ia, ia1)); - for (int i=ia.length-1; i > -1; i--) + for (int i=ia.length-1; i > -1; i--) { assertTrue(ia[i] == ia1[i]); + } // Test Integer array dup: shallow clone log.debug("Test Integer array dup: shallow clone"); - Integer[] inta = {1,2,3}; - Integer[] inta1 = SerializeUtils.inst.dup(inta); + final Integer[] inta = {1,2,3}; + final Integer[] inta1 = SerializeUtils.inst.dup(inta); assertFalse(inta == inta1); assertTrue(Arrays.equals(inta, inta1)); @@ -77,8 +79,8 @@ public class SerializeUtilsTest extends TestCase { } // Test non-string Seriailzable array dup: deep clone log.debug("Test non-string Seriailzable array dup: deep clone"); - TestSerializable[] ta1 = {new TestSerializable("abc Def"), new TestSerializable("123"), new TestSerializable("assdk")}; - TestSerializable[] ta2 = SerializeUtils.inst.dup(ta1); + final TestSerializable[] ta1 = {new TestSerializable("abc Def"), new TestSerializable("123"), new TestSerializable("assdk")}; + final TestSerializable[] ta2 = SerializeUtils.inst.dup(ta1); assertFalse(ta1 == ta2); assertTrue(Arrays.equals(ta1, ta2)); diff --git a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/TestSerializable.java b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/TestSerializable.java index 311c46cc..323142dd 100644 --- a/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/TestSerializable.java +++ b/commons-jcs3-sandbox/commons-jcs3-yajcache/src/test/java/org/apache/commons/jcs/yajcache/util/TestSerializable.java @@ -37,13 +37,15 @@ public class TestSerializable implements Serializable { public TestSerializable() { } /** Creates a new instance of TestSerializable */ - public TestSerializable(String name) { + public TestSerializable(final String name) { this.name = name; } + @Override public int hashCode() { return this.name == null ? 0 : this.name.hashCode(); } - public boolean equals(Object obj) { + @Override + public boolean equals(final Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } @@ -51,7 +53,7 @@ public class TestSerializable implements Serializable { return name; } - public void setName(String name) { + public void setName(final String name) { this.name = name; } }