From f8249bd0c09781a18f05363dc3672debd3970699 Mon Sep 17 00:00:00 2001 From: labkey-matthewb Date: Mon, 28 Jul 2025 18:00:40 -0700 Subject: [PATCH 01/20] checkpoint - migrate to using long/Long to represent any integer ID value (rowId, objectId, etc). --- .../org/labkey/elisa/ElisaAssayProvider.java | 2 +- .../src/org/labkey/elisa/ElisaController.java | 12 ++--- .../org/labkey/elisa/ElisaDataHandler.java | 2 +- .../elisa/HighThroughputImportHelper.java | 7 +-- .../org/labkey/elisa/ManualImportHelper.java | 3 +- .../org/labkey/elisa/query/CurveFitDb.java | 12 ++--- .../elispot/AbstractElispotDataHandler.java | 2 +- .../labkey/elispot/ElispotAssayProvider.java | 4 +- .../labkey/elispot/ElispotDataHandler.java | 2 +- .../org/labkey/elispot/ElispotManager.java | 6 +-- flow/src/org/labkey/flow/FlowServiceImpl.java | 2 +- .../flow/controllers/BaseFlowController.java | 4 +- .../flow/controllers/ReportsController.java | 2 +- .../editscript/EditScriptForm.java | 10 ++-- .../AnalysisScriptController.java | 2 +- .../ChooseRunsToAnalyzeForm.java | 2 +- .../executescript/ImportAnalysisForm.java | 6 +-- .../executescript/SamplesConfirmGridView.java | 5 +- .../executescript/SelectedSamples.java | 16 +++--- .../importAnalysisChooseAnalysis.jsp | 5 +- .../controllers/protocol/showSamples2.jsp | 12 ++--- .../flow/controllers/run/RunController.java | 2 +- .../controllers/well/ChooseGraphForm.java | 4 +- .../flow/controllers/well/chooseGraph.jsp | 8 +-- .../labkey/flow/controllers/well/showWell.jsp | 2 +- .../labkey/flow/data/FlowAssayProvider.java | 10 ++-- .../flow/data/FlowCompensationMatrix.java | 2 +- .../org/labkey/flow/data/FlowDataObject.java | 11 ++-- .../org/labkey/flow/data/FlowExperiment.java | 4 +- .../src/org/labkey/flow/data/FlowFCSFile.java | 2 +- .../org/labkey/flow/data/FlowProtocol.java | 54 ++++++++++--------- flow/src/org/labkey/flow/data/FlowRun.java | 6 +-- .../labkey/flow/data/FlowRunWorkspace.java | 2 +- flow/src/org/labkey/flow/data/FlowScript.java | 2 +- flow/src/org/labkey/flow/data/FlowWell.java | 8 +-- .../org/labkey/flow/data/FlowWorkspace.java | 2 +- .../org/labkey/flow/persist/AttrObject.java | 8 +-- .../labkey/flow/persist/AttributeCache.java | 3 +- .../flow/persist/AttributeSetHelper.java | 3 +- .../org/labkey/flow/persist/FlowManager.java | 3 +- .../org/labkey/flow/reports/FlowReport.java | 4 +- .../labkey/flow/reports/FlowReportJob.java | 2 +- .../flow/reports/FlowReportManager.java | 8 +-- flow/src/org/labkey/flow/script/FlowJob.java | 2 +- .../org/labkey/flow/view/FlowQueryView.java | 8 +-- .../labkey/luminex/LuminexAssayProvider.java | 8 +-- .../org/labkey/luminex/LuminexController.java | 10 ++-- .../labkey/luminex/LuminexDataHandler.java | 18 +++---- .../luminex/LuminexExclusionPipelineJob.java | 2 +- .../org/labkey/luminex/LuminexManager.java | 48 +++++++++-------- .../org/labkey/luminex/LuminexReplicate.java | 6 +-- .../org/labkey/luminex/LuminexRunCreator.java | 2 +- .../luminex/LuminexSaveExclusionsForm.java | 13 +++-- .../LuminexSingleExclusionCommand.java | 6 +-- .../luminex/LuminexUploadWizardAction.java | 2 +- .../luminex/model/AbstractAnalyteQCFlag.java | 2 +- .../luminex/model/AbstractLuminexControl.java | 8 ++- .../model/AbstractLuminexControlAnalyte.java | 2 +- .../src/org/labkey/luminex/model/Analyte.java | 6 +-- .../AnalyteSinglePointControlQCFlag.java | 4 +- .../luminex/model/AnalyteTitrationQCFlag.java | 4 +- .../org/labkey/luminex/model/CVQCFlag.java | 12 ++--- .../org/labkey/luminex/model/GuideSet.java | 6 +-- .../labkey/luminex/model/LuminexDataRow.java | 12 ++--- .../query/AnalyteSinglePointControlTable.java | 2 +- .../luminex/query/AnalyteTitrationTable.java | 2 +- .../query/ExclusionUIDisplayColumn.java | 4 +- .../labkey/luminex/query/GuideSetTable.java | 2 +- .../luminex/query/LuminexProtocolSchema.java | 3 +- .../util/luminex/LuminexGuideSetHelper.java | 3 +- .../matrix/AbstractMatrixRunCreator.java | 2 +- .../matrix/ExpressionMatrixDataHandler.java | 11 ++-- .../ms2/BibliospecSpectrumRenderer.java | 10 ++-- ms2/src/org/labkey/ms2/MS2Controller.java | 20 +++---- ms2/src/org/labkey/ms2/MS2Manager.java | 44 +++++++-------- ms2/src/org/labkey/ms2/MS2Run.java | 6 +-- ms2/src/org/labkey/ms2/MascotDatImporter.java | 5 +- .../ms2/PepXmlExperimentDataHandler.java | 2 +- .../org/labkey/ms2/PeptideProphetGraphs.java | 2 +- .../org/labkey/ms2/ProteinGroupProteins.java | 4 +- .../labkey/ms2/ProteinProphetImporter.java | 2 +- ms2/src/org/labkey/ms2/RunListCache.java | 2 +- ms2/src/org/labkey/ms2/query/MS2Schema.java | 7 +-- .../ms2/query/ProteinGroupTableInfo.java | 2 +- .../labkey/ms2/reader/SensitivitySummary.java | 6 +-- .../systemsbiology/jrap/SAX2IndexHandler.java | 4 +- .../labkey/nab/GetStudyNabGraphURLAction.java | 4 +- .../org/labkey/nab/GetStudyNabRunsAction.java | 13 ++--- .../org/labkey/nab/NabAssayController.java | 10 ++-- nab/src/org/labkey/nab/NabAssayProvider.java | 6 +-- nab/src/org/labkey/nab/NabDataHandler.java | 9 ++-- nab/src/org/labkey/nab/NabManager.java | 16 +++--- nab/src/org/labkey/nab/NabRunPropertyMap.java | 2 +- .../org/labkey/nab/StudyNabGraphAction.java | 6 +-- .../HighThroughputNabDataHandler.java | 7 +-- .../SinglePlateDilutionNabDataHandler.java | 11 ++-- .../labkey/nab/query/NabProtocolSchema.java | 4 +- .../labkey/api/protein/CoverageProtein.java | 4 +- .../CustomAnnotationSetManager.java | 2 +- .../org/labkey/protein/ProteinController.java | 6 +-- .../viability/ViabilityAssayProvider.java | 4 +- .../labkey/viability/ViabilityManager.java | 27 +++++----- .../org/labkey/viability/ViabilityResult.java | 24 ++++----- 103 files changed, 388 insertions(+), 361 deletions(-) diff --git a/elisa/src/org/labkey/elisa/ElisaAssayProvider.java b/elisa/src/org/labkey/elisa/ElisaAssayProvider.java index 2c54a44e3f..f704418e4f 100644 --- a/elisa/src/org/labkey/elisa/ElisaAssayProvider.java +++ b/elisa/src/org/labkey/elisa/ElisaAssayProvider.java @@ -434,7 +434,7 @@ public Collection getCurveFits() protected void moveAssayResults(List runs, ExpProtocol protocol, Container sourceContainer, Container targetContainer, User user, AssayMoveData assayMoveData) throws ExperimentException { super.moveAssayResults(runs, protocol, sourceContainer, targetContainer, user, assayMoveData); // assay results - List runRowIds = runs.stream().map(ExpRun::getRowId).toList(); + List runRowIds = runs.stream().map(ExpRun::getRowId).toList(); // move specimen String tableName = AssayProtocolSchema.DATA_TABLE_NAME; diff --git a/elisa/src/org/labkey/elisa/ElisaController.java b/elisa/src/org/labkey/elisa/ElisaController.java index d5a75c789f..37228df59b 100644 --- a/elisa/src/org/labkey/elisa/ElisaController.java +++ b/elisa/src/org/labkey/elisa/ElisaController.java @@ -55,17 +55,17 @@ public ElisaController() public static class RunDetailsForm { - private int _protocolId; - private int _runId; + private long _protocolId; + private long _runId; private String _runName; private String _schemaName; - public int getRunId() + public long getRunId() { return _runId; } - public void setRunId(int runId) + public void setRunId(long runId) { _runId = runId; } @@ -90,12 +90,12 @@ public void setSchemaName(String schemaName) _schemaName = schemaName; } - public int getProtocolId() + public long getProtocolId() { return _protocolId; } - public void setProtocolId(int protocolId) + public void setProtocolId(long protocolId) { _protocolId = protocolId; } diff --git a/elisa/src/org/labkey/elisa/ElisaDataHandler.java b/elisa/src/org/labkey/elisa/ElisaDataHandler.java index 63a2e2b716..67d0512cb8 100644 --- a/elisa/src/org/labkey/elisa/ElisaDataHandler.java +++ b/elisa/src/org/labkey/elisa/ElisaDataHandler.java @@ -431,7 +431,7 @@ public void beforeDeleteData(List datas, User user) throws ExperimentEx { super.beforeDeleteData(datas, user); - Set runIds = new HashSet<>(); + Set runIds = new HashSet<>(); for (ExpData data : datas) { if (null != data.getRunId()) diff --git a/elisa/src/org/labkey/elisa/HighThroughputImportHelper.java b/elisa/src/org/labkey/elisa/HighThroughputImportHelper.java index 8a8d3988a1..24daced2bc 100644 --- a/elisa/src/org/labkey/elisa/HighThroughputImportHelper.java +++ b/elisa/src/org/labkey/elisa/HighThroughputImportHelper.java @@ -10,6 +10,7 @@ import org.labkey.api.assay.plate.PositionImpl; import org.labkey.api.assay.plate.Well; import org.labkey.api.assay.plate.WellGroup; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.statistics.CurveFit; import org.labkey.api.exp.ExperimentException; import org.labkey.api.exp.api.ExpMaterial; @@ -139,7 +140,7 @@ public Set getPlates() @Override public Map getAnalyteToPlate(String plateName) throws ExperimentException { - Map analyteToPlate = new HashMap<>(); + Map analyteToPlate = new IntHashMap<>(); for (Map.Entry entry : _plateMap.get(plateName).getDataMap().entrySet()) { Plate plate = PlateService.get().createPlate(_plateTemplate, entry.getValue(), null); @@ -171,8 +172,8 @@ public Map getExtraProperties(String plateName, Position positio private static class AnalytePlate { - private final Map> _stdConcentrations = new HashMap<>(); - private final Map _dataMap = new HashMap<>(); + private final Map> _stdConcentrations = new IntHashMap<>(); + private final Map _dataMap = new IntHashMap<>(); private final String _plateName; private final Plate _plateTemplate; // contains the mapping of (well/analyte) to extra row data to merge during data import diff --git a/elisa/src/org/labkey/elisa/ManualImportHelper.java b/elisa/src/org/labkey/elisa/ManualImportHelper.java index 67a8dc9050..f0f78ec201 100644 --- a/elisa/src/org/labkey/elisa/ManualImportHelper.java +++ b/elisa/src/org/labkey/elisa/ManualImportHelper.java @@ -10,6 +10,7 @@ import org.labkey.api.assay.plate.Position; import org.labkey.api.assay.plate.Well; import org.labkey.api.assay.plate.WellGroup; +import org.labkey.api.collections.IntHashMap; import org.labkey.api.data.statistics.CurveFit; import org.labkey.api.exp.ExperimentException; import org.labkey.api.exp.api.ExpMaterial; @@ -45,7 +46,7 @@ public Set getPlates() @Override public Map getAnalyteToPlate(String plateName) throws ExperimentException { - Map analyteMap = new HashMap<>(); + Map analyteMap = new IntHashMap<>(); PlateReader reader = _provider.getPlateReader(BioTekPlateReader.LABEL); if (reader != null) { diff --git a/elisa/src/org/labkey/elisa/query/CurveFitDb.java b/elisa/src/org/labkey/elisa/query/CurveFitDb.java index e106be4145..0bc2616969 100644 --- a/elisa/src/org/labkey/elisa/query/CurveFitDb.java +++ b/elisa/src/org/labkey/elisa/query/CurveFitDb.java @@ -5,8 +5,8 @@ public class CurveFitDb extends Entity { private Integer _rowId; - private Integer _runId; - private Integer _protocolId; + private Long _runId; + private Long _protocolId; private String _plateName; private Integer _spot; private Double _rSquared; @@ -27,22 +27,22 @@ public void setRowId(Integer rowId) _rowId = rowId; } - public Integer getRunId() + public Long getRunId() { return _runId; } - public void setRunId(Integer runId) + public void setRunId(Long runId) { _runId = runId; } - public Integer getProtocolId() + public Long getProtocolId() { return _protocolId; } - public void setProtocolId(Integer protocolId) + public void setProtocolId(Long protocolId) { _protocolId = protocolId; } diff --git a/elispotassay/src/org/labkey/elispot/AbstractElispotDataHandler.java b/elispotassay/src/org/labkey/elispot/AbstractElispotDataHandler.java index 1d375a4e65..2d61dfe69a 100644 --- a/elispotassay/src/org/labkey/elispot/AbstractElispotDataHandler.java +++ b/elispotassay/src/org/labkey/elispot/AbstractElispotDataHandler.java @@ -156,7 +156,7 @@ public static Lsid getAntigenRowLsid(String dataLsid, String sampleName) return dataRowLsid.build(); } - public static Lsid getAntigenLsid(String antigenWellgroupName, String sampleName, int runId, String assayName, String analyte) + public static Lsid getAntigenLsid(String antigenWellgroupName, String sampleName, long runId, String assayName, String analyte) { assert (antigenWellgroupName != null); assert (sampleName != null); diff --git a/elispotassay/src/org/labkey/elispot/ElispotAssayProvider.java b/elispotassay/src/org/labkey/elispot/ElispotAssayProvider.java index c219469d7e..454662d589 100644 --- a/elispotassay/src/org/labkey/elispot/ElispotAssayProvider.java +++ b/elispotassay/src/org/labkey/elispot/ElispotAssayProvider.java @@ -174,10 +174,10 @@ public ElispotAssayProvider() } @Override - public Set getDatasForResultRows(Collection rowIds, ExpProtocol protocol, ResolverCache cache) + public Set getDatasForResultRows(Collection rowIds, ExpProtocol protocol, ResolverCache cache) { Set result = new HashSet<>(); - for (Integer rowId : rowIds) + for (var rowId : rowIds) { RunDataRow dataRow = ElispotManager.get().getRunDataRow(rowId); if (dataRow == null) diff --git a/elispotassay/src/org/labkey/elispot/ElispotDataHandler.java b/elispotassay/src/org/labkey/elispot/ElispotDataHandler.java index b708b94504..91bf4aa86c 100644 --- a/elispotassay/src/org/labkey/elispot/ElispotDataHandler.java +++ b/elispotassay/src/org/labkey/elispot/ElispotDataHandler.java @@ -523,7 +523,7 @@ public static void populateAntigenRunProperties(ExpRun run, Plate plate, PlateRe } } - private static Map makeAntigenRow(int runId, String specimenLsid, String wellgroupName, String antigenName, + private static Map makeAntigenRow(long runId, String specimenLsid, String wellgroupName, String antigenName, Double mean, Double median, String objectUri, String protocolName, String antigenWellgroupName, String analyte, Object cytokine) { diff --git a/elispotassay/src/org/labkey/elispot/ElispotManager.java b/elispotassay/src/org/labkey/elispot/ElispotManager.java index 35e24fb21d..5dc043852d 100644 --- a/elispotassay/src/org/labkey/elispot/ElispotManager.java +++ b/elispotassay/src/org/labkey/elispot/ElispotManager.java @@ -89,7 +89,7 @@ public int insertRunDataRow(User user, Map fields) } @Nullable - public RunDataRow getRunDataRow(int rowId) + public RunDataRow getRunDataRow(long rowId) { Filter filter = new SimpleFilter(FieldKey.fromString("RowId"), rowId); return new TableSelector(getTableInfoElispotRunData()).getObject(filter, RunDataRow.class); @@ -184,14 +184,14 @@ public void deleteRunData(List datas) try (DbScope.Transaction transaction = scope.ensureTransaction()) { // Delete all rows based on the runId - Set runIds = new HashSet<>(); + Set runIds = new HashSet<>(); for (ExpData data : datas) { runIds.add(data.getRunId()); } // Since runIds may be from different folders, delete from each separately - for (Integer runId : runIds) + for (var runId : runIds) { if (null != runId) { diff --git a/flow/src/org/labkey/flow/FlowServiceImpl.java b/flow/src/org/labkey/flow/FlowServiceImpl.java index 9bb375778d..9d08e73ffa 100644 --- a/flow/src/org/labkey/flow/FlowServiceImpl.java +++ b/flow/src/org/labkey/flow/FlowServiceImpl.java @@ -64,7 +64,7 @@ public List getExpDataByPath(Path path, @Nullable Container c sql.append(" ORDER BY 1"); - Integer[] dataids = new SqlSelector(FlowManager.get().getSchema(), sql).getArray(Integer.class); + Long[] dataids = new SqlSelector(FlowManager.get().getSchema(), sql).getArray(Long.class); return ExperimentService.get().getExpDatas(Arrays.asList(dataids)); } diff --git a/flow/src/org/labkey/flow/controllers/BaseFlowController.java b/flow/src/org/labkey/flow/controllers/BaseFlowController.java index 208acdad54..99acebae8b 100644 --- a/flow/src/org/labkey/flow/controllers/BaseFlowController.java +++ b/flow/src/org/labkey/flow/controllers/BaseFlowController.java @@ -217,9 +217,9 @@ protected void putParam(ActionURL url, Enum param, String value) url.replaceParameter(param.toString(), value); } - protected void putParam(ActionURL url, Enum param, int value) + protected void putParam(ActionURL url, Enum param, long value) { - putParam(url, param, Integer.toString(value)); + putParam(url, param, Long.toString(value)); } public HttpServletRequest getRequest() diff --git a/flow/src/org/labkey/flow/controllers/ReportsController.java b/flow/src/org/labkey/flow/controllers/ReportsController.java index ea4f41ccdc..6435d865b7 100644 --- a/flow/src/org/labkey/flow/controllers/ReportsController.java +++ b/flow/src/org/labkey/flow/controllers/ReportsController.java @@ -408,7 +408,7 @@ else if (r.saveToDomain()) PipelineService.get().queueJob(job); // navigate to the job status page - int jobId = PipelineService.get().getJobId(getUser(), getContainer(), job.getJobGUID()); + long jobId = PipelineService.get().getJobId(getUser(), getContainer(), job.getJobGUID()); throw new RedirectException(urlProvider(PipelineStatusUrls.class).urlDetails(getContainer(), jobId)); } } diff --git a/flow/src/org/labkey/flow/controllers/editscript/EditScriptForm.java b/flow/src/org/labkey/flow/controllers/editscript/EditScriptForm.java index b8632153ff..1c31f7bd9b 100644 --- a/flow/src/org/labkey/flow/controllers/editscript/EditScriptForm.java +++ b/flow/src/org/labkey/flow/controllers/editscript/EditScriptForm.java @@ -97,12 +97,12 @@ public void reset() _run = FlowRun.fromURL(getViewContext().getActionURL(), getRequest(), getViewContext().getContainer(), getUser()); if (_run != null) { - FlowPreference.editScriptRunId.setValue(getRequest(), Integer.toString(_run.getRunId())); + FlowPreference.editScriptRunId.setValue(getRequest(), Long.toString(_run.getRunId())); } _comp = FlowCompensationMatrix.fromURL(getViewContext().getActionURL(), getRequest(), getContainer(), getUser()); if (_comp != null) { - FlowPreference.editScriptCompId.setValue(getRequest(), Integer.toString(_comp.getRowId())); + FlowPreference.editScriptCompId.setValue(getRequest(), Long.toString(_comp.getRowId())); } String strWellId = getRequest().getParameter(FlowParam.wellId.toString()); if (strWellId != null) @@ -320,14 +320,14 @@ public boolean canEdit() return getContainer().hasPermission(getUser(), UpdatePermission.class) && _runCount == 0; } - public Map getExperimentRuns() + public Map getExperimentRuns() { return getExperimentRuns(false); } - public Map getExperimentRuns(boolean realFiles) + public Map getExperimentRuns(boolean realFiles) { - LinkedHashMap ret = new LinkedHashMap<>(); + LinkedHashMap ret = new LinkedHashMap<>(); List runs = realFiles ? FlowRun.getRunsWithRealFCSFiles(getContainer(), FlowProtocolStep.keywords) : FlowRun.getRunsForContainer(getContainer(), FlowProtocolStep.keywords); diff --git a/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java b/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java index d4ce6ff2e1..a9bc348c92 100644 --- a/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java +++ b/flow/src/org/labkey/flow/controllers/executescript/AnalysisScriptController.java @@ -1216,7 +1216,7 @@ private void resolveSamples(ImportAnalysisForm form, @Nullable FlowRun keywordRu if (matches != null) { FlowFCSFile perfectMatch = matches.first; - int perfectMatchId = perfectMatch != null ? perfectMatch.getRowId() : 0; + long perfectMatchId = perfectMatch != null ? perfectMatch.getRowId() : 0; List candidates = matches.second; if (perfectMatchId != 0 || (candidates != null && !candidates.isEmpty())) diff --git a/flow/src/org/labkey/flow/controllers/executescript/ChooseRunsToAnalyzeForm.java b/flow/src/org/labkey/flow/controllers/executescript/ChooseRunsToAnalyzeForm.java index 82c0876909..6409cd2eb4 100644 --- a/flow/src/org/labkey/flow/controllers/executescript/ChooseRunsToAnalyzeForm.java +++ b/flow/src/org/labkey/flow/controllers/executescript/ChooseRunsToAnalyzeForm.java @@ -170,7 +170,7 @@ public void populate(BindException errors) FlowExperiment analysis = FlowExperiment.getMostRecentAnalysis(getContainer()); if (analysis != null) { - ff_targetExperimentId = Integer.toString(analysis.getExperimentId()); + ff_targetExperimentId = Long.toString(analysis.getExperimentId()); } } Collection availableProtocols = Arrays.asList(FlowScript.getScripts(getContainer())); diff --git a/flow/src/org/labkey/flow/controllers/executescript/ImportAnalysisForm.java b/flow/src/org/labkey/flow/controllers/executescript/ImportAnalysisForm.java index 2e941ccaed..a5680c5ec1 100644 --- a/flow/src/org/labkey/flow/controllers/executescript/ImportAnalysisForm.java +++ b/flow/src/org/labkey/flow/controllers/executescript/ImportAnalysisForm.java @@ -55,7 +55,7 @@ public enum SelectFCSFileOption implements SafeToRenderEnum private AnalysisEngine selectAnalysisEngine = null; private boolean createAnalysis; private String newAnalysisName; - private int existingAnalysisId; + private long existingAnalysisId; private String targetStudy; // FCSFile directories selected in the pipeline browser for association with the imported workspace analysis. @@ -180,12 +180,12 @@ public void setNewAnalysisName(String newAnalysisName) this.newAnalysisName = newAnalysisName; } - public int getExistingAnalysisId() + public long getExistingAnalysisId() { return existingAnalysisId; } - public void setExistingAnalysisId(int existingAnalysisId) + public void setExistingAnalysisId(long existingAnalysisId) { this.existingAnalysisId = existingAnalysisId; } diff --git a/flow/src/org/labkey/flow/controllers/executescript/SamplesConfirmGridView.java b/flow/src/org/labkey/flow/controllers/executescript/SamplesConfirmGridView.java index 838a64f686..9c2fd5b60e 100644 --- a/flow/src/org/labkey/flow/controllers/executescript/SamplesConfirmGridView.java +++ b/flow/src/org/labkey/flow/controllers/executescript/SamplesConfirmGridView.java @@ -19,6 +19,7 @@ import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.labkey.api.action.SpringActionController; +import org.labkey.api.collections.LongHashMap; import org.labkey.api.collections.NamedObject; import org.labkey.api.collections.NamedObjectList; import org.labkey.api.collections.RowMapFactory; @@ -87,7 +88,7 @@ public class SamplesConfirmGridView extends GridView static FieldKey SAMPLE_NAME_FIELD_KEY = new FieldKey(null, "SampleName"); static FieldKey GROUP_NAMES_FIELD_KEY = new FieldKey(null, "GroupNames"); - Map _runs = new HashMap<>(); + Map _runs = new LongHashMap<>(); public SamplesConfirmGridView(User user, Container container, SelectedSamples data, boolean resolving, Errors errors) { @@ -436,7 +437,7 @@ public StringExpression getURL(ColumnInfo parent) return _list; // Put most likely candidates on the top of the list - Set candidateRowIds = new HashSet<>(candidates.size()); + Set candidateRowIds = new HashSet<>(candidates.size()); NamedObjectList list = new NamedObjectList(); for (FlowFCSFile candidate : candidates) { diff --git a/flow/src/org/labkey/flow/controllers/executescript/SelectedSamples.java b/flow/src/org/labkey/flow/controllers/executescript/SelectedSamples.java index d856ca07e0..8ce28bf641 100644 --- a/flow/src/org/labkey/flow/controllers/executescript/SelectedSamples.java +++ b/flow/src/org/labkey/flow/controllers/executescript/SelectedSamples.java @@ -44,17 +44,17 @@ public static class ResolvedSample { private boolean _selected; // FlowFCSFile rowid (may be 0 or null if there is no match) - private Integer _matchedFile; + private Long _matchedFile; // FlowFCSFile rowid (may be null if there are no candidates) - private int[] _candidateFile; + private long[] _candidateFile; private List _candidateFCSFiles; public ResolvedSample() { } - public ResolvedSample(boolean selected, int matchedFile, List candidateFCSFiles) + public ResolvedSample(boolean selected, long matchedFile, List candidateFCSFiles) { _selected = selected; _matchedFile = matchedFile; @@ -66,7 +66,7 @@ public ResolvedSample(boolean selected, int matchedFile, List candi else { _candidateFCSFiles = candidateFCSFiles; - _candidateFile = new int[candidateFCSFiles.size()]; + _candidateFile = new long[candidateFCSFiles.size()]; for (int i = 0, len = candidateFCSFiles.size(); i < len; i++) _candidateFile[i] = candidateFCSFiles.get(i).getRowId(); } @@ -82,12 +82,12 @@ public void setSelected(boolean selected) _selected = selected; } - public Integer getMatchedFile() + public Long getMatchedFile() { return _matchedFile; } - public void setMatchedFile(Integer matchedFile) + public void setMatchedFile(Long matchedFile) { _matchedFile = matchedFile; } @@ -97,7 +97,7 @@ public boolean hasMatchedFile() return _matchedFile != null && _matchedFile > 0; } - public int[] getCandidateFile() + public long[] getCandidateFile() { return _candidateFile; } @@ -111,7 +111,7 @@ public List getCandidateFCSFiles() return _candidateFCSFiles; } - public void setCandidateFile(int[] candidateFile) + public void setCandidateFile(long[] candidateFile) { _candidateFile = candidateFile; } diff --git a/flow/src/org/labkey/flow/controllers/executescript/importAnalysisChooseAnalysis.jsp b/flow/src/org/labkey/flow/controllers/executescript/importAnalysisChooseAnalysis.jsp index 8c6d27aefd..cd75e9cd03 100644 --- a/flow/src/org/labkey/flow/controllers/executescript/importAnalysisChooseAnalysis.jsp +++ b/flow/src/org/labkey/flow/controllers/executescript/importAnalysisChooseAnalysis.jsp @@ -36,6 +36,7 @@ <%@ page import="java.util.List" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.Set" %> +<%@ page import="org.labkey.api.collections.LongHashMap" %> <%@ page import="org.labkey.api.assay.AbstractAssayProvider" %> <%@ page extends="org.labkey.api.jsp.JspBase" %> <%@ taglib prefix="labkey" uri="http://www.labkey.org/taglib" %> @@ -60,7 +61,7 @@ <% FlowExperiment[] analyses = FlowExperiment.getAnalyses(container); FlowExperiment firstNonDisabledAnalysis = null; - Map disabledAnalyses = new HashMap<>(); + Map disabledAnalyses = new LongHashMap<>(); if (pipeRoot != null) { List keywordDirs = new ArrayList<>(); @@ -154,7 +155,7 @@ those results must be put into different analysis folders.