View Javadoc

1   package com.atlassian.vcache.internal.legacy;
2   
3   import com.atlassian.cache.CacheSettings;
4   import com.atlassian.cache.CacheSettingsBuilder;
5   import com.atlassian.cache.memory.MemoryCacheManager;
6   import com.atlassian.vcache.JvmCache;
7   import com.atlassian.vcache.JvmCacheSettings;
8   import com.atlassian.vcache.internal.test.AbstractJvmCacheTest;
9   
10  import java.time.Duration;
11  import java.util.concurrent.TimeUnit;
12  
13  import static com.atlassian.vcache.internal.NameValidator.requireValidCacheName;
14  
15  public class LegacyJvmCacheTest extends AbstractJvmCacheTest {
16      private MemoryCacheManager cacheManager = new MemoryCacheManager();
17  
18      @Override
19      protected <K, V> JvmCache<K, V> createCache(String name, JvmCacheSettings settings, Duration lockTimeout) {
20          final CacheSettings legacySettings = new CacheSettingsBuilder()
21                  .local()
22                  .maxEntries(settings.getMaxEntries().orElse(100))
23                  .expireAfterWrite(settings.getDefaultTtl().orElse(Duration.ofSeconds(60)).toNanos(), TimeUnit.NANOSECONDS)
24                  .build();
25  
26          return new LegacyJvmCache<>(
27                  cacheManager.getCache(requireValidCacheName(name), null, legacySettings),
28                  Duration.ofSeconds(1));
29      }
30  }