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