Skip to content

Commit 25d3393

Browse files
Skip checking for enabled metrics in non-QC folders (#1188)
* Skip checking for enabled metrics in non-QC folders * Be paranoid about clearing the cache
1 parent d220f2f commit 25d3393

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/org/labkey/targetedms/TargetedMSController.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,9 @@ else if (FolderType.QC.toString().equals(folderSetupForm.getFolderType()))
505505
addDataPipelineTab(c);
506506
addRawFilesPipelineTab(c);
507507

508+
// We may have toggled into or out of QC folder type, so clear out the cache
509+
TargetedMSManager.get().clearQCMetricCache(c, true);
510+
508511
// Inform listeners so that any additional folder configuration can be done.
509512
TargetedMSService.get().getTargetedMSFolderTypeListeners().forEach(listener -> listener.folderCreated(c, getUser()));
510513

src/org/labkey/targetedms/TargetedMSManager.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,18 @@ private TargetedMSManager()
167167
private static final Cache<Container, List<QCMetricConfiguration>> _metricCache = CacheManager.getBlockingCache(1000, TimeUnit.HOURS.toMillis(1), "Enabled QC metric configs",
168168
(c, argument) ->
169169
{
170+
if (!(argument instanceof TargetedMSSchema schema))
171+
{
172+
throw new IllegalArgumentException("Argument must be a TargetedMSSchema but was " + argument);
173+
}
174+
175+
if (getFolderType(schema.getContainer()) != TargetedMSService.FolderType.QC)
176+
{
177+
return Collections.emptyList();
178+
}
179+
170180
try
171181
{
172-
TargetedMSSchema schema = (TargetedMSSchema) argument;
173182
TableInfo metricsTable = schema.getTableOrThrow("qcMetricsConfig", null);
174183
List<QCMetricConfiguration> metrics = new TableSelector(metricsTable, null, new Sort(FieldKey.fromParts("Name"))).getArrayList(QCMetricConfiguration.class);
175184

0 commit comments

Comments
 (0)