From 593cb9e1f75e13335a44a186bcbf950b1745c1c2 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Tue, 31 Dec 2024 04:28:11 -0800 Subject: [PATCH 1/2] Bump schema versions to 25.000 (#994) --- src/org/labkey/targetedms/TargetedMSModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/targetedms/TargetedMSModule.java b/src/org/labkey/targetedms/TargetedMSModule.java index c1f337dea..8af31999a 100644 --- a/src/org/labkey/targetedms/TargetedMSModule.java +++ b/src/org/labkey/targetedms/TargetedMSModule.java @@ -225,7 +225,7 @@ public String getName() @Override public Double getSchemaVersion() { - return 24.005; + return 25.000; } @Override From 03988bf0688b6868996079a67f1bcf72f45e44b6 Mon Sep 17 00:00:00 2001 From: Josh Eckels Date: Thu, 2 Jan 2025 17:15:16 -0800 Subject: [PATCH 2/2] Handle case where file is imported after the job is queued (#996) --- .../labkey/targetedms/SkylineDocImporter.java | 35 ++++++------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/src/org/labkey/targetedms/SkylineDocImporter.java b/src/org/labkey/targetedms/SkylineDocImporter.java index b3388a101..232d8d849 100644 --- a/src/org/labkey/targetedms/SkylineDocImporter.java +++ b/src/org/labkey/targetedms/SkylineDocImporter.java @@ -208,7 +208,7 @@ public TargetedMSRun importRun(RunInfo runInfo, PipelineJob job) throws IOExcept } // Skip if run was already fully imported - if (runInfo.isAlreadyImported() && run.getStatusId() == SkylineDocImporter.STATUS_SUCCESS) + if (run.getStatusId() == SkylineDocImporter.STATUS_SUCCESS) { _log.info(_expData.getName() + " has already been imported so it does not need to be imported again"); return run; @@ -2583,60 +2583,45 @@ protected static void updateRunStatus(long runId, String status, int statusId) public static class RunInfo implements Serializable { private final long _runId; - private final boolean _alreadyImported; @JsonCreator - private RunInfo(@JsonProperty("_runId") long runId, @JsonProperty("_alreadyImported") boolean alreadyImported) + private RunInfo(@JsonProperty("_runId") long runId) { _runId = runId; - - _alreadyImported = alreadyImported; } public long getRunId() { return _runId; } - - public boolean isAlreadyImported() - { - return _alreadyImported; - } } public RunInfo prepareRun() { try (DbScope.Transaction transaction = TargetedMSManager.getSchema().getScope().ensureTransaction(_schemaLock)) { - boolean alreadyImported = false; - // Don't import if we've already imported this file (undeleted run exists matching this file name) - _runId = getRun(); - if (_runId != -1) - { - alreadyImported = true; - } - else + TargetedMSRun run = getRun(); + if (run == null) { _log.info("Starting import from " + _expData.getName()); - _runId = createRun(); + run = createRun(); } transaction.commit(); - return new RunInfo(_runId, alreadyImported); + return new RunInfo(run.getRunId()); } } - protected long getRun() + protected TargetedMSRun getRun() { SimpleFilter filter = new SimpleFilter(FieldKey.fromParts("DataId"), _expData.getRowId()); filter.addCondition(FieldKey.fromParts("Container"), _container.getId()); filter.addCondition(FieldKey.fromParts("Deleted"), Boolean.FALSE); - TargetedMSRun run = new TableSelector(TargetedMSManager.getTableInfoRuns(), filter, null).getObject(TargetedMSRun.class); - return run != null ? run.getId() : -1; + return new TableSelector(TargetedMSManager.getTableInfoRuns(), filter, null).getObject(TargetedMSRun.class); } - protected long createRun() + protected TargetedMSRun createRun() { TargetedMSRun run = TargetedMSManager.getRunByDataId(_expData.getRowId(), _container); if (run != null) @@ -2653,7 +2638,7 @@ protected long createRun() run.setRepresentativeDataState(_representative == null ? RunRepresentativeDataState.NotRepresentative : _representative); run = Table.insert(_user, TargetedMSManager.getTableInfoRuns(), run); - return run.getId(); + return run; } protected void logError(String message, Exception e)