From 4783e9c4be5157c12096cdeed955dc60570d607f Mon Sep 17 00:00:00 2001 From: labkey-jeckels Date: Sat, 9 May 2026 11:28:39 -0700 Subject: [PATCH] Auto-refactor lint cleanup SequencedCollections: get(0) -> getFirst(), etc Add missing @NotNull/@Nullable Simplify test assertions Map operation simplification Remove redundant throws clause Switch to parameterized log message C-style array -> Java-style array declaration Delete overridden methods identical to parent Switch statement -> enhanced switch statement Remove redundant imports --- .../GeneticsCore/GeneticsCoreModule.java | 6 - .../labkey/GeneticsCore/mhc/MhcTaskRef.java | 19 +- .../hormoneassay/HormoneAssayModule.java | 6 - .../assay/RocheE411ImportMethod.java | 2 +- .../ONPRC_EHR_ComplianceDBModule.java | 6 - .../extscheduler/ExtSchedulerModule.java | 6 - .../extscheduler/query/EventsQueryView.java | 2 +- .../query/ExtSchedulerQuerySchema.java | 2 +- .../labkey/mergesync/MergeSyncManager.java | 6 +- .../org/labkey/mergesync/MergeSyncModule.java | 6 - .../org/labkey/mergesync/MergeSyncRunner.java | 207 +++++++++--------- .../labkey/mergesync/RequestSyncHelper.java | 129 ++++++----- .../org/labkey/ogasync/OGASyncManager.java | 31 +-- .../src/org/labkey/ogasync/OGASyncRunner.java | 13 +- .../ONPRC_BillingController.java | 2 - .../onprc_billing/ONPRC_BillingModule.java | 6 - .../dataentry/ChargesARTCoreFormSection.java | 2 +- .../dataentry/ChargesFormSection.java | 2 +- .../notification/DCMFinanceNotification.java | 4 +- .../notification/FinanceNotification.java | 6 +- .../pipeline/BillingPipelineJob.java | 3 +- .../pipeline/BillingPipelineJobSupport.java | 1 - .../onprc_billing/pipeline/BillingTask.java | 22 +- .../query/BillingAuditProvider.java | 1 - .../query/BillingTriggerHelper.java | 5 +- .../ONPRC_BillingPublicModule.java | 8 - .../labkey/onprc_ehr/ONPRC_EHRController.java | 6 +- .../org/labkey/onprc_ehr/ONPRC_EHRModule.java | 6 - .../ChangeProjectedReleaseDateButton.java | 2 +- .../dataentry/AnesthesiaFormSection.java | 2 +- .../dataentry/BehaviorRemarksFormSection.java | 2 +- ...BehaviorRoundsObservationsFormSection.java | 2 +- .../dataentry/ClinicalRoundsFormType.java | 1 - .../ClinicalRoundsRemarksFormSection.java | 2 +- .../DrugAdministrationFormSection.java | 2 +- .../EncounterMedicationsFormSection.java | 2 +- .../onprc_ehr/dataentry/EpocPanelForm.java | 2 +- .../onprc_ehr/dataentry/IStatPanelForm.java | 2 +- .../dataentry/NHPTrainingFormType.java | 4 - .../onprc_ehr/dataentry/PairingFormType.java | 1 - .../SurgicalRoundsRemarksFormSection.java | 2 +- .../CagematesDemographicsProvider.java | 8 +- .../notification/BehaviorNotification.java | 3 - .../ColonyAlertsNotification.java | 4 +- .../notification/CullListNotification.java | 6 - .../notification/MensesTMBNotification.java | 6 - .../ProjectAlertsNotification.java | 6 - .../ProtocolAlertsNotification.java | 6 - .../TreatmentAlertsMPANotification.java | 2 +- .../TreatmentAlertsPostOpsNotification.java | 2 +- ...entAlertsPostOpsNotificationSecondary.java | 2 +- ...eatmentAlertsPostOpsNotificationThird.java | 2 +- .../WeightAlertsNotification.java | 8 +- .../query/ONPRC_EHRTriggerHelper.java | 69 +++--- .../onprc_ehr/table/ONPRC_EHRCustomizer.java | 18 +- .../AbstractGenericONPRC_EHRTest.java | 28 +-- .../tests/onprc_ehr/ONPRC_BillingTest.java | 4 +- .../test/tests/onprc_ehr/ONPRC_EHRTest.java | 60 ++--- .../test/tests/onprc_ehr/ONPRC_EHRTest2.java | 50 ++--- .../onprc_ehr/ONPRC_RestrictedIssueTest.java | 2 +- .../org/labkey/onprc_ssu/ONPRC_SSUModule.java | 6 - .../notification/SSU_Notification.java | 12 +- sla/src/org/labkey/sla/SLAModule.java | 6 - .../sla/dataentry/CensusFormSection.java | 2 +- sla/src/org/labkey/sla/etl/ETL.java | 15 +- .../org/labkey/sla/etl/ETLAuditProvider.java | 1 - sla/src/org/labkey/sla/etl/ETLRunnable.java | 115 +++++----- 67 files changed, 398 insertions(+), 586 deletions(-) diff --git a/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java b/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java index ae5be5973..70dbb25ab 100644 --- a/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java +++ b/GeneticsCore/src/org/labkey/GeneticsCore/GeneticsCoreModule.java @@ -43,12 +43,6 @@ public String getName() return 17.14; } - @Override - public boolean hasScripts() - { - return true; - } - @Override protected void doStartupAfterSpringConfig(ModuleContext moduleContext) { diff --git a/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java b/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java index d8fc5b97f..76c6fe7ce 100644 --- a/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java +++ b/GeneticsCore/src/org/labkey/GeneticsCore/mhc/MhcTaskRef.java @@ -1,7 +1,6 @@ package org.labkey.GeneticsCore.mhc; import org.apache.commons.lang3.StringUtils; -import org.apache.xmlbeans.XmlException; import org.jetbrains.annotations.NotNull; import org.labkey.api.assay.AssayProtocolSchema; import org.labkey.api.assay.AssayProvider; @@ -57,11 +56,11 @@ public RecordedActionSet run(@NotNull PipelineJob job) throws PipelineJobExcepti Date lastRun = getLastRun(job.getContainer()); SimpleDateFormat _dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm"); - job.getLogger().info("Last run: " + (lastRun == null ? "never" : _dateTimeFormat.format(lastRun))); + job.getLogger().info("Last run: {}", lastRun == null ? "never" : _dateTimeFormat.format(lastRun)); Date jobStart = new Date(); Set subjects = getIdsWithChangesForAssay(job, lastRun); - job.getLogger().info("Total subjects to process: " + subjects.size()); + job.getLogger().info("Total subjects to process: {}", subjects.size()); for (String subject : subjects) { @@ -86,7 +85,7 @@ public List getRequiredSettings() } @Override - public void setSettings(Map settings) throws XmlException + public void setSettings(Map settings) { } @@ -120,7 +119,7 @@ private Date getLastRun(Container c) private void processSubject(PipelineJob job, String subject) throws PipelineJobException { - job.getLogger().info("Processing: " + subject); + job.getLogger().info("Processing: {}", subject); UserSchema us = QueryService.get().getUserSchema(job.getUser(), getTargetContainer(job), "geneticscore"); TableInfo mhcData = us.getTable("mhc_data"); @@ -129,13 +128,11 @@ private void processSubject(PipelineJob job, String subject) throws PipelineJobE if (ts.exists()) { List> toDelete = new ArrayList<>(); - ts.forEachResults(rs -> { - toDelete.add(Map.of("rowid", rs.getString(FieldKey.fromString("rowid")), "objectid", rs.getString(FieldKey.fromString("objectid")), "container", rs.getString(FieldKey.fromString("container")))); - }); + ts.forEachResults(rs -> toDelete.add(Map.of("rowid", rs.getString(FieldKey.fromString("rowid")), "objectid", rs.getString(FieldKey.fromString("objectid")), "container", rs.getString(FieldKey.fromString("container"))))); try { - job.getLogger().info("deleting existing rows: " + toDelete.size()); + job.getLogger().info("deleting existing rows: {}", toDelete.size()); QueryUpdateService qus = mhcData.getUpdateService(); qus.setBulkLoad(true); qus.deleteRows(job.getUser(), getTargetContainer(job), toDelete, null, null); @@ -163,7 +160,7 @@ private void processSubject(PipelineJob job, String subject) throws PipelineJobE { try { - job.getLogger().info("inserting rows: " + toInsert.size()); + job.getLogger().info("inserting rows: {}", toInsert.size()); BatchValidationException bve = new BatchValidationException(); QueryUpdateService qus = mhcData.getUpdateService(); qus.setBulkLoad(true); @@ -224,7 +221,7 @@ private Set getIdsWithChangesForAssay(PipelineJob job, Date dateSince) ExpRun run = ExperimentService.get().getExpRun(rs.getString(FieldKey.fromString("RunLsid"))); if (run == null) { - job.getLogger().warn("Unable to find RunLsid for audit row: " + rs.getObject(FieldKey.fromString("RunLsid"))); + job.getLogger().warn("Unable to find RunLsid for audit row: {}", rs.getObject(FieldKey.fromString("RunLsid"))); return; } diff --git a/HormoneAssay/src/org/labkey/hormoneassay/HormoneAssayModule.java b/HormoneAssay/src/org/labkey/hormoneassay/HormoneAssayModule.java index 4c29bea1e..fdca7c3c2 100644 --- a/HormoneAssay/src/org/labkey/hormoneassay/HormoneAssayModule.java +++ b/HormoneAssay/src/org/labkey/hormoneassay/HormoneAssayModule.java @@ -46,12 +46,6 @@ public String getName() return 0.03; } - @Override - public boolean hasScripts() - { - return true; - } - @Override @NotNull protected Collection createWebPartFactories() diff --git a/HormoneAssay/src/org/labkey/hormoneassay/assay/RocheE411ImportMethod.java b/HormoneAssay/src/org/labkey/hormoneassay/assay/RocheE411ImportMethod.java index ef6ea2d3c..fc37b45cd 100644 --- a/HormoneAssay/src/org/labkey/hormoneassay/assay/RocheE411ImportMethod.java +++ b/HormoneAssay/src/org/labkey/hormoneassay/assay/RocheE411ImportMethod.java @@ -226,7 +226,7 @@ else if (idx == 2) { //find the type of sample String category = ""; - int type = Integer.parseInt(cells.get(0)); + int type = Integer.parseInt(cells.getFirst()); if (type == 3) { category = "Pos Control"; diff --git a/ONPRC_EHR_ComplianceDB/src/org/labkey/ONPRCEHR_ComplianceDB/ONPRC_EHR_ComplianceDBModule.java b/ONPRC_EHR_ComplianceDB/src/org/labkey/ONPRCEHR_ComplianceDB/ONPRC_EHR_ComplianceDBModule.java index e03bd4352..db7b6226a 100644 --- a/ONPRC_EHR_ComplianceDB/src/org/labkey/ONPRCEHR_ComplianceDB/ONPRC_EHR_ComplianceDBModule.java +++ b/ONPRC_EHR_ComplianceDB/src/org/labkey/ONPRCEHR_ComplianceDB/ONPRC_EHR_ComplianceDBModule.java @@ -64,12 +64,6 @@ public Double getSchemaVersion() return Collections.singleton(ONPRC_EHR_ComplianceDBSchema.NAME); } - @Override - public boolean hasScripts() - { - return true; - } - @Override protected void registerSchemas() { diff --git a/extscheduler/src/org/labkey/extscheduler/ExtSchedulerModule.java b/extscheduler/src/org/labkey/extscheduler/ExtSchedulerModule.java index be8aa0d4f..de0304a8b 100644 --- a/extscheduler/src/org/labkey/extscheduler/ExtSchedulerModule.java +++ b/extscheduler/src/org/labkey/extscheduler/ExtSchedulerModule.java @@ -30,12 +30,6 @@ public String getName() return 23.002; } - @Override - public boolean hasScripts() - { - return true; - } - @Override protected void init() { diff --git a/extscheduler/src/org/labkey/extscheduler/query/EventsQueryView.java b/extscheduler/src/org/labkey/extscheduler/query/EventsQueryView.java index 7aa641e8f..ea7b1eb98 100644 --- a/extscheduler/src/org/labkey/extscheduler/query/EventsQueryView.java +++ b/extscheduler/src/org/labkey/extscheduler/query/EventsQueryView.java @@ -61,7 +61,7 @@ public void renderGridCellContents(RenderContext ctx, HtmlWriter out) out.write(HtmlString.NBSP); } }; - ret.add(0, update); + ret.addFirst(update); } } } diff --git a/extscheduler/src/org/labkey/extscheduler/query/ExtSchedulerQuerySchema.java b/extscheduler/src/org/labkey/extscheduler/query/ExtSchedulerQuerySchema.java index d87b7a21e..7ae9d8bd5 100644 --- a/extscheduler/src/org/labkey/extscheduler/query/ExtSchedulerQuerySchema.java +++ b/extscheduler/src/org/labkey/extscheduler/query/ExtSchedulerQuerySchema.java @@ -45,7 +45,7 @@ public TableInfo createTable(String name, ContainerFilter cf) } @Override - public QueryView createView(ViewContext context, @NotNull QuerySettings settings, BindException errors) + public @NotNull QueryView createView(ViewContext context, @NotNull QuerySettings settings, BindException errors) { // Enable this block if you want the Events table to show edit link for non-Admins for // future events which the users is the "owner" diff --git a/mergesync/src/org/labkey/mergesync/MergeSyncManager.java b/mergesync/src/org/labkey/mergesync/MergeSyncManager.java index 7c2ddfdec..9306bece9 100644 --- a/mergesync/src/org/labkey/mergesync/MergeSyncManager.java +++ b/mergesync/src/org/labkey/mergesync/MergeSyncManager.java @@ -102,7 +102,7 @@ public synchronized void schedule() if (_syncInterval <= 0) { - _log.error("Merge sync has an invalid frequency, will not schedule: " + _syncInterval); + _log.error("Merge sync has an invalid frequency, will not schedule: {}", _syncInterval); return; } @@ -122,7 +122,7 @@ public synchronized void schedule() StdSchedulerFactory.getDefaultScheduler().scheduleJob(_job, _trigger); - _log.info("Merge sync scheduled to run every " + getSyncInterval() + " minutes"); + _log.info("Merge sync scheduled to run every {} minutes", getSyncInterval()); } catch (IllegalArgumentException e) { @@ -265,7 +265,7 @@ public User getLabKeyUser() } catch (ValidEmail.InvalidEmailException e) { - _log.error("Invalid email saved for Merge Sync: " + e.getMessage()); + _log.error("Invalid email saved for Merge Sync: {}", e.getMessage()); } return null; diff --git a/mergesync/src/org/labkey/mergesync/MergeSyncModule.java b/mergesync/src/org/labkey/mergesync/MergeSyncModule.java index 0b73faf24..bd228556c 100644 --- a/mergesync/src/org/labkey/mergesync/MergeSyncModule.java +++ b/mergesync/src/org/labkey/mergesync/MergeSyncModule.java @@ -49,12 +49,6 @@ public String getName() return 0.11; } - @Override - public boolean hasScripts() - { - return true; - } - @NotNull @Override protected Collection createWebPartFactories() diff --git a/mergesync/src/org/labkey/mergesync/MergeSyncRunner.java b/mergesync/src/org/labkey/mergesync/MergeSyncRunner.java index 4946d44c2..16a3ac801 100644 --- a/mergesync/src/org/labkey/mergesync/MergeSyncRunner.java +++ b/mergesync/src/org/labkey/mergesync/MergeSyncRunner.java @@ -40,7 +40,6 @@ import org.labkey.api.view.ViewContext; import org.quartz.Job; import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; import java.sql.ResultSet; import java.sql.SQLException; @@ -84,7 +83,7 @@ public MergeSyncRunner() * pulls data from Merge back to EHR */ @Override - public void execute(JobExecutionContext context) throws JobExecutionException + public void execute(JobExecutionContext context) { if (!MergeSyncManager.get().isPullEnabled()) return; @@ -99,7 +98,7 @@ public void execute(JobExecutionContext context) throws JobExecutionException public void pullResultsFromMerge() { Date lastRun = MergeSyncManager.get().getLastRun(); - _log.info("Pulling results from merge verified since: " + (lastRun == null ? "never run before" : _dateTimeFormat.format(lastRun))); + _log.info("Pulling results from merge verified since: {}", lastRun == null ? "never run before" : _dateTimeFormat.format(lastRun)); if (lastRun == null) { @@ -181,7 +180,7 @@ private void pullResults(final User u, final Container c, DbSchema mergeSchema, long count = runTs.getRowCount(); if (count > 0) { - _log.info("found " + count + " new merge runs to sync"); + _log.info("found {} new merge runs to sync", count); processRuns(c, u, runTs, mergeResultTable); _log.info("finished pulling results from merge"); } @@ -233,7 +232,7 @@ private void validateRuns(final Container c, final User u, DbSchema mergeSchema, final TableSelector runTs = new TableSelector(runsTable, runFilter, null); if (runTs.exists()) { - _log.info("verifying previous " + offset + " days of merge runs are present"); + _log.info("verifying previous {} days of merge runs are present", offset); runTs.forEach(new Selector.ForEachBlock<>() { @Override @@ -265,7 +264,7 @@ else if (existingRequest.get("deletedate") != null) } else if (existingRequest.get("runLsid") == null) { - _log.error("merge run missing: " + accession + " / " + panelId + ". Record of previous sync, but no clinpathRun record. Date verified: " + _dateTimeFormat.format(mergeRunRs.getDate("dateVerified"))); + _log.error("merge run missing: {} / {}. Record of previous sync, but no clinpathRun record. Date verified: {}", accession, panelId, _dateTimeFormat.format(mergeRunRs.getDate("dateVerified"))); //processSingleRun(c, u, mergeResultTable, mergeRunRs, false); } } @@ -280,7 +279,7 @@ public void syncSingleRun(final Container c, final User u, final Integer mergeAc if (mergeSchema == null) return; - _log.info("attempting to resync single run: " + mergeAccession + " / " + mergeTestId); + _log.info("attempting to resync single run: {} / {}", mergeAccession, mergeTestId); TableInfo runsTable = MergeSyncUserSchema.getMergeRunsTable(mergeSchema, null); final TableInfo mergeResultTable = MergeSyncUserSchema.getMergeDataTable(mergeSchema, null); @@ -296,69 +295,64 @@ public void syncSingleRun(final Container c, final User u, final Integer mergeAc TableSelector runTs = new TableSelector(runsTable, runFilter, null); - runTs.forEach(new Selector.ForEachBlock<>() - { - @Override - public void exec(ResultSet runRs) throws SQLException + runTs.forEach(runRs -> { + //delete results if we expect automatic results + String mergeService = runRs.getString("servicename_abbr"); + String labkeyServiceName = resolveServiceName(c, u, mergeService, null); + if (shouldSyncResults(labkeyServiceName)) { - //delete results if we expect automatic results - String mergeService = runRs.getString("servicename_abbr"); - String labkeyServiceName = resolveServiceName(c, u, mergeService, null); - if (shouldSyncResults(labkeyServiceName)) - { - deleteExistingResults(c, u, mergeAccession, mergeTestId); - } - else - { - _log.info("this service type does not have automatic results, so we will not delete any existing results"); - } + deleteExistingResults(c, u, mergeAccession, mergeTestId); + } + else + { + _log.info("this service type does not have automatic results, so we will not delete any existing results"); + } - try + try + { + Map existingRequest = getExistingRequest(c, u, mergeAccession, mergeTestId, false); + if (existingRequest != null) { - Map existingRequest = getExistingRequest(c, u, mergeAccession, mergeTestId, false); - if (existingRequest != null) + TableSelector runsTs = new TableSelector(getClinpathRuns(c, u), PageFlowUtil.set("lsid", "Id", "project", "date"), new SimpleFilter(FieldKey.fromString("objectid"), existingRequest.get("runid")), null); + Map runRow = runsTs.getMap(); + if (runRow != null) { - TableSelector runsTs = new TableSelector(getClinpathRuns(c, u), PageFlowUtil.set("lsid", "Id", "project", "date"), new SimpleFilter(FieldKey.fromString("objectid"), existingRequest.get("runid")), null); - Map runRow = runsTs.getMap(); - if (runRow != null) - { - runRow = new CaseInsensitiveHashMap<>(runRow); + runRow = new CaseInsensitiveHashMap<>(runRow); - boolean changed = false; - if (!runRow.get("Id").equals(runRs.getString("animalId"))) - { - runRow.put("Id", runRs.getString("Id")); - changed = true; - } + boolean changed = false; + if (!runRow.get("Id").equals(runRs.getString("animalId"))) + { + runRow.put("Id", runRs.getString("Id")); + changed = true; + } - if (!DateUtils.isSameInstant((Date) runRow.get("date"), runRs.getDate("date"))) - { - runRow.put("date", runRs.getDate("date")); - changed = true; - } + if (!DateUtils.isSameInstant((Date) runRow.get("date"), runRs.getDate("date"))) + { + runRow.put("date", runRs.getDate("date")); + changed = true; + } - Integer project = resolveProject(c, u, runRs.getString("projectName")); - if (project != null && !project.equals(runRow.get("project"))) - { - runRow.put("project", project); - changed = true; - } + Integer project = resolveProject(c, u, runRs.getString("projectName")); + if (project != null && !project.equals(runRow.get("project"))) + { + runRow.put("project", project); + changed = true; + } - if (changed) - { - Map keys = new CaseInsensitiveHashMap<>(); - keys.put("lsid", runRow.get("lsid")); - getClinpathRuns(c, u).getUpdateService().updateRows(u, c, Collections.singletonList(runRow), Collections.singletonList(keys), null, getExtraContext()); - } + if (changed) + { + Map keys = new CaseInsensitiveHashMap<>(); + keys.put("lsid", runRow.get("lsid")); + getClinpathRuns(c, u).getUpdateService().updateRows(u, c, Collections.singletonList(runRow), Collections.singletonList(keys), null, getExtraContext()); } } - - processSingleRun(c, u, mergeResultTable, runRs, true); - } - catch (InvalidKeyException | BatchValidationException | QueryUpdateServiceException e) - { - throw new RuntimeException(e.getMessage(), e); } + + processSingleRun(c, u, mergeResultTable, runRs, true); + } + catch (InvalidKeyException | BatchValidationException | QueryUpdateServiceException e) + { + throw new RuntimeException(e.getMessage(), e); } }); } @@ -389,7 +383,7 @@ public void deleteExistingResults(final Container c, final User u, Integer merge TableInfo resultTable = resolveServiceResultTable(c, u, servicename); if (resultTable == null) { - _log.error("Unable to find result table matching: " + servicename); + _log.error("Unable to find result table matching: {}", servicename); return; } @@ -406,7 +400,7 @@ public void deleteExistingResults(final Container c, final User u, Integer merge } List deleted = resultTable.getUpdateService().deleteRows(u, c, toDelete, null, getExtraContext()); - _log.info("pre-deleted " + deleted.size() + " rows from table: " + resultTable.getName()); + _log.info("pre-deleted {} rows from table: {}", deleted.size(), resultTable.getName()); } else { @@ -436,8 +430,8 @@ private void processSingleRun(final Container c, final User u, TableInfo mergeRe TableInfo tableOrdersSynced = MergeSyncSchema.getInstance().getSchema().getTable(MergeSyncManager.TABLE_ORDERSSYNCED); Map existingRequest = getExistingRequest(c, u, accession, panelId, true); final String existingRunId = existingRequest == null ? null : (String)existingRequest.get("runid"); - _log.info("processing order: " + accession); - _log.info("existingRunId: " + existingRunId); + _log.info("processing order: {}", accession); + _log.info("existingRunId: {}", existingRunId); Set completedTasks = new HashSet<>(); TableSelector resultsTs = new TableSelector(mergeResultTable, resultFilter, null); @@ -489,7 +483,7 @@ public void exec(ResultSet rs) throws SQLException if (resultsReceived && !forceSyncResults) { - _log.info("This order already has results imported, skipping: " + accession + "/" + panelId); + _log.info("This order already has results imported, skipping: {}/{}", accession, panelId); return; } } @@ -530,7 +524,7 @@ public void exec(ResultSet rs) throws SQLException { if (resultsToCreate.isEmpty()) { - _log.error("Merge request for " + mergeService + " was expected to have results, but does not. Accession: " + accession + ", panelId: " + panelId); + _log.error("Merge request for {} was expected to have results, but does not. Accession: {}, panelId: {}", mergeService, accession, panelId); } for (String datasetName : resultsToCreate.keySet()) @@ -545,14 +539,14 @@ public void exec(ResultSet rs) throws SQLException TableInfo ds = resultDatasets.get(datasetName); - _log.info("creating " + datasetName + " results: " + resultsToCreate.get(datasetName).size()); + _log.info("creating {} results: {}", datasetName, resultsToCreate.get(datasetName).size()); BatchValidationException errors = new BatchValidationException(); ds.getUpdateService().insertRows(u, c, resultsToCreate.get(datasetName), errors, null, getExtraContext()); } //if successful, we need to mark the run as completed - _log.info("marking clinpath run as complete: " + runId); + _log.info("marking clinpath run as complete: {}", runId); Map toUpdate = new CaseInsensitiveHashMap<>(); toUpdate.put("lsid", runLsid); toUpdate.put("QCStateLabel", EHRService.QCSTATES.Completed.getLabel()); @@ -567,10 +561,10 @@ public void exec(ResultSet rs) throws SQLException { if (!resultsToCreate.isEmpty()) { - _log.error("Merge request for " + mergeService + " was not expected to have results, but does. Accession: " + accession + ", panelId: " + panelId); + _log.error("Merge request for {} was not expected to have results, but does. Accession: {}, panelId: {}", mergeService, accession, panelId); for (String tableName : resultsToCreate.keySet()) { - _log.error(tableName + ": " + resultsToCreate.get(tableName).size()); + _log.error("{}: {}", tableName, resultsToCreate.get(tableName).size()); } } else @@ -585,7 +579,7 @@ public void exec(ResultSet rs) throws SQLException Map toUpdateKeys = new CaseInsensitiveHashMap<>(); toUpdateKeys.put("lsid", runLsid); - _log.info("marking clinpath run as delivered: " + runId); + _log.info("marking clinpath run as delivered: {}", runId); getClinpathRuns(c, u).getUpdateService().updateRows(u, c, Collections.singletonList(toUpdate), Collections.singletonList(toUpdateKeys), null, getExtraContext()); } else @@ -602,7 +596,7 @@ public void exec(ResultSet rs) throws SQLException TableSelector ts = new TableSelector(getClinpathRuns(c, u), filter, null); if (!ts.exists()) { - _log.info("task has no non-completed runs, marking complete: " + t); + _log.info("task has no non-completed runs, marking complete: {}", t); TableInfo taskTable = DbSchema.get("ehr").getTable("tasks"); Map toUpdate = new CaseInsensitiveHashMap<>(); toUpdate.put("taskid", t); @@ -611,7 +605,7 @@ public void exec(ResultSet rs) throws SQLException } else { - _log.info("task still has non-completed runs, will not mark complete: " + t); + _log.info("task still has non-completed runs, will not mark complete: {}", t); } } @@ -656,7 +650,7 @@ private boolean shouldSyncResults(String labkeyServiceName) return map.get(labkeyServiceName) != null ? map.get(labkeyServiceName) : false; } - private String createTask(Container c, User u, String animalId, Date date) throws SQLException + private String createTask(Container c, User u, String animalId, Date date) { String key = animalId + " " + _dateFormat.format(date); if (_cachedTasks.containsKey(key)) @@ -680,7 +674,7 @@ private String createTask(Container c, User u, String animalId, Date date) throw TableInfo taskTable = DbSchema.get("ehr").getTable("tasks"); - _log.info("Creating task for merge sync: " + key); + _log.info("Creating task for merge sync: {}", key); Table.insert(u, taskTable, taskRecord); _cachedTasks.put(key, taskId); @@ -706,7 +700,7 @@ private Map getExistingRequest(Container c, User u, Integer acce if (ret.isEmpty()) return null; - Map map = new CaseInsensitiveHashMap(ret.get(0)); + Map map = new CaseInsensitiveHashMap(ret.getFirst()); //make sure this runId actually exists String runId = (String)map.get("runid"); @@ -730,7 +724,7 @@ else if (!validateRunId) } else { - _log.error("There is a record of a synced merge request (" + accession + "), but the runId was not found: " + runId + ". the request will be recreated."); + _log.error("There is a record of a synced merge request ({}), but the runId was not found: {}. the request will be recreated.", accession, runId); } } @@ -765,7 +759,7 @@ private Map processResultSet(Container c, User u, ResultSet rs, String servicename = resolveServiceName(c, u, servicename_abbr, null); if (servicename == null) { - _log.error("Unable to resolve merge servicename: " + servicename_abbr); + _log.error("Unable to resolve merge servicename: {}", servicename_abbr); return null; } @@ -781,7 +775,7 @@ private Map processResultSet(Container c, User u, ResultSet rs, //i dont like this behavior, but if there is a remark (a proxy for having an error), the numeric result is 0, and text result is numeric, then defer to the latter if (!StringUtils.isEmpty(remark) && (numeric_result == null || numeric_result == 0.0) && !StringUtils.isEmpty(text_result) && text_result.matches("[-+]?\\d*\\.?\\d+")) { - _log.info("deferring to text result instead of numeric result: " + text_result); + _log.info("deferring to text result instead of numeric result: {}", text_result); numeric_result = ConvertHelper.convert(text_result, Double.class); } @@ -794,7 +788,7 @@ private Map processResultSet(Container c, User u, ResultSet rs, return resultRow; } - private TableInfo getResultDataset(Container c, User u, String serviceName, @Nullable String runId) throws SQLException + private TableInfo getResultDataset(Container c, User u, String serviceName, @Nullable String runId) { String servicename = resolveServiceName(c, u, serviceName, runId); if (servicename == null) @@ -805,7 +799,7 @@ private TableInfo getResultDataset(Container c, User u, String serviceName, @Nul TableInfo resultTable = resolveServiceResultTable(c, u, servicename); if (resultTable == null) { - _log.error("Unable to find result table matching: " + servicename); + _log.error("Unable to find result table matching: {}", servicename); return null; } @@ -821,7 +815,7 @@ private Date convertGMTToLocal(Date d) return d; } - private String getRunLsid(Container c, User u, Integer accessionId, Integer panelId, String runId) throws SQLException + private String getRunLsid(Container c, User u, Integer accessionId, Integer panelId, String runId) { String key = accessionId + "||" + panelId; if (_cachedRuns.containsKey(key)) @@ -834,7 +828,7 @@ private String getRunLsid(Container c, User u, Integer accessionId, Integer pane return (String)map.get("lsid"); } - private String getRunTaskId(Container c, User u, Integer accessionId, Integer panelId, String runId) throws SQLException + private String getRunTaskId(Container c, User u, Integer accessionId, Integer panelId, String runId) { String key = accessionId + "||" + panelId; if (_cachedRuns.containsKey(key)) @@ -908,7 +902,7 @@ private Map createRun(Container c, User u, ResultSet mergeRunRs, TableInfo clinpathRuns = getClinpathRuns(c, u); try { - _log.info("creating clinpath run for merge data: " + key); + _log.info("creating clinpath run for merge data: {}", key); BatchValidationException errors = new BatchValidationException(); List> createdRunRows = clinpathRuns.getUpdateService().insertRows(u, c, Arrays.asList(runRow), errors, null, getExtraContext()); if (errors.hasErrors()) @@ -925,8 +919,8 @@ private Map createRun(Container c, User u, ResultSet mergeRunRs, { Map map = new CaseInsensitiveHashMap<>(); map.put("runid", runId); - map.put("lsid", createdRunRows.get(0).get("lsid")); - map.put("taskid", createdRunRows.get(0).get("taskid")); + map.put("lsid", createdRunRows.getFirst().get("lsid")); + map.put("taskid", createdRunRows.getFirst().get("taskid")); map.put("qcstate", qc.getQCState(c).getRowId()); _cachedRuns.put(key, map); @@ -957,10 +951,10 @@ private String getRequestForOrder(Container c, User u, String objectId) TableSelector ts = new TableSelector(ti, Collections.singleton("requestid"), filter, null); List ret = ts.getArrayList(String.class); - return ret.isEmpty() ? null : ret.get(0); + return ret.isEmpty() ? null : ret.getFirst(); } - private String createOrderRecord(Container c, User u, String taskId, String runId, Integer accession, Integer panelId, Date date) throws SQLException + private String createOrderRecord(Container c, User u, String taskId, String runId, Integer accession, Integer panelId, Date date) { String objectId = new GUID().toString().toUpperCase(); Map toInsert = new CaseInsensitiveHashMap<>(); @@ -978,7 +972,7 @@ private String createOrderRecord(Container c, User u, String taskId, String runI toInsert.put("modified", new Date()); toInsert.put("modifiedby", u.getUserId()); - _log.info("creating order record for merge data: " + accession + "/" + panelId); + _log.info("creating order record for merge data: {}/{}", accession, panelId); Table.insert(u, MergeSyncSchema.getInstance().getSchema().getTable(MergeSyncManager.TABLE_ORDERSSYNCED), toInsert); return objectId; @@ -994,7 +988,7 @@ private String resolveServiceName(Container c, User u, String mergeServiceName, List ret = ts.getArrayList(String.class); if (ret != null && !ret.isEmpty()) { - return ret.get(0); + return ret.getFirst(); } } @@ -1053,19 +1047,14 @@ private String resolveUnits(Container c, User u, String category, String testid) TableInfo ti = QueryService.get().getUserSchema(u, c, "ehr_lookups").getTable("lab_tests"); TableSelector ts = new TableSelector(ti); final Map> results = new HashMap<>(); - ts.forEach(new Selector.ForEachBlock<>() - { - @Override - public void exec(ResultSet rs) throws SQLException - { - String key = rs.getString("type") + "||" + rs.getString("testid"); - Map map = new HashMap<>(); - map.put("category", rs.getString("type")); - map.put("testid", rs.getString("testid")); - map.put("units", rs.getString("units")); - - results.put(key, map); - } + ts.forEach(rs -> { + String key = rs.getString("type") + "||" + rs.getString("testid"); + Map map = new HashMap<>(); + map.put("category", rs.getString("type")); + map.put("testid", rs.getString("testid")); + map.put("units", rs.getString("units")); + + results.put(key, map); }); ret = results; @@ -1090,7 +1079,7 @@ private TableInfo resolveServiceResultTable(Container c, User u, String servicen final Map cols = QueryService.get().getColumns(ti, fks); TableSelector ts = new TableSelector(ti, cols.values(), new SimpleFilter(FieldKey.fromString("servicename"), servicename), null); List datasetNames = ts.getArrayList(String.class); - String datasetName = datasetNames == null || datasetNames.isEmpty() ? null : datasetNames.get(0); + String datasetName = datasetNames == null || datasetNames.isEmpty() ? null : datasetNames.getFirst(); if (datasetName == null) { _cachedResultTables.put(servicename, null); @@ -1136,7 +1125,7 @@ private void syncAnimalsToMerge(Container c, User u, DbSchema mergeSchema) sublist.removeAll(idsPresent); if (!sublist.isEmpty()) { - _log.info("creating " + sublist.size() + " animals in merge"); + _log.info("creating {} animals in merge", sublist.size()); for (String id : sublist) { RequestSyncHelper.createPatient(mergeSchema, c, u, id); @@ -1157,7 +1146,7 @@ private void syncAnimalsToMerge(Container c, User u, DbSchema mergeSchema) List idsToChange = new TableSelector(patients, PageFlowUtil.set("PT_NUM"), filter, null).getArrayList(String.class); if (!idsToChange.isEmpty()) { - _log.info("marking " + idsToChange.size() + " animals as deceased in merge"); + _log.info("marking {} animals as deceased in merge", idsToChange.size()); for (String ptNum : idsToChange) { SQLFragment sql = new SQLFragment("UPDATE dbo.patients SET pt_fname = left(rtrim(pt_fname), 5) + ' ' + '*Deceased*' WHERE PT_NUM = ?", ptNum); @@ -1179,7 +1168,7 @@ private void syncAnimalsToMerge(Container c, User u, DbSchema mergeSchema) List idsToChange = new TableSelector(patients, PageFlowUtil.set("PT_NUM"), filter, null).getArrayList(String.class); if (!idsToChange.isEmpty()) { - _log.info("marking " + idsToChange.size() + " animals as shipped in merge"); + _log.info("marking {} animals as shipped in merge", idsToChange.size()); for (String ptNum : idsToChange) { SQLFragment sql = new SQLFragment("UPDATE dbo.patients SET pt_fname = left(rtrim(pt_fname), 5) + ' ' + '*Sold*' WHERE PT_NUM = ?", ptNum); @@ -1215,7 +1204,7 @@ private void syncProjectsToMerge(final Container c, final User u, final DbSchema sublist.removeAll(projectsPresent); if (!sublist.isEmpty()) { - _log.info("creating " + sublist.size() + " projects in merge"); + _log.info("creating {} projects in merge", sublist.size()); Set fks = PageFlowUtil.set(FieldKey.fromString("displayName"), FieldKey.fromString("investigatorId/lastName"), FieldKey.fromString("investigatorId/firstName"), FieldKey.fromString("enddate")); final Map cols = QueryService.get().getColumns(projects, fks); @@ -1248,7 +1237,7 @@ public void exec(ResultSet object) throws SQLException List insuranceToUpdate = new TableSelector(insurance, PageFlowUtil.set("INS_INDEX"), filter, null).getArrayList(Integer.class); if (!insuranceToUpdate.isEmpty()) { - _log.info("marking " + insuranceToUpdate.size() + " projects inactive in merge"); + _log.info("marking {} projects inactive in merge", insuranceToUpdate.size()); for (Integer index : insuranceToUpdate) { SQLFragment sql = new SQLFragment("UPDATE dbo.insurance SET INS_TYPE = 'C', INS_ADDR1 = (INS_ADDR1 + ' ' + '(Expired)') WHERE INS_INDEX = ?", index); @@ -1274,7 +1263,7 @@ private Integer resolveProject(Container c, User u, String projectName) SimpleFilter filter = new SimpleFilter(FieldKey.fromString("displayName"), projectName); TableSelector ts = new TableSelector(ti, Collections.singleton("project"), filter, null); List results = ts.getArrayList(Integer.class); - Integer ret = results.isEmpty() ? null : results.get(0); + Integer ret = results.isEmpty() ? null : results.getFirst(); _cachedProjectNames.put(projectName, ret); return ret; diff --git a/mergesync/src/org/labkey/mergesync/RequestSyncHelper.java b/mergesync/src/org/labkey/mergesync/RequestSyncHelper.java index 5c810d231..e5c66ce00 100644 --- a/mergesync/src/org/labkey/mergesync/RequestSyncHelper.java +++ b/mergesync/src/org/labkey/mergesync/RequestSyncHelper.java @@ -104,44 +104,37 @@ public void doSyncRequest(Collection rows) } Map>> recordsToSync = new HashMap<>(); - try + for (Map row : rows) { - for (Map row : rows) + String animalId = (String)row.get("Id"); + Date date = (Date)row.get("date"); + String servicerequested = (String)row.get("servicerequested"); + String objectId = (String)row.get("objectid"); + String taskid = (String)row.get("taskid"); + String requestid = (String)row.get("requestid"); + String key = (taskid == null ? "" : taskid) + "<>" + (requestid == null ? "" : requestid) + "<>" + animalId + "<>" + _dateFormat.format(date); + + if (servicerequested == null || !shouldSyncService(servicerequested)) { - String animalId = (String)row.get("Id"); - Date date = (Date)row.get("date"); - String servicerequested = (String)row.get("servicerequested"); - String objectId = (String)row.get("objectid"); - String taskid = (String)row.get("taskid"); - String requestid = (String)row.get("requestid"); - String key = (taskid == null ? "" : taskid) + "<>" + (requestid == null ? "" : requestid) + "<>" + animalId + "<>" + _dateFormat.format(date); - - if (servicerequested == null || !shouldSyncService(servicerequested)) - { - _log.info("No mapping for service: " + servicerequested + ", skipping"); - return; - } + _log.info("No mapping for service: {}, skipping", servicerequested); + return; + } - _log.info("Syncing single request to merge for animal: " + animalId); + _log.info("Syncing single request to merge for animal: {}", animalId); - if (hasBeenOrdered(_container, objectId)) - { - _log.error("Request has already been synced: " + objectId); - continue; - } + if (hasBeenOrdered(_container, objectId)) + { + _log.error("Request has already been synced: {}", objectId); + continue; + } - List> list = recordsToSync.get(key); - if (list == null) - list = new ArrayList<>(); + List> list = recordsToSync.get(key); + if (list == null) + list = new ArrayList<>(); - list.add(new CaseInsensitiveHashMap(row)); + list.add(new CaseInsensitiveHashMap(row)); - recordsToSync.put(key, list); - } - } - catch (SQLException e) - { - _log.error(e.getMessage(), e); + recordsToSync.put(key, list); } if (recordsToSync.isEmpty()) @@ -152,7 +145,7 @@ public void doSyncRequest(Collection rows) DbScope scope = mergeSchema.getScope(); try (DbScope.Transaction transaction = scope.ensureTransaction()) { - _log.info("Syncing requests to merge: " + recordsToSync.keySet().size()); + _log.info("Syncing requests to merge: {}", recordsToSync.size()); for (String key : recordsToSync.keySet()) { List> records = recordsToSync.get(key); @@ -161,25 +154,25 @@ public void doSyncRequest(Collection rows) String requestId = StringUtils.trimToNull(tokens[1]); //create 1 record per batch of tests - String patientId = createPatientIfNeeded(mergeSchema, _container, _user, (String)records.get(0).get("Id")); + String patientId = createPatientIfNeeded(mergeSchema, _container, _user, (String)records.getFirst().get("Id")); Integer doctorId = getMergeUserId(mergeSchema, _user, "DOC"); Integer techId = getMergeUserId(mergeSchema, _user, "TECH"); if (doctorId == null) { - _log.error("Unable to resolve merge user id for: " + _user.getEmail() + " with role: DOC"); + _log.error("Unable to resolve merge user id for: {} with role: DOC", _user.getEmail()); return; } if (techId == null) { - _log.error("Unable to resolve merge user id for: " + _user.getEmail() + " with role: TECH"); + _log.error("Unable to resolve merge user id for: {} with role: TECH", _user.getEmail()); return; } - Integer insuranceId = createInsuranceIfNeeded(mergeSchema, _container, _user, (Integer)records.get(0).get("project")); - String visitId = createVisit(mergeSchema, _user, patientId, doctorId, techId, insuranceId, (Date)records.get(0).get("date")); + Integer insuranceId = createInsuranceIfNeeded(mergeSchema, _container, _user, (Integer)records.getFirst().get("project")); + String visitId = createVisit(mergeSchema, _user, patientId, doctorId, techId, insuranceId, (Date)records.getFirst().get("date")); createCopyTo(mergeSchema, _user, patientId, doctorId, techId, visitId); - int orderId = createOrder(mergeSchema, _user, patientId, doctorId, techId, visitId, (Date)records.get(0).get("date")); + int orderId = createOrder(mergeSchema, _user, patientId, doctorId, techId, visitId, (Date)records.getFirst().get("date")); //then 1 row per service type (clinpath runs record) int letterIdx = 0; @@ -188,7 +181,7 @@ public void doSyncRequest(Collection rows) Integer mergeTestId = resolveMergeTestId(mergeSchema, (String)row.get("servicerequested")); if (mergeTestId == null) { - _log.error("Unable to find merge test name matching: " + row.get("servicerequested")); + _log.error("Unable to find merge test name matching: {}", row.get("servicerequested")); continue; } @@ -201,12 +194,12 @@ public void doSyncRequest(Collection rows) } letterIdx = letterIdx % 26; - int containerId = createContainer(mergeSchema, _user, orderId, mergeTestId, doctorId, techId, (Date)records.get(0).get("date"), containerName); + int containerId = createContainer(mergeSchema, _user, orderId, mergeTestId, doctorId, techId, (Date)records.getFirst().get("date"), containerName); int testId = createTest(mergeSchema, _user, patientId, visitId, orderId, containerId, mergeTestId, (Date)row.get("date"), containerName); //insert record into orderssynced TableInfo ordersSynced = MergeSyncSchema.getInstance().getSchema().getTable(MergeSyncManager.TABLE_ORDERSSYNCED); - CaseInsensitiveHashMap toInsert = new CaseInsensitiveHashMap(); + CaseInsensitiveHashMap toInsert = new CaseInsensitiveHashMap<>(); toInsert.put("objectid", new GUID().toString()); toInsert.put("runid", row.get("objectid")); toInsert.put("order_accession", orderId); @@ -221,7 +214,7 @@ public void doSyncRequest(Collection rows) Table.insert(_user, ordersSynced, toInsert); } - _log.info("created merge order: " + orderId + ", with " + records.size() + " tests"); + _log.info("created merge order: {}, with {} tests", orderId, records.size()); } transaction.commit(); @@ -255,10 +248,10 @@ private Integer resolveMergeTestId(DbSchema mergeSchema, String servicename) return null; TableInfo mergeTestNames = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_TESTINFO); - TableSelector ts2 = new TableSelector(mergeTestNames, PageFlowUtil.set("T_TSTNUM"), new SimpleFilter(FieldKey.fromString("T_ABBR"), ret.get(0), CompareType.EQUAL), null); + TableSelector ts2 = new TableSelector(mergeTestNames, PageFlowUtil.set("T_TSTNUM"), new SimpleFilter(FieldKey.fromString("T_ABBR"), ret.getFirst(), CompareType.EQUAL), null); List ret2 = ts2.getArrayList(Integer.class); - return ret2.isEmpty() ? null : ret2.get(0); + return ret2.isEmpty() ? null : ret2.getFirst(); } private Map getMergeTestInfo(DbSchema mergeSchema, int mergeTestId) @@ -270,7 +263,7 @@ private Map getMergeTestInfo(DbSchema mergeSchema, int mergeTest return ret; } - private boolean hasBeenOrdered(Container c, String objectid) throws SQLException + private boolean hasBeenOrdered(Container c, String objectid) { TableInfo ordersSynced = MergeSyncSchema.getInstance().getSchema().getTable(MergeSyncManager.TABLE_ORDERSSYNCED); SimpleFilter filter = new SimpleFilter(FieldKey.fromString("runid"), objectid, CompareType.EQUAL); @@ -290,16 +283,16 @@ private String createPatientIfNeeded(DbSchema mergeSchema, Container c, User u, { if (existing.size() > 1) { - _log.error("More than 1 matching patient found: " + animalId); + _log.error("More than 1 matching patient found: {}", animalId); } - return existing.get(0); + return existing.getFirst(); } return createPatient(mergeSchema, c, u, animalId); } - public static String createPatient(DbSchema mergeSchema, Container c, User u, String animalId) throws SQLException + public static String createPatient(DbSchema mergeSchema, Container c, User u, String animalId) { TableInfo ti = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_PATIENTS); @@ -350,7 +343,7 @@ public static String getSpeciesCode(String species) TableSelector ts = new TableSelector(speciesTable, PageFlowUtil.set("cites_code"), new SimpleFilter(FieldKey.fromString("common"), species), null); List ret = ts.getArrayList(String.class); - return ret != null && !ret.isEmpty() ? ret.get(0) : null; + return ret != null && !ret.isEmpty() ? ret.getFirst() : null; } private Integer createInsuranceIfNeeded(DbSchema mergeSchema, Container c, User u, Integer project) throws SQLException @@ -362,7 +355,7 @@ private Integer createInsuranceIfNeeded(DbSchema mergeSchema, Container c, User TableInfo projectTable = QueryService.get().getUserSchema(u, c, "ehr").getTable("project"); if (projectTable == null) { - _log.error("Unable to find ehr.project in container: " + _container.getPath()); + _log.error("Unable to find ehr.project in container: {}", _container.getPath()); return null; } @@ -372,7 +365,7 @@ private Integer createInsuranceIfNeeded(DbSchema mergeSchema, Container c, User TableSelector projectTs = new TableSelector(projectTable, cols.values(), new SimpleFilter(FieldKey.fromString("project"), project), null); if (!projectTs.exists()) { - _log.error("Unable to find project with Id: " + project + " in container: " + _container.getPath()); + _log.error("Unable to find project with Id: {} in container: {}", project, _container.getPath()); return null; } @@ -391,17 +384,17 @@ private Integer createInsuranceIfNeeded(DbSchema mergeSchema, Container c, User { if (existing.size() > 1) { - _log.error("More than insurance found matching project: " + project); + _log.error("More than insurance found matching project: {}", project); } - return existing.get(0); + return existing.getFirst(); } return createInsurance(mergeSchema, c, u, projectName, lastName, enddate); } } - public static Integer createInsurance(DbSchema mergeSchema, Container c, User u, String projectName, String lastName, Date enddate) throws SQLException + public static Integer createInsurance(DbSchema mergeSchema, Container c, User u, String projectName, String lastName, Date enddate) { TableInfo ti = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_INSURANCE); boolean isExpired = enddate == null ? false : DateUtils.truncate(enddate, Calendar.DATE).getTime() < DateUtils.truncate(new Date(), Calendar.DATE).getTime(); @@ -428,7 +421,7 @@ private static int getAndIncrementIndex(String colName, TableInfo ti) throw new RuntimeException("Unknown index: " + colName); } - Integer i = ret.get(0); + Integer i = ret.getFirst(); //increment this index SqlExecutor se = new SqlExecutor(ti.getSchema()); @@ -457,7 +450,7 @@ private Integer getMergeUserId(DbSchema mergeSchema, User u, String role) List ret = ts.getArrayList(Integer.class); if (ret != null && ret.size() == 1) { - mergeUserId = ret.get(0); + mergeUserId = ret.getFirst(); } } @@ -470,7 +463,7 @@ private Integer getMergeUserId(DbSchema mergeSchema, User u, String role) List ret = ts.getArrayList(Integer.class); if (ret != null && ret.size() == 1) { - mergeUserId = ret.get(0); + mergeUserId = ret.getFirst(); } } @@ -484,7 +477,7 @@ private Integer getMergeUserId(DbSchema mergeSchema, User u, String role) List ret = ts.getArrayList(Integer.class); if (ret != null && ret.size() == 1) { - mergeUserId = ret.get(0); + mergeUserId = ret.getFirst(); } } @@ -507,16 +500,16 @@ private Integer getMergeUserId(DbSchema mergeSchema, User u, String role) TableSelector ts = new TableSelector(ti, PageFlowUtil.set("PR_NUM"), filter, null); List ret = ts.getArrayList(Integer.class); - Integer i = ret == null || ret.isEmpty() ? null : ret.get(0); + Integer i = ret == null || ret.isEmpty() ? null : ret.getFirst(); if (i == null) { - _log.error("Unable to find merge userId matching the login: " + mergeUserName + " with the role: DOC"); + _log.error("Unable to find merge userId matching the login: {} with the role: DOC", mergeUserName); } return i; } - private void createCopyTo(DbSchema mergeSchema, User u, String patientId, int doctorId, int techId, String visitId) throws SQLException + private void createCopyTo(DbSchema mergeSchema, User u, String patientId, int doctorId, int techId, String visitId) { TableInfo ti = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_COPY_TO); @@ -529,7 +522,7 @@ private void createCopyTo(DbSchema mergeSchema, User u, String patientId, int do Table.insert(u, ti, toInsert); } - private String createVisit(DbSchema mergeSchema, User u, String patientId, int doctorId, int techId, Integer insuranceId, Date date) throws SQLException + private String createVisit(DbSchema mergeSchema, User u, String patientId, int doctorId, int techId, Integer insuranceId, Date date) { TableInfo ti = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_VISITS); @@ -576,11 +569,11 @@ private int getTZ(Date date, DbSchema mergeSchema) if (ret.isEmpty()) { - _log.error("Unable to find timezone matching: " + abbr); + _log.error("Unable to find timezone matching: {}", abbr); throw new RuntimeException("Unable to find timezone matching: " + abbr); } - _timezone = ret.get(0); + _timezone = ret.getFirst(); } return _timezone; @@ -597,7 +590,7 @@ private Date convertDate(Date d) private final char[] ALPHABET = new char[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; - private int createContainer(DbSchema mergeSchema, User u, int orderId, int mergeTestId, int doctorId, int techId, Date date, Character containerName) throws SQLException + private int createContainer(DbSchema mergeSchema, User u, int orderId, int mergeTestId, int doctorId, int techId, Date date, Character containerName) { TableInfo containerTable = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_CONTAINERS); Map testInfo = getMergeTestInfo(mergeSchema, mergeTestId); @@ -625,7 +618,7 @@ private int createContainer(DbSchema mergeSchema, User u, int orderId, int merge return (Integer)inserted.get("CNT_INDEX"); } - private int createOrder(DbSchema mergeSchema, User u, String patientId, int doctorId, int techId, String visitId, Date date) throws SQLException + private int createOrder(DbSchema mergeSchema, User u, String patientId, int doctorId, int techId, String visitId, Date date) { TableInfo ti = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_ORDERS); @@ -677,7 +670,7 @@ public void exec(ResultSet rs) throws SQLException return pair; } - private int createTest(DbSchema mergeSchema, User u, String patientId, String visitId, int accession, int containerId, int mergeTestId, Date date, Character containerName) throws SQLException + private int createTest(DbSchema mergeSchema, User u, String patientId, String visitId, int accession, int containerId, int mergeTestId, Date date, Character containerName) { TableInfo ti = mergeSchema.getTable(MergeSyncManager.TABLE_MERGE_TEST); Map testInfo = getMergeTestInfo(mergeSchema, mergeTestId); @@ -727,6 +720,6 @@ public void deleteSyncRecords(String objectid) SQLFragment sql = new SQLFragment("UPDATE " + MergeSyncSchema.NAME + "." + MergeSyncManager.TABLE_ORDERSSYNCED + " SET deletedate = ? WHERE runid = ?", new Date(), objectid); SqlExecutor se = new SqlExecutor(MergeSyncSchema.getInstance().getSchema()); long deleted = se.execute(sql); - _log.info("deleted " + deleted + " merge sync records following clinpath record delete"); + _log.info("deleted {} merge sync records following clinpath record delete", deleted); } } diff --git a/ogasync/src/org/labkey/ogasync/OGASyncManager.java b/ogasync/src/org/labkey/ogasync/OGASyncManager.java index b4f9c36ea..c8a7a0ab2 100644 --- a/ogasync/src/org/labkey/ogasync/OGASyncManager.java +++ b/ogasync/src/org/labkey/ogasync/OGASyncManager.java @@ -82,7 +82,7 @@ public synchronized void schedule() if (_hourOfDay <= 0) { - _log.error("OGA sync has an invalid frequency, will not schedule: " + _hourOfDay); + _log.error("OGA sync has an invalid frequency, will not schedule: {}", _hourOfDay); return; } @@ -102,12 +102,11 @@ public synchronized void schedule() StdSchedulerFactory.getDefaultScheduler().scheduleJob(_job, _trigger); - _log.info("OGA sync scheduled to run at " + getHourOfDay() + ":00 each day"); + _log.info("OGA sync scheduled to run at {}:00 each day", getHourOfDay()); } catch (IllegalArgumentException e) { _log.error("OGA sync is enabled, but the saved setting are invalid. Sync will not start.", e); - return; } catch (Exception e) { @@ -173,13 +172,7 @@ public void init() if (isEnabled() && _trigger == null) { _log.info("scheduling OGA sync"); - JobRunner.getDefault().execute(new Runnable(){ - @Override - public void run() - { - schedule(); - } - }, 10000); + JobRunner.getDefault().execute(() -> schedule(), 10000); } } @@ -198,10 +191,6 @@ public int getHourOfDay() return -1; Integer value = Integer.parseInt(prop); - if (value == null) - { - return -1; - } return value; } @@ -212,11 +201,7 @@ public Date getLastRun() if (prop == null) return null; - Long value = Long.parseLong(prop); - if (value == null) - { - return null; - } + long value = Long.parseLong(prop); return new Date(value); } @@ -264,11 +249,7 @@ public boolean isEnabled() if (prop == null) return false; - Boolean value = Boolean.parseBoolean(prop); - if (value == null) - { - return false; - } + boolean value = Boolean.parseBoolean(prop); return value; } @@ -286,7 +267,7 @@ public User getLabKeyUser() } catch (ValidEmail.InvalidEmailException e) { - _log.error("Invalid email saved for OGA Sync: " + e.getMessage()); + _log.error("Invalid email saved for OGA Sync: {}", e.getMessage()); } return null; diff --git a/ogasync/src/org/labkey/ogasync/OGASyncRunner.java b/ogasync/src/org/labkey/ogasync/OGASyncRunner.java index 9dc312afd..3278ec1ef 100644 --- a/ogasync/src/org/labkey/ogasync/OGASyncRunner.java +++ b/ogasync/src/org/labkey/ogasync/OGASyncRunner.java @@ -24,7 +24,6 @@ import org.labkey.api.util.PageFlowUtil; import org.quartz.Job; import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; import java.sql.ResultSet; import java.sql.ResultSetMetaData; @@ -58,7 +57,7 @@ public OGASyncRunner() } @Override - public void execute(JobExecutionContext context) throws JobExecutionException + public void execute(JobExecutionContext context) { if (!OGASyncManager.get().isEnabled()) return; @@ -175,7 +174,7 @@ public void doMergeGrantProjects(User u, Container c, TableInfo sourceTable, DbS doMerge(u, c, targetTable, ts, "projectNumber", fieldMap, null, null, null, null); } - public void updateStats(DbSchema targetSchema) throws SQLException + public void updateStats(DbSchema targetSchema) { TableInfo aliases = DbSchema.get("onprc_billing").getTable("aliases"); SQLFragment analyze = targetSchema.getSqlDialect().getAnalyzeCommandForTable(aliases.getSelectName()); @@ -325,7 +324,7 @@ public void doMergeInvestigators(User u, Container c, TableInfo sourceTable, DbS */ public void doMerge(final User u, final Container c, final TableInfo targetTable, Selector selector, final String selectionKey, final Map fieldMap, final String category, final Collection existingAliases, @Nullable final Map faMap, @Nullable final Map investigatorMap) throws SQLException { - _log.info("starting to merge table: " + targetTable.getName()); + _log.info("starting to merge table: {}", targetTable.getName()); try (DbScope.Transaction transaction = ExperimentService.get().ensureTransaction()) { @@ -347,7 +346,7 @@ public void exec(ResultSet rs) throws SQLException totals.put("total", totals.get("total") + 1); if (totals.get("total") % 500 == 0) { - _log.info("processed " + totals.get("total") + " rows in " + (((new Date()).getTime() - start.getTime()) / 1000) + " seconds"); + _log.info("processed {} rows in {} seconds", totals.get("total"), ((new Date()).getTime() - start.getTime()) / 1000); start.setTime(new Date().getTime()); } @@ -361,7 +360,7 @@ public void exec(ResultSet rs) throws SQLException { if (fieldMap.get(key) != null && !columnNames.contains(fieldMap.get(key))) { - _log.error("Unknown column: " + fieldMap.get(key)); + _log.error("Unknown column: {}", fieldMap.get(key)); } else { @@ -483,7 +482,7 @@ else if ("1012".equals(val)) }); transaction.commit(); - _log.info("finished merging table: " + targetTable.getName() + ". total inserts: " + totals.get("insert") + ". total updates: " + totals.get("update")); + _log.info("finished merging table: {}. total inserts: {}. total updates: {}", targetTable.getName(), totals.get("insert"), totals.get("update")); } } diff --git a/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingController.java b/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingController.java index fd7529311..57527a8cd 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingController.java +++ b/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingController.java @@ -28,7 +28,6 @@ import org.labkey.api.ldk.notification.Notification; import org.labkey.api.ldk.notification.NotificationService; import org.labkey.api.pipeline.PipeRoot; -import org.labkey.api.pipeline.PipelineJobException; import org.labkey.api.pipeline.PipelineService; import org.labkey.api.pipeline.PipelineValidationException; import org.labkey.api.query.QueryAction; @@ -48,7 +47,6 @@ import org.springframework.validation.Errors; import org.springframework.web.servlet.ModelAndView; -import java.io.File; import java.io.IOException; import java.util.Date; import java.util.HashMap; diff --git a/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingModule.java b/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingModule.java index d46499053..497e61ecd 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingModule.java +++ b/onprc_billing/src/org/labkey/onprc_billing/ONPRC_BillingModule.java @@ -86,12 +86,6 @@ public String getName() return 25.006; } - @Override - public boolean hasScripts() - { - return true; - } - @Override @NotNull protected Collection createWebPartFactories() diff --git a/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesARTCoreFormSection.java b/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesARTCoreFormSection.java index e2eacf93f..e4ab1bf42 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesARTCoreFormSection.java +++ b/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesARTCoreFormSection.java @@ -60,7 +60,7 @@ public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); defaultButtons.remove("ADDANIMALS"); - defaultButtons.add(0, "ADDANIMALST"); + defaultButtons.addFirst("ADDANIMALST"); return defaultButtons; } diff --git a/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesFormSection.java b/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesFormSection.java index fe3c73b23..a83a248c0 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesFormSection.java +++ b/onprc_billing/src/org/labkey/onprc_billing/dataentry/ChargesFormSection.java @@ -66,7 +66,7 @@ public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); defaultButtons.remove("ADDANIMALS"); - defaultButtons.add(0, "ADDANIMALST"); + defaultButtons.addFirst("ADDANIMALST"); return defaultButtons; } diff --git a/onprc_billing/src/org/labkey/onprc_billing/notification/DCMFinanceNotification.java b/onprc_billing/src/org/labkey/onprc_billing/notification/DCMFinanceNotification.java index 2da58ca5c..9df7cd491 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/notification/DCMFinanceNotification.java +++ b/onprc_billing/src/org/labkey/onprc_billing/notification/DCMFinanceNotification.java @@ -90,7 +90,7 @@ protected void writeResultTable(final StringBuilder msg, Date lastInvoiceEnd, Ca for (String key : dataMap.get(financialAnalyst).keySet()) { List tokens = new ArrayList<>(Arrays.asList(key.split("<>"))); - tokens.remove(0); //remove FA + tokens.removeFirst(); //remove FA String newKey = StringUtils.join(tokens, "<>"); Map> newDataByCategory = newDataMap.get(newKey); if (newDataByCategory == null) @@ -106,7 +106,7 @@ protected void writeResultTable(final StringBuilder msg, Date lastInvoiceEnd, Ca Map totals = dataByCategory.get(category); for (String t : totals.keySet()) { - Integer newVal = newTotals.containsKey(t) ? newTotals.get(t) : 0; + Integer newVal = newTotals.getOrDefault(t, 0); newVal += totals.get(t); newTotals.put(t, newVal); } diff --git a/onprc_billing/src/org/labkey/onprc_billing/notification/FinanceNotification.java b/onprc_billing/src/org/labkey/onprc_billing/notification/FinanceNotification.java index 3ebd9db8a..70b50c54c 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/notification/FinanceNotification.java +++ b/onprc_billing/src/org/labkey/onprc_billing/notification/FinanceNotification.java @@ -341,14 +341,14 @@ public void exec(ResultSet object) throws SQLException Double quantity = rs.getDouble(FieldKey.fromString("quantity")); if (unitCost != null && quantity != null) { - double t = totalsMap.containsKey("totalCost") ? totalsMap.get("totalCost") : 0.0; + double t = totalsMap.getOrDefault("totalCost", 0.0); t += (quantity * unitCost); totalsMap.put("totalCost", t); } if (quantity != null) { - double t = totalsMap.containsKey("total") ? totalsMap.get("total") : 0.0; + double t = totalsMap.getOrDefault("total", 0.0); t += quantity; totalsMap.put("total", t); } @@ -404,7 +404,7 @@ public void exec(ResultSet object) throws SQLException values = new HashMap<>(); - Integer count = values.containsKey(fd.getFieldName()) ? values.get(fd.getFieldName()) : 0; + Integer count = values.getOrDefault(fd.getFieldName(), 0); count++; values.put(fd.getFieldName(), count); diff --git a/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJob.java b/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJob.java index df8f26ac8..6aba8e0e6 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJob.java +++ b/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJob.java @@ -21,7 +21,6 @@ import org.labkey.api.pipeline.PipeRoot; import org.labkey.api.pipeline.PipelineJob; import org.labkey.api.pipeline.PipelineJobService; -import org.labkey.api.pipeline.PipelineValidationException; import org.labkey.api.pipeline.TaskId; import org.labkey.api.pipeline.TaskPipeline; import org.labkey.api.security.User; @@ -57,7 +56,7 @@ public BillingPipelineJob(Container c, User user, ActionURL url, PipeRoot pipeRo _form = form; } - public static FileLike createAnalysisDir(PipeRoot pipeRoot, String name) throws PipelineValidationException, IOException + public static FileLike createAnalysisDir(PipeRoot pipeRoot, String name) throws IOException { String trialName = FileUtil.makeLegalName(name); FileLike analysisDir = pipeRoot.resolvePathToFileLike(trialName); diff --git a/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJobSupport.java b/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJobSupport.java index e9aa60f13..f4d70419b 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJobSupport.java +++ b/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingPipelineJobSupport.java @@ -15,7 +15,6 @@ */ package org.labkey.onprc_billing.pipeline; -import java.io.File; import java.util.Date; /** diff --git a/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingTask.java b/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingTask.java index 1f1ded27e..87bbeba4a 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingTask.java +++ b/onprc_billing/src/org/labkey/onprc_billing/pipeline/BillingTask.java @@ -311,7 +311,7 @@ private void writeToInvoicedItems(List> rows, String[] colNa { if (toInsert.get(field) == null) { - getJob().getLogger().warn("Missing value for field: " + field + " for transactionNumber: " + toInsert.get("transactionNumber")); + getJob().getLogger().warn("Missing value for field: {} for transactionNumber: {}", field, toInsert.get("transactionNumber")); } } @@ -368,7 +368,7 @@ private void leaseFeeProcessing(Container ehrContainer) throws PipelineJobExcept String queryName = "leaseFeeRates"; List> rows = getRowList(ehrContainer, "onprc_billing", queryName, colNames, params); - getJob().getLogger().info(rows.size() + " rows found"); + getJob().getLogger().info("{} rows found", rows.size()); writeToInvoicedItems(rows, colNames, queryName, false); getJob().getLogger().info("Finished Caching Lease Fees"); @@ -395,7 +395,7 @@ private List> getRowList(Container c, String schemaName, Str if (!colKeys.containsKey(col)) { - getJob().getLogger().warn("Unable to find column with key: " + col + " for table: " + ti.getPublicName()); + getJob().getLogger().warn("Unable to find column with key: {} for table: {}", col, ti.getPublicName()); } } @@ -433,7 +433,7 @@ private void perDiemProcessing(Container ehrContainer) throws PipelineJobExcepti long numDays = Math.round(((Long)(getSupport().getEndDate().getTime() - getSupport().getStartDate().getTime())).doubleValue() / DateUtils.MILLIS_PER_DAY); numDays++; params.put("NumDays", (int) numDays); - getJob().getLogger().info("Using start date: " + _dateFormat.format(getSupport().getStartDate()) + ", end date: " + _dateFormat.format(getSupport().getEndDate()) + ", with number of days: " + (int) numDays); + getJob().getLogger().info("Using start date: {}, end date: {}, with number of days: {}", _dateFormat.format(getSupport().getStartDate()), _dateFormat.format(getSupport().getEndDate()), (int) numDays); String[] colNames = new String[]{ "Id", @@ -467,7 +467,7 @@ private void perDiemProcessing(Container ehrContainer) throws PipelineJobExcepti String queryName = "perDiemRates"; List> rows = getRowList(ehrContainer, "onprc_billing", queryName, colNames, params); - getJob().getLogger().info(rows.size() + " rows found"); + getJob().getLogger().info("{} rows found", rows.size()); writeToInvoicedItems(rows, colNames, queryName, false); getJob().getLogger().info("Finished Caching Per Diem Fees"); @@ -519,7 +519,7 @@ private void slaPerDiemProcessing() throws PipelineJobException String queryName = "slaPerDiemRates"; List> rows = getRowList(slaContainer, "onprc_billing", queryName, colNames, params); - getJob().getLogger().info(rows.size() + " rows found"); + getJob().getLogger().info("{} rows found", rows.size()); writeToInvoicedItems(rows, colNames, queryName, false); getJob().getLogger().info("Finished Caching Per Diem Fees"); @@ -565,7 +565,7 @@ private void proceduresProcessing(Container ehrContainer) throws PipelineJobExce String queryName = "procedureFeeRates"; List> rows = getRowList(ehrContainer, "onprc_billing", queryName, colNames, params); - getJob().getLogger().info(rows.size() + " rows found"); + getJob().getLogger().info("{} rows found", rows.size()); writeToInvoicedItems(rows, colNames, queryName, false); getJob().getLogger().info("Finished Caching Procedure Fees"); @@ -611,7 +611,7 @@ private void labworkProcessing(Container ehrContainer) throws PipelineJobExcepti String queryName = "labworkFeeRates"; List> rows = getRowList(ehrContainer, "onprc_billing", queryName, colNames, params); - getJob().getLogger().info(rows.size() + " rows found"); + getJob().getLogger().info("{} rows found", rows.size()); writeToInvoicedItems(rows, colNames, queryName, false); getJob().getLogger().info("Finished Caching Labwork Fees"); @@ -654,7 +654,7 @@ private void miscChargesProcessing(Container ehrContainer) throws PipelineJobExc }; List> rows = getRowList(ehrContainer, "onprc_billing", MISC_CHARGES_QUERY, colNames, params); - getJob().getLogger().info(rows.size() + " rows found"); + getJob().getLogger().info("{} rows found", rows.size()); writeToInvoicedItems(rows, colNames, MISC_CHARGES_QUERY, true); @@ -665,7 +665,7 @@ private void processMiscChargesRecords(List> rows, String qu { try { - getJob().getLogger().info("Potentially updating " + rows.size() + " records in misc charges table for the query " + queryName); + getJob().getLogger().info("Potentially updating {} records in misc charges table for the query {}", rows.size(), queryName); TableInfo ti = DbSchema.get(ONPRC_BillingSchema.NAME).getTable(ONPRC_BillingSchema.TABLE_MISC_CHARGES); String invoiceId = getOrCreateInvoiceRunRecord(); @@ -700,7 +700,7 @@ private void processMiscChargesRecords(List> rows, String qu Table.update(getJob().getUser(), ti, toUpdate, objectId); } - getJob().getLogger().info("updated " + updates + " records in misc charges table. skipped " + skipped); + getJob().getLogger().info("updated {} records in misc charges table. skipped {}", updates, skipped); } catch (RuntimeSQLException e) { diff --git a/onprc_billing/src/org/labkey/onprc_billing/query/BillingAuditProvider.java b/onprc_billing/src/org/labkey/onprc_billing/query/BillingAuditProvider.java index 5d9e1d3bc..e6ea43b6f 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/query/BillingAuditProvider.java +++ b/onprc_billing/src/org/labkey/onprc_billing/query/BillingAuditProvider.java @@ -15,7 +15,6 @@ import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; -import java.util.Map; import java.util.Set; /** diff --git a/onprc_billing/src/org/labkey/onprc_billing/query/BillingTriggerHelper.java b/onprc_billing/src/org/labkey/onprc_billing/query/BillingTriggerHelper.java index 59097b10f..1b68275d3 100644 --- a/onprc_billing/src/org/labkey/onprc_billing/query/BillingTriggerHelper.java +++ b/onprc_billing/src/org/labkey/onprc_billing/query/BillingTriggerHelper.java @@ -26,7 +26,6 @@ import java.util.Arrays; import java.util.Calendar; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -71,14 +70,14 @@ private Date getLastInvoiceDate() UserSchema us = QueryService.get().getUserSchema(getUser(), getContainer(), "onprc_billing_public"); if (us == null) { - _log.error("Unable to find onprc_billing_public schema in container: " + getContainer().getPath()); + _log.error("Unable to find onprc_billing_public schema in container: {}", getContainer().getPath()); return null; } TableInfo ti = us.getTable("publicInvoiceRuns"); if (ti == null) { - _log.error("Unable to find onprc_billing_public.publicInvoiceRuns in container: " + getContainer().getPath()); + _log.error("Unable to find onprc_billing_public.publicInvoiceRuns in container: {}", getContainer().getPath()); return null; } diff --git a/onprc_billingpublic/src/org/labkey/onprc_billingpublic/ONPRC_BillingPublicModule.java b/onprc_billingpublic/src/org/labkey/onprc_billingpublic/ONPRC_BillingPublicModule.java index 4ac8495d3..477a603d2 100644 --- a/onprc_billingpublic/src/org/labkey/onprc_billingpublic/ONPRC_BillingPublicModule.java +++ b/onprc_billingpublic/src/org/labkey/onprc_billingpublic/ONPRC_BillingPublicModule.java @@ -18,7 +18,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.labkey.api.data.Container; import org.labkey.api.module.DefaultModule; import org.labkey.api.module.ModuleContext; import org.labkey.api.view.WebPartFactory; @@ -68,13 +67,6 @@ public void doStartup(ModuleContext moduleContext) } - @Override - @NotNull - public Collection getSummary(Container c) - { - return Collections.emptyList(); - } - @Override @NotNull public Set getSchemaNames() diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRController.java b/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRController.java index c5239ea8d..b52f9fb82 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRController.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRController.java @@ -329,7 +329,7 @@ public ApiResponse execute(Object form, BindException errors) throws SQLExceptio new SqlExecutor(ti.getSchema()).execute(sql); - logger.info(counter + " total case numbers added."); + logger.info("{} total case numbers added.", counter); sql = new SQLFragment().append(sqlStart); } @@ -345,7 +345,7 @@ public ApiResponse execute(Object form, BindException errors) throws SQLExceptio ret.put("rows", counter); ret.put("success", true); - logger.info("Case number update completed. " + counter + " total case numbers updated."); + logger.info("Case number update completed. {} total case numbers updated.", counter); return new ApiSimpleResponse(ret); @@ -430,7 +430,7 @@ private String hasExactMatch(SnomedForm form) sql.add(form.getSnomed()); List results = new SqlSelector(QueryService.get().getUserSchema(getUser(), getContainer(), "ehr_lookups").getDbSchema(), sql).getArrayList(String.class); - return results.isEmpty() ? null : results.get(0); + return results.isEmpty() ? null : results.getFirst(); } private Map[] findSnomed(SnomedForm form) diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java b/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java index 6e766bdc6..a05a681a4 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/ONPRC_EHRModule.java @@ -127,12 +127,6 @@ public String getName() return 25.005; } - @Override - public boolean hasScripts() - { - return true; - } - @Override protected void init() { diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/buttons/ChangeProjectedReleaseDateButton.java b/onprc_ehr/src/org/labkey/onprc_ehr/buttons/ChangeProjectedReleaseDateButton.java index 4737871f3..5657e1600 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/buttons/ChangeProjectedReleaseDateButton.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/buttons/ChangeProjectedReleaseDateButton.java @@ -39,7 +39,7 @@ protected String getJsHandler(TableInfo ti) String pkColName = null; if (ti.getPkColumnNames() != null && ti.getPkColumnNames().size() == 1) { - pkColName = ti.getPkColumnNames().get(0); + pkColName = ti.getPkColumnNames().getFirst(); } return "EHR.window.MarkCompletedWindow.buttonHandler(dataRegionName, " + PageFlowUtil.jsString(_schemaName) + ", " + PageFlowUtil.jsString(_queryName) + ", " + PageFlowUtil.jsString(xtype) + ", " + PageFlowUtil.jsString(pkColName) + ", false, 'projectedRelease');"; diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/AnesthesiaFormSection.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/AnesthesiaFormSection.java index b90c41af7..6c460c524 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/AnesthesiaFormSection.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/AnesthesiaFormSection.java @@ -36,7 +36,7 @@ public AnesthesiaFormSection() public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "ADD_ANESTHESIA"); + defaultButtons.addFirst("ADD_ANESTHESIA"); return defaultButtons; } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRemarksFormSection.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRemarksFormSection.java index d671ea1e8..26b640b99 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRemarksFormSection.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRemarksFormSection.java @@ -36,7 +36,7 @@ public BehaviorRemarksFormSection() public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "COPY_BEHAVIOR_EXAM"); + defaultButtons.addFirst("COPY_BEHAVIOR_EXAM"); return defaultButtons; } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRoundsObservationsFormSection.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRoundsObservationsFormSection.java index 399a70462..81ce4f3c7 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRoundsObservationsFormSection.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/BehaviorRoundsObservationsFormSection.java @@ -41,7 +41,7 @@ public BehaviorRoundsObservationsFormSection() public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "ADDBEHAVIORCASES"); + defaultButtons.addFirst("ADDBEHAVIORCASES"); return defaultButtons; } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsFormType.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsFormType.java index ab5d20c96..b502b3908 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsFormType.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsFormType.java @@ -24,7 +24,6 @@ import org.labkey.api.ehr.dataentry.TaskFormSection; import org.labkey.api.ehr.dataentry.WeightFormSection; import org.labkey.api.ehr.dataentry.DrugAdministrationFormSection; -import org.labkey.api.ehr.security.EHRClinicalEntryPermission; import org.labkey.api.module.Module; import org.labkey.api.query.Queryable; import org.labkey.api.view.template.ClientDependency; diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsRemarksFormSection.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsRemarksFormSection.java index 072575fdd..d481f0476 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsRemarksFormSection.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/ClinicalRoundsRemarksFormSection.java @@ -47,7 +47,7 @@ public ClinicalRoundsRemarksFormSection(EHRService.FORM_SECTION_LOCATION locatio public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "ADDCLINICALCASES"); + defaultButtons.addFirst("ADDCLINICALCASES"); return defaultButtons; } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/DrugAdministrationFormSection.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/DrugAdministrationFormSection.java index 102770129..de3f0f7db 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/DrugAdministrationFormSection.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/DrugAdministrationFormSection.java @@ -90,7 +90,7 @@ public DrugAdministrationFormSection(EHRService.FORM_SECTION_LOCATION location, public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "SEDATIONHELPER"); + defaultButtons.addFirst("SEDATIONHELPER"); // Added: 4-18-2024 R. Blasa defaultButtons.remove("TEMPLATE"); diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EncounterMedicationsFormSection.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EncounterMedicationsFormSection.java index 7680e947f..9d5087f72 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EncounterMedicationsFormSection.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EncounterMedicationsFormSection.java @@ -47,7 +47,7 @@ public List getTbarButtons() List defaultButtons = super.getTbarButtons(); if ("drug".equals(getQueryName()) || "Drug Administration".equals(getQueryName())) { - defaultButtons.add(0, "SEDATIONHELPER"); + defaultButtons.addFirst("SEDATIONHELPER"); } defaultButtons.add("DRUGAMOUNTHELPER"); diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EpocPanelForm.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EpocPanelForm.java index f5a759071..19f7decc7 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EpocPanelForm.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/EpocPanelForm.java @@ -13,7 +13,7 @@ public EpocPanelForm() public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "EPOC_IMPORT"); + defaultButtons.addFirst("EPOC_IMPORT"); return defaultButtons; } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/IStatPanelForm.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/IStatPanelForm.java index d6d27938c..2788f0edd 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/IStatPanelForm.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/IStatPanelForm.java @@ -31,7 +31,7 @@ public IStatPanelForm() public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "ISTAT_IMPORT"); + defaultButtons.addFirst("ISTAT_IMPORT"); return defaultButtons; } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/NHPTrainingFormType.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/NHPTrainingFormType.java index 8faf1cba8..54bd16e60 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/NHPTrainingFormType.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/NHPTrainingFormType.java @@ -21,11 +21,7 @@ import org.labkey.api.ehr.dataentry.TaskFormSection; import org.labkey.api.ehr.security.EHRBehaviorEntryPermission; import org.labkey.api.module.Module; -import org.labkey.api.security.Group; -import org.labkey.api.security.GroupManager; -import org.labkey.api.security.permissions.AdminPermission; import org.labkey.api.view.template.ClientDependency; -import org.labkey.security.xml.GroupEnumType; import java.util.Arrays; diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/PairingFormType.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/PairingFormType.java index abf1da752..a6f8d40d7 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/PairingFormType.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/PairingFormType.java @@ -19,7 +19,6 @@ import org.labkey.api.ehr.dataentry.FormSection; import org.labkey.api.ehr.dataentry.TaskForm; import org.labkey.api.ehr.dataentry.TaskFormSection; -import org.labkey.api.ehr.security.EHRBehaviorEntryPermission; import org.labkey.api.module.Module; import org.labkey.api.view.template.ClientDependency; diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/SurgicalRoundsRemarksFormSection.java b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/SurgicalRoundsRemarksFormSection.java index 68608d813..0a4fd1640 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/SurgicalRoundsRemarksFormSection.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/dataentry/SurgicalRoundsRemarksFormSection.java @@ -49,7 +49,7 @@ public SurgicalRoundsRemarksFormSection(EHRService.FORM_SECTION_LOCATION locatio public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "ADDSURGICALCASES"); + defaultButtons.addFirst("ADDSURGICALCASES"); defaultButtons.add("BULK_CHANGE_CASES"); return defaultButtons; diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/demographics/CagematesDemographicsProvider.java b/onprc_ehr/src/org/labkey/onprc_ehr/demographics/CagematesDemographicsProvider.java index 9565d6fa8..45e59d2fc 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/demographics/CagematesDemographicsProvider.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/demographics/CagematesDemographicsProvider.java @@ -67,8 +67,8 @@ public Set getIdsToUpdate(Container c, String id, Map or List> newList = newProps == null ? null : (List)newProps.get(_propName); Set ret = new TreeSet<>(); - List oldAnimals = oldList == null || oldList.isEmpty() ? Collections.emptyList() : toList(oldList.get(0).get("animals")); - List newAnimals = newList == null || newList.isEmpty() ? Collections.emptyList() : toList(newList.get(0).get("animals")); + List oldAnimals = oldList == null || oldList.isEmpty() ? Collections.emptyList() : toList(oldList.getFirst().get("animals")); + List newAnimals = newList == null || newList.isEmpty() ? Collections.emptyList() : toList(newList.getFirst().get("animals")); ret.addAll(newAnimals); ret.addAll(oldAnimals); @@ -76,7 +76,7 @@ public Set getIdsToUpdate(Container c, String id, Map or if (!ret.isEmpty()) { - _log.info(id + ": Triggered additional housing updates for " + ret.size() + " ids: " + StringUtils.join(ret, ";")); + _log.info("{}: Triggered additional housing updates for {} ids: {}", id, ret.size(), StringUtils.join(ret, ";")); } return ret; @@ -97,7 +97,7 @@ else if (input instanceof String) } else { - _log.error("Unknown type: " + input.getClass().getName() + ", " + input); + _log.error("Unknown type: {}, {}", input.getClass().getName(), input); return Collections.emptyList(); } } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/BehaviorNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/BehaviorNotification.java index e2829e445..24c293a48 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/BehaviorNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/BehaviorNotification.java @@ -24,7 +24,6 @@ import org.labkey.api.data.Results; import org.labkey.api.data.ResultsImpl; import org.labkey.api.data.SQLFragment; -import org.labkey.api.data.Selector; import org.labkey.api.data.SimpleFilter; import org.labkey.api.data.Sort; import org.labkey.api.data.SqlSelector; @@ -39,8 +38,6 @@ import org.labkey.api.security.User; import org.labkey.api.util.PageFlowUtil; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java index 3b62bd188..89e561f77 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ColonyAlertsNotification.java @@ -1745,8 +1745,8 @@ protected void overlappingProtocolCounts(final Container c, User u, final String { TableSelector ts = new TableSelector(getEHRSchema(c, u).getTable("protocolGroupsOverlapping")); Map> results = ts.getAggregates(Arrays.asList(new Aggregate(FieldKey.fromString("protocol"), Aggregate.BaseType.COUNT, null, true), new Aggregate(FieldKey.fromString("project"), Aggregate.BaseType.COUNT, null, true))); - Long totalProtocol = (Long)(results.get("protocol").get(0).getValue()); - Long totalProject = (Long)(results.get("project").get(0).getValue()); + Long totalProtocol = (Long)(results.get("protocol").getFirst().getValue()); + Long totalProject = (Long)(results.get("project").getFirst().getValue()); if (totalProject > 0 || totalProtocol > 0) { diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/CullListNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/CullListNotification.java index 234afdef5..85c418065 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/CullListNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/CullListNotification.java @@ -45,12 +45,6 @@ public String getEmailSubject(Container c) return "Cull/Underutilized Notification: " + getDateTimeFormat(c).format(new Date()); } - @Override - public String getCronString() - { - return null; - } - @Override public String getScheduleDescription() { diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/MensesTMBNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/MensesTMBNotification.java index 296e3e331..c9ac41e56 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/MensesTMBNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/MensesTMBNotification.java @@ -43,12 +43,6 @@ public String getEmailSubject(Container c) return "TMB Menses Notification: " + getDateTimeFormat(c).format(new Date()); } - @Override - public String getCronString() - { - return null; - } - @Override public String getScheduleDescription() { diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProjectAlertsNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProjectAlertsNotification.java index 82a990358..ea566577b 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProjectAlertsNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProjectAlertsNotification.java @@ -43,12 +43,6 @@ public String getEmailSubject(Container c) return "Project Alerts Notification: " + DateUtil.formatDateTime(c); } - @Override - public String getCronString() - { - return null; - } - @Override public String getScheduleDescription() { diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProtocolAlertsNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProtocolAlertsNotification.java index f0a6aa39e..efc4297ce 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProtocolAlertsNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/ProtocolAlertsNotification.java @@ -43,12 +43,6 @@ public String getEmailSubject(Container c) return "Protocol Alerts Notification: " + DateUtil.formatDateTime(c); } - @Override - public String getCronString() - { - return null; - } - @Override public String getScheduleDescription() { diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsMPANotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsMPANotification.java index 663a664f7..5c800114d 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsMPANotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsMPANotification.java @@ -157,7 +157,7 @@ public void exec(ResultSet object) throws SQLException totals.put(incomplete, totals.get(incomplete) + 1); String area = rs.getString(FieldKey.fromString("Id/curLocation/area")); - Integer areaVal = totalByArea.containsKey(area) ? totalByArea.get(area) : 0; + Integer areaVal = totalByArea.getOrDefault(area, 0); areaVal++; totalByArea.put(area, areaVal); diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotification.java index 41d23601d..da1404190 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotification.java @@ -172,7 +172,7 @@ public void exec(ResultSet object) throws SQLException { area = ""; } - Integer areaVal = totalByArea.containsKey(area) ? totalByArea.get(area) : 0; + Integer areaVal = totalByArea.getOrDefault(area, 0); areaVal++; totalByArea.put(area, areaVal); diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationSecondary.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationSecondary.java index 486f35924..e7d297a11 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationSecondary.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationSecondary.java @@ -166,7 +166,7 @@ public void exec(ResultSet object) throws SQLException totals.put(incomplete, totals.get(incomplete) + 1); String area = rs.getString(FieldKey.fromString("Id/curLocation/area")); - Integer areaVal = totalByArea.containsKey(area) ? totalByArea.get(area) : 0; + Integer areaVal = totalByArea.getOrDefault(area, 0); areaVal++; totalByArea.put(area, areaVal); diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationThird.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationThird.java index 4f89a2852..6444eef88 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationThird.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/TreatmentAlertsPostOpsNotificationThird.java @@ -166,7 +166,7 @@ public void exec(ResultSet object) throws SQLException totals.put(incomplete, totals.get(incomplete) + 1); String area = rs.getString(FieldKey.fromString("Id/curLocation/area")); - Integer areaVal = totalByArea.containsKey(area) ? totalByArea.get(area) : 0; + Integer areaVal = totalByArea.getOrDefault(area, 0); areaVal++; totalByArea.put(area, areaVal); diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/notification/WeightAlertsNotification.java b/onprc_ehr/src/org/labkey/onprc_ehr/notification/WeightAlertsNotification.java index f34d89961..bf8fab9c9 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/notification/WeightAlertsNotification.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/notification/WeightAlertsNotification.java @@ -34,7 +34,6 @@ import org.labkey.api.security.User; import org.labkey.api.settings.AppProps; import org.labkey.api.ehr.notification.AbstractEHRNotification; -import org.labkey.api.util.PageFlowUtil; import java.sql.ResultSet; import java.sql.SQLException; @@ -216,12 +215,7 @@ public void exec(ResultSet object) throws SQLException return; String area = rs.getString(areaKey) == null ? "" : rs.getString(areaKey); - Map>> areaMap = summary.get(area); - if (areaMap == null) - { - areaMap = new TreeMap<>(); - summary.put(area, areaMap); - } + Map>> areaMap = summary.computeIfAbsent(area, _ -> new TreeMap<>()); String room = rs.getString(roomKey) == null ? "" : rs.getString(roomKey); List> roomList = areaMap.get(room); diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/query/ONPRC_EHRTriggerHelper.java b/onprc_ehr/src/org/labkey/onprc_ehr/query/ONPRC_EHRTriggerHelper.java index af711cba9..d9b85865e 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/query/ONPRC_EHRTriggerHelper.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/query/ONPRC_EHRTriggerHelper.java @@ -19,7 +19,6 @@ import jakarta.mail.Message; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; -import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.NotNull; import org.labkey.api.collections.CaseInsensitiveHashMap; @@ -224,7 +223,7 @@ public int compare(Map o1, Map o2) if (date.getHours() == 0 && date.getMinutes() == 0) { Exception e = new Exception(); - _log.error("Attempting to terminate study details records with a rounded date. This might indicate upstream code is rounding the date: " + dateTimeFormat.format(date), e); + _log.error("Attempting to terminate study details records with a rounded date. This might indicate upstream code is rounding the date: {}", dateTimeFormat.format(date), e); } SimpleFilter filter = new SimpleFilter(FieldKey.fromString("Id"), row.get("Id")); @@ -259,7 +258,7 @@ public int compare(Map o1, Map o2) if (!toUpdate.isEmpty()) { - _log.info("closing study details records: " + toUpdate.size()); + _log.info("closing study details records: {}", toUpdate.size()); Map context = getExtraContext(); context.put("skipAnnounceChangedParticipants", true); housing.getUpdateService().updateRows(getUser(), getContainer(), toUpdate, oldKeys, null, context); @@ -306,7 +305,7 @@ else if (old instanceof String) if ((current == null && old != null) || (current != null && old != null && !current.equals(old))) { - _log.info("change: " + field); + _log.info("change: {}", field); hasChanged = true; } // filling in units after the fact has been causing some unnecessary splitting of records. @@ -370,7 +369,7 @@ private boolean hasTreatmentBeenGiven(Date startDate, Integer frequency) public Date createUpdatedTreatmentRow(Map row, Map oldRow) throws Exception { - _log.info("creating updated treatment: " + row.get("objectid")); + _log.info("creating updated treatment: {}", row.get("objectid")); Map toCreate = new CaseInsensitiveHashMap<>(); toCreate.putAll(oldRow); toCreate.remove("lsid"); @@ -459,7 +458,7 @@ public void exec(ResultSet rs) throws SQLException if (!_cachedFrequencies.containsKey(frequency)) { - _log.error("unknown treatment frequency: " + frequency); + _log.error("unknown treatment frequency: {}", frequency); return false; } @@ -1042,7 +1041,7 @@ public void markHousingTransferRequestsComplete(String objectid) throws Exceptio oldKeys.put("objectid", objectid); List> updatedRows = ti.getUpdateService().updateRows(getUser(), getContainer(), Arrays.asList(toUpdate), Arrays.asList(oldKeys), null, getExtraContext()); - _log.info("transfer request rows updated: " + updatedRows.size()); + _log.info("transfer request rows updated: {}", updatedRows.size()); } public String getOverlappingGroupAssignments(String id, String objectid) @@ -1092,10 +1091,10 @@ private String getFlag(String category, String value, Integer code, boolean acti } else if (ret.size() > 1) { - _log.error("duplicate flags found for: " + category + " / " + value); + _log.error("duplicate flags found for: {} / {}", category, value); } - return ret.get(0); + return ret.getFirst(); } // Taken from DateUtils. should remove if we upgrade core @@ -1149,7 +1148,7 @@ public void closeActiveAssignmentRecords(String id, Date deathDate, String cause //terminate rows if (!toEnd.isEmpty()) { - _log.info("ending " + toEnd.size() + " assignments due to animal death on: " + deathDate.toString()); + _log.info("ending {} assignments due to animal death on: {}", toEnd.size(), deathDate.toString()); assignmentTable.getUpdateService().updateRows(getUser(), getContainer(), toEnd, toEndKeys, null, getExtraContext()); } } @@ -1162,7 +1161,7 @@ public void closeActiveAssignmentRecords(String id, Date deathDate, String cause } //Added on 10/5/2016, L.Kolli - public Map onAnimalArrival_AddDemographics(String id, Map row) throws QueryUpdateServiceException, DuplicateKeyException, SQLException, BatchValidationException + public Map onAnimalArrival_AddDemographics(String id, Map row) { Map demographicsProps = new HashMap<>(); @@ -1336,11 +1335,11 @@ public void doBirthTriggers(String id, Date date, String dam, Date Arrival_Date, TableSelector existingSP4 = new TableSelector(flagsSP4, Collections.singleton("flag"), flagFilter, null); if (existingSP4.exists()) { - _log.info("SP4 Flag active record exist for this monkey id: " + id + "Value") ; + _log.info("SP4 Flag active record exist for this monkey id: {}Value", id); } else { - _log.info("adding SP4 Animal : " + id + "Value"); + _log.info("adding SP4 Animal : {}Value", id); EHRService.get().ensureFlagActive(getUser(), getContainer(), SPFFlag, date, enddate, null, Collections.singletonList(id), false); @@ -1365,11 +1364,11 @@ public void doBirthTriggers(String id, Date date, String dam, Date Arrival_Date, List flagList = ts.getArrayList(String.class); if (flagList.size() == 1) { - EHRService.get().ensureFlagActive(getUser(), getContainer(), flagList.get(0), date, enddate, null, Collections.singletonList(id), false); + EHRService.get().ensureFlagActive(getUser(), getContainer(), flagList.getFirst(), date, enddate, null, Collections.singletonList(id), false); } else if (flagList.size() > 1) { - _log.error("dam has more than 1 active SPF flag: " + dam); + _log.error("dam has more than 1 active SPF flag: {}", dam); } else if (flagList.isEmpty()) { @@ -1394,11 +1393,11 @@ else if (flagList.isEmpty()) TableSelector existingSP4 = new TableSelector(flagsSP4, Collections.singleton("flag"), flagFilter2, null); if (existingSP4.exists()) { - _log.info("SP4 Flag active record exist for this monkey id: " + id + "Value") ; + _log.info("SP4 Flag active record exist for this monkey id: {}Value", id); } else { - _log.info("adding SP4 Animal : " + id + "Value"); + _log.info("adding SP4 Animal : {}Value", id); EHRService.get().ensureFlagActive(getUser(), getContainer(), SPFFlag, date, enddate, null, Collections.singletonList(id), false); @@ -1428,20 +1427,20 @@ else if (flagList.isEmpty()) new CompareType.CompareClause(FieldKey.fromString("enddate"), CompareType.DATE_GTE, date), new CompareType.CompareClause(FieldKey.fromString("enddate"), CompareType.ISBLANK, null) )); - groupFilter2.addCondition(FieldKey.fromString("groupid"), groupList.get(0)); + groupFilter2.addCondition(FieldKey.fromString("groupid"), groupList.getFirst()); TableSelector existingGroupTs = new TableSelector(animalGroups, Collections.singleton("groupid"), groupFilter2, null); if (existingGroupTs.exists()) { - _log.info("infant: " + id + " is already assigned to animal group " + groupList.get(0) + ", so birth trigger will not re-add"); + _log.info("infant: {} is already assigned to animal group {}, so birth trigger will not re-add", id, groupList.getFirst()); } else { - _log.info("adding animal group " + groupList.get(0) + " to infant: " + id + ", based on dam: " + dam); + _log.info("adding animal group {} to infant: {}, based on dam: {}", groupList.getFirst(), id, dam); Map row = new CaseInsensitiveHashMap<>(); row.put("Id", id); row.put("date", date); row.put("enddate", enddate); - row.put("groupid", groupList.get(0)); + row.put("groupid", groupList.getFirst()); row.put("objectid", new GUID().toString()); BatchValidationException errors = new BatchValidationException(); @@ -1486,11 +1485,11 @@ else if (flagList.isEmpty()) { if (existingAssignmentList.contains(project)) { - _log.info(id + " is already assigned to project " + project + ", so it will not be reassigned in birth trigger"); + _log.info("{} is already assigned to project {}, so it will not be reassigned in birth trigger", id, project); continue; } - _log.info("adding assignment for project " + project + " to infant: " + id + ", based on dam: " + dam); + _log.info("adding assignment for project {} to infant: {}, based on dam: {}", project, id, dam); Map row = new CaseInsensitiveHashMap<>(); row.put("Id", id); row.put("date", date); @@ -1573,7 +1572,7 @@ public void updateAnimalCondition(String id, Date enddate, final Integer conditi } else { - _log.error("Unable to find condition matching: " + condition); + _log.error("Unable to find condition matching: {}", condition); } } } @@ -1742,7 +1741,7 @@ public void exec(ResultSet rs) throws SQLException }); } - return _cachedBirthConditions.containsKey(condition) ? _cachedBirthConditions.get(condition) : true; + return _cachedBirthConditions.getOrDefault(condition, true); } public Integer getConditionCodeByFlag(final String flag) @@ -1759,7 +1758,7 @@ public Integer getConditionCodeByFlag(final String flag) List ret = ts.getArrayList(Integer.class); if (!ret.isEmpty()) { - _cachedConditionCodes.put(flag, ret.get(0)); + _cachedConditionCodes.put(flag, ret.getFirst()); } else { @@ -1784,7 +1783,7 @@ public Integer getConditionCodeForMeaning(final String meaning) List ret = ts.getArrayList(Integer.class); if (!ret.isEmpty()) { - _cachedConditionCodeMeanings.put(meaning, ret.get(0)); + _cachedConditionCodeMeanings.put(meaning, ret.getFirst()); } else { @@ -1848,7 +1847,7 @@ public String updateDividers(String id, String room, String cage, Integer divide DividerRecord targetDivider = getDividerRecord(divider); if (targetDivider == null) { - _log.error("Unknown divider: " + divider); + _log.error("Unknown divider: {}", divider); return null; } @@ -1868,7 +1867,7 @@ public String updateDividers(String id, String room, String cage, Integer divide String lowestCage = getLowestCageForUnit(room, cage); if (!cageDividerMap.containsKey(lowestCage)) { - _log.error("Unknown cage: " + lowestCage); + _log.error("Unknown cage: {}", lowestCage); return null; } @@ -1880,7 +1879,7 @@ public String updateDividers(String id, String room, String cage, Integer divide for (String changingCage : dividerChanges.keySet()) { - _log.info("Divider change: " + changingCage + " / " + dividerChanges.get(changingCage)); + _log.info("Divider change: {} / {}", changingCage, dividerChanges.get(changingCage)); if (isValidateOnly) { errors.add("This will change the divider for cage: " + changingCage); @@ -1949,11 +1948,11 @@ private String getLowestCageForUnit(String room, String cage) if (lowestCage == null) { - _log.error("unable to find effective cage for: " + cageRec.getCage()); + _log.error("unable to find effective cage for: {}", cageRec.getCage()); return null; } - _log.info("original cage: " + cageRec.getCage() + ", effective: " + lowestCage.getCage()); + _log.info("original cage: {}, effective: {}", cageRec.getCage(), lowestCage.getCage()); return lowestCage.getCage(); } @@ -1964,7 +1963,7 @@ public Integer getNextProjectId() { SqlSelector ss = new SqlSelector(DbSchema.get("ehr"), "SELECT COALESCE(max(project), 0) as expr FROM ehr.project"); List ret = ss.getArrayList(Integer.class); - _nextProjectId = ret.isEmpty() ? 0 : ret.get(0); + _nextProjectId = ret.isEmpty() ? 0 : ret.getFirst(); } _nextProjectId++; @@ -1992,7 +1991,7 @@ else if (DbScope.getLabKeyScope().getSqlDialect().isSqlServer()) SqlSelector ss = new SqlSelector(DbSchema.get("ehr"), "SELECT COALESCE(max(CAST(protocol as INTEGER)), 0) as expr FROM ehr.protocol WHERE " + suffix); List ret = ss.getArrayList(Integer.class); - _nextProtocolId = ret.isEmpty() ? 0 : ret.get(0); + _nextProtocolId = ret.isEmpty() ? 0 : ret.getFirst(); } _nextProtocolId++; @@ -2124,7 +2123,7 @@ public void updateParentage(String id, String parent, String relationship, Strin String existingDemographicsVal = new TableSelector(getTableInfo("study", "demographics"), PageFlowUtil.set(targetField), new SimpleFilter(FieldKey.fromString("Id"), id), null).getObject(String.class); if (parent.equals(existingDemographicsVal)) { - _log.info("updating " + targetField + " on demographics for animal: " + id + " from parentage"); + _log.info("updating {} on demographics for animal: {} from parentage", targetField, id); } } diff --git a/onprc_ehr/src/org/labkey/onprc_ehr/table/ONPRC_EHRCustomizer.java b/onprc_ehr/src/org/labkey/onprc_ehr/table/ONPRC_EHRCustomizer.java index 7f95381d7..993d8b3d9 100644 --- a/onprc_ehr/src/org/labkey/onprc_ehr/table/ONPRC_EHRCustomizer.java +++ b/onprc_ehr/src/org/labkey/onprc_ehr/table/ONPRC_EHRCustomizer.java @@ -229,7 +229,7 @@ private Date getDefaultVetReviewDate(Container c) } catch (ConversionException e) { - _log.error("Invalid date for ModuleProperty: " + dateValue); + _log.error("Invalid date for ModuleProperty: {}", dateValue); } } @@ -1929,13 +1929,13 @@ private TableInfo getRealTableForDataset(AbstractTableInfo ti, String label) if (ds == null) { // NOTE: this seems to happen during study import on TeamCity. It does not seem to happen during normal operation - _log.info("A dataset was requested that does not exist: " + label + " in container: " + ehrContainer.getPath()); + _log.info("A dataset was requested that does not exist: {} in container: {}", label, ehrContainer.getPath()); StringBuilder sb = new StringBuilder(); for (Dataset d : s.getDatasets()) { sb.append(d.getName() + ", "); } - _log.info("datasets present: " + sb); + _log.info("datasets present: {}", sb); return null; } @@ -2065,7 +2065,7 @@ private void customizeUrinalysisTable(AbstractTableInfo ti) private ColumnInfo getPkCol(TableInfo ti) { List pks = ti.getPkColumns(); - return (pks.size() != 1) ? null : pks.get(0); + return (pks.size() != 1) ? null : pks.getFirst(); } private void appendIsAssignedAtTimeCol(UserSchema ehrSchema, AbstractTableInfo ds, final String dateColName) @@ -2182,7 +2182,7 @@ public TableInfo getLookupTableInfo() TableInfo ti = qd.getTable(errors, true); if (!errors.isEmpty()) { - _log.error("Error creating lookup table for: " + schemaName + "." + queryName + " in container: " + targetSchema.getContainer().getPath()); + _log.error("Error creating lookup table for: {}.{} in container: {}", schemaName, queryName, targetSchema.getContainer().getPath()); for (QueryException error : errors) { _log.error(error.getMessage(), error); @@ -2248,7 +2248,7 @@ public TableInfo getLookupTableInfo() TableInfo ti = qd.getTable(errors, true); if (!errors.isEmpty()) { - _log.error("Error creating lookup table for: " + schemaName + "." + queryName + " in container: " + targetSchema.getContainer().getPath()); + _log.error("Error creating lookup table for: {}.{} in container: {}", schemaName, queryName, targetSchema.getContainer().getPath()); for (QueryException error : errors) { _log.error(error.getMessage(), error); @@ -2317,7 +2317,7 @@ public TableInfo getLookupTableInfo() TableInfo ti = qd.getTable(errors, true); if (!errors.isEmpty()) { - _log.error("Error creating lookup table for: " + schemaName + "." + queryName + " in container: " + targetSchema.getContainer().getPath()); + _log.error("Error creating lookup table for: {}.{} in container: {}", schemaName, queryName, targetSchema.getContainer().getPath()); for (QueryException error : errors) { _log.error(error.getMessage(), error); @@ -2385,7 +2385,7 @@ public TableInfo getLookupTableInfo() TableInfo ti = qd.getTable(errors, true); if (!errors.isEmpty()) { - _log.error("Error creating lookup table for: " + schemaName + "." + queryName + " in container: " + targetSchema.getContainer().getPath()); + _log.error("Error creating lookup table for: {}.{} in container: {}", schemaName, queryName, targetSchema.getContainer().getPath()); for (QueryException error : errors) { _log.error(error.getMessage(), error); @@ -2451,7 +2451,7 @@ public TableInfo getLookupTableInfo() TableInfo ti = qd.getTable(errors, true); if (!errors.isEmpty()) { - _log.error("Error creating lookup table for: " + schemaName + "." + queryName + " in container: " + targetSchema.getContainer().getPath()); + _log.error("Error creating lookup table for: {}.{} in container: {}", schemaName, queryName, targetSchema.getContainer().getPath()); for (QueryException error : errors) { _log.error(error.getMessage(), error); diff --git a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/AbstractGenericONPRC_EHRTest.java b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/AbstractGenericONPRC_EHRTest.java index 1b0ccf945..a5aec04bf 100644 --- a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/AbstractGenericONPRC_EHRTest.java +++ b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/AbstractGenericONPRC_EHRTest.java @@ -37,13 +37,11 @@ import org.labkey.test.tests.ehr.AbstractGenericEHRTest; import org.labkey.test.util.Ext4Helper; import org.labkey.test.util.LogMethod; -import org.labkey.test.util.PasswordUtil; import org.labkey.test.util.SchemaHelper; import org.labkey.test.util.SqlserverOnlyTest; import org.labkey.test.util.ehr.EHRClientAPIHelper; import org.labkey.test.util.ext4cmp.Ext4CmpRef; import org.labkey.test.util.ext4cmp.Ext4ComboRef; -import org.labkey.test.util.ext4cmp.Ext4FieldRef; import org.labkey.test.util.ext4cmp.Ext4GridRef; import java.io.File; @@ -305,20 +303,6 @@ protected void cacheIds(Collection ids) goToProjectHome(); } - protected void setupNotificationService() - { - //set general settings - beginAt(WebTestHelper.buildURL("ldk", getContainerPath(),"notificationAdmin")); - _helper.waitForCmp("field[fieldLabel='Notification User']"); - Ext4FieldRef.getForLabel(this, "Notification User").setValue(PasswordUtil.getUsername()); - Ext4FieldRef.getForLabel(this, "Reply Email").setValue("fakeEmail@fakeDomain.test"); - Ext4CmpRef btn = _ext4Helper.queryOne("button[text='Save']", Ext4CmpRef.class); - btn.waitForEnabled(); - waitAndClick(Ext4Helper.Locators.ext4Button("Save")); - waitForElement(Ext4Helper.Locators.window("Success")); - waitAndClickAndWait(Ext4Helper.Locators.ext4Button("OK")); - } - @Override protected void populateInitialData() { @@ -397,7 +381,7 @@ protected String ensureFlagExists(final String category, final String name, fina select1.addFilter(new Filter("datedisabled", null, Filter.Operator.ISBLANK)); SelectRowsResponse resp = select1.execute(getApiHelper().getConnection(), getContainerPath()); - String objectid = resp.getRowCount().intValue() == 0 ? null : (String)resp.getRows().get(0).get("objectid"); + String objectid = resp.getRowCount().intValue() == 0 ? null : (String)resp.getRows().getFirst().get("objectid"); if (objectid == null) { InsertRowsCommand insertRowsCommand = new InsertRowsCommand("ehr_lookups", "flag_values"); @@ -412,7 +396,7 @@ protected String ensureFlagExists(final String category, final String name, fina }); RowsResponse saveRowsResponse = insertRowsCommand.execute(getApiHelper().getConnection(), getContainerPath()); - objectid = (String)saveRowsResponse.getRows().get(0).get("objectid"); + objectid = (String)saveRowsResponse.getRows().getFirst().get("objectid"); } return objectid; @@ -450,7 +434,7 @@ protected Integer getOrCreateGroup(final String name) throws Exception SelectRowsCommand select1 = new SelectRowsCommand("ehr", "animal_groups"); select1.addFilter(new Filter("name", name, Filter.Operator.EQUAL)); SelectRowsResponse resp = select1.execute(getApiHelper().getConnection(), getContainerPath()); - Integer groupId = resp.getRowCount().intValue() == 0 ? null : (Integer)resp.getRows().get(0).get("rowid"); + Integer groupId = resp.getRowCount().intValue() == 0 ? null : (Integer)resp.getRows().getFirst().get("rowid"); if (groupId == null) { InsertRowsCommand insertRowsCommand = new InsertRowsCommand("ehr", "animal_groups"); @@ -462,7 +446,7 @@ protected Integer getOrCreateGroup(final String name) throws Exception }); RowsResponse saveRowsResponse = insertRowsCommand.execute(getApiHelper().getConnection(), getContainerPath()); - groupId = (Integer)saveRowsResponse.getRows().get(0).get("rowid"); + groupId = (Integer)saveRowsResponse.getRows().getFirst().get("rowid"); } return groupId; @@ -498,7 +482,7 @@ protected String getOrCreateSpfFlag(final String name) throws Exception select1.addFilter(new Filter("value", name, Filter.Operator.EQUAL)); SelectRowsResponse resp = select1.execute(getApiHelper().getConnection(), getContainerPath()); - String objectid = resp.getRowCount().intValue() == 0 ? null : (String)resp.getRows().get(0).get("objectid"); + String objectid = resp.getRowCount().intValue() == 0 ? null : (String)resp.getRows().getFirst().get("objectid"); if (objectid == null) { InsertRowsCommand insertRowsCommand = new InsertRowsCommand("ehr_lookups", "flag_values"); @@ -512,7 +496,7 @@ protected String getOrCreateSpfFlag(final String name) throws Exception }); RowsResponse saveRowsResponse = insertRowsCommand.execute(getApiHelper().getConnection(), getContainerPath()); - objectid = (String)saveRowsResponse.getRows().get(0).get("objectid"); + objectid = (String)saveRowsResponse.getRows().getFirst().get("objectid"); } return objectid; diff --git a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_BillingTest.java b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_BillingTest.java index 2d2c2eecc..46419dad2 100644 --- a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_BillingTest.java +++ b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_BillingTest.java @@ -185,7 +185,7 @@ public void testDiscrepancyReport() throws IOException, CommandException "Per Diems 2002.0 $0.00\n" + "Procedure Charges 4.0 $0.00\n" + "SLA Per Diems 0.0 $0.00"; - Assert.assertEquals("Incorrect information in the charge summary table", expectedContent, Locator.tag("table").findElements(getDriver()).get(0).getText()); + Assert.assertEquals("Incorrect information in the charge summary table", expectedContent, Locator.tag("table").findElements(getDriver()).getFirst().getText()); } private void updateBirthDate(String animalId) throws IOException, CommandException @@ -196,7 +196,7 @@ private void updateBirthDate(String animalId) throws IOException, CommandExcepti demoSelect.addFilter(new Filter("participantid", animalId)); demoSelect.setColumns(Arrays.asList("participantid", "lsid", "birth")); SelectRowsResponse demoResp = demoSelect.execute(getApiHelper().getConnection(), getContainerPath()); - final String demoLsid = (String) demoResp.getRows().get(0).get("lsid"); + final String demoLsid = (String) demoResp.getRows().getFirst().get("lsid"); UpdateRowsCommand demoUpdateCmd = new UpdateRowsCommand("study", "demographics"); demoUpdateCmd.addRow(new HashMap<>() diff --git a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest.java b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest.java index 92589d531..6629fa658 100644 --- a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest.java +++ b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest.java @@ -143,7 +143,7 @@ private Pair generateProtocolAndProject() throws Exception SelectRowsCommand protocolSelect = new SelectRowsCommand("ehr", "protocol"); protocolSelect.addFilter(new Filter("title", protocolTitle)); - final String protocolId = (String)protocolSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("protocol"); + final String protocolId = (String)protocolSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("protocol"); Assert.assertNotNull(StringUtils.trimToNull(protocolId)); InsertRowsCommand projectCommand = new InsertRowsCommand("ehr", "project"); @@ -153,7 +153,7 @@ private Pair generateProtocolAndProject() throws Exception SelectRowsCommand projectSelect = new SelectRowsCommand("ehr", "project"); projectSelect.addFilter(new Filter("protocol", protocolId)); - Integer projectId = (Integer)projectSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("project"); + Integer projectId = (Integer)projectSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("project"); return Pair.of(protocolId, projectId); } @@ -188,13 +188,13 @@ public void testAssignmentApi() throws Exception SelectRowsCommand protocolSelect = new SelectRowsCommand("ehr", "protocol"); protocolSelect.addFilter(new Filter("title", protocolTitle)); - final String protocolId = (String)protocolSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("protocol"); + final String protocolId = (String)protocolSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("protocol"); Assert.assertNotNull(StringUtils.trimToNull(protocolId)); InsertRowsCommand investigatorsCommand = new InsertRowsCommand("onprc_ehr", "investigators"); investigatorsCommand.addRow(Maps.of("firstName", "Testie", "lastName", investLastName)); CommandResponse response = investigatorsCommand.execute(getApiHelper().getConnection(), getContainerPath()); - var id = ((HashMap) ((ArrayList) response.getParsedData().get("rows")).get(0)).get("rowid"); + var id = ((HashMap) ((ArrayList) response.getParsedData().get("rows")).getFirst()).get("rowid"); InsertRowsCommand projectCommand = new InsertRowsCommand("ehr", "project"); String projectName = generateGUID(); @@ -205,8 +205,8 @@ public void testAssignmentApi() throws Exception projectSelect.setColumns(List.of("project", "investigatorId/lastName")); projectSelect.addFilter(new Filter("protocol", protocolId)); SelectRowsResponse resp = projectSelect.execute(getApiHelper().getConnection(), getContainerPath()); - final Integer projectId = (Integer)resp.getRows().get(0).get("project"); - final String invest = (String) resp.getRows().get(0).get("investigatorId/lastName"); + final Integer projectId = (Integer)resp.getRows().getFirst().get("project"); + final String invest = (String) resp.getRows().getFirst().get("investigatorId/lastName"); assertEquals("Investigator name not correct in project table", investLastName, invest); @@ -255,13 +255,13 @@ public void testAssignmentApi() throws Exception assignmentSelect1.addFilter(new Filter("project", projectId)); assignmentSelect1.setColumns(Arrays.asList("Id", "lsid", "datefinalized", "enddatefinalized", "project/investigatorId/lastName")); SelectRowsResponse assignmentResponse1 = assignmentSelect1.execute(getApiHelper().getConnection(), getContainerPath()); - Assert.assertNotNull(assignmentResponse1.getRows().get(0).get("datefinalized")); - Assert.assertNull(assignmentResponse1.getRows().get(0).get("enddatefinalized")); + Assert.assertNotNull(assignmentResponse1.getRows().getFirst().get("datefinalized")); + Assert.assertNull(assignmentResponse1.getRows().getFirst().get("enddatefinalized")); - final String assignInvest = (String)assignmentResponse1.getRows().get(0).get("project/investigatorId/lastName"); + final String assignInvest = (String)assignmentResponse1.getRows().getFirst().get("project/investigatorId/lastName"); assertEquals("Investigator name link broken from assignment dataset", investLastName, assignInvest); - final String assignmentLsid1 = (String)assignmentResponse1.getRows().get(0).get("lsid"); + final String assignmentLsid1 = (String)assignmentResponse1.getRows().getFirst().get("lsid"); //expect animal condition to change SelectRowsCommand conditionSelect1 = new SelectRowsCommand("study", "flags"); @@ -270,7 +270,7 @@ public void testAssignmentApi() throws Exception conditionSelect1.addFilter(new Filter("isActive", true)); SelectRowsResponse conditionResponse1 = conditionSelect1.execute(getApiHelper().getConnection(), getContainerPath()); assertEquals(1, conditionResponse1.getRowCount().intValue()); - assertEquals("Protocol Restricted", conditionResponse1.getRows().get(0).get("flag/value")); + assertEquals("Protocol Restricted", conditionResponse1.getRows().getFirst().get("flag/value")); //terminate, expect animal condition to change based on release condition UpdateRowsCommand assignmentUpdateCommand = new UpdateRowsCommand("study", "assignment"); @@ -290,7 +290,7 @@ public void testAssignmentApi() throws Exception conditionSelect2.addFilter(new Filter("isActive", true)); SelectRowsResponse conditionResponse2 = conditionSelect2.execute(getApiHelper().getConnection(), getContainerPath()); assertEquals(1, conditionResponse2.getRowCount().intValue()); - assertEquals("Surgically Restricted", conditionResponse2.getRows().get(0).get("flag/value")); + assertEquals("Surgically Restricted", conditionResponse2.getRows().getFirst().get("flag/value")); //make sure other flag terminated on correct date SelectRowsCommand conditionSelect3 = new SelectRowsCommand("study", "flags"); @@ -306,8 +306,8 @@ public void testAssignmentApi() throws Exception assignmentSelect2.addFilter(new Filter("project", projectId)); assignmentSelect2.setColumns(Arrays.asList("Id", "lsid", "datefinalized", "enddatefinalized")); SelectRowsResponse assignmentResponse2 = assignmentSelect2.execute(getApiHelper().getConnection(), getContainerPath()); - Assert.assertNotNull(assignmentResponse2.getRows().get(0).get("datefinalized")); - Assert.assertNotNull(assignmentResponse2.getRows().get(0).get("enddatefinalized")); + Assert.assertNotNull(assignmentResponse2.getRows().getFirst().get("datefinalized")); + Assert.assertNotNull(assignmentResponse2.getRows().getFirst().get("enddatefinalized")); // insert second animal, should succeed getApiHelper().testValidationMessage(PasswordUtil.getUsername(), "study", "assignment", new String[]{"Id", "date", "enddate", "project", "_recordId"}, new Object[][]{ @@ -377,7 +377,7 @@ public void testProjectProtocolApi() throws Exception SelectRowsCommand protocolSelect = new SelectRowsCommand("ehr", "protocol"); protocolSelect.addFilter(new Filter("title", protocolTitle)); - String protocolId = (String)protocolSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("protocol"); + String protocolId = (String)protocolSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("protocol"); Assert.assertNotNull(StringUtils.trimToNull(protocolId)); InsertRowsCommand projectCommand = new InsertRowsCommand("ehr", "project"); @@ -387,7 +387,7 @@ public void testProjectProtocolApi() throws Exception SelectRowsCommand projectSelect = new SelectRowsCommand("ehr", "project"); projectSelect.addFilter(new Filter("protocol", protocolId)); - Integer projectId = (Integer)projectSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("project"); + Integer projectId = (Integer)projectSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("project"); Assert.assertNotNull(projectId); getApiHelper().testValidationMessage(PasswordUtil.getUsername(), "ehr", "project", new String[]{"project", "name"}, new Object[][]{ @@ -488,7 +488,7 @@ public void testArrivalApi() throws Exception SelectRowsCommand acquisitionTypeCmd = new SelectRowsCommand("ehr_lookups", "AcquistionType"); acquisitionTypeCmd.setColumns(Arrays.asList("rowid", "value")); acquisitionTypeCmd.addFilter(new Filter("value", "Acquired")); - Map acquisitionTypeResult= acquisitionTypeCmd.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0); + Map acquisitionTypeResult= acquisitionTypeCmd.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst(); Integer acqType = (Integer) acquisitionTypeResult.get("rowid"); //insert into arrival @@ -1533,28 +1533,28 @@ public void testPathology() } Assert.assertEquals(1, visible.size()); - visible.get(0).sendKeys("ketamine"); + visible.getFirst().sendKeys("ketamine"); sleep(2000); - visible.get(0).sendKeys(Keys.ENTER); + visible.getFirst().sendKeys(Keys.ENTER); String code1 = "Ketamine injectable (100mg/ml) (E-70590)"; waitForElement(Locator.tagContainingText("div", "1: " + code1),20000); - visible.get(0).sendKeys("heart"); + visible.getFirst().sendKeys("heart"); sleep(2000); - visible.get(0).sendKeys(Keys.ENTER); + visible.getFirst().sendKeys(Keys.ENTER); String code2 = "APEX OF HEART (T-32040)"; waitForElement(Locator.tagContainingText("div", "2: " + code2),20000); assertTrue(isTextBefore(code1, code2)); - visible.get(0).sendKeys("disease"); + visible.getFirst().sendKeys("disease"); sleep(2000); - visible.get(0).sendKeys(Keys.ENTER); + visible.getFirst().sendKeys(Keys.ENTER); String code3 = "ALEUTIAN DISEASE (D-03550)"; waitForElement(Locator.tagContainingText("div", "3: " + code3),20000); assertTrue(isTextBefore(code2, code3)); //move first code down - click(Locator.id(_ext4Helper.componentQuery("button[testLocator=snomedDownArrow]", Ext4CmpRef.class).get(0).getId())); + click(Locator.id(_ext4Helper.componentQuery("button[testLocator=snomedDownArrow]", Ext4CmpRef.class).getFirst().getId())); waitForElement(Locator.tagContainingText("div", "1: " + code2)); assertElementPresent(Locator.tagContainingText("div", "2: " + code1)); assertElementPresent(Locator.tagContainingText("div", "3: " + code3)); @@ -1566,12 +1566,12 @@ public void testPathology() assertElementPresent(Locator.tagContainingText("div", "2: " + code3)); //this should do nothing - click(Locator.id(_ext4Helper.componentQuery("button[testLocator=snomedUpArrow]", Ext4CmpRef.class).get(0).getId())); + click(Locator.id(_ext4Helper.componentQuery("button[testLocator=snomedUpArrow]", Ext4CmpRef.class).getFirst().getId())); waitForElement(Locator.tagContainingText("div", "1: " + code2)); assertElementPresent(Locator.tagContainingText("div", "2: " + code3)); assertElementPresent(Locator.tagContainingText("div", "3: " + code1)); - click(Locator.id(_ext4Helper.componentQuery("button[testLocator=snomedDelete]", Ext4CmpRef.class).get(0).getId())); + click(Locator.id(_ext4Helper.componentQuery("button[testLocator=snomedDelete]", Ext4CmpRef.class).getFirst().getId())); assertElementNotPresent(Locator.tagContainingText("div", code2)); waitAndClick(Ext4Helper.Locators.window("Manage SNOMED Codes").append(Ext4Helper.Locators.ext4Button("Submit"))); @@ -1812,8 +1812,8 @@ public void testBehaviorRounds() throws Exception select.addFilter(new Filter("category", "Behavior", Filter.Operator.EQUAL)); select.setColumns(Arrays.asList("Id", "objectid, caseNo")); SelectRowsResponse resp = select.execute(getApiHelper().getConnection(), getContainerPath()); - String caseId = (String)resp.getRows().get(0).get("objectid"); - Integer caseNo = (Integer)resp.getRows().get(0).get("caseNo"); + String caseId = (String)resp.getRows().getFirst().get("objectid"); + Integer caseNo = (Integer)resp.getRows().getFirst().get("caseNo"); assertNotNull("Case number is missing.", caseNo); @@ -2023,7 +2023,7 @@ private void assertActionsDisabledDuringValidation() List buttons = _ext4Helper.componentQuery("button[text='" + buttonText + "']", Ext4CmpRef.class); if (!buttons.isEmpty()) { - waitFor(() -> Boolean.TRUE.equals(buttons.get(0).getEval("isDisabled() == arguments[0]", true)), + waitFor(() -> Boolean.TRUE.equals(buttons.getFirst().getEval("isDisabled() == arguments[0]", true)), buttonText + " did not become disabled during validation", WAIT_FOR_PAGE); } } @@ -2096,7 +2096,7 @@ private void waitForDataEntryButtonEnabled(String buttonText, int timeout) return false; } - return Boolean.TRUE.equals(buttons.get(0).getEval("isDisabled() == arguments[0]", false)); + return Boolean.TRUE.equals(buttons.getFirst().getEval("isDisabled() == arguments[0]", false)); }, "Button did not become enabled: " + buttonText, timeout); } diff --git a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest2.java b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest2.java index 16b841a9e..42f659bf2 100644 --- a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest2.java +++ b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_EHRTest2.java @@ -17,7 +17,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; -import org.apache.hc.client5.http.classic.methods.HttpGet; import org.awaitility.Awaitility; import org.junit.Assert; import org.junit.BeforeClass; @@ -55,7 +54,6 @@ import org.openqa.selenium.support.ui.ExpectedConditions; import java.io.IOException; -import java.net.URI; import java.time.Duration; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -158,7 +156,7 @@ public void testBirthStatusApi() throws Exception //update to completed, expect to find demographics record. SelectRowsCommand select1 = new SelectRowsCommand("study", "birth"); select1.addFilter(new Filter("Id", damId1, Filter.Operator.EQUAL)); - final String damLsid = (String) select1.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("lsid"); + final String damLsid = (String) select1.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("lsid"); getApiHelper().updateRow("study", "birth", new HashMap<>() {{ put("lsid", damLsid); @@ -180,7 +178,7 @@ public void testBirthStatusApi() throws Exception select2.addFilter(new Filter("Id", damId1, Filter.Operator.EQUAL)); List> selectRows2 = select2.execute(getApiHelper().getConnection(), getContainerPath()).getRows(); org.junit.Assert.assertEquals("Wrong number of demographics rows", 1, selectRows2.size()); - Map selectRow2 = selectRows2.get(0); + Map selectRow2 = selectRows2.getFirst(); org.junit.Assert.assertEquals("geographic_origin was not updated. Row: " + selectRow2, INDIAN, selectRow2.get("geographic_origin")); org.junit.Assert.assertEquals("species was not updated. Row: " + selectRow2, RHESUS, selectRow2.get("species")); org.junit.Assert.assertEquals("gender was not updated. Row: " + selectRow2, "f", selectRow2.get("gender")); @@ -360,14 +358,14 @@ private void testBirthRecordStatus(String offspringId, boolean birthWasChanged) org.junit.Assert.assertEquals("Birth record not created: " + offspringId, 1, resp.getRowCount().intValue()); - boolean isPublic = (Boolean) resp.getRows().get(0).get("QCState/PublicData"); - String damId = (String) resp.getRows().get(0).get("dam"); - boolean isAlive = resp.getRows().get(0).get("birth_condition/alive") == null || (Boolean) resp.getRows().get(0).get("birth_condition/alive"); - String room = (String) resp.getRows().get(0).get("room"); - String cage = (String) resp.getRows().get(0).get("cage"); - Double weight = (Double) resp.getRows().get(0).get("weight"); - Date weightDate = (Date) resp.getRows().get(0).get("wdate"); - Date birthDate = (Date) resp.getRows().get(0).get("date"); + boolean isPublic = (Boolean) resp.getRows().getFirst().get("QCState/PublicData"); + String damId = (String) resp.getRows().getFirst().get("dam"); + boolean isAlive = resp.getRows().getFirst().get("birth_condition/alive") == null || (Boolean) resp.getRows().getFirst().get("birth_condition/alive"); + String room = (String) resp.getRows().getFirst().get("room"); + String cage = (String) resp.getRows().getFirst().get("cage"); + Double weight = (Double) resp.getRows().getFirst().get("weight"); + Date weightDate = (Date) resp.getRows().getFirst().get("wdate"); + Date birthDate = (Date) resp.getRows().getFirst().get("date"); SelectRowsCommand select2 = new SelectRowsCommand("study", "demographics"); select2.addFilter(new Filter("Id", offspringId, Filter.Operator.EQUAL)); @@ -405,7 +403,7 @@ private void testBirthRecordStatus(String offspringId, boolean birthWasChanged) { //we expect demographics record to be present org.junit.Assert.assertEquals(1, demographicsResp.getRowCount().intValue()); - Map demographicsRow = demographicsResp.getRows().get(0); + Map demographicsRow = demographicsResp.getRows().getFirst(); // we expect species/gender to have been copied through once record is public, except for the case of dam being NULL if (damId != null) @@ -449,20 +447,20 @@ private void testBirthRecordStatus(String offspringId, boolean birthWasChanged) if (room != null) { org.junit.Assert.assertEquals(1, housingSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRowCount().intValue()); - org.junit.Assert.assertEquals(room, housingSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("room")); - org.junit.Assert.assertEquals(cage, housingSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("cage")); + org.junit.Assert.assertEquals(room, housingSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("room")); + org.junit.Assert.assertEquals(cage, housingSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("cage")); if (!birthWasChanged) { //NOTE: housing is rounded to the nearest minute - org.junit.Assert.assertEquals(DateUtils.truncate(birthDate, Calendar.MINUTE), housingSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("date")); + org.junit.Assert.assertEquals(DateUtils.truncate(birthDate, Calendar.MINUTE), housingSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("date")); } } if (weight != null) { org.junit.Assert.assertEquals(1, weightSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRowCount().intValue()); - org.junit.Assert.assertEquals(weight, weightSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("weight")); - org.junit.Assert.assertEquals(weightDate, weightSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().get(0).get("date")); + org.junit.Assert.assertEquals(weight, weightSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("weight")); + org.junit.Assert.assertEquals(weightDate, weightSelect.execute(getApiHelper().getConnection(), getContainerPath()).getRows().getFirst().get("date")); } } else @@ -517,7 +515,7 @@ public void testFlagsApi() throws Exception select1.addFilter(new Filter("flag", flag1)); SelectRowsResponse resp1 = select1.execute(getApiHelper().getConnection(), getContainerPath()); Assert.assertEquals(1, resp1.getRowCount().intValue()); - Assert.assertNotNull(resp1.getRows().get(0).get("enddate")); + Assert.assertNotNull(resp1.getRows().getFirst().get("enddate")); //expect failure getApiHelper().testValidationMessage(PasswordUtil.getUsername(), "study", "flags", new String[]{"Id", "date", "flag", "objectid", "_recordId"}, new Object[][]{ @@ -664,7 +662,7 @@ public void testArrivalForm() throws Exception sc.setSql("SELECT max(CAST(Id as integer)) as expr FROM (SELECT Id FROM study.demographics WHERE isNumericId = true UNION ALL SELECT Id FROM study.birth WHERE isNumericId = true) t"); SelectRowsResponse resp = sc.execute(getApiHelper().getConnection(), getContainerPath()); Assert.assertEquals(1, resp.getRowCount().intValue()); - final int lastId = Integer.parseInt(resp.getRows().get(0).get("expr").toString()) + 1; + final int lastId = Integer.parseInt(resp.getRows().getFirst().get("expr").toString()) + 1; grid = _helper.getExt4GridForFormSection("Arrivals"); grid.clickTbarButton("Add"); @@ -757,7 +755,7 @@ public void testBirthInheritFromDam() throws Exception InsertRowsCommand projectCommand = new InsertRowsCommand("ehr", "project"); projectCommand.addRow(Maps.of("project", null, "name", U24_PROJECT, "protocol", DUMMY_PROTOCOL)); RowsResponse saveRowsResponse = projectCommand.execute(getApiHelper().getConnection(), getContainerPath()); - Integer projectId = (Integer)saveRowsResponse.getRows().get(0).get("project"); + Integer projectId = (Integer)saveRowsResponse.getRows().getFirst().get("project"); // Insert dam project assignment into assignment via API getApiHelper().doSaveRows(DATA_ADMIN.getEmail(), getApiHelper().prepareInsertCommand("study", "assignment", "lsid", @@ -796,9 +794,9 @@ public void testBirthInheritFromDam() throws Exception // Wait for snapshot values to load then verify inherited values WebDriverWrapper.waitFor(() -> "Group2".equals(getSnapshotValue("Groups")), 10000); - assertTrue("Incorrect group found for infant.", "Group2".equals(getSnapshotValue("Groups"))); + assertEquals("Incorrect group found for infant.", "Group2", getSnapshotValue("Groups")); assertTrue("Incorrect flag found for infant.", getSnapshotValue("Flags").contains("SPF: SPF1")); - assertTrue("Incorrect project found for infant.", "[0492-03] [dummyprotocol]".equals(getSnapshotValue("Projects"))); + assertEquals("Incorrect project found for infant.", "[0492-03] [dummyprotocol]", getSnapshotValue("Projects")); } @Test @@ -1353,12 +1351,6 @@ public void clinicalHistoryXML() throws IOException, CommandException { GetCommand getCommand = new GetCommand("ehr", "getClinicalHistory") { - @Override - protected HttpGet createRequest(URI uri) - { - return new HttpGet(uri); - } - @Override protected Map createParameterMap() { diff --git a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_RestrictedIssueTest.java b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_RestrictedIssueTest.java index 05a537821..38b1f20b5 100644 --- a/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_RestrictedIssueTest.java +++ b/onprc_ehr/test/src/org/labkey/test/tests/onprc_ehr/ONPRC_RestrictedIssueTest.java @@ -291,7 +291,7 @@ public void restrictedIssueSearchTest() SearchResultsPage resultsPage = searchHelper.searchFor("\"Restricted issue search test\""); // verify that we can return links even if the user doesn't have permission to view a restricted issue - Assert.assertTrue("Number of search results not expected", resultsPage.getResults().size() == 2); + Assert.assertEquals("Number of search results not expected", 2, resultsPage.getResults().size()); // verify assigned to users will see both results but shouldn't be able to see details of issues not assigned to them, // also verify that there is a warning rendered if a search result is restricted diff --git a/onprc_ssu/src/org/labkey/onprc_ssu/ONPRC_SSUModule.java b/onprc_ssu/src/org/labkey/onprc_ssu/ONPRC_SSUModule.java index 99b6a6825..d65f579c2 100644 --- a/onprc_ssu/src/org/labkey/onprc_ssu/ONPRC_SSUModule.java +++ b/onprc_ssu/src/org/labkey/onprc_ssu/ONPRC_SSUModule.java @@ -45,12 +45,6 @@ public String getName() return 13.23; } - @Override - public boolean hasScripts() - { - return true; - } - @Override protected void init() { diff --git a/onprc_ssu/src/org/labkey/onprc_ssu/notification/SSU_Notification.java b/onprc_ssu/src/org/labkey/onprc_ssu/notification/SSU_Notification.java index 8365f3c41..7dd5bf8b6 100644 --- a/onprc_ssu/src/org/labkey/onprc_ssu/notification/SSU_Notification.java +++ b/onprc_ssu/src/org/labkey/onprc_ssu/notification/SSU_Notification.java @@ -160,7 +160,7 @@ public void exec(ResultSet rs) throws SQLException TableSelector ts2 = new TableSelector(casesTable, PageFlowUtil.set("Id"), filter2, null); if (ts2.exists()) { - long c = countList.get(0); + long c = countList.getFirst(); c--; countList.clear(); countList.add(c); @@ -168,9 +168,9 @@ public void exec(ResultSet rs) throws SQLException } }); - if (countList.get(0) > 0) + if (countList.getFirst() > 0) { - msg.append("WARNING: There are " + countList.get(0) + " surgeries in the past 48H that lack an open surgery case, excluding procedures with no followup days.
"); + msg.append("WARNING: There are " + countList.getFirst() + " surgeries in the past 48H that lack an open surgery case, excluding procedures with no followup days.
"); msg.append("

