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 }