1 package com.atlassian.vcache.internal.legacy;
2
3 import java.util.Optional;
4 import java.util.concurrent.TimeUnit;
5
6 import com.atlassian.cache.CacheSettings;
7 import com.atlassian.cache.CacheSettingsBuilder;
8 import com.atlassian.cache.memory.MemoryCacheManager;
9 import com.atlassian.vcache.DirectExternalCache;
10 import com.atlassian.vcache.ExternalCacheSettings;
11 import com.atlassian.vcache.internal.RequestContext;
12 import com.atlassian.vcache.internal.core.DefaultRequestContext;
13 import com.atlassian.vcache.internal.core.Sha1ExternalCacheKeyGenerator;
14 import com.atlassian.vcache.internal.test.AbstractDirectExternalCacheIT;
15
16 public class LegacyDirectExternalCacheHackIT extends AbstractDirectExternalCacheIT
17 {
18 private final RequestContext requestContext = new DefaultRequestContext("tenant-id-three");
19
20 @Override
21 protected DirectExternalCache<String> createCache(String name, ExternalCacheSettings settings)
22 {
23 final CacheSettings legacySettings = new CacheSettingsBuilder()
24 .remote()
25 .maxEntries(settings.getEntryCountHint().get())
26 .expireAfterAccess(settings.getDefaultTtl().get().toNanos(), TimeUnit.NANOSECONDS)
27 .build();
28
29 return new LegacyDirectExternalCache<>(
30 new MemoryCacheManager().getCache(name, null, legacySettings),
31 () -> requestContext,
32 new Sha1ExternalCacheKeyGenerator("it-test-42"),
33 Optional.empty());
34 }
35 }