package org.infinispan.counter.impl; import org.infinispan.configuration.cache.CacheMode; import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.counter.EmbeddedCounterManagerFactory; import org.infinispan.counter.api.CounterManager; import org.infinispan.test.MultipleCacheManagersTest; /** * @author Pedro Ruivo * @since 9.0 */ public abstract class BaseCounterTest extends MultipleCacheManagersTest { protected abstract int clusterSize(); protected GlobalConfigurationBuilder configure(int nodeId) { return GlobalConfigurationBuilder.defaultClusteredBuilder(); } @Override protected final void createCacheManagers() throws Throwable { final int size = clusterSize(); for (int i = 0; i < size; ++i) { addClusterEnabledCacheManager(configure(i), getDefaultClusteredCacheConfig(CacheMode.DIST_SYNC)); } waitForCounterCaches(); } protected final void waitForCounterCaches() { waitForClusterToForm(null, CounterModuleLifecycle.COUNTER_CONFIGURATION_CACHE_NAME, CounterModuleLifecycle.COUNTER_CACHE_NAME); } protected final CounterManager counterManager(int index) { return EmbeddedCounterManagerFactory.asCounterManager(manager(index)); } }