diff --git a/cli/src/main/java/bio/terra/tanagra/cli/command/BaseCommand.java b/cli/src/main/java/bio/terra/tanagra/cli/command/BaseCommand.java index ace770fdb..1207d1af9 100644 --- a/cli/src/main/java/bio/terra/tanagra/cli/command/BaseCommand.java +++ b/cli/src/main/java/bio/terra/tanagra/cli/command/BaseCommand.java @@ -56,7 +56,7 @@ public Integer call() { ERR = UserIO.getErr(); // Execute the command - LOGGER.debug("[COMMAND ARGS] " + String.join(" ", BaseMain.getArgList())); + LOGGER.debug("[COMMAND ARGS] {}", String.join(" ", BaseMain.getArgList())); execute(); // Set the command exit code diff --git a/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SequencedJobSet.java b/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SequencedJobSet.java index 3c5eda278..ff4e1b9be 100644 --- a/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SequencedJobSet.java +++ b/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SequencedJobSet.java @@ -49,10 +49,6 @@ public int getNumStages() { return stages.size(); } - public long getNumJobs() { - return stages.stream().map(List::size).count(); - } - public String getDescription() { return description; } diff --git a/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SerialRunner.java b/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SerialRunner.java index 83c3a2110..87eef9b0a 100644 --- a/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SerialRunner.java +++ b/indexer/src/main/java/bio/terra/tanagra/indexing/jobexecutor/SerialRunner.java @@ -1,10 +1,8 @@ package bio.terra.tanagra.indexing.jobexecutor; -import bio.terra.tanagra.exception.SystemException; import bio.terra.tanagra.indexing.job.IndexingJob; import java.util.Iterator; import java.util.List; -import java.util.concurrent.ExecutionException; /** Utility class that runs multiple job sets in serial. */ public final class SerialRunner extends JobRunner { @@ -21,20 +19,12 @@ public String getName() { /** Run all job sets serially. */ @Override public void runJobSetsWithoutTimer() { - jobSets.forEach( - jobSet -> { - try { - runSingleJobSet(jobSet); - } catch (InterruptedException | ExecutionException ex) { - throw new SystemException("Job set execution failed", ex); - } - }); + jobSets.forEach(this::runSingleJobSet); } /** Run a single job set. Run the stages serially, and the jobs within each stage serially. */ @Override - protected void runSingleJobSet(SequencedJobSet sequencedJobSet) - throws InterruptedException, ExecutionException { + protected void runSingleJobSet(SequencedJobSet sequencedJobSet) { // Iterate through the job stages, running all jobs in each stage. Iterator> jobStagesIterator = sequencedJobSet.iterator(); while (jobStagesIterator.hasNext()) { diff --git a/service/src/main/java/bio/terra/tanagra/service/filter/FilterBuilderService.java b/service/src/main/java/bio/terra/tanagra/service/filter/FilterBuilderService.java index 160b31a3e..5055f47a8 100644 --- a/service/src/main/java/bio/terra/tanagra/service/filter/FilterBuilderService.java +++ b/service/src/main/java/bio/terra/tanagra/service/filter/FilterBuilderService.java @@ -60,7 +60,6 @@ public FilterBuilderService(UnderlayService underlayService) { this.underlayService = underlayService; } - @SuppressWarnings("unchecked") public EntityFilter buildCohortFilterForCriteriaGroup( String underlayName, CohortRevision.CriteriaGroup criteriaGroup) { if (criteriaGroup.isDisabled() || criteriaGroup.getCriteria().isEmpty()) { @@ -77,12 +76,11 @@ public EntityFilter buildCohortFilterForCriteriaGroup( .collect(Collectors.toList()); Underlay underlay = underlayService.getUnderlay(underlayName); - FilterBuilder filterBuilder = + FilterBuilder filterBuilder = underlay.getCriteriaSelector(criteriaSelectorName).getFilterBuilder(); return filterBuilder.buildForCohort(underlay, selectionData); } - @SuppressWarnings("unchecked") private List buildDataFeatureOutputForTemporalCriteriaGroup( String underlayName, CohortRevision.CriteriaGroup criteriaGroup) { if (criteriaGroup.getCriteria().isEmpty()) { @@ -213,7 +211,6 @@ public EntityFilter buildFilterForCohortRevisions( } } - @SuppressWarnings("unchecked") public List buildOutputPreviewsForFeatureSets( List featureSets, boolean includeAllAttributes) { // No feature sets = no entity outputs. @@ -280,7 +277,7 @@ public List buildOutputPreviewsForFeatureSets( } // Generate the entity outputs for each feature set criteria. - FilterBuilder filterBuilder = + FilterBuilder filterBuilder = underlay.getCriteriaSelector(criteriaSelectorName).getFilterBuilder(); List entityOutputs = filterBuilder.buildForDataFeature(underlay, selectionData); diff --git a/service/src/test/java/bio/terra/tanagra/service/FeatureSetServiceTest.java b/service/src/test/java/bio/terra/tanagra/service/FeatureSetServiceTest.java index e80e31642..5790d52a6 100644 --- a/service/src/test/java/bio/terra/tanagra/service/FeatureSetServiceTest.java +++ b/service/src/test/java/bio/terra/tanagra/service/FeatureSetServiceTest.java @@ -110,7 +110,7 @@ void createUpdateDelete() throws InterruptedException { assertEquals(createdFeatureSet.getCreated(), createdFeatureSet.getLastModified()); assertEquals(1, createdFeatureSet.getCriteria().size()); assertTrue(createdFeatureSet.getCriteria().contains(GENDER_EQ_WOMAN.getValue())); - assertEquals(1, createdFeatureSet.getExcludeOutputAttributesPerEntity().keySet().size()); + assertEquals(1, createdFeatureSet.getExcludeOutputAttributesPerEntity().size()); assertEquals( PERSON_ATTRIBUTES.stream().sorted().toList(), createdFeatureSet @@ -157,7 +157,7 @@ void createUpdateDelete() throws InterruptedException { assertTrue(updatedFeatureSet.getLastModified().isAfter(updatedFeatureSet.getCreated())); assertEquals(1, updatedFeatureSet.getCriteria().size()); assertTrue(updatedFeatureSet.getCriteria().contains(CONDITION_EQ_TYPE_2_DIABETES.getValue())); - assertEquals(1, updatedFeatureSet.getExcludeOutputAttributesPerEntity().keySet().size()); + assertEquals(1, updatedFeatureSet.getExcludeOutputAttributesPerEntity().size()); assertEquals( outputAttributes.stream().sorted().toList(), updatedFeatureSet.getExcludeOutputAttributesPerEntity().get(outputEntity).stream() diff --git a/underlay/src/main/java/bio/terra/tanagra/filterbuilder/impl/core/EntityGroupFilterBuilderBase.java b/underlay/src/main/java/bio/terra/tanagra/filterbuilder/impl/core/EntityGroupFilterBuilderBase.java index 5f7535459..d10bc39ef 100644 --- a/underlay/src/main/java/bio/terra/tanagra/filterbuilder/impl/core/EntityGroupFilterBuilderBase.java +++ b/underlay/src/main/java/bio/terra/tanagra/filterbuilder/impl/core/EntityGroupFilterBuilderBase.java @@ -47,8 +47,8 @@ public EntityGroupFilterBuilderBase(CriteriaSelector criteriaSelector) { // A SelectionGroup is the parameters that must be the same to be applied to a list of ids. protected static class SelectionGroup implements Comparable { - public String entityGroupId; - public ValueDataOuterClass.ValueData valueData; + public final String entityGroupId; + public final ValueDataOuterClass.ValueData valueData; public SelectionGroup(String entityGroupId, ValueDataOuterClass.ValueData valueData) { this.entityGroupId = entityGroupId; @@ -90,7 +90,6 @@ public boolean equals(Object o) { return false; } - @SuppressWarnings("unchecked") SelectionGroup sg = (SelectionGroup) o; return entityGroupId.equals(sg.entityGroupId) && Objects.equals(valueData, sg.valueData); } @@ -102,8 +101,8 @@ public int hashCode() { } protected static class SelectionItem { - public Literal id; - public SelectionGroup group; + public final Literal id; + public final SelectionGroup group; public SelectionItem(Literal id, SelectionGroup group) { this.id = id; diff --git a/underlay/src/main/java/bio/terra/tanagra/query/bigquery/translator/field/BQAttributeFieldTranslator.java b/underlay/src/main/java/bio/terra/tanagra/query/bigquery/translator/field/BQAttributeFieldTranslator.java index bac016a02..849b45e65 100644 --- a/underlay/src/main/java/bio/terra/tanagra/query/bigquery/translator/field/BQAttributeFieldTranslator.java +++ b/underlay/src/main/java/bio/terra/tanagra/query/bigquery/translator/field/BQAttributeFieldTranslator.java @@ -170,8 +170,8 @@ public ValueDisplay parseValueDisplayFromCountResult( Literal displayField = sqlRowResult.get(getDisplayFieldAlias(), DataType.STRING); if (displayField.isNull()) { LOGGER.warn( - "Entity-level hint not found for attribute: " - + attributeField.getAttribute().getName()); + "Entity-level hint not found for attribute: {}", + attributeField.getAttribute().getName()); return new ValueDisplay(valueField); } return new ValueDisplay(valueField, displayField.getStringVal()); @@ -179,8 +179,8 @@ public ValueDisplay parseValueDisplayFromCountResult( Optional displayField = entityLevelHint.get().getEnumDisplay(valueField); if (displayField.isEmpty()) { LOGGER.warn( - "Entity-level hint enum display not found for attribute: " - + attributeField.getAttribute().getName()); + "Entity-level hint enum display not found for attribute: {}", + attributeField.getAttribute().getName()); return new ValueDisplay(valueField); } return new ValueDisplay(valueField, displayField.get()); diff --git a/underlay/src/main/java/bio/terra/tanagra/underlay/uiplugin/CriteriaSelector.java b/underlay/src/main/java/bio/terra/tanagra/underlay/uiplugin/CriteriaSelector.java index 6498dc20f..beefc4a38 100644 --- a/underlay/src/main/java/bio/terra/tanagra/underlay/uiplugin/CriteriaSelector.java +++ b/underlay/src/main/java/bio/terra/tanagra/underlay/uiplugin/CriteriaSelector.java @@ -53,9 +53,9 @@ public boolean isSupportsTemporalQueries() { return supportsTemporalQueries; } - public FilterBuilder getFilterBuilder() { + public FilterBuilder getFilterBuilder() { try { - return (FilterBuilder) + return (FilterBuilder) Class.forName(FILTER_BUILDER_PACKAGE + '.' + filterBuilder) .getDeclaredConstructor(CriteriaSelector.class) .newInstance(this); diff --git a/underlay/src/main/java/bio/terra/tanagra/utils/RetryUtils.java b/underlay/src/main/java/bio/terra/tanagra/utils/RetryUtils.java index b56002a31..17b099d1a 100644 --- a/underlay/src/main/java/bio/terra/tanagra/utils/RetryUtils.java +++ b/underlay/src/main/java/bio/terra/tanagra/utils/RetryUtils.java @@ -198,6 +198,6 @@ public interface SupplierWithCheckedException { */ @FunctionalInterface public interface RunnableWithCheckedException { - void run() throws E, InterruptedException; + void run() throws E; } } diff --git a/underlay/src/test/java/bio/terra/tanagra/filterbuilder/BioVUFilterBuilderTest.java b/underlay/src/test/java/bio/terra/tanagra/filterbuilder/BioVUFilterBuilderTest.java index 1b7661032..4025718e2 100644 --- a/underlay/src/test/java/bio/terra/tanagra/filterbuilder/BioVUFilterBuilderTest.java +++ b/underlay/src/test/java/bio/terra/tanagra/filterbuilder/BioVUFilterBuilderTest.java @@ -3,6 +3,7 @@ import static bio.terra.tanagra.UnderlayTestConfigs.SD20230831; import static bio.terra.tanagra.utils.ProtobufUtils.serializeToJson; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -220,7 +221,7 @@ void allFlagsCohortFilter() { assertNotNull(cohortFilter); // Order of sub-filters doesn't matter, but check that they're all there. - assertTrue(cohortFilter instanceof BooleanAndOrFilter); + assertInstanceOf(BooleanAndOrFilter.class, cohortFilter); BooleanAndOrFilter combinedFilter = (BooleanAndOrFilter) cohortFilter; assertEquals(BooleanAndOrFilter.LogicalOperator.AND, combinedFilter.getOperator()); assertEquals(4, combinedFilter.getSubFilters().size()); diff --git a/underlay/src/test/java/bio/terra/tanagra/underlay/CriteriaSelectorTest.java b/underlay/src/test/java/bio/terra/tanagra/underlay/CriteriaSelectorTest.java index 5422de80e..115afbd5d 100644 --- a/underlay/src/test/java/bio/terra/tanagra/underlay/CriteriaSelectorTest.java +++ b/underlay/src/test/java/bio/terra/tanagra/underlay/CriteriaSelectorTest.java @@ -36,7 +36,7 @@ void gender() { assertEquals(SZCorePlugin.ATTRIBUTE.getIdInConfig(), gender.getPlugin()); assertTrue(gender.getModifiers().isEmpty()); - FilterBuilder filterBuilder = gender.getFilterBuilder(); + FilterBuilder filterBuilder = gender.getFilterBuilder(); assertNotNull(filterBuilder); assertEquals(PrimaryEntityFilterBuilder.class, filterBuilder.getClass()); } @@ -54,7 +54,7 @@ void condition() { assertNotNull(ageAtOccurrenceModifier); assertEquals(SZCorePlugin.ATTRIBUTE.getIdInConfig(), ageAtOccurrenceModifier.getPlugin()); - FilterBuilder filterBuilder = condition.getFilterBuilder(); + FilterBuilder filterBuilder = condition.getFilterBuilder(); assertNotNull(filterBuilder); assertEquals(EntityGroupFilterBuilder.class, filterBuilder.getClass()); }