diff --git a/src/org/labkey/targetedms/parser/AbstractChromInfo.java b/src/org/labkey/targetedms/parser/AbstractChromInfo.java index 4aa90cef9..b1aaa9fa9 100644 --- a/src/org/labkey/targetedms/parser/AbstractChromInfo.java +++ b/src/org/labkey/targetedms/parser/AbstractChromInfo.java @@ -23,7 +23,6 @@ import org.labkey.api.data.Container; import org.labkey.api.exp.api.ExpData; import org.labkey.api.exp.api.ExperimentService; -import org.labkey.api.util.Tuple3; import org.labkey.api.util.UnexpectedException; import org.labkey.targetedms.PanoramaBadDataException; import org.labkey.targetedms.TargetedMSRun; @@ -56,10 +55,12 @@ public abstract class AbstractChromInfo extends ChromInfo, CachedBytes> ON_DEMAND_CHROM_CACHE = new BlockingCache<>(CacheManager.getCache(100, CacheManager.HOUR, "SKYD chromatogram cache"), (key, argument) -> { - Path path = key.first; - long offset = key.second; - int length = key.third; + private record ChromKey(Path path, long offset, int length) {} + + private static final BlockingCache ON_DEMAND_CHROM_CACHE = new BlockingCache<>(CacheManager.getCache(ChromKey.class, 100, CacheManager.HOUR, "SKYD chromatogram cache"), (key, argument) -> { + Path path = key.path(); + long offset = key.offset(); + int length = key.length(); long startTime = System.currentTimeMillis(); LOG.debug("Loading chromatogram from {}, offset {}, length {}", path, offset, length); @@ -242,7 +243,7 @@ private CompressedBytesAndStatus getCompressedBytesAndStatus(TargetedMSRun run) else { LOG.debug("Attempting to fetch chromatogram bytes (possibly cached) from {} for {}", skydPath, this); - CachedBytes diskBytes = ON_DEMAND_CHROM_CACHE.get(new Tuple3<>(skydPath, _chromatogramOffset, _chromatogramLength)); + CachedBytes diskBytes = ON_DEMAND_CHROM_CACHE.get(new ChromKey(skydPath, _chromatogramOffset, _chromatogramLength)); if (diskBytes == null) { status = Chromatogram.SourceStatus.skydMissing; diff --git a/src/org/labkey/targetedms/parser/speclib/LibSpectrumReader.java b/src/org/labkey/targetedms/parser/speclib/LibSpectrumReader.java index bdc69f784..e0eba5dae 100644 --- a/src/org/labkey/targetedms/parser/speclib/LibSpectrumReader.java +++ b/src/org/labkey/targetedms/parser/speclib/LibSpectrumReader.java @@ -47,7 +47,7 @@ import java.util.List; import java.util.zip.DataFormatException; -import static org.labkey.targetedms.parser.speclib.LibSpectrum.*; +import static org.labkey.targetedms.parser.speclib.LibSpectrum.SpectrumKey; /** * User: vsharma @@ -172,14 +172,14 @@ private static String getLibCacheKey(@NotNull Container container, String pathSt }; private static final BlockingCache _libCache = - new BlockingCache<>(CacheManager.getStringKeyCache(LIBCACHE_LIMIT, LIBCACHE_LIFETIME, + new BlockingCache<>(CacheManager.getCache(String.class, LIBCACHE_LIMIT, LIBCACHE_LIFETIME, "SpeclibCache"), _libCacheLoader) { @Override - public void remove(@NotNull String key) + public boolean remove(@NotNull String key) { deleteTempFile(key); - super.remove(key); + return super.remove(key); } @Override diff --git a/src/org/labkey/targetedms/query/ModificationManager.java b/src/org/labkey/targetedms/query/ModificationManager.java index 0522c881a..392dd06cc 100644 --- a/src/org/labkey/targetedms/query/ModificationManager.java +++ b/src/org/labkey/targetedms/query/ModificationManager.java @@ -46,8 +46,8 @@ public class ModificationManager { private static final int CACHE_SIZE = 10; // Cache results for up to 10 runs. - private static final Cache>>> PEPTIDE_STR_MOD_INDEXES = CacheManager.getCache(CACHE_SIZE, CacheManager.DAY, "Peptide structural modification indexes"); - private static final Cache, Set>> PEPTIDE_ISOTOPE_MOD_INDEXES = CacheManager.getCache(CACHE_SIZE, CacheManager.DAY, "Peptide isotope modification indexes"); + private static final Cache>>> PEPTIDE_STR_MOD_INDEXES = CacheManager.getCache(String.class, CACHE_SIZE, CacheManager.DAY, "Peptide structural modification indexes"); + private static final Cache, Set>> PEPTIDE_ISOTOPE_MOD_INDEXES = CacheManager.getCache(String.class, CACHE_SIZE, CacheManager.DAY, "Peptide isotope modification indexes"); private ModificationManager() {} diff --git a/src/org/labkey/targetedms/query/PeptideManager.java b/src/org/labkey/targetedms/query/PeptideManager.java index 8292a9631..cfccb2ce3 100644 --- a/src/org/labkey/targetedms/query/PeptideManager.java +++ b/src/org/labkey/targetedms/query/PeptideManager.java @@ -35,7 +35,7 @@ public class PeptideManager { private static final int CACHE_SIZE = 10; - private static final Cache> PEPTIDE_IDS_WITH_SPECTRA = CacheManager.getCache(CACHE_SIZE, CacheManager.DAY, "Peptide IDs with library spectra"); + private static final Cache> PEPTIDE_IDS_WITH_SPECTRA = CacheManager.getCache(String.class, CACHE_SIZE, CacheManager.DAY, "Peptide IDs with library spectra"); private PeptideManager() {} diff --git a/src/org/labkey/targetedms/query/PrecursorManager.java b/src/org/labkey/targetedms/query/PrecursorManager.java index 6ea8444aa..c6ba46950 100644 --- a/src/org/labkey/targetedms/query/PrecursorManager.java +++ b/src/org/labkey/targetedms/query/PrecursorManager.java @@ -58,8 +58,8 @@ public class PrecursorManager { private static final int CACHE_SIZE = 10; // Cache results for up to 10 runs. - private static final Cache> PRECURSOR_IDS_WITH_CHROMATOGRAMS = CacheManager.getCache(CACHE_SIZE, CacheManager.DAY, "Precursors having chromatograms"); - private static final Cache> PRECURSOR_IDS_WITH_SPECTRA = CacheManager.getCache(CACHE_SIZE, CacheManager.DAY, "Precursors having library spectra"); + private static final Cache> PRECURSOR_IDS_WITH_CHROMATOGRAMS = CacheManager.getCache(String.class, CACHE_SIZE, CacheManager.DAY, "Precursors having chromatograms"); + private static final Cache> PRECURSOR_IDS_WITH_SPECTRA = CacheManager.getCache(String.class, CACHE_SIZE, CacheManager.DAY, "Precursors having library spectra"); private PrecursorManager() {} diff --git a/src/org/labkey/targetedms/view/spectrum/LibrarySpectrumMatchGetter.java b/src/org/labkey/targetedms/view/spectrum/LibrarySpectrumMatchGetter.java index 94ea34f17..8b5d767bb 100644 --- a/src/org/labkey/targetedms/view/spectrum/LibrarySpectrumMatchGetter.java +++ b/src/org/labkey/targetedms/view/spectrum/LibrarySpectrumMatchGetter.java @@ -122,7 +122,7 @@ private static boolean isLargeSpectrumLibrary(Path libPath) } private static final BlockingCache> _peptideIdRtsCache = - CacheManager.getBlockingCache(CACHE_SIZE, CacheManager.DAY, "TargetedMS peptide ID retention times", + CacheManager.getBlockingCache(PrecursorKey.class, CACHE_SIZE, CacheManager.DAY, "TargetedMS peptide ID retention times", (precursor, argument) -> { if (!(argument instanceof Container)) {