From cde29c948e98cdaf91d203f6b5054707ad942674 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Tue, 4 Nov 2025 10:41:36 -0800 Subject: [PATCH 1/4] Rework sequence querying & updating (#949) --- protein/src/org/labkey/protein/ProteinModule.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protein/src/org/labkey/protein/ProteinModule.java b/protein/src/org/labkey/protein/ProteinModule.java index 310c61ca9..7840bbbdb 100644 --- a/protein/src/org/labkey/protein/ProteinModule.java +++ b/protein/src/org/labkey/protein/ProteinModule.java @@ -153,7 +153,7 @@ public void beforeSchema() } @Override - public void afterSchema(DatabaseMigrationConfiguration configuration, DbSchema sourceSchema, DbSchema targetSchema, Map> sequenceMap) + public void afterSchema(DatabaseMigrationConfiguration configuration, DbSchema sourceSchema, DbSchema targetSchema) { new SqlExecutor(getSchema()).execute("ALTER TABLE prot.Organisms ADD CONSTRAINT FK_ProtOrganisms_ProtIdentifiers FOREIGN KEY (IdentId) REFERENCES prot.Identifiers (IdentId)"); GoLoader.createGoIndexes(); From cb1940099052f2753dce7f582b052320034a6d89 Mon Sep 17 00:00:00 2001 From: Josh Eckels Date: Sun, 9 Nov 2025 08:16:50 -0800 Subject: [PATCH 2/4] Fixes for Windows failures after FileLike refactor (#952) --- .../executescript/AnalysisScriptController.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java b/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java index 1b2ebe2cc..ca8a27838 100644 --- a/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java +++ b/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java @@ -54,6 +54,7 @@ import org.labkey.api.view.HttpView; import org.labkey.api.view.JspView; import org.labkey.api.view.NavTree; +import org.labkey.api.view.NotFoundException; import org.labkey.api.view.RedirectException; import org.labkey.api.view.ViewBackgroundInfo; import org.labkey.api.view.template.PageConfig; @@ -95,6 +96,7 @@ import java.io.IOException; import java.net.URI; import java.nio.file.Files; +import java.nio.file.InvalidPathException; import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; @@ -370,8 +372,15 @@ protected ModelAndView confirmRuns(ImportRunsForm form, BindException errors) { validatePipeline(); - collectNewPaths(form, errors); - return new JspView("/org/labkey/flow/controllers/executescript/confirmRunsToImport.jsp", form, errors); + try + { + collectNewPaths(form, errors); + return new JspView("/org/labkey/flow/controllers/executescript/confirmRunsToImport.jsp", form, errors); + } + catch (InvalidPathException e) + { + throw new NotFoundException(e.getMessage()); + } } protected ModelAndView uploadRuns(ImportRunsForm form, BindException errors) throws Exception @@ -985,7 +994,7 @@ private void accelerateWizard(ImportAnalysisForm form, BindException errors, Run // Set the data folder if we aren't using an existing run if (SelectFCSFileOption.None == form.getSelectFCSFilesOption()) - form.setKeywordDir(new String[]{getWorkspaceFolder(form).toString()}); + form.setKeywordDir(new String[]{getPipeRoot().relativePath(getWorkspaceFolder(form))}); // Select FCS file (by default we already select all fcs files in working folder) stepSelectFCSFiles(form, errors); From d859a23c6993cb1a51e1547074e76cc7ccfa1e04 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Tue, 11 Nov 2025 16:52:55 -0800 Subject: [PATCH 3/4] Repackage migration interfaces (#953) --- protein/src/org/labkey/protein/ProteinModule.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protein/src/org/labkey/protein/ProteinModule.java b/protein/src/org/labkey/protein/ProteinModule.java index 7840bbbdb..ce0eb2955 100644 --- a/protein/src/org/labkey/protein/ProteinModule.java +++ b/protein/src/org/labkey/protein/ProteinModule.java @@ -20,15 +20,15 @@ import org.jetbrains.annotations.Nullable; import org.labkey.api.data.Container; import org.labkey.api.data.ContainerManager; -import org.labkey.api.data.DatabaseMigrationConfiguration; -import org.labkey.api.data.DatabaseMigrationService; -import org.labkey.api.data.DatabaseMigrationService.DefaultMigrationSchemaHandler; import org.labkey.api.data.DbSchema; import org.labkey.api.data.SqlExecutor; import org.labkey.api.data.TableInfo; import org.labkey.api.data.TableSelector; import org.labkey.api.files.FileContentService; import org.labkey.api.files.TableUpdaterFileListener; +import org.labkey.api.migration.DatabaseMigrationConfiguration; +import org.labkey.api.migration.DatabaseMigrationService; +import org.labkey.api.migration.DefaultMigrationSchemaHandler; import org.labkey.api.module.DefaultModule; import org.labkey.api.module.ModuleContext; import org.labkey.api.pipeline.PipelineService; From e48af12b4b3e84e7f060c415dc727936adb34d31 Mon Sep 17 00:00:00 2001 From: Cory Nathe Date: Tue, 18 Nov 2025 08:15:49 -0600 Subject: [PATCH 4/4] Issue 54242: Luminex re-import to be sure to use previous values for Titration and Single Point Control checkbox state (#956) - fix for re-import case to use existing control checkbox state instead of falling back to "defaultWellRoleValues" --- luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java b/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java index 6bfbcdb24..f529fdbc7 100644 --- a/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java +++ b/luminex/src/org/labkey/luminex/LuminexUploadWizardAction.java @@ -402,8 +402,8 @@ else if (titrationEntry.getValue().isStandard()) boolean existingSinglePointControl = existingSinglePointControls.contains(singlePointControl); propertyName = getSinglePointControlCheckboxNameAndId(singlePointControl); - // If we have an existing singlePointControl as a baseline from the run we're replacing, use its value - defVal = existingSinglePointControl ? "true" : defaultWellRoleValues.get(propertyName); + // Issue 54242: If we are in the reRun case, use the existing singlePointControl value as baseline + defVal = reRun != null ? (existingSinglePointControl ? "true" : "false") : defaultWellRoleValues.get(propertyName); value = setInitialSinglePointControlInput(errorReshow, propertyName, defVal) ? "true" : ""; view.getDataRegion().addHiddenFormField(propertyName, value); }