This is an automated email from the ASF dual-hosted git repository. tv pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-jcs.git
commit 163ac483d8964f32c666d975ea14309babe6384a Author: Thomas Vandahl <[email protected]> AuthorDate: Wed Feb 11 14:37:22 2026 +0100 Clean up statistics usage --- .../commons/jcs4/access/AbstractCacheAccess.java | 9 ---- .../access/behavior/ICacheAccessManagement.java | 5 --- .../apache/commons/jcs4/admin/CacheRegionInfo.java | 7 +++- .../org/apache/commons/jcs4/admin/JCSAdmin.jsp | 6 +-- .../apache/commons/jcs4/admin/JCSAdminBean.java | 4 +- .../jcs4/auxiliary/disk/AbstractDiskCache.java | 27 ++---------- .../jcs4/auxiliary/disk/block/BlockDiskCache.java | 30 ++++---------- .../auxiliary/disk/indexed/IndexedDiskCache.java | 34 ++++++--------- .../jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java | 21 ++++------ .../lateral/socket/tcp/LateralTCPCache.java | 15 +------ .../lateral/socket/tcp/LateralTCPCacheNoWait.java | 28 +++---------- .../socket/tcp/LateralTCPCacheNoWaitFacade.java | 24 ++--------- .../remote/AbstractRemoteAuxiliaryCache.java | 32 +++------------ .../remote/AbstractRemoteCacheNoWaitFacade.java | 23 ++--------- .../commons/jcs4/auxiliary/remote/RemoteCache.java | 16 ++------ .../jcs4/auxiliary/remote/RemoteCacheNoWait.java | 39 +++++------------- .../http/server/AbstractRemoteCacheService.java | 12 ------ .../auxiliary/remote/server/RemoteCacheServer.java | 9 ++-- .../remote/server/RemoteCacheServerFactory.java | 3 +- .../remote/server/RemoteCacheStartupServlet.java | 3 +- .../commons/jcs4/engine/PooledCacheEventQueue.java | 37 +++-------------- .../commons/jcs4/engine/behavior/ICache.java | 3 +- .../jcs4/engine/behavior/ICacheServiceAdmin.java | 9 ++-- .../commons/jcs4/engine/behavior/ICacheType.java | 1 - .../engine/behavior/ICompositeCacheManager.java | 7 ++-- .../jcs4/engine/control/CompositeCache.java | 37 ++++------------- .../jcs4/engine/control/CompositeCacheManager.java | 26 +----------- .../AbstractDoubleLinkedListMemoryCache.java | 8 +--- .../jcs4/engine/memory/AbstractMemoryCache.java | 21 ++++------ .../memory/soft/SoftReferenceMemoryCache.java | 8 +--- .../commons/jcs4/engine/stats/CacheStats.java | 37 +++++++++++++++-- .../apache/commons/jcs4/engine/stats/Stats.java | 48 ++++++++++++++++++++-- .../jcs4/engine/stats/behavior/ICacheStats.java | 7 +++- .../commons/jcs4/engine/stats/behavior/IStats.java | 19 ++++++++- .../jcs4/JCSRemovalSimpleConcurrentTest.java | 8 ++-- .../org/apache/commons/jcs4/JCSThrashTest.java | 2 +- .../commons/jcs4/access/TestCacheAccess.java | 4 +- .../commons/jcs4/admin/AdminBeanUnitTest.java | 2 - .../commons/jcs4/auxiliary/MockAuxiliaryCache.java | 9 ---- .../auxiliary/disk/AbstractDiskCacheUnitTest.java | 2 +- .../disk/block/AbstractBlockDiskCacheUnitTest.java | 4 +- .../block/BlockDiskCacheConcurrentUnitTest.java | 4 +- .../disk/block/BlockDiskCacheSteadyLoadTest.java | 8 ++-- .../auxiliary/disk/block/BlockDiskUnitTest.java | 2 +- .../block/HugeQuantityBlockDiskCacheLoadTest.java | 8 ++-- .../indexed/AbstractIndexDiskCacheUnitTest.java | 16 ++++---- .../indexed/HugeQuantityIndDiskCacheLoadTest.java | 8 ++-- .../IndexedDiskCacheConcurrentUnitTest.java | 4 +- .../IndexedDiskCacheDefragPerformanceTest.java | 28 ++----------- .../indexed/IndexedDiskCacheNoMemoryUnitTest.java | 2 +- .../indexed/IndexedDiskCacheSteadyLoadTest.java | 8 ++-- .../disk/jdbc/JDBCDiskCacheRemovalUnitTest.java | 2 +- .../disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java | 2 +- .../disk/jdbc/hsql/HSQLDiskCacheUnitTest.java | 2 +- .../tcp/LateralTCPConcurrentRandomTestUtil.java | 2 +- .../LateralTCPFilterRemoveHashCodeUnitTest.java | 2 +- .../tcp/LateralTCPIssueRemoveOnPutUnitTest.java | 2 +- .../auxiliary/remote/MockRemoteCacheClient.java | 14 +------ .../remote/RemoteCacheNoWaitUnitTest.java | 2 +- .../http/client/RemoteHttpCacheManualTester.java | 4 +- .../engine/control/CacheManagerStatsUnitTest.java | 16 ++------ .../control/CompositeCacheDiskUsageUnitTest.java | 7 ---- .../engine/control/MockCompositeCacheManager.java | 5 ++- .../memory/lru/LHMLRUMemoryCacheUnitTest.java | 6 +-- .../engine/memory/mru/MRUMemoryCacheUnitTest.java | 8 ++-- .../soft/SoftReferenceMemoryCacheUnitTest.java | 2 +- .../jcs4/utils/discovery/UDPDiscoveryUnitTest.java | 2 +- .../utils/serialization/SerializerUnitTest.java | 4 +- 68 files changed, 293 insertions(+), 523 deletions(-) diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/AbstractCacheAccess.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/AbstractCacheAccess.java index c3e1a91a..84aa527f 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/AbstractCacheAccess.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/AbstractCacheAccess.java @@ -163,15 +163,6 @@ public abstract class AbstractCacheAccess<K, V> return this.getCacheControl().getStatistics(); } - /** - * @return A String version of the stats. - */ - @Override - public String getStats() - { - return this.getCacheControl().getStats(); - } - /** * Sets the ICompositeCacheAttributes of the cache region. * diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/behavior/ICacheAccessManagement.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/behavior/ICacheAccessManagement.java index 2748602b..a85de654 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/behavior/ICacheAccessManagement.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/access/behavior/ICacheAccessManagement.java @@ -85,11 +85,6 @@ public interface ICacheAccessManagement */ ICacheStats getStatistics(); - /** - * @return A String version of the stats. - */ - String getStats(); - /** * Sets the ICompositeCacheAttributes of the cache region * diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheRegionInfo.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheRegionInfo.java index ce0afaea..09a0402b 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheRegionInfo.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/CacheRegionInfo.java @@ -1,5 +1,8 @@ package org.apache.commons.jcs4.admin; +import org.apache.commons.jcs4.engine.CacheStatus; +import org.apache.commons.jcs4.engine.stats.behavior.IStats; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -30,10 +33,10 @@ public record CacheRegionInfo( int cacheSize, /** The status of the cache region */ - String cacheStatus, + CacheStatus cacheStatus, /** The statistics of the cache region */ - String cacheStatistics, + IStats cacheStatistics, /** The number of memory hits in the cache region */ long hitCountRam, diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdmin.jsp b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdmin.jsp index 07f90863..b24d585c 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdmin.jsp +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdmin.jsp @@ -189,7 +189,7 @@ <p><a href="?">All Regions</a></p> <% CacheAccess<?, ?> cache = JCS.getInstance(cacheName); - String stats = cache.getStats(); + String stats = cache.getStatistics().toString(); %> <h2>Statistics for region [<%=cacheName%>]</h2> <pre> @@ -229,7 +229,7 @@ } CacheAccess<?, ?> cache = JCS.getInstance(cacheName); - String stats = cache.getStats(); + String stats = cache.getStatistics().toString(); %> </table> <h2>Statistics for region [<%=cacheName%>]</h2> @@ -286,7 +286,7 @@ which empties the entire cache. <td><%=record.cacheName()%></td> <td><%=record.cacheSize()%></td> <td><%=record.byteCount()%></td> - <td><%=record.cacheStatus()%></td> + <td><%=record.cacheStatus().toString()%></td> <td><%=record.hitCountRam()%></td> <td><%=record.hitCountAux()%></td> <td><%=record.missCountNotFound()%></td> diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdminBean.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdminBean.java index 17478d19..6a7d222e 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdminBean.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/admin/JCSAdminBean.java @@ -99,8 +99,8 @@ public class JCSAdminBean implements JCSJMXBean final CacheRegionInfo regionInfo = new CacheRegionInfo( cache.getCacheName(), cache.getSize(), - cache.getStatus().toString(), - cache.getStats(), + cache.getStatus(), + cache.getStatistics(), cache.getHitCountRam(), cache.getHitCountAux(), cache.getMissCountNotFound(), diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCache.java index 4cf4ed6f..817ed82b 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCache.java @@ -20,7 +20,6 @@ package org.apache.commons.jcs4.auxiliary.disk; */ import java.io.IOException; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Map; @@ -39,9 +38,7 @@ import org.apache.commons.jcs4.engine.behavior.ICache; import org.apache.commons.jcs4.engine.behavior.ICacheElement; import org.apache.commons.jcs4.engine.behavior.ICacheEventQueue; import org.apache.commons.jcs4.engine.behavior.ICacheListener; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; import org.apache.commons.jcs4.utils.struct.LRUMap; @@ -566,19 +563,14 @@ public abstract class AbstractDiskCache<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Abstract Disk Cache" ); + final IStats stats = new Stats("Abstract Disk Cache"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - - elems.add(new StatElement<>( "Purgatory Hits", Integer.valueOf(purgHits) ) ); - elems.add(new StatElement<>( "Purgatory Size", Integer.valueOf(purgatory.size()) ) ); + stats.addStatElement("Purgatory Hits", Integer.valueOf(purgHits)); + stats.addStatElement("Purgatory Size", Integer.valueOf(purgatory.size())); // get the stats from the event queue too final IStats eqStats = this.cacheEventQueue.getStatistics(); - elems.addAll(eqStats.getStatElements()); - - stats.setStatElements( elems ); + stats.addStatElements(eqStats.getStatElements()); return stats; } @@ -591,17 +583,6 @@ public abstract class AbstractDiskCache<K, V> * For example, doGet calls getWithEventLogging, which calls processGet */ - /** - * Gets basic stats for the abstract disk cache. - * - * @return String - */ - @Override - public String getStats() - { - return getStatistics().toString(); - } - /** * @return the status -- alive or disposed from CacheConstants * @see ICache#getStatus diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCache.java index 769234cc..1d09e9c3 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCache.java @@ -21,7 +21,6 @@ package org.apache.commons.jcs4.auxiliary.disk.block; import java.io.File; import java.io.IOException; -import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; @@ -41,9 +40,7 @@ import org.apache.commons.jcs4.engine.behavior.IElementSerializer; import org.apache.commons.jcs4.engine.behavior.IRequireScheduler; import org.apache.commons.jcs4.engine.control.group.GroupAttrName; import org.apache.commons.jcs4.engine.control.group.GroupId; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; import org.apache.commons.jcs4.utils.serialization.StandardSerializer; @@ -268,40 +265,31 @@ public class BlockDiskCache<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Block Disk Cache" ); + final IStats stats = new Stats("Block Disk Cache"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - - elems.add(new StatElement<>( "Is Alive", Boolean.valueOf(isAlive()) ) ); - elems.add(new StatElement<>( "Key Map Size", Integer.valueOf(this.keyStore.size()) ) ); + stats.addStatElement("Is Alive", Boolean.valueOf(isAlive())); + stats.addStatElement("Key Map Size", Integer.valueOf(this.keyStore.size())); if (this.dataFile != null) { try { - elems.add(new StatElement<>( "Data File Length", Long.valueOf(this.dataFile.length()) ) ); + stats.addStatElement("Data File Length", Long.valueOf(this.dataFile.length())); } catch ( final IOException e ) { log.error( e ); } - elems.add(new StatElement<>( "Block Size Bytes", - Integer.valueOf(this.dataFile.getBlockSizeBytes()) ) ); - elems.add(new StatElement<>( "Number Of Blocks", - Integer.valueOf(this.dataFile.getNumberOfBlocks()) ) ); - elems.add(new StatElement<>( "Average Put Size Bytes", - Long.valueOf(this.dataFile.getAveragePutSizeBytes()) ) ); - elems.add(new StatElement<>( "Empty Blocks", - Integer.valueOf(this.dataFile.getEmptyBlocks()) ) ); + stats.addStatElement("Block Size Bytes", Integer.valueOf(this.dataFile.getBlockSizeBytes())); + stats.addStatElement("Number Of Blocks", Integer.valueOf(this.dataFile.getNumberOfBlocks())); + stats.addStatElement("Average Put Size Bytes", Long.valueOf(this.dataFile.getAveragePutSizeBytes())); + stats.addStatElement("Empty Blocks", Integer.valueOf(this.dataFile.getEmptyBlocks())); } // get the stats from the super too final IStats sStats = super.getStatistics(); - elems.addAll(sStats.getStatElements()); - - stats.setStatElements( elems ); + stats.addStatElements(sStats.getStatElements()); return stats; } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCache.java index 3c2da790..af0f3bf3 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCache.java @@ -45,9 +45,7 @@ import org.apache.commons.jcs4.engine.control.group.GroupAttrName; import org.apache.commons.jcs4.engine.control.group.GroupId; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEvent; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEventLogger; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; import org.apache.commons.jcs4.utils.struct.AbstractLRUMap; @@ -849,36 +847,30 @@ public class IndexedDiskCache<K, V> extends AbstractDiskCache<K, V> @Override public synchronized IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName("Indexed Disk Cache"); + final IStats stats = new Stats("Indexed Disk Cache"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - - elems.add(new StatElement<>("Is Alive", Boolean.valueOf(isAlive()))); - elems.add(new StatElement<>("Key Map Size", Integer.valueOf(this.keyHash != null ? this.keyHash.size() : -1))); + stats.addStatElement("Is Alive", Boolean.valueOf(isAlive())); + stats.addStatElement("Key Map Size", Integer.valueOf(this.keyHash != null ? this.keyHash.size() : -1)); try { - elems.add( - new StatElement<>("Data File Length", Long.valueOf(this.dataFile != null ? this.dataFile.length() : -1L))); + stats.addStatElement("Data File Length", Long.valueOf(this.dataFile != null ? this.dataFile.length() : -1L)); } catch (final IOException e) { log.error(e); } - elems.add(new StatElement<>("Max Key Size", this.maxKeySize)); - elems.add(new StatElement<>("Hit Count", this.hitCount)); - elems.add(new StatElement<>("Bytes Free", this.bytesFree)); - elems.add(new StatElement<>("Optimize Operation Count", Integer.valueOf(this.removeCount))); - elems.add(new StatElement<>("Times Optimized", Integer.valueOf(this.timesOptimized))); - elems.add(new StatElement<>("Recycle Count", Integer.valueOf(this.recycleCnt))); - elems.add(new StatElement<>("Recycle Bin Size", Integer.valueOf(this.recycle.size()))); - elems.add(new StatElement<>("Startup Size", Integer.valueOf(this.startupSize))); + stats.addStatElement("Max Key Size", this.maxKeySize); + stats.addStatElement("Hit Count", this.hitCount); + stats.addStatElement("Bytes Free", this.bytesFree); + stats.addStatElement("Optimize Operation Count", Integer.valueOf(this.removeCount)); + stats.addStatElement("Times Optimized", Integer.valueOf(this.timesOptimized)); + stats.addStatElement("Recycle Count", Integer.valueOf(this.recycleCnt)); + stats.addStatElement("Recycle Bin Size", Integer.valueOf(this.recycle.size())); + stats.addStatElement("Startup Size", Integer.valueOf(this.startupSize)); // get the stats from the super too final IStats sStats = super.getStatistics(); - elems.addAll(sStats.getStatElements()); - - stats.setStatElements(elems); + stats.addStatElements(sStats.getStatElements()); return stats; } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java index 38b57971..fd35af49 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCache.java @@ -26,7 +26,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; @@ -40,8 +39,6 @@ import org.apache.commons.jcs4.engine.behavior.ICache; import org.apache.commons.jcs4.engine.behavior.ICacheElement; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEvent; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEventLogger; -import org.apache.commons.jcs4.engine.stats.StatElement; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -367,16 +364,12 @@ public class JDBCDiskCache<K, V> public IStats getStatistics() { final IStats stats = super.getStatistics(); - stats.setTypeName( "JDBC/Abstract Disk Cache" ); + stats.setTypeName("JDBC/Abstract Disk Cache"); - final List<IStatElement<?>> elems = stats.getStatElements(); - - elems.add(new StatElement<>( "Update Count", updateCount ) ); - elems.add(new StatElement<>( "Get Count", getCount ) ); - elems.add(new StatElement<>( "Get Matching Count", getMatchingCount ) ); - elems.add(new StatElement<>( "DB URL", getDiskLocation()) ); - - stats.setStatElements( elems ); + stats.addStatElement("Update Count", updateCount); + stats.addStatElement("Get Count", getCount); + stats.addStatElement("Get Matching Count", getMatchingCount); + stats.addStatElement("DB URL", getDiskLocation()); return stats; } @@ -818,11 +811,11 @@ public class JDBCDiskCache<K, V> /** * For debugging. * - * @return this.getStats(); + * @return this.getStatistics(); */ @Override public String toString() { - return getStats(); + return getStatistics().toString(); } } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCache.java index 703d69e4..b30062aa 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCache.java @@ -185,20 +185,7 @@ public class LateralTCPCache<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "LateralTCPCache" ); - return stats; - } - - /** - * getStats - * - * @return String - */ - @Override - public String getStats() - { - return ""; + return new Stats("LateralTCPCache"); } /** diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWait.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWait.java index 1711e3de..02a99d57 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWait.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWait.java @@ -21,7 +21,6 @@ package org.apache.commons.jcs4.auxiliary.lateral.socket.tcp; import java.io.IOException; import java.rmi.UnmarshalException; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -38,9 +37,7 @@ import org.apache.commons.jcs4.engine.CacheStatus; import org.apache.commons.jcs4.engine.behavior.ICacheElement; import org.apache.commons.jcs4.engine.behavior.ICacheEventQueue; import org.apache.commons.jcs4.engine.behavior.ICacheServiceNonLocal; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -321,33 +318,20 @@ public class LateralTCPCacheNoWait<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Lateral Cache No Wait" ); + final IStats stats = new Stats("Lateral Cache No Wait"); // get the stats from the event queue too final IStats eqStats = this.eventQueue.getStatistics(); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(eqStats.getStatElements()); + stats.addStatElements(eqStats.getStatElements()); - elems.add(new StatElement<>( "Get Count", Integer.valueOf(this.getCount) ) ); - elems.add(new StatElement<>( "Remove Count", Integer.valueOf(this.removeCount) ) ); - elems.add(new StatElement<>( "Put Count", Integer.valueOf(this.putCount) ) ); - elems.add(new StatElement<>( "Attributes", cache.getAuxiliaryCacheAttributes() ) ); - - stats.setStatElements( elems ); + stats.addStatElement("Get Count", Integer.valueOf(this.getCount)); + stats.addStatElement("Remove Count", Integer.valueOf(this.removeCount)); + stats.addStatElement("Put Count", Integer.valueOf(this.putCount)); + stats.addStatElement("Attributes", cache.getAuxiliaryCacheAttributes()); return stats; } - /** - * getStats - * @return String - */ - @Override - public String getStats() - { - return getStatistics().toString(); - } - /** * Returns the async cache status. An error status indicates either the lateral connection is not * available, or the asyn queue has been unexpectedly destroyed. No lateral invocation. diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWaitFacade.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWaitFacade.java index 7dbc24dc..4de74cbe 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWaitFacade.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPCacheNoWaitFacade.java @@ -20,7 +20,6 @@ package org.apache.commons.jcs4.auxiliary.lateral.socket.tcp; */ import java.io.IOException; -import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -37,9 +36,7 @@ import org.apache.commons.jcs4.auxiliary.lateral.behavior.ILateralCacheListener; import org.apache.commons.jcs4.auxiliary.lateral.socket.tcp.behavior.ILateralTCPCacheAttributes; import org.apache.commons.jcs4.engine.CacheStatus; import org.apache.commons.jcs4.engine.behavior.ICacheElement; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -305,35 +302,20 @@ public class LateralTCPCacheNoWaitFacade<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Lateral Cache No Wait Facade" ); - - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); + final IStats stats = new Stats("Lateral Cache No Wait Facade"); if (noWaitMap != null) { - elems.add(new StatElement<>("Number of No Waits", Integer.valueOf(noWaitMap.size()))); + stats.addStatElement("Number of No Waits", Integer.valueOf(noWaitMap.size())); - elems.addAll(noWaitMap.values().stream() + stats.addStatElements(noWaitMap.values().stream() .flatMap(lcnw -> lcnw.getStatistics().getStatElements().stream()) .collect(Collectors.toList())); } - stats.setStatElements( elems ); - return stats; } - /** - * getStats - * @return String - */ - @Override - public String getStats() - { - return getStatistics().toString(); - } - /** * Gets the status attribute of the LateralTCPCacheNoWaitFacade object * @return The status value diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java index 7c53debb..4290ef33 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java @@ -20,7 +20,6 @@ package org.apache.commons.jcs4.auxiliary.remote; */ import java.io.IOException; -import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -44,9 +43,7 @@ import org.apache.commons.jcs4.engine.behavior.ICacheElementSerialized; import org.apache.commons.jcs4.engine.behavior.ICacheServiceNonLocal; import org.apache.commons.jcs4.engine.behavior.IZombie; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEventLogger; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; import org.apache.commons.jcs4.utils.serialization.SerializationConversionUtil; @@ -273,47 +270,30 @@ public abstract class AbstractRemoteAuxiliaryCache<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "AbstractRemoteAuxiliaryCache" ); + final IStats stats = new Stats("AbstractRemoteAuxiliaryCache"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - - elems.add(new StatElement<>( "Remote Type", this.getRemoteCacheAttributes().getRemoteTypeName() ) ); + stats.addStatElement("Remote Type", this.getRemoteCacheAttributes().getRemoteTypeName() ); // if ( this.getRemoteCacheAttributes().getRemoteType() == RemoteType.CLUSTER ) // { // // something cluster specific // } - elems.add(new StatElement<>( "UsePoolForGet", Boolean.valueOf(usePoolForGet) ) ); + stats.addStatElement("UsePoolForGet", Boolean.valueOf(usePoolForGet) ); if ( pool != null ) { - elems.add(new StatElement<>( "Pool", pool ) ); + stats.addStatElement("Pool", pool ); } - if ( getRemoteCacheService() instanceof ZombieCacheServiceNonLocal ) + if (getRemoteCacheService() instanceof ZombieCacheServiceNonLocal zombie) { - elems.add(new StatElement<>( "Zombie Queue Size", - Integer.valueOf(( (ZombieCacheServiceNonLocal<K, V>) getRemoteCacheService() ).getQueueSize()) ) ); + stats.addStatElement("Zombie Queue Size", Integer.valueOf(zombie.getQueueSize())); } - stats.setStatElements( elems ); - return stats; } - /** - * Gets the stats attribute of the RemoteCache object. - * - * @return The stats value - */ - @Override - public String getStats() - { - return getStatistics().toString(); - } - /** * Returns the cache status. An error status indicates the remote connection is not available. * diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java index 99a5d945..4ece672a 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java @@ -34,9 +34,7 @@ import org.apache.commons.jcs4.engine.CacheStatus; import org.apache.commons.jcs4.engine.behavior.ICacheElement; import org.apache.commons.jcs4.engine.behavior.IElementSerializer; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEventLogger; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -238,36 +236,21 @@ public abstract class AbstractRemoteCacheNoWaitFacade<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Remote Cache No Wait Facade" ); - - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); + final IStats stats = new Stats("Remote Cache No Wait Facade"); if ( noWaits != null ) { - elems.add(new StatElement<>( "Number of No Waits", Integer.valueOf(noWaits.size()) ) ); + stats.addStatElement("Number of No Waits", Integer.valueOf(noWaits.size())); // get the stats from the super too - elems.addAll(noWaits.stream() + stats.addStatElements(noWaits.stream() .flatMap(rcnw -> rcnw.getStatistics().getStatElements().stream()) .collect(Collectors.toList())); } - stats.setStatElements( elems ); - return stats; } - /** - * getStats - * @return String - */ - @Override - public String getStats() - { - return getStatistics().toString(); - } - /** * Gets the status attribute of the RemoteCacheNoWaitFacade object * <p> diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCache.java index de5e06e0..7a3f698d 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCache.java @@ -20,16 +20,13 @@ package org.apache.commons.jcs4.auxiliary.remote; */ import java.io.IOException; -import java.util.ArrayList; import org.apache.commons.jcs4.auxiliary.remote.behavior.IRemoteCacheAttributes; import org.apache.commons.jcs4.auxiliary.remote.behavior.IRemoteCacheListener; import org.apache.commons.jcs4.auxiliary.remote.server.behavior.RemoteType; import org.apache.commons.jcs4.engine.ZombieCacheServiceNonLocal; import org.apache.commons.jcs4.engine.behavior.ICacheServiceNonLocal; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -117,13 +114,10 @@ public class RemoteCache<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Remote Cache" ); + final IStats stats = new Stats("Remote Cache"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - - elems.add(new StatElement<>( "Remote Host:Port", getIPAddressForService() ) ); - elems.add(new StatElement<>( "Remote Type", getRemoteCacheAttributes().getRemoteTypeName() ) ); + stats.addStatElement("Remote Host:Port", getIPAddressForService() ); + stats.addStatElement("Remote Type", getRemoteCacheAttributes().getRemoteTypeName() ); // if ( this.getRemoteCacheAttributes().getRemoteType() == RemoteType.CLUSTER ) // { @@ -132,9 +126,7 @@ public class RemoteCache<K, V> // get the stats from the super too final IStats sStats = super.getStatistics(); - elems.addAll(sStats.getStatElements()); - - stats.setStatElements( elems ); + stats.addStatElements(sStats.getStatElements()); return stats; } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWait.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWait.java index 68004644..fee9b067 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWait.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWait.java @@ -21,7 +21,6 @@ package org.apache.commons.jcs4.auxiliary.remote; import java.io.IOException; import java.rmi.UnmarshalException; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -36,9 +35,7 @@ import org.apache.commons.jcs4.engine.CacheStatus; import org.apache.commons.jcs4.engine.behavior.ICacheElement; import org.apache.commons.jcs4.engine.behavior.ICacheEventQueue; import org.apache.commons.jcs4.engine.behavior.ICacheServiceNonLocal; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -358,46 +355,30 @@ public class RemoteCacheNoWait<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Remote Cache No Wait" ); + final IStats stats = new Stats("Remote Cache No Wait"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - - elems.add(new StatElement<>( "Status", getStatus() ) ); + stats.addStatElement("Status", getStatus()); // get the stats from the cache queue too final IStats cStats = this.remoteCacheClient.getStatistics(); if ( cStats != null ) { - elems.addAll(cStats.getStatElements()); + stats.addStatElements(cStats.getStatElements()); } // get the stats from the event queue too final IStats eqStats = this.cacheEventQueue.getStatistics(); - elems.addAll(eqStats.getStatElements()); - - elems.add(new StatElement<>( "Get Count", Integer.valueOf(this.getCount) ) ); - elems.add(new StatElement<>( "GetMatching Count", Integer.valueOf(this.getMatchingCount) ) ); - elems.add(new StatElement<>( "GetMultiple Count", Integer.valueOf(this.getMultipleCount) ) ); - elems.add(new StatElement<>( "Remove Count", Integer.valueOf(this.removeCount) ) ); - elems.add(new StatElement<>( "Put Count", Integer.valueOf(this.putCount) ) ); + stats.addStatElements(eqStats.getStatElements()); - stats.setStatElements( elems ); + stats.addStatElement("Get Count", Integer.valueOf(this.getCount) ); + stats.addStatElement("GetMatching Count", Integer.valueOf(this.getMatchingCount) ); + stats.addStatElement("GetMultiple Count", Integer.valueOf(this.getMultipleCount) ); + stats.addStatElement("Remove Count", Integer.valueOf(this.removeCount) ); + stats.addStatElement("Put Count", Integer.valueOf(this.putCount) ); return stats; } - /** - * Returns the statistics in String form. - * - * @return String - */ - @Override - public String getStats() - { - return getStatistics().toString(); - } - /** * Returns the async cache status. An error status indicates either the remote connection is not * available, or the asyn queue has been unexpectedly destroyed. No remote invocation. @@ -486,7 +467,7 @@ public class RemoteCacheNoWait<K, V> @Override public String toString() { - return getStats() + "\n" + remoteCacheClient.toString(); + return getStatistics() + "\n" + remoteCacheClient.toString(); } /** diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/server/AbstractRemoteCacheService.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/server/AbstractRemoteCacheService.java index 1ba4298e..3a41bdd5 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/server/AbstractRemoteCacheService.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/server/AbstractRemoteCacheService.java @@ -309,18 +309,6 @@ public abstract class AbstractRemoteCacheService<K, V> } } - /** - * Gets the stats attribute of the RemoteCacheServer object. - * - * @return The stats value - * @throws IOException - */ - public String getStats() - throws IOException - { - return cacheManager.getStats(); - } - /** * Logs an event if an event logger is configured. * diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServer.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServer.java index ce8f7195..7f5dfab9 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServer.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServer.java @@ -50,6 +50,7 @@ import org.apache.commons.jcs4.engine.control.CompositeCacheManager; import org.apache.commons.jcs4.engine.logging.CacheEvent; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEvent; import org.apache.commons.jcs4.engine.logging.behavior.ICacheEventLogger; +import org.apache.commons.jcs4.engine.stats.behavior.ICacheStats; import org.apache.commons.jcs4.log.Log; import org.apache.commons.jcs4.utils.timing.ElapsedTimer; @@ -730,16 +731,16 @@ public class RemoteCacheServer<K, V> } /** - * Gets the stats attribute of the RemoteCacheServer object. + * Gets the statistics of the ICacheServiceAdmin object * - * @return The stats value + * @return The statistics values as an array * @throws IOException */ @Override - public String getStats() + public ICacheStats[] getStatistics() throws IOException { - return cacheManager.getStats(); + return cacheManager.getStatistics(); } /** diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactory.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactory.java index d48cfbe3..65dd896d 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactory.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactory.java @@ -293,8 +293,7 @@ public class RemoteCacheServerFactory try { -// System.out.println( admin.getStats().toString() ); - log.debug( admin.getStats() ); + log.debug( admin.getStatistics().toString() ); } catch ( final IOException es ) { diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheStartupServlet.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheStartupServlet.java index 58eab42d..719caa38 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheStartupServlet.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheStartupServlet.java @@ -24,6 +24,7 @@ import java.io.OutputStream; import java.net.InetAddress; import java.net.UnknownHostException; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.Properties; import org.apache.commons.jcs4.JCS; @@ -237,7 +238,7 @@ public class RemoteCacheStartupServlet try { - stats = CompositeCacheManager.getInstance().getStats(); + stats = Arrays.toString(CompositeCacheManager.getInstance().getStatistics()); } catch (final CacheException e) { diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/PooledCacheEventQueue.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/PooledCacheEventQueue.java index a0d36184..4c0e3a3d 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/PooledCacheEventQueue.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/PooledCacheEventQueue.java @@ -1,34 +1,12 @@ package org.apache.commons.jcs4.engine; -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import java.util.ArrayList; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import org.apache.commons.jcs4.engine.behavior.ICacheListener; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; import org.apache.commons.jcs4.utils.threadpool.ThreadPoolManager; @@ -132,22 +110,17 @@ public class PooledCacheEventQueue<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Pooled Cache Event Queue" ); + final IStats stats = new Stats("Pooled Cache Event Queue"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - - elems.add(new StatElement<>( "Working", Boolean.valueOf(isWorking()) ) ); - elems.add(new StatElement<>( "Empty", Boolean.valueOf(this.isEmpty()) ) ); + stats.addStatElement("Working", Boolean.valueOf(isWorking()) ); + stats.addStatElement("Empty", Boolean.valueOf(this.isEmpty()) ); if ( queue != null ) { - elems.add(new StatElement<>( "Queue Size", Integer.valueOf(queue.size()) ) ); - elems.add(new StatElement<>( "Queue Capacity", Integer.valueOf(queue.remainingCapacity()) ) ); + stats.addStatElement("Queue Size", Integer.valueOf(queue.size()) ); + stats.addStatElement("Queue Capacity", Integer.valueOf(queue.remainingCapacity()) ); } - stats.setStatElements( elems ); - return stats; } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICache.java index 1ac2837e..764ccab7 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICache.java @@ -25,6 +25,7 @@ import java.util.Set; import org.apache.commons.jcs4.engine.CacheStatus; import org.apache.commons.jcs4.engine.match.behavior.IKeyMatcher; +import org.apache.commons.jcs4.engine.stats.behavior.IStats; /** * This is the top level interface for all cache like structures. It defines the methods used @@ -99,7 +100,7 @@ public interface ICache<K, V> * * @return String of important historical information. */ - String getStats(); + IStats getStatistics(); /** * Returns the cache status. diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheServiceAdmin.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheServiceAdmin.java index 77aa5da9..02d61b81 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheServiceAdmin.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheServiceAdmin.java @@ -21,19 +21,20 @@ package org.apache.commons.jcs4.engine.behavior; import java.io.IOException; +import org.apache.commons.jcs4.engine.stats.behavior.ICacheStats; + /** * Description of the Interface */ public interface ICacheServiceAdmin { - /** - * Gets the stats attribute of the ICacheServiceAdmin object + * Gets the statistics of the ICacheServiceAdmin object * - * @return The stats value + * @return The statistics values as an array * @throws IOException */ - String getStats() + ICacheStats[] getStatistics() throws IOException; /** Description of the Method diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheType.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheType.java index fbacd8a3..fe5510f9 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheType.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICacheType.java @@ -44,5 +44,4 @@ public interface ICacheType * @return The cacheType value */ CacheType getCacheType(); - } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheManager.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheManager.java index 65191af7..e13b5113 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheManager.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/behavior/ICompositeCacheManager.java @@ -23,6 +23,7 @@ import java.util.Properties; import org.apache.commons.jcs4.auxiliary.AuxiliaryCache; import org.apache.commons.jcs4.engine.control.CompositeCache; +import org.apache.commons.jcs4.engine.stats.behavior.ICacheStats; /** * I need the interface so I can plug in mock managers for testing. @@ -54,9 +55,9 @@ public interface ICompositeCacheManager extends IShutdownObservable Properties getConfigurationProperties(); /** - * Gets stats for debugging. + * This returns data gathered for all regions and all the auxiliaries they currently uses. * - * @return String + * @return ICacheStats[] */ - String getStats(); + ICacheStats[] getStatistics(); } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java index e6cf7b1b..c4208971 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCache.java @@ -21,7 +21,6 @@ package org.apache.commons.jcs4.engine.control; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -61,9 +60,7 @@ import org.apache.commons.jcs4.engine.memory.behavior.IMemoryCache; import org.apache.commons.jcs4.engine.memory.lru.LRUMemoryCache; import org.apache.commons.jcs4.engine.memory.shrinking.ShrinkerThread; import org.apache.commons.jcs4.engine.stats.CacheStats; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.behavior.ICacheStats; -import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; /** @@ -896,41 +893,25 @@ public class CompositeCache<K, V> * * @return Statistics and Info on the Region. */ + @Override public ICacheStats getStatistics() { - final ICacheStats stats = new CacheStats(); + final ICacheStats stats = new CacheStats("Composite Cache"); stats.setRegionName(this.getCacheName()); // store the composite cache stats first - stats.setStatElements(Arrays.asList( - new StatElement<>("HitCountRam", Long.valueOf(getHitCountRam())), - new StatElement<>("HitCountAux", Long.valueOf(getHitCountAux())))); + stats.addStatElement("HitCountRam", Long.valueOf(getHitCountRam())); + stats.addStatElement("HitCountAux", Long.valueOf(getHitCountAux())); // memory + aux, memory is not considered an auxiliary internally - final ArrayList<IStats> auxStats = new ArrayList<>(auxCaches.size() + 1); - - auxStats.add(getMemoryCache().getStatistics()); - auxStats.addAll(auxCaches.stream() + stats.addAuxiliaryCacheStats(getMemoryCache().getStatistics()); + stats.addAuxiliaryCacheStats(auxCaches.stream() .map(AuxiliaryCache::getStatistics) .collect(Collectors.toList())); - // store the auxiliary stats - stats.setAuxiliaryCacheStats(auxStats); - return stats; } - /** - * Gets stats for debugging. - * - * @return String - */ - @Override - public String getStats() - { - return getStatistics().toString(); - } - /** * Gets the status attribute of the Cache object. * @@ -1504,14 +1485,14 @@ public class CompositeCache<K, V> } /** - * This returns the stats. + * This returns the statistics. * - * @return getStats() + * @return Statistics of the cache */ @Override public String toString() { - return getStats(); + return getStatistics().toString(); } /** diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCacheManager.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCacheManager.java index 12840ce2..d2295b80 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCacheManager.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/control/CompositeCacheManager.java @@ -33,7 +33,6 @@ import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import java.util.stream.Stream; import javax.management.MBeanServer; import javax.management.ObjectName; @@ -641,6 +640,7 @@ public class CompositeCacheManager * * @return ICacheStats[] */ + @Override public ICacheStats[] getStatistics() { final List<ICacheStats> cacheStats = caches.values().stream() @@ -651,30 +651,6 @@ public class CompositeCacheManager return cacheStats.toArray( new CacheStats[0] ); } - /** - * Gets stats for debugging. This calls gets statistics and then puts all the results in a - * string. This returns data for all regions. - * - * @return String - */ - @Override - public String getStats() - { - final ICacheStats[] stats = getStatistics(); - if ( stats == null ) - { - return "NONE"; - } - - // force the array elements into a string. - final StringBuilder buf = new StringBuilder(); - Stream.of(stats).forEach(stat -> { - buf.append( "\n---------------------------\n" ); - buf.append( stat ); - }); - return buf.toString(); - } - /** Creates a shutdown hook and starts the scheduler service */ protected synchronized void initialize() { diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractDoubleLinkedListMemoryCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractDoubleLinkedListMemoryCache.java index 8bd3407b..59ddb649 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractDoubleLinkedListMemoryCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractDoubleLinkedListMemoryCache.java @@ -20,7 +20,6 @@ package org.apache.commons.jcs4.engine.memory; */ import java.io.IOException; -import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -28,8 +27,6 @@ import org.apache.commons.jcs4.engine.behavior.ICacheElement; import org.apache.commons.jcs4.engine.control.CompositeCache; import org.apache.commons.jcs4.engine.control.group.GroupAttrName; import org.apache.commons.jcs4.engine.memory.util.MemoryElementDescriptor; -import org.apache.commons.jcs4.engine.stats.StatElement; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; import org.apache.commons.jcs4.utils.struct.DoubleLinkedList; @@ -213,10 +210,7 @@ public abstract class AbstractDoubleLinkedListMemoryCache<K, V> extends Abstract { final IStats stats = super.getStatistics(); stats.setTypeName( /* add algorithm name */"Memory Cache"); - - final List<IStatElement<?>> elems = stats.getStatElements(); - - elems.add(new StatElement<>("List Size", Integer.valueOf(list.size()))); + stats.addStatElement("List Size", Integer.valueOf(list.size())); return stats; } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractMemoryCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractMemoryCache.java index 49388d0c..612344b9 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractMemoryCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/AbstractMemoryCache.java @@ -20,7 +20,6 @@ package org.apache.commons.jcs4.engine.memory; */ import java.io.IOException; -import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashSet; import java.util.Map; @@ -39,9 +38,7 @@ import org.apache.commons.jcs4.engine.control.group.GroupAttrName; import org.apache.commons.jcs4.engine.control.group.GroupId; import org.apache.commons.jcs4.engine.memory.behavior.IMemoryCache; import org.apache.commons.jcs4.engine.memory.util.MemoryElementDescriptor; -import org.apache.commons.jcs4.engine.stats.StatElement; import org.apache.commons.jcs4.engine.stats.Stats; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -103,13 +100,13 @@ public abstract class AbstractMemoryCache<K, V> /** * Dump the cache map for debugging. */ - public void dumpMap() + protected void dumpMap() { if (log.isTraceEnabled()) { log.trace("dumpingMap"); map.forEach((key, value) -> - log.trace("dumpMap> key={0}, val={1}", key, key, value.getCacheElement().getVal())); + log.trace("dumpMap> key={0}, val={1}", key, value.getCacheElement().getVal())); } } @@ -290,16 +287,12 @@ public abstract class AbstractMemoryCache<K, V> @Override public IStats getStatistics() { - final IStats stats = new Stats(); - stats.setTypeName( "Abstract Memory Cache" ); + final IStats stats = new Stats("Abstract Memory Cache"); - final ArrayList<IStatElement<?>> elems = new ArrayList<>(); - stats.setStatElements(elems); - - elems.add(new StatElement<>("Put Count", putCnt)); - elems.add(new StatElement<>("Hit Count", hitCnt)); - elems.add(new StatElement<>("Miss Count", missCnt)); - elems.add(new StatElement<>( "Map Size", Integer.valueOf(getSize()) ) ); + stats.addStatElement("Put Count", putCnt); + stats.addStatElement("Hit Count", hitCnt); + stats.addStatElement("Miss Count", missCnt); + stats.addStatElement("Map Size", Integer.valueOf(getSize())); return stats; } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCache.java index 32666225..07e92e99 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCache.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCache.java @@ -22,7 +22,6 @@ package org.apache.commons.jcs4.engine.memory.soft; import java.io.IOException; import java.lang.ref.SoftReference; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -35,8 +34,6 @@ import org.apache.commons.jcs4.engine.control.CompositeCache; import org.apache.commons.jcs4.engine.memory.AbstractMemoryCache; import org.apache.commons.jcs4.engine.memory.util.MemoryElementDescriptor; import org.apache.commons.jcs4.engine.memory.util.SoftReferenceElementDescriptor; -import org.apache.commons.jcs4.engine.stats.StatElement; -import org.apache.commons.jcs4.engine.stats.behavior.IStatElement; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -133,10 +130,9 @@ public class SoftReferenceMemoryCache<K, V> extends AbstractMemoryCache<K, V> final IStats stats = super.getStatistics(); stats.setTypeName("Soft Reference Memory Cache"); - final List<IStatElement<?>> elems = stats.getStatElements(); final int emptyrefs = map.size() - getSize(); - elems.add(new StatElement<>("Empty References", Integer.valueOf(emptyrefs))); - elems.add(new StatElement<>("Strong References", Integer.valueOf(strongReferences.size()))); + stats.addStatElement("Empty References", Integer.valueOf(emptyrefs)); + stats.addStatElement("Strong References", Integer.valueOf(strongReferences.size())); return stats; } diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/CacheStats.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/CacheStats.java index 99829b71..22f8ac4b 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/CacheStats.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/CacheStats.java @@ -1,5 +1,8 @@ package org.apache.commons.jcs4.engine.stats; +import java.util.ArrayList; +import java.util.Collections; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -42,13 +45,32 @@ public class CacheStats /** What that auxiliaries are reporting. */ private List<IStats> auxStats; + /** + * Default constructor + */ + public CacheStats() + { + super(); + this.auxStats = new ArrayList<>(); + } + + /** + * Constructor + * @param typeName + */ + public CacheStats(String typeName) + { + super(typeName); + this.auxStats = new ArrayList<>(); + } + /** * @return IStats[] */ @Override public List<IStats> getAuxiliaryCacheStats() { - return auxStats; + return Collections.unmodifiableList(auxStats); } /** @@ -66,9 +88,18 @@ public class CacheStats * @param stats */ @Override - public void setAuxiliaryCacheStats( final List<IStats> stats ) + public void addAuxiliaryCacheStats(final List<IStats> stats) + { + auxStats.addAll(stats); + } + + /** + * @param stats + */ + @Override + public void addAuxiliaryCacheStats(IStats stats) { - auxStats = stats; + auxStats.add(stats); } /** diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/Stats.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/Stats.java index 0b0ca9ed..fc300301 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/Stats.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/Stats.java @@ -1,5 +1,8 @@ package org.apache.commons.jcs4.engine.stats; +import java.util.ArrayList; +import java.util.Collections; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -38,13 +41,31 @@ public class Stats /** The type of stat */ private String typeName; + /** + * Default constructor + */ + public Stats() + { + this.stats = new ArrayList<>(); + } + + /** + * Constructor + * @param typeName + */ + public Stats(String typeName) + { + this(); + this.typeName = typeName; + } + /** * @return IStatElement[] */ @Override public List<IStatElement<?>> getStatElements() { - return stats; + return Collections.unmodifiableList(stats); } /** @@ -60,9 +81,30 @@ public class Stats * @param stats */ @Override - public void setStatElements( final List<IStatElement<?>> stats ) + public void addStatElements( final List<IStatElement<?>> stats ) + { + this.stats.addAll(stats); + } + + /** + * @param stats + */ + @Override + public void addStatElement( final IStatElement<?> stats ) + { + this.stats.add(stats); + } + + /** + * Adds generic statistical or historical data. + * + * @param name name of the StatElement + * @param data value of the StatElement + */ + @Override + public <V> void addStatElement(String name, V data) { - this.stats = stats; + addStatElement(new StatElement<V>(name, data)); } /** diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/ICacheStats.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/ICacheStats.java index 6afe1210..b05dfb74 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/ICacheStats.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/ICacheStats.java @@ -42,7 +42,12 @@ public interface ICacheStats /** * @param stats */ - void setAuxiliaryCacheStats( List<IStats> stats ); + void addAuxiliaryCacheStats(List<IStats> stats); + + /** + * @param stats + */ + void addAuxiliaryCacheStats(IStats stats); /** * @param name diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/IStats.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/IStats.java index 5b28f42e..234ff492 100644 --- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/IStats.java +++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/engine/stats/behavior/IStats.java @@ -44,11 +44,26 @@ public interface IStats String getTypeName(); /** - * Sets the generic statistical or historical data. + * Adds generic statistical or historical data. * * @param stats */ - void setStatElements( List<IStatElement<?>> stats ); + void addStatElements( List<IStatElement<?>> stats ); + + /** + * Adds generic statistical or historical data. + * + * @param stats + */ + void addStatElement(IStatElement<?> stats); + + /** + * Adds generic statistical or historical data. + * + * @param name name of the StatElement + * @param data value of the StatElement + */ + <V> void addStatElement(String name, V data); /** * Sets the type name, such as "LRU Memory Cache." No formal type is defined. diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSRemovalSimpleConcurrentTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSRemovalSimpleConcurrentTest.java index fd0e2f19..bd9cead6 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSRemovalSimpleConcurrentTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSRemovalSimpleConcurrentTest.java @@ -75,7 +75,7 @@ class JCSRemovalSimpleConcurrentTest final String res = jcs.get( i + ":key" ); if ( res != null ) { - assertNull( res, "[" + i + ":key] should be null after remvoeall" + jcs.getStats() ); + assertNull( res, "[" + i + ":key] should be null after remvoeall" + jcs.getStatistics() ); } } } @@ -111,7 +111,7 @@ class JCSRemovalSimpleConcurrentTest final String res = jcs.get( i + ":key" ); if ( res != null ) { - assertNull( res, "[" + i + ":key] should be null after remvoeall" + jcs.getStats() ); + assertNull( res, "[" + i + ":key] should be null after remvoeall" + jcs.getStatistics() ); } } } @@ -165,13 +165,13 @@ class JCSRemovalSimpleConcurrentTest for ( int i = count; i >= 0; i-- ) { final String res = jcs.get( "key:" + i + ":anotherpart" ); - assertNotNull( res, "[key:" + i + ":anotherpart] should not be null, " + jcs.getStats() ); + assertNotNull( res, "[key:" + i + ":anotherpart] should not be null, " + jcs.getStatistics() ); } for ( int i = 0; i < count; i++ ) { jcs.remove( "key:" + i + ":" ); - assertNull( jcs.get( "key:" + i + ":anotherpart" ), jcs.getStats() ); + assertNull( jcs.get( "key:" + i + ":anotherpart" ), jcs.getStatistics().toString() ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSThrashTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSThrashTest.java index b7e5440f..54afaa5e 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSThrashTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/JCSThrashTest.java @@ -217,7 +217,7 @@ class JCSThrashTest jcs.put( key, value ); // Get the element - LOG.info( "jcs.getStats(): " + jcs.getStatistics() ); + LOG.info( "jcs.getStatistics(): " + jcs.getStatistics() ); assertEquals( 1, getListSize() ); assertNotNull( jcs.get( key ) ); assertEquals( value, jcs.get( key ) ); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/TestCacheAccess.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/TestCacheAccess.java index 7ac9cf36..92d843ca 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/TestCacheAccess.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/access/TestCacheAccess.java @@ -694,7 +694,7 @@ public class TestCacheAccess if ( i % 10000 == 0 ) { - p( cache_control.getStats() ); + p( cache_control.getStatistics().toString() ); } } @@ -914,7 +914,7 @@ public class TestCacheAccess } else if ( message.startsWith( "stats" ) ) { - p( cache_control.getStats() ); + p( cache_control.getStatistics().toString() ); } else if ( message.startsWith( "gc" ) ) { diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/admin/AdminBeanUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/admin/AdminBeanUnitTest.java index 54fd0bdd..465763b8 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/admin/AdminBeanUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/admin/AdminBeanUnitTest.java @@ -107,13 +107,11 @@ class AdminBeanUnitTest for (final CacheRegionInfo info : regions) { - if ( info.cacheName().equals( regionName ) ) { foundRegion = true; assertTrue( info.byteCount() > 5, "Byte count should be greater than 5." ); - assertNotNull( info.cacheStatistics(), "Should have stats." ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/MockAuxiliaryCache.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/MockAuxiliaryCache.java index 335cf971..aaf9602d 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/MockAuxiliaryCache.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/MockAuxiliaryCache.java @@ -157,15 +157,6 @@ public class MockAuxiliaryCache<K, V> return null; } - /** - * @return null - */ - @Override - public String getStats() - { - return null; - } - /** * @return int */ diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCacheUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCacheUnitTest.java index d6d00c95..0e6c1525 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCacheUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/AbstractDiskCacheUnitTest.java @@ -304,7 +304,7 @@ class AbstractDiskCacheUnitTest final ICacheElement<String, String> result = diskCache.get( key ); // VERIFY - //System.out.println( diskCache.getStats() ); + //System.out.println( diskCache.getStatistics() ); assertNotNull( result, "Item should be in the map." ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/AbstractBlockDiskCacheUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/AbstractBlockDiskCacheUnitTest.java index efde683c..deb1b244 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/AbstractBlockDiskCacheUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/AbstractBlockDiskCacheUnitTest.java @@ -278,7 +278,7 @@ public abstract class AbstractBlockDiskCacheUnitTest{ // VERIFY assertEquals( 10, matchingResults.size(), "Wrong number returned" ); // System.out.println( "matchingResults.keySet() " + matchingResults.keySet() ); - // System.out.println( "\nAFTER TEST \n" + diskCache.getStats() ); + // System.out.println( "\nAFTER TEST \n" + diskCache.getStatistics() ); } @Test @@ -306,7 +306,7 @@ public abstract class AbstractBlockDiskCacheUnitTest{ // VERIFY assertEquals( 10, matchingResults.size(), "Wrong number returned" ); // System.out.println( "matchingResults.keySet() " + matchingResults.keySet() ); - // System.out.println( "\nAFTER TEST \n" + diskCache.getStats() ); + // System.out.println( "\nAFTER TEST \n" + diskCache.getStatistics() ); } /** diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java index 2bb5c7ab..ff54d4d6 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheConcurrentUnitTest.java @@ -101,7 +101,7 @@ public class BlockDiskCacheConcurrentUnitTest // Verify removal for ( int i = 0; i < items; i++ ) { - assertNull( jcs.get( i + ":key" ), "Removed key should be null: " + i + ":key\n stats " + jcs.getStats() ); + assertNull( jcs.get( i + ":key" ), "Removed key should be null: " + i + ":key\n stats " + jcs.getStatistics() ); } } @@ -150,7 +150,7 @@ public class BlockDiskCacheConcurrentUnitTest // Verify removal for ( int i = start; i < end; i++ ) { - assertNull( jcs.get( i + ":key" ), "Removed key should be null: " + i + ":key\n stats " + jcs.getStats() ); + assertNull( jcs.get( i + ":key" ), "Removed key should be null: " + i + ":key\n stats " + jcs.getStatistics() ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java index 00590d66..0d0d2e61 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskCacheSteadyLoadTest.java @@ -135,23 +135,23 @@ class BlockDiskCacheSteadyLoadTest // System.out.println( LOG_DIVIDER ); // System.out.println( "Elapsed " + timer.getElapsedTimeString() ); // System.out.println( "Run count: " + runCount + " Average size: " + ( totalSize / totalPut ) + "\n" -// + jcs.getStats() ); +// + jcs.getStatistics() ); logMemoryUsage(); } } Thread.sleep( 3000 ); -// System.out.println( jcs.getStats() ); +// System.out.println( jcs.getStatistics() ); logMemoryUsage(); Thread.sleep( 10000 ); -// System.out.println( jcs.getStats() ); +// System.out.println( jcs.getStatistics() ); logMemoryUsage(); System.gc(); Thread.sleep( 3000 ); System.gc(); -// System.out.println( jcs.getStats() ); +// System.out.println( jcs.getStatistics() ); logMemoryUsage(); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskUnitTest.java index 4807d0c1..21641ae5 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/BlockDiskUnitTest.java @@ -369,7 +369,7 @@ class BlockDiskUnitTest assertEquals( numBlocksPerElement, blocks.length, "Wrong number of blocks returned." ); // We check the array contents, too, to ensure we read back what we wrote out - for (int j = 0 ; j < src.length ; j++) { + for (int j = 0; j < src.length; j++) { assertEquals( src[j], result[j], "Mismatch at offset " + j + " in attempt # " + ( i + 1 ) ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java index 83162a85..ffb66aec 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/block/HugeQuantityBlockDiskCacheLoadTest.java @@ -88,13 +88,13 @@ class HugeQuantityBlockDiskCacheLoadTest jcs.put( i + ":key", region + " data " + i ); } - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); System.out.println( "--------------------------" ); System.out.println( "After put: " + measureMemoryUse() ); Thread.sleep( 5000 ); - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); System.out.println( "--------------------------" ); System.out.println( "After wait: " + measureMemoryUse() ); @@ -104,7 +104,7 @@ class HugeQuantityBlockDiskCacheLoadTest System.out.println( "--------------------------" ); System.out.println( "After sleep. " + timer.getElapsedTimeString() + " memory used = " + measureMemoryUse() ); - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); } // Test that all items are in cache @@ -128,7 +128,7 @@ class HugeQuantityBlockDiskCacheLoadTest finally { // dump the stats to the report - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); System.out.println( "--------------------------" ); final long endMemory = measureMemoryUse(); System.out.println( "End: " + endMemory + " diff = " + ( endMemory - initialMemory ) ); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/AbstractIndexDiskCacheUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/AbstractIndexDiskCacheUnitTest.java index 82555d27..eda9bbed 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/AbstractIndexDiskCacheUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/AbstractIndexDiskCacheUnitTest.java @@ -152,9 +152,9 @@ public abstract class AbstractIndexDiskCacheUnitTest{ final long expectedSize = DiskTestObjectUtil.totalSize(elements, numberToRemove); final long resultSize = disk.getBytesFree(); - // System.out.println( "testBytesFreeSize stats " + disk.getStats() ); + // System.out.println( "testBytesFreeSize stats " + disk.getStatistics() ); - assertEquals( expectedSize, resultSize, "Wrong bytes free size" + disk.getStats() ); + assertEquals( expectedSize, resultSize, "Wrong bytes free size" + disk.getStatistics() ); // add half as many as we removed. These should all use spots in the recycle bin. final int numberToAdd = numberToRemove / 2; @@ -165,7 +165,7 @@ public abstract class AbstractIndexDiskCacheUnitTest{ final long expectedSize2 = DiskTestObjectUtil.totalSize(elements, numberToAdd); final long resultSize2 = disk.getBytesFree(); - assertEquals( expectedSize2, resultSize2, "Wrong bytes free size" + disk.getStats() ); + assertEquals( expectedSize2, resultSize2, "Wrong bytes free size" + disk.getStatistics() ); } /** @@ -259,7 +259,7 @@ public abstract class AbstractIndexDiskCacheUnitTest{ final long expectedSize = DiskTestObjectUtil.totalSize(elements, numberToInsert); final long resultSize = disk.getDataFileSize(); - // System.out.println( "testFileSize stats " + disk.getStats() ); + // System.out.println( "testFileSize stats " + disk.getStatistics() ); assertEquals( expectedSize, resultSize, "Wrong file size" ); } @@ -510,7 +510,7 @@ public abstract class AbstractIndexDiskCacheUnitTest{ // VERIFY assertEquals( 10, matchingResults.size(), "Wrong number returned" ); // System.out.println( "matchingResults.keySet() " + matchingResults.keySet() ); - // System.out.println( "\nAFTER TEST \n" + diskCache.getStats() ); + // System.out.println( "\nAFTER TEST \n" + diskCache.getStatistics() ); } /** @@ -544,7 +544,7 @@ public abstract class AbstractIndexDiskCacheUnitTest{ // VERIFY assertEquals( 10, matchingResults.size(), "Wrong number returned" ); // System.out.println( "matchingResults.keySet() " + matchingResults.keySet() ); - // System.out.println( "\nAFTER TEST \n" + diskCache.getStats() ); + // System.out.println( "\nAFTER TEST \n" + diskCache.getStatistics() ); } /** @@ -646,7 +646,7 @@ public abstract class AbstractIndexDiskCacheUnitTest{ // verify that we used the correct number of spots assertEquals( numberToAdd, disk.getRecyleCount(), - "The recycle bin should have the number removed." + disk.getStats() ); + "The recycle bin should have the number removed." + disk.getStatistics() ); } /** @@ -887,7 +887,7 @@ public abstract class AbstractIndexDiskCacheUnitTest{ assertNotNull( element, "element " + i + ":key is missing" ); assertEquals( "data:" + i, element.getVal(), "value key:" + i ); } - // System.out.println( disk.getStats() ); + // System.out.println( disk.getStatistics() ); } /** diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java index 8f730c79..b8f6b3b7 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/HugeQuantityIndDiskCacheLoadTest.java @@ -79,13 +79,13 @@ class HugeQuantityIndDiskCacheLoadTest jcs.put( i + ":key", region + " data " + i ); } - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); System.out.println( "--------------------------" ); System.out.println( "After put: " + measureMemoryUse() ); Thread.sleep( 5000 ); - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); System.out.println( "--------------------------" ); System.out.println( "After wait: " + measureMemoryUse() ); @@ -110,14 +110,14 @@ class HugeQuantityIndDiskCacheLoadTest // for ( int i = 0; i < items; i++ ) // { // assertNull( "Removed key should be null: " + i + ":key\n - // stats " + jcs.getStats(), jcs.get( i + ":key" ) ); + // stats " + jcs.getStatistics(), jcs.get( i + ":key" ) ); // } } finally { // dump the stats to the report - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); System.out.println( "--------------------------" ); System.out.println( "End: " + measureMemoryUse() ); } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java index c0bd4bf6..276c5cf5 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheConcurrentUnitTest.java @@ -95,7 +95,7 @@ public class IndexedDiskCacheConcurrentUnitTest for ( int i = 0; i < items; i++ ) { assertNull( jcs.get( i + ":key" ), - "Removed key should be null: " + i + ":key\n stats " + jcs.getStats() ); + "Removed key should be null: " + i + ":key\n stats " + jcs.getStatistics() ); } } @@ -145,7 +145,7 @@ public class IndexedDiskCacheConcurrentUnitTest for ( int i = start; i < end; i++ ) { assertNull( jcs.get( i + ":key" ), - "Removed key should be null: " + i + ":key\n stats " + jcs.getStats() ); + "Removed key should be null: " + i + ":key\n stats " + jcs.getStatistics() ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java index 18e65a3b..87e7ff6f 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheDefragPerformanceTest.java @@ -35,31 +35,11 @@ class IndexedDiskCacheDefragPerformanceTest /** * Resembles a cached image. */ - private static final class Tile + private record Tile(Integer id, byte[] imageBytes ) implements Serializable { /** Don't change */ private static final long serialVersionUID = 1L; - - /** - * Key - */ - public Integer id; - - /** - * Byte size - */ - public byte[] imageBytes; - - /** - * @param id - * @param imageBytes - */ - public Tile( final Integer id, final byte[] imageBytes ) - { - this.id = id; - this.imageBytes = imageBytes; - } } /** For readability */ @@ -130,18 +110,18 @@ class IndexedDiskCacheDefragPerformanceTest System.out.println( LOG_DIVIDER ); System.out.println( "Total elements = " + TOTAL_ELEMENTS ); - System.out.println( "Stats prior to sleeping " + jcs.getStats() ); + System.out.println( "Stats prior to sleeping " + jcs.getStatistics() ); // Allow system to settle down System.out.println( "Sleeping for a minute." ); Thread.sleep( 60000 ); System.out.println( LOG_DIVIDER ); - System.out.println( "Stats prior to dispose " + jcs.getStats() ); + System.out.println( "Stats prior to dispose " + jcs.getStatistics() ); jcs.dispose(); System.out.println( LOG_DIVIDER ); - System.out.println( "Stats after dispose " + jcs.getStats() ); + System.out.println( "Stats after dispose " + jcs.getStatistics() ); System.out.println( "Done testing." ); } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java index a3664c97..37150b5e 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheNoMemoryUnitTest.java @@ -98,7 +98,7 @@ public class IndexedDiskCacheNoMemoryUnitTest for ( int i = 0; i < items; i++ ) { assertNull( jcs.get( i + ":key" ), - "Removed key should be null: " + i + ":key\n stats " + jcs.getStats() ); + "Removed key should be null: " + i + ":key\n stats " + jcs.getStatistics() ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java index b1d2c03f..eef4a70c 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/indexed/IndexedDiskCacheSteadyLoadTest.java @@ -129,23 +129,23 @@ class IndexedDiskCacheSteadyLoadTest System.out.println( LOG_DIVIDER ); System.out.println( "Elapsed " + timer.getElapsedTimeString() ); System.out.println( "Run count: " + runCount + " Average size: " + totalSize / totalPut + "\n" - + jcs.getStats() ); + + jcs.getStatistics() ); logMemoryUsage(); } } Thread.sleep( 3000 ); - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); logMemoryUsage(); Thread.sleep( 10000 ); - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); logMemoryUsage(); System.gc(); Thread.sleep( 3000 ); System.gc(); - System.out.println( jcs.getStats() ); + System.out.println( jcs.getStatistics() ); logMemoryUsage(); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java index 0bc14093..b172facd 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheRemovalUnitTest.java @@ -82,6 +82,6 @@ class JDBCDiskCacheRemovalUnitTest final String resultAfterRemove = jcs.get( keyPart1 + ":" + keyPart2 ); assertNull( resultAfterRemove, "Should not have a result after removal." ); -// System.out.println( jcs.getStats() ); +// System.out.println( jcs.getStatistics() ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java index baaf45dd..e831f4c6 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/JDBCDiskCacheSharedPoolUnitTest.java @@ -53,7 +53,7 @@ public class JDBCDiskCacheSharedPoolUnitTest { final CacheAccess<String, String> jcs = JCS.getInstance( region ); -// System.out.println( "BEFORE PUT \n" + jcs.getStats() ); +// System.out.println( "BEFORE PUT \n" + jcs.getStatistics() ); // Add items to cache diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java index c617efcb..8953ed32 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/disk/jdbc/hsql/HSQLDiskCacheUnitTest.java @@ -133,7 +133,7 @@ class HSQLDiskCacheUnitTest // I discovered it and removed it. // Thread.sleep( 500 ); -// System.out.println( jcs.getStats() ); +// System.out.println( jcs.getStatistics() ); jcs.clear(); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java index 4b218455..945b24ea 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPConcurrentRandomTestUtil.java @@ -128,7 +128,7 @@ public class LateralTCPConcurrentRandomTestUtil if ( i % 100 == 0 ) { - p( cache.getStats() ); + p( cache.getStatistics().toString() ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java index a875b81e..73c6d1c5 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPFilterRemoveHashCodeUnitTest.java @@ -124,7 +124,7 @@ public class LateralTCPFilterRemoveHashCodeUnitTest * ":data" + i + " junk asdfffffffadfasdfasf " + kn + ":" + n ); * service.update( element ); if ( show ) { p( "put " + key ); } * - * if ( i % 100 == 0 ) { System.out.println( cache.getStats() ); } + * if ( i % 100 == 0 ) { System.out.println( cache.getStatistics() ); } * } p( "Finished cycle of " + numOps ); } catch ( Exception e ) { p( * e.toString() ); e.printStackTrace( System.out ); throw e; } */ diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java index 0f5845cd..02b312c7 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/lateral/socket/tcp/LateralTCPIssueRemoveOnPutUnitTest.java @@ -110,7 +110,7 @@ public class LateralTCPIssueRemoveOnPutUnitTest if (i % 100 == 0) { - p(cache.getStats()); + p(cache.getStatistics().toString()); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/MockRemoteCacheClient.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/MockRemoteCacheClient.java index 8aae54d4..5d2d7925 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/MockRemoteCacheClient.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/MockRemoteCacheClient.java @@ -33,6 +33,7 @@ import org.apache.commons.jcs4.auxiliary.remote.behavior.IRemoteCacheListener; import org.apache.commons.jcs4.engine.CacheStatus; import org.apache.commons.jcs4.engine.behavior.ICacheElement; import org.apache.commons.jcs4.engine.behavior.ICacheServiceNonLocal; +import org.apache.commons.jcs4.engine.stats.Stats; import org.apache.commons.jcs4.engine.stats.behavior.IStats; import org.apache.commons.jcs4.log.Log; @@ -205,18 +206,7 @@ public class MockRemoteCacheClient<K, V> @Override public IStats getStatistics() { - return null; - } - - /** - * Returns the cache stats. - * - * @return String of important historical information. - */ - @Override - public String getStats() - { - return null; + return new Stats(""); } /** diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWaitUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWaitUnitTest.java index f8e46602..385292ee 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWaitUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheNoWaitUnitTest.java @@ -138,7 +138,7 @@ class RemoteCacheNoWaitUnitTest final RemoteCacheNoWait<String, String> noWait = new RemoteCacheNoWait<>( client ); // DO WORK - final String result = noWait.getStats(); + final String result = noWait.getStatistics().toString(); // VERIFY assertTrue( result.indexOf( "ALIVE" ) != -1, "Status should contain 'ALIVE'" ); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java index 1bc5865c..f0c94e2c 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheManualTester.java @@ -53,7 +53,7 @@ class RemoteHttpCacheManualTester jcs.put( "TestKey", "TestValue" ); -// System.out.println( jcs.getStats() ); +// System.out.println( jcs.getStatistics() ); for ( int i = 1; i < items; i++ ) { @@ -73,6 +73,6 @@ class RemoteHttpCacheManualTester jcs.remove( "300:key" ); assertNull( jcs.get( "TestKey" ) ); -// System.out.println( jcs.getStats() ); +// System.out.println( jcs.getStatistics() ); } } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CacheManagerStatsUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CacheManagerStatsUnitTest.java index cb79e9bc..577e1b24 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CacheManagerStatsUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CacheManagerStatsUnitTest.java @@ -21,9 +21,10 @@ package org.apache.commons.jcs4.engine.control; import static org.junit.jupiter.api.Assertions.assertTrue; +import java.util.Arrays; + import org.apache.commons.jcs4.JCS; import org.apache.commons.jcs4.access.CacheAccess; -import org.apache.commons.jcs4.engine.stats.behavior.ICacheStats; import org.junit.jupiter.api.Test; /** @@ -52,21 +53,10 @@ class CacheManagerStatsUnitTest cache.get( "testKey" ); final CompositeCacheManager mgr = CompositeCacheManager.getInstance(); - final String statsString = mgr.getStats(); - -// System.out.println( statsString ); + final String statsString = Arrays.toString(mgr.getStatistics()); assertTrue( statsString.indexOf( "testCache1" ) != -1, "Should have the cacheName in here." ); assertTrue( statsString.indexOf( "HitCountRam" ) != -1, "Should have the HitCountRam in here." ); assertTrue( statsString.indexOf( "4" ) != -1, "Should have the 4 in here." ); - - final ICacheStats[] stats = mgr.getStatistics(); - final int statsLen = stats.length; -// System.out.println( "statsLen = " + statsLen ); - for ( int i = 0; i < statsLen; i++ ) - { - // TODO finish - } } - } diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CompositeCacheDiskUsageUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CompositeCacheDiskUsageUnitTest.java index 65c94ccb..37f6eb6e 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CompositeCacheDiskUsageUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/CompositeCacheDiskUsageUnitTest.java @@ -173,13 +173,6 @@ class CompositeCacheDiskUsageUnitTest return null; } - /** @return null */ - @Override - public String getStats() - { - return null; - } - /** @return 0 */ @Override public CacheStatus getStatus() diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/MockCompositeCacheManager.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/MockCompositeCacheManager.java index e3d6d97b..8f59ad2c 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/MockCompositeCacheManager.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/control/MockCompositeCacheManager.java @@ -26,6 +26,7 @@ import org.apache.commons.jcs4.engine.CompositeCacheAttributes; import org.apache.commons.jcs4.engine.ElementAttributes; import org.apache.commons.jcs4.engine.behavior.ICompositeCacheManager; import org.apache.commons.jcs4.engine.behavior.IShutdownObserver; +import org.apache.commons.jcs4.engine.stats.behavior.ICacheStats; /** For testing. */ public class MockCompositeCacheManager @@ -92,9 +93,9 @@ public class MockCompositeCacheManager /** @return Mock */ @Override - public String getStats() + public ICacheStats[] getStatistics() { - return "Mock"; + return null; } /** diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java index 21c4e22e..f3b741eb 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/lru/LHMLRUMemoryCacheUnitTest.java @@ -130,7 +130,7 @@ class LHMLRUMemoryCacheUnitTest cache.put( i + ":key", "myregion data " + i ); } - final String stats = cache.getStats(); + final String stats = cache.getStatistics().toString(); //System.out.println( stats ); @@ -176,7 +176,7 @@ class LHMLRUMemoryCacheUnitTest for ( int i = max -1; i >= 0; i-- ) { final String value = cache.get( i + ":key" ); - assertNull( value, "Should not have value for key [" + i + ":key] in the cache." + cache.getStats() ); + assertNull( value, "Should not have value for key [" + i + ":key] in the cache." + cache.getStatistics() ); } // Test that last items are in cache @@ -198,7 +198,7 @@ class LHMLRUMemoryCacheUnitTest for ( int i = max-1; i >= 0; i-- ) { assertNull( elements.get( i + ":key" ), - "Should not have value for key [" + i + ":key] in the cache." + cache.getStats() ); + "Should not have value for key [" + i + ":key] in the cache." + cache.getStatistics() ); } for ( int i = max + 2; i < items; i++ ) { diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/mru/MRUMemoryCacheUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/mru/MRUMemoryCacheUnitTest.java index 93b5da3b..c457cde8 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/mru/MRUMemoryCacheUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/mru/MRUMemoryCacheUnitTest.java @@ -130,9 +130,7 @@ class MRUMemoryCacheUnitTest cache.put( i + ":key", "myregion data " + i ); } - final String stats = cache.getStats(); - -// System.out.println( stats ); + final String stats = cache.getStatistics().toString(); // TODO improve stats check assertTrue( stats.indexOf( "2000" ) != -1, "Should have 200 puts" ); @@ -176,7 +174,7 @@ class MRUMemoryCacheUnitTest for ( int i = max -1; i >= 0; i-- ) { final String value = cache.get( i + ":key" ); - assertNull( value, "Should not have value for key [" + i + ":key] in the cache." + cache.getStats() ); + assertNull( value, "Should not have value for key [" + i + ":key] in the cache." + cache.getStatistics() ); } // Test that last items are in cache @@ -198,7 +196,7 @@ class MRUMemoryCacheUnitTest for ( int i = max-1; i >= 0; i-- ) { assertNull( elements.get( i + ":key" ), - "Should not have value for key [" + i + ":key] in the cache." + cache.getStats() ); + "Should not have value for key [" + i + ":key] in the cache." + cache.getStatistics() ); } for ( int i = max + 2; i < items; i++ ) { diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java index b38db7f2..4a6933b1 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/engine/memory/soft/SoftReferenceMemoryCacheUnitTest.java @@ -179,7 +179,7 @@ class SoftReferenceMemoryCacheUnitTest assertEquals( "myregion data " + i, element.getVal(), "value " + i + ":key" ); } - // System.out.println(cache.getStats()); + // System.out.println(cache.getStatistics()); } /** diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryUnitTest.java index e344cd8c..f5331698 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/discovery/UDPDiscoveryUnitTest.java @@ -82,7 +82,7 @@ class UDPDiscoveryUnitTest // send max messages final int max = 10; int cnt = 0; - for ( ; cnt < max; cnt++ ) + for (; cnt < max; cnt++ ) { sender.passiveBroadcast( "localhost", 1111, cacheNames, 1 ); SleepUtil.sleepAtLeast( 20 ); diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializerUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializerUnitTest.java index ab68e8de..ba32b2a5 100644 --- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializerUnitTest.java +++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/utils/serialization/SerializerUnitTest.java @@ -89,7 +89,7 @@ class SerializerUnitTest for ( int i = 0; i < 500; i++ ) { final String res = jcs2.get( "key:" + i ); - assertNotNull( res, "[key:" + i + "] should not be null, " + jcs2.getStats() ); + assertNotNull( res, "[key:" + i + "] should not be null, " + jcs2.getStatistics() ); } } @@ -126,7 +126,7 @@ class SerializerUnitTest for ( int i = 0; i < count; i++ ) { final String res = jcs.get( "key:" + i ); - assertNotNull( res, "[key:" + i + "] should not be null, " + jcs.getStats() ); + assertNotNull( res, "[key:" + i + "] should not be null, " + jcs.getStatistics() ); } } }
