From 27b851f047d5f200ab61ada5fbaf09b00803abce Mon Sep 17 00:00:00 2001 From: labkey-jeckels Date: Fri, 27 Mar 2026 17:11:59 -0700 Subject: [PATCH 1/2] Skip checking for enabled metrics in non-QC folders --- src/org/labkey/targetedms/TargetedMSManager.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/org/labkey/targetedms/TargetedMSManager.java b/src/org/labkey/targetedms/TargetedMSManager.java index 73b423668..af47d55ce 100644 --- a/src/org/labkey/targetedms/TargetedMSManager.java +++ b/src/org/labkey/targetedms/TargetedMSManager.java @@ -167,9 +167,18 @@ private TargetedMSManager() private static final Cache> _metricCache = CacheManager.getBlockingCache(1000, TimeUnit.HOURS.toMillis(1), "Enabled QC metric configs", (c, argument) -> { + if (!(argument instanceof TargetedMSSchema schema)) + { + throw new IllegalArgumentException("Argument must be a TargetedMSSchema but was " + argument); + } + + if (getFolderType(schema.getContainer()) != TargetedMSService.FolderType.QC) + { + return Collections.emptyList(); + } + try { - TargetedMSSchema schema = (TargetedMSSchema) argument; TableInfo metricsTable = schema.getTableOrThrow("qcMetricsConfig", null); List metrics = new TableSelector(metricsTable, null, new Sort(FieldKey.fromParts("Name"))).getArrayList(QCMetricConfiguration.class); From 8879393a00c867d65b0852ef25de6ab7817ca7cb Mon Sep 17 00:00:00 2001 From: labkey-jeckels Date: Sat, 28 Mar 2026 08:32:58 -0700 Subject: [PATCH 2/2] Be paranoid about clearing the cache --- src/org/labkey/targetedms/TargetedMSController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/org/labkey/targetedms/TargetedMSController.java b/src/org/labkey/targetedms/TargetedMSController.java index cf72c3b83..952c0285c 100644 --- a/src/org/labkey/targetedms/TargetedMSController.java +++ b/src/org/labkey/targetedms/TargetedMSController.java @@ -505,6 +505,9 @@ else if (FolderType.QC.toString().equals(folderSetupForm.getFolderType())) addDataPipelineTab(c); addRawFilesPipelineTab(c); + // We may have toggled into or out of QC folder type, so clear out the cache + TargetedMSManager.get().clearQCMetricCache(c, true); + // Inform listeners so that any additional folder configuration can be done. TargetedMSService.get().getTargetedMSFolderTypeListeners().forEach(listener -> listener.folderCreated(c, getUser()));