Click here to view them
\n"); msg.append("


\n"); } @@ -222,7 +222,7 @@ public void exec(ResultSet object) throws SQLException TableSelector ts2 = new TableSelector(treatmentsTable, PageFlowUtil.set("Id"), filter2, null); if (ts2.exists()) { - Long c = countList.get(0); + Long c = countList.getFirst(); c--; countList.clear(); countList.add(c); @@ -244,9 +244,9 @@ public void exec(ResultSet object) throws SQLException } }); - if (countList.get(0) > 0) + if (countList.getFirst() > 0) { - msg.append("WARNING: There are " + countList.get(0) + " procedures performed in that past 48H, but do not have any surgical medications ordered, excluding procedures without default post-op analgesia/antibiotics. NOTE: this currently only looks for the presence of any surgical medication, and does not check whether the right medications have been ordered
"); + msg.append("WARNING: There are " + countList.getFirst() + " procedures performed in that past 48H, but do not have any surgical medications ordered, excluding procedures without default post-op analgesia/antibiotics. NOTE: this currently only looks for the presence of any surgical medication, and does not check whether the right medications have been ordered
"); msg.append(""); msg.append(""); msg.append(rows); diff --git a/sla/src/org/labkey/sla/SLAModule.java b/sla/src/org/labkey/sla/SLAModule.java index 51f654a8e..d463f30ac 100644 --- a/sla/src/org/labkey/sla/SLAModule.java +++ b/sla/src/org/labkey/sla/SLAModule.java @@ -60,12 +60,6 @@ public String getName() return 23.003; } - @Override - public boolean hasScripts() - { - return true; - } - @Override protected void init() { diff --git a/sla/src/org/labkey/sla/dataentry/CensusFormSection.java b/sla/src/org/labkey/sla/dataentry/CensusFormSection.java index cbf3927c2..7239875f8 100644 --- a/sla/src/org/labkey/sla/dataentry/CensusFormSection.java +++ b/sla/src/org/labkey/sla/dataentry/CensusFormSection.java @@ -22,7 +22,7 @@ public CensusFormSection() public List getTbarButtons() { List defaultButtons = super.getTbarButtons(); - defaultButtons.add(0, "CENSUS_ADD"); + defaultButtons.addFirst("CENSUS_ADD"); defaultButtons.remove("ADDANIMALS"); return defaultButtons; diff --git a/sla/src/org/labkey/sla/etl/ETL.java b/sla/src/org/labkey/sla/etl/ETL.java index ba995fd5f..d464b593e 100644 --- a/sla/src/org/labkey/sla/etl/ETL.java +++ b/sla/src/org/labkey/sla/etl/ETL.java @@ -17,6 +17,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.NotNull; import org.labkey.api.data.PropertyManager; import org.labkey.api.data.PropertyManager.WritablePropertyMap; @@ -53,7 +54,7 @@ static public synchronized void start(int delay) { executor = (executor == null ? Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { @Override - public Thread newThread(Runnable r) { + public Thread newThread(@NotNull Runnable r) { return new Thread(r, "SLA ETL"); } }) : executor); @@ -64,7 +65,7 @@ public Thread newThread(Runnable r) { int interval = runnable.getRunIntervalInMinutes(); if (interval != 0) { - log.info("Scheduling SLA ETL with " + interval + " minute interval and delay: " + delay); + log.info("Scheduling SLA ETL with {} minute interval and delay: {}", interval, delay); future = executor.scheduleWithFixedDelay(runnable, delay, interval, TimeUnit.MINUTES); setEnabled(true); isScheduled = true; @@ -128,7 +129,7 @@ static public void run() } catch (IOException e) { - log.error("Error running ETL: " + e.getMessage()); + log.error("Error running ETL: {}", e.getMessage()); } } @@ -146,13 +147,7 @@ public static boolean isEnabled() if (prop == null) return false; - Boolean value = Boolean.parseBoolean(prop); - if (value == null) - { - return false; - } - - return value; + return Boolean.parseBoolean(prop); } public static boolean isRunning() diff --git a/sla/src/org/labkey/sla/etl/ETLAuditProvider.java b/sla/src/org/labkey/sla/etl/ETLAuditProvider.java index 1cd3a8679..3b33e584f 100644 --- a/sla/src/org/labkey/sla/etl/ETLAuditProvider.java +++ b/sla/src/org/labkey/sla/etl/ETLAuditProvider.java @@ -30,7 +30,6 @@ import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; -import java.util.Map; import java.util.Set; /** diff --git a/sla/src/org/labkey/sla/etl/ETLRunnable.java b/sla/src/org/labkey/sla/etl/ETLRunnable.java index 436619f5d..4aee2c846 100644 --- a/sla/src/org/labkey/sla/etl/ETLRunnable.java +++ b/sla/src/org/labkey/sla/etl/ETLRunnable.java @@ -71,7 +71,6 @@ import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; -import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; @@ -156,27 +155,19 @@ public void run() long lastTs = getLastTimestamp(tableName); byte[] lastRow = getLastVersion(tableName); String version = (lastRow == DEFAULT_VERSION ? "never" : new String(Base64.encodeBase64(lastRow), "US-ASCII")); - log.info(String.format("table sla.%s last synced %s", tableName, lastTs == 0 ? "never" : new Date(lastTs).toString())); - log.info(String.format("table sla.%s rowversion was %s", tableName, version)); + log.info("table sla.{} last synced {}", tableName, lastTs == 0 ? "never" : new Date(lastTs).toString()); + log.info("table sla.{} rowversion was {}", tableName, version); } UserSchema slaSchema = QueryService.get().getUserSchema(user, container, "sla"); - try - { - int slaErrors = merge(user, container, slaQueries, slaSchema); + int slaErrors = merge(user, container, slaQueries, slaSchema); - truncateEtlRuns(); + truncateEtlRuns(); - log.info("End incremental sync run."); + log.info("End incremental sync run."); - ETLAuditProvider.addAuditEntry(container, user, "FINISH", "Finishing SLA synchronization", slaErrors); - } - catch (BatchValidationException e) - { - log.error(e.getMessage()); - throw e; - } + ETLAuditProvider.addAuditEntry(container, user, "FINISH", "Finishing SLA synchronization", slaErrors); } catch (Throwable x) { @@ -213,7 +204,7 @@ public Container getContainer() throws BadConfigException return container; } - private void truncateEtlRuns() throws SQLException + private void truncateEtlRuns() { TableInfo ti = SLASchema.getInstance().getSchema().getTable(SLASchema.TABLE_ETL_RUNS); Calendar cal = Calendar.getInstance(); @@ -225,7 +216,7 @@ private void truncateEtlRuns() throws SQLException ex.execute(sql); } - private void runQueries(User user, Container container, Map queries) throws BadConfigException, BatchValidationException + private void runQueries(User user, Container container, Map queries) { for (Map.Entry kv : queries.entrySet()) { @@ -244,7 +235,7 @@ private void runQueries(User user, Container container, Map quer sql = kv.getValue(); - log.info("Running script " + fileName); + log.info("Running script {}", fileName); String[] sqls = sql.split("GO"); for (String script : sqls) @@ -256,7 +247,7 @@ private void runQueries(User user, Container container, Map quer } catch (SQLException e) { - log.error("Unable to run script " + fileName); + log.error("Unable to run script {}", fileName); log.error(e.getMessage()); continue; } @@ -297,7 +288,7 @@ private PreparedStatement prepareQuery(String targetTableName, String sql, Conne // the baseline timestamp date. int paramCount = ps.getParameterMetaData().getParameterCount(); if (paramCount == 0) - log.warn("Table lacks any parameters: " + targetTableName); + log.warn("Table lacks any parameters: {}", targetTableName); byte[] fromVersion = getLastVersion(targetTableName); for (int i = 1; i <= paramCount; i++) @@ -309,7 +300,7 @@ private PreparedStatement prepareQuery(String targetTableName, String sql, Conne } /** @return count of collections that encountered errors */ - private int merge(User user, Container container, Map queries, UserSchema schema) throws BadConfigException, BatchValidationException + private int merge(User user, Container container, Map queries, UserSchema schema) throws BadConfigException { DbScope scope = schema.getDbSchema().getScope(); int errorCount = 0; @@ -342,7 +333,7 @@ private int merge(User user, Container container, Map queries, U TableInfo targetTable = schema.getTable(targetTableName); if (targetTable == null) { - log.error(targetTableName + " is not a known labkey table name, skipping the so-named sql query"); + log.error("{} is not a known labkey table name, skipping the so-named sql query", targetTableName); errorCount++; continue; } @@ -352,7 +343,7 @@ private int merge(User user, Container container, Map queries, U if (realTable == null) { - log.error("Unable to find real table for: " + targetTable.getSelectName()); + log.error("Unable to find real table for: {}", targetTable.getSelectName()); continue; } @@ -362,7 +353,7 @@ private int merge(User user, Container container, Map queries, U originConnection = getOriginConnection(); - log.info("Preparing query " + targetTableName); + log.info("Preparing query {}", targetTableName); ps = prepareQuery(targetTableName, sql, originConnection); boolean hadResultsOnStart = true; @@ -372,11 +363,11 @@ private int merge(User user, Container container, Map queries, U { if (CANNOT_TRUNCATE.contains(targetTableName)) { - log.error("Attempting to truncate " + targetTableName + ", which is not allowed. Upstream code should be checked."); + log.error("Attempting to truncate {}, which is not allowed. Upstream code should be checked.", targetTableName); } else { - log.info("Truncating target table, since last rowversion is null: " + targetTableName); + log.info("Truncating target table, since last rowversion is null: {}", targetTableName); SQLFragment truncateSql; if (realTable.getColumn("container") == null) { @@ -396,12 +387,12 @@ private int merge(User user, Container container, Map queries, U } else { - log.error("unable to truncate targetTable, since realTable is null: " + targetTableName); + log.error("unable to truncate targetTable, since realTable is null: {}", targetTableName); } } Date fromDate = new Date(getLastTimestamp(targetTableName)); - log.info("querying for " + targetTableName + " since " + new Date(fromDate.getTime())); + log.info("querying for {} since {}", targetTableName, new Date(fromDate.getTime())); // get deletes from the origin. Set deletedIds = getDeletes(originConnection, targetTableName, getLastVersion(targetTableName)); @@ -413,7 +404,7 @@ private int merge(User user, Container container, Map queries, U boolean rollback = false; rs = ps.executeQuery(); - log.info("query " + targetTableName + " returned"); + log.info("query {} returned", targetTableName); QueryUpdateService updater = targetTable.getUpdateService(); updater.setBulkLoad(true); @@ -422,10 +413,10 @@ private int merge(User user, Container container, Map queries, U //NOTE: the purpose of this switch is to allow alternate keyfields, such as ColumnInfo filterColumn = targetTable.getColumn("objectid"); - ColumnInfo pkColumn = targetTable.getPkColumns().get(0); + ColumnInfo pkColumn = targetTable.getPkColumns().getFirst(); if(filterColumn == null) { - log.info("objectid column not found for table: " + targetTable.getName() + ", using " + pkColumn.getName() + " instead"); + log.info("objectid column not found for table: {}, using {} instead", targetTable.getName(), pkColumn.getName()); filterColumn = pkColumn; } @@ -476,7 +467,7 @@ private int merge(User user, Container container, Map queries, U if (count > 100) { //if we have the DB table, just do the delete directly. - log.info("attempting to delete " + count + " rows from table: " + targetTableName + " based on deleted_records, using: " + filterColumn.getFieldKey().toString()); + log.info("attempting to delete {} rows from table: {} based on deleted_records, using: {}", count, targetTableName, filterColumn.getFieldKey().toString()); //log.info(StringUtils.join(likeWithIds.getParams(), ", ")); SimpleFilter filter = new SimpleFilter(); @@ -491,7 +482,7 @@ private int merge(User user, Container container, Map queries, U if (hadResultsOnStart && count > 0) { //if we have the DB table, just do the delete directly. - log.info("attempting to delete " + count + " rows from table: " + targetTableName + " based on deleted_records, using: " + filterColumn.getFieldKey().toString()); + log.info("attempting to delete {} rows from table: {} based on deleted_records, using: {}", count, targetTableName, filterColumn.getFieldKey().toString()); log.info(StringUtils.join(likeWithIds.getParams(), ", ")); SimpleFilter filter = new SimpleFilter(); @@ -504,7 +495,7 @@ private int merge(User user, Container container, Map queries, U } if (deleted > 0) - log.info("total rows deleted: " + deleted); + log.info("total rows deleted: {}", deleted); else log.info("no rows were deleted"); } @@ -545,7 +536,7 @@ private int merge(User user, Container container, Map queries, U } catch (SQLException e) { - log.error("Unable to find column " + filterColumn.getColumnName() + " in ETL script for " + targetTableName); + log.error("Unable to find column {} in ETL script for {}", filterColumn.getColumnName(), targetTableName); throw e; } } @@ -572,11 +563,11 @@ private int merge(User user, Container container, Map queries, U Map[] rows = ts.getMapArray(); long duration = ((new Date()).getTime() - start) / 1000; - log.info("Pre-selected " + searchParams.size() + " rows for table: " + targetTable.getName() + " using column: " + filterColumn.getColumnName() + ", which took: " + duration + "s"); + log.info("Pre-selected {} rows for table: {} using column: {}, which took: {}s", searchParams.size(), targetTable.getName(), filterColumn.getColumnName(), duration); if (rows.length > 0) { - log.info("Preparing for insert by pre-deleting " + rows.length + " rows for table: " + targetTable.getName()); + log.info("Preparing for insert by pre-deleting {} rows for table: {}", rows.length, targetTable.getName()); start = new Date().getTime(); int totalDeleted; if (realTable != null) @@ -599,23 +590,23 @@ private int merge(User user, Container container, Map queries, U } else { - log.error("Real table not found: " + targetTableName); + log.error("Real table not found: {}", targetTableName); List> deleted = updater.deleteRows(user, container, Arrays.asList(rows), null, extraContext); totalDeleted = deleted.size(); } if (totalDeleted != rows.length) { - log.warn("Table: " + targetTable.getName() + " delete abnormality. searchParams: " + searchParams.size() + ", rows: " + rows.length + ", deleted: " + totalDeleted); + log.warn("Table: {} delete abnormality. searchParams: {}, rows: {}, deleted: {}", targetTable.getName(), searchParams.size(), rows.length, totalDeleted); TableSelector ts1 = new TableSelector(targetTable, cols, filter, null); Map[] rows2 = ts1.getMapArray(); - log.info("rows: " + rows2.length); + log.info("rows: {}", rows2.length); } duration = ((new Date()).getTime() - start) / 1000; - log.info("Finished pre-deleting " + totalDeleted + " rows for table: " + targetTable.getName() + ", which took: " + duration + "s"); + log.info("Finished pre-deleting {} rows for table: {}, which took: {}s", totalDeleted, targetTable.getName(), duration); } else - log.info("No existing rows found for table: " + targetTable.getName() + ", delete not necessary"); + log.info("No existing rows found for table: {}, delete not necessary", targetTable.getName()); } long start = new Date().getTime(); @@ -623,7 +614,7 @@ private int merge(User user, Container container, Map queries, U updater.insertRows(user, container, sourceRows, errors, null, extraContext); if (errors.hasErrors()) { - log.error("There were errors during the sync for: " + targetTableName); + log.error("There were errors during the sync for: {}", targetTableName); for (ValidationException e : errors.getRowErrors()) { log.error(e.getMessage()); @@ -633,14 +624,14 @@ private int merge(User user, Container container, Map queries, U updates += sourceRows.size(); currentBatch += sourceRows.size(); long duration = ((new Date()).getTime() - start) / 1000; - log.info("Insert took: " + duration + "s"); - log.info("Updated " + updates + " records for " + targetTableName); + log.info("Insert took: {}s", duration); + log.info("Updated {} records for {}", updates, targetTableName); sourceRows.clear(); searchParams.clear(); if (currentBatch >= 40000) { - log.info("committing transaction: " + targetTableName); + log.info("committing transaction: {}", targetTableName); transaction.commitAndKeepConnection(); // if (realTable != null) @@ -674,14 +665,14 @@ private int merge(User user, Container container, Map queries, U if (originConnection != null && !originConnection.isClosed()) originConnection.close(); - log.warn("closed connection and rolled back update of " + targetTableName); + log.warn("closed connection and rolled back update of {}", targetTableName); } else { setLastVersion(targetTableName, newBaselineVersion); setLastTimestamp(targetTableName, newBaselineTimestamp); - log.info(MessageFormat.format("Committed updates for {0} records in {1}", updates, targetTableName)); + log.info("Committed updates for {} records in {}", updates, targetTableName); try { @@ -704,7 +695,7 @@ private int merge(User user, Container container, Map queries, U catch (SQLException e) { // exception connecting, preparing or executing the query to the origin db - log.error(String.format("Error syncing '%s' - caught SQLException: %s", targetTableName, e.getMessage()), e); + log.error("Error syncing '{}' - caught SQLException: {}", targetTableName, e.getMessage(), e); errorCount++; } finally @@ -723,7 +714,7 @@ private int merge(User user, Container container, Map queries, U * @param tableName for which to get deletes * @param fromVersion return deletes performed after this version */ - Set getDeletes(Connection originConnection, String tableName, byte[] fromVersion) throws SQLException, BadConfigException + Set getDeletes(Connection originConnection, String tableName, byte[] fromVersion) { PreparedStatement ps = null; ResultSet rs = null; @@ -736,7 +727,7 @@ Set getDeletes(Connection originConnection, String tableName, byte[] fro String[] sources = LK_TO_IRIS.get(tableName); if (sources == null || sources.length == 0) { - log.error("No table mapping for: " + tableName); + log.error("No table mapping for: {}", tableName); return Collections.emptySet(); } else @@ -763,7 +754,7 @@ Set getDeletes(Connection originConnection, String tableName, byte[] fro } if (!deletes.isEmpty()) - log.info(deletes.size() + " potential deletes pending for " + tableName); + log.info("{} potential deletes pending for {}", deletes.size(), tableName); } catch (Exception e) { @@ -811,7 +802,7 @@ private byte[] getLastVersion(String tableName) } } - boolean isEmpty(TableInfo tinfo) throws SQLException + boolean isEmpty(TableInfo tinfo) { SQLFragment sql = new SQLFragment("SELECT * FROM ").append(tinfo.getFromSQL("x")); return !new SqlSelector(tinfo.getSchema(), sql).exists(); @@ -824,7 +815,7 @@ boolean isEmpty(TableInfo tinfo) throws SQLException */ private void setLastTimestamp(String tableName, Long ts) { - log.info(String.format("setting new baseline timestamp of %s on collection %s", new Date(ts.longValue()), tableName)); + log.info("setting new baseline timestamp of {} on collection {}", new Date(ts.longValue()), tableName); WritablePropertyMap pm = PropertyManager.getWritableProperties(TIMESTAMP_PROPERTY_DOMAIN, true); pm.put(tableName, ts.toString()); pm.save(); @@ -983,7 +974,7 @@ private static void close(ResultSet o) } catch (Exception ignored) { - log.error("There was an error closing a result set in the ETL: " + ignored.getMessage()); + log.error("There was an error closing a result set in the ETL: {}", ignored.getMessage()); } } @@ -995,7 +986,7 @@ private static void close(PreparedStatement o) } catch (Exception ignored) { - log.error("There was an error closing a result set in the ETL: " + ignored.getMessage()); + log.error("There was an error closing a result set in the ETL: {}", ignored.getMessage()); } } @@ -1088,7 +1079,7 @@ public String validateEtlSync(boolean attemptRepair) throws Exception private final String[] TABLES_WITH_LK_ADDITIONS = new String[]{}; - private String validateEtlScript(Map queries, UserSchema schema, boolean attemptRepair) throws BadConfigException, BatchValidationException + private String validateEtlScript(Map queries, UserSchema schema, boolean attemptRepair) throws BadConfigException { StringBuilder sb = new StringBuilder(); DbScope scope = schema.getDbSchema().getScope(); @@ -1124,7 +1115,7 @@ private String validateEtlScript(Map queries, UserSchema schema, TableInfo targetTable = schema.getTable(targetTableName); if (targetTable == null) { - log.error(targetTableName + " is not a known labkey table name, skipping the so-named sql query"); + log.error("{} is not a known labkey table name, skipping the so-named sql query", targetTableName); continue; } @@ -1132,15 +1123,15 @@ private String validateEtlScript(Map queries, UserSchema schema, TableInfo realTable = getRealTable(targetTable); if (realTable == null) { - log.error("Unable to find real table for: " + targetTable.getSelectName()); + log.error("Unable to find real table for: {}", targetTable.getSelectName()); continue; } ColumnInfo filterCol = realTable.getColumn("objectid"); - ColumnInfo pkColumn = targetTable.getPkColumns().get(0); + ColumnInfo pkColumn = targetTable.getPkColumns().getFirst(); if(filterCol == null) { - log.info("objectid column not found for table: " + targetTable.getName() + ", using " + pkColumn.getName() + " instead"); + log.info("objectid column not found for table: {}, using {} instead", targetTable.getName(), pkColumn.getName()); filterCol = pkColumn; } @@ -1213,7 +1204,7 @@ private String validateEtlScript(Map queries, UserSchema schema, } else { - log.error("Unable to find entry in LK_TO_IRIS for table: " + targetTableName); + log.error("Unable to find entry in LK_TO_IRIS for table: {}", targetTableName); } } }
IdDateProcedureCharge TypeSurgical Treatments