package org.radargun.service; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.infinispan.client.hotrod.RemoteCache; import org.radargun.traits.CacheInformation; /** * @author Matej Cimbora <mcimbora@redhat.com> */ public class Infinispan60HotRodCacheInfo implements CacheInformation { private Infinispan60HotrodService service; public Infinispan60HotRodCacheInfo(Infinispan60HotrodService service) { this.service = service; } @Override public String getDefaultCacheName() { return service.cacheName; } @Override public Collection<String> getCacheNames() { return Arrays.asList(service.cacheName); } @Override public Cache getCache(String cacheName) { if (cacheName == null) { return new Cache(service.managerForceReturn.getCache(true)); } else { return new Cache(service.managerForceReturn.getCache(cacheName, true)); } } protected class Cache implements CacheInformation.Cache { protected RemoteCache cache; public Cache(RemoteCache cache) { this.cache = cache; } @Override public long getOwnedSize() { return -1; } @Override public long getLocallyStoredSize() { return -1; } @Override public long getMemoryStoredSize() { return -1; } @Override public long getTotalSize() { return cache.size(); } @Override public Map<?, Long> getStructuredSize() { return new HashMap<>(); } @Override public int getNumReplicas() { return -1; } @Override public int getEntryOverhead() { return -1; } } }