View Javadoc
1   package com.atlassian.cache.vcache;
2   
3   import java.time.Duration;
4   
5   import com.atlassian.cache.CacheFactory;
6   import com.atlassian.cache.memory.MemoryCacheManager;
7   import com.atlassian.vcache.ChangeRate;
8   import com.atlassian.vcache.internal.core.DefaultVCacheCreationHandler;
9   import com.atlassian.vcache.internal.core.ThreadLocalRequestContextSupplier;
10  import com.atlassian.vcache.internal.core.metrics.MetricsCollector;
11  import com.atlassian.vcache.internal.core.metrics.NoopMetricsCollector;
12  import com.atlassian.vcache.internal.legacy.LegacyVCacheService;
13  
14  class TestUtils
15  {
16      private static final int MAX_ENTRIES = 100;
17      private static final Duration MAX_TTL = Duration.ofSeconds(60);
18  
19      static VCacheCacheManager createCacheFactory()
20      {
21          // Make caches local by default.
22          final CacheFactory cacheFactory = new MemoryCacheManager(new MyCacheSettingsDefaultsProvider());
23          final ThreadLocalRequestContextSupplier requestContextSupplier =
24                  new ThreadLocalRequestContextSupplier();
25          final MetricsCollector metricsCollector = new NoopMetricsCollector();
26  
27          final LegacyVCacheService service = new LegacyVCacheService(
28                  "confira",
29                  requestContextSupplier,
30                  new EmptyVCacheSettingsDefaultsProvider(),
31                  new DefaultVCacheCreationHandler(
32                          MAX_ENTRIES,
33                          MAX_TTL,
34                          MAX_ENTRIES,
35                          ChangeRate.HIGH_CHANGE,
36                          ChangeRate.HIGH_CHANGE),
37                  metricsCollector,
38                  () -> cacheFactory,
39                  true);
40  
41          requestContextSupplier.initThread("abcd");
42  
43          return new VCacheCacheManager(service, null);
44      }
45  }