From 5a1cc23e327f1e7df2de4bd60504ee03bc50f1cb Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Sat, 22 Nov 2025 23:17:47 +0100 Subject: [PATCH 1/6] Updated plugins --- .github/workflows/codeql-analysis.yml | 4 +- .github/workflows/compile_against_cdr.yml | 6 +- .github/workflows/parallel-pipeline-build.yml | 10 +- .github/workflows/pull-request.yml | 2 +- .github/workflows/release.yml | 8 +- .github/workflows/spotless.yml | 4 +- .../ca/uhn/fhir/context/ModelScanner.java | 4 +- ...rofileValidationSupportBundleStrategy.java | 8 +- .../main/java/ca/uhn/fhir/util/UrlUtil.java | 8 +- .../search/ExtendedHSearchClauseBuilder.java | 18 +- .../search/ExtendedHSearchIndexExtractor.java | 18 +- .../search/ExtendedHSearchSearchBuilder.java | 4 +- .../HSearchCompositeSearchIndexDataImpl.java | 2 +- .../JpaCapabilityStatementProvider.java | 5 +- .../fhir/jpa/search/builder/QueryStack.java | 171 +++++++++--------- .../jpa/search/builder/SearchBuilder.java | 3 +- .../builder/sql/SearchQueryBuilder.java | 4 +- .../jpa/fql/parser/HfqlStatementParser.java | 8 +- .../SearchParameterCanonicalizer.java | 2 +- .../util/RuntimeSearchParamHelper.java | 4 +- .../embedded/HapiForeignKeyIndexHelper.java | 3 +- .../embedded/PostgresEmbeddedDatabase.java | 4 +- .../jpa/mdm/util/MdmMetricSvcTestUtil.java | 12 +- .../fhir/jpa/term/IValueSetExpansionIT.java | 10 +- .../NaiveRepositoryTransactionProcessor.java | 10 +- .../BaseResponseTerminologyInterceptor.java | 4 +- .../server/interceptor/auth/RuleImplOp.java | 2 +- ...wnCodeSystemPostProcessingInterceptor.java | 2 +- .../jobs/export/BulkDataExportProvider.java | 6 +- .../batch2/model/WorkChunkStatusEnum.java | 2 +- .../progress/JobInstanceStatusUpdater.java | 2 +- .../jpa/dao/BaseTransactionProcessor.java | 2 +- .../PatientIdPartitionInterceptor.java | 2 +- .../balp/BalpAuditCaptureInterceptor.java | 2 +- .../AbstractJsonParserErrorHandlerTest.java | 3 +- .../AbstractXmlParserErrorHandlerTest.java | 3 +- ...teTerminologyServiceValidationSupport.java | 4 +- .../FHIRPathResourceGeneratorR4.java | 12 +- pom.xml | 38 ++-- .../pom.xml | 2 +- 40 files changed, 210 insertions(+), 208 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 13d066b9e179..1f326bde2afb 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -13,7 +13,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v6 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. @@ -25,7 +25,7 @@ jobs: if: ${{ github.event_name == 'pull_request' }} - name: Setup java - uses: actions/setup-java@v3 + uses: actions/setup-java@v5 with: distribution: zulu java-version: 17 diff --git a/.github/workflows/compile_against_cdr.yml b/.github/workflows/compile_against_cdr.yml index 0bf3ac09f8d0..89f5e617ee11 100644 --- a/.github/workflows/compile_against_cdr.yml +++ b/.github/workflows/compile_against_cdr.yml @@ -18,7 +18,7 @@ jobs: if: ${{ github.event.pull_request.head.repo.full_name != github.repository }} run: echo "Skipping CDR compilation for fork - this is expected and safe" - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} name: Checkout - name: Install poetry @@ -26,9 +26,9 @@ jobs: run: pipx install poetry - name: Setup Python if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} - uses: actions/setup-python@v4.6.0 + uses: actions/setup-python@v6 with: - python-version: '3.10' + python-version: '3.14' - run: poetry install if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} name: Install Dependencies diff --git a/.github/workflows/parallel-pipeline-build.yml b/.github/workflows/parallel-pipeline-build.yml index 2cf71ea0d3b4..f14863b866c0 100644 --- a/.github/workflows/parallel-pipeline-build.yml +++ b/.github/workflows/parallel-pipeline-build.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Build the Maven cache id: cache-maven @@ -32,7 +32,7 @@ jobs: continue-on-error: true steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run Checkstyle Validation uses: ./.github/actions/checkstyle-validation @@ -50,7 +50,7 @@ jobs: modules_list: ${{ steps.format-modules.outputs.modules_list }} steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Generate Modules List id: generate_list @@ -82,7 +82,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run Tests and Archive Results uses: ./.github/actions/run-tests-and-archive-results @@ -99,7 +99,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Assemble Reports uses: ./.github/actions/assemble-test-reports diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 95b4a29a659c..c8607a71081a 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install yq run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 211fceff8a62..cd5847334010 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,10 +12,10 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Set up JDK - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: '17' @@ -45,11 +45,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Load ignored modules from config id: load_config - uses: mikefarah/yq@v4.40.5 + uses: mikefarah/yq@v4.49.1 with: cmd: > echo "ignored_modules=$(yq '.ignored_modules' .github/config/ignored-modules.yml | tr -d '"')" >> $GITHUB_OUTPUT diff --git a/.github/workflows/spotless.yml b/.github/workflows/spotless.yml index ef21114c4b3f..4f64329a750f 100644 --- a/.github/workflows/spotless.yml +++ b/.github/workflows/spotless.yml @@ -11,9 +11,9 @@ jobs: permissions: pull-requests: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v5 with: java-version: '17' distribution: 'temurin' diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java index d52399b184b2..6d519405e4d6 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java @@ -463,8 +463,8 @@ private void scanResourceForSearchParams( @SuppressWarnings("JavadocLinkAsPlainText") private String toCanonicalSearchParameterUri(RuntimeResourceDefinition theResourceDef, String theName) { return switch (theName) { - // Hard-code a few URLs that we know don't follow the - // usual pattern + // Hard-code a few URLs that we know don't follow the + // usual pattern case Constants.PARAM_LANGUAGE -> Constants.PARAM_LANGUAGE_URL; case Constants.PARAM_TEXT -> Constants.PARAM_TEXT_URL; case Constants.PARAM_CONTENT -> Constants.PARAM_CONTENT_URL; diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java index 16c97cb43e94..7b002b065e7a 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java @@ -139,10 +139,10 @@ private void initializeResourceLists() { structureDefinitionResources.add("/org/hl7/fhir/r4b/model/extension/extension-definitions.xml"); searchParameterResources.add("/org/hl7/fhir/r4b/model/sp/search-parameters.xml"); break; - /* - * Note: No versions after R4B are needed here, as R5+ uses - * DefaultProfileValidationSupportNpmStrategy instead of this class - */ + /* + * Note: No versions after R4B are needed here, as R5+ uses + * DefaultProfileValidationSupportNpmStrategy instead of this class + */ } myTerminologyResources = terminologyResources; diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java index 37fdbf86a9eb..8cbae8d1af27 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java @@ -520,10 +520,10 @@ public static String sanitizeUrlPart(CharSequence theString) { char nextChar = theString.charAt(j); switch (nextChar) { - /* - * NB: If you add a constant here, you also need to add it - * to isNeedsSanitization()!! - */ + /* + * NB: If you add a constant here, you also need to add it + * to isNeedsSanitization()!! + */ case '\'': buffer.append("'"); break; diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java index a71230cff724..2bbf654bd599 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java @@ -242,8 +242,8 @@ public void addStringTextSearch(String theSearchParamName, List param value + // searches for resource quantity > param value case GREATERTHAN: case STARTS_AFTER: // treated as GREATERTHAN because search doesn't handle ranges predicate = ((SearchPredicateFactory) thePathContext) @@ -715,7 +715,7 @@ private PredicateFinalStep buildNumericClause( .greaterThan(value); break; - // searches for resource quantity not < param value + // searches for resource quantity not < param value case GREATERTHAN_OR_EQUALS: predicate = ((SearchPredicateFactory) thePathContext) .range() @@ -723,7 +723,7 @@ private PredicateFinalStep buildNumericClause( .atLeast(value); break; - // searches for resource quantity < param value + // searches for resource quantity < param value case LESSTHAN: case ENDS_BEFORE: // treated as LESSTHAN because search doesn't handle ranges predicate = ((SearchPredicateFactory) thePathContext) @@ -732,7 +732,7 @@ private PredicateFinalStep buildNumericClause( .lessThan(value); break; - // searches for resource quantity not > param value + // searches for resource quantity not > param value case LESSTHAN_OR_EQUALS: predicate = ((SearchPredicateFactory) thePathContext) .range() @@ -740,7 +740,7 @@ private PredicateFinalStep buildNumericClause( .atMost(value); break; - // NOT_EQUAL: searches for resource quantity not between passed param value +/- 5% + // NOT_EQUAL: searches for resource quantity not between passed param value +/- 5% case NOT_EQUAL: RangePredicateOptionsStep negRange = ((SearchPredicateFactory) thePathContext) .range() diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java index d8017b1bfac0..a2fc907f9bf3 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java @@ -227,15 +227,15 @@ private void indexTokenValue(ExtendedHSearchIndexData theRetVal, RuntimeSearchPa case "Coding": addToken_Coding(theRetVal, spName, (IBaseCoding) nextValue); break; - // TODO share this with TokenExtractor and introduce a ITokenIndexer interface. - // Ignore unknown types for now. - // This is just for autocomplete, and we are focused on Observation.code, category, combo-code, etc. - // case "Identifier": - // mySearchParamExtractor.addToken_Identifier(myResourceTypeName, params, searchParam, value); - // break; - // case "ContactPoint": - // mySearchParamExtractor.addToken_ContactPoint(myResourceTypeName, params, searchParam, value); - // break; + // TODO share this with TokenExtractor and introduce a ITokenIndexer interface. + // Ignore unknown types for now. + // This is just for autocomplete, and we are focused on Observation.code, category, combo-code, etc. + // case "Identifier": + // mySearchParamExtractor.addToken_Identifier(myResourceTypeName, params, searchParam, value); + // break; + // case "ContactPoint": + // mySearchParamExtractor.addToken_ContactPoint(myResourceTypeName, params, searchParam, value); + // break; default: break; } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java index b00e7058e41f..a7e771493e30 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java @@ -187,7 +187,7 @@ private boolean isParamTypeSupported(IQueryParameterType param) { } } else if (param instanceof StringParam) { switch (modifier) { - // we support string:text, string:contains, string:exact, and unmodified string. + // we support string:text, string:contains, string:exact, and unmodified string. case Constants.PARAMQUALIFIER_STRING_TEXT: case Constants.PARAMQUALIFIER_STRING_EXACT: case Constants.PARAMQUALIFIER_STRING_CONTAINS: @@ -328,7 +328,7 @@ public void addAndConsumeAdvancedQueryClauses( break; default: - // ignore unsupported param types/modifiers. They will be processed up in SearchBuilder. + // ignore unsupported param types/modifiers. They will be processed up in SearchBuilder. } } } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java index 63c7630295fb..de3b62047823 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java @@ -169,7 +169,7 @@ public void writeIndexEntry(HSearchIndexWriter theHSearchIndexWriter, HSearchEle case REFERENCE: break; - // unsupported + // unsupported case SPECIAL: case HAS: break; diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java index 2ca9e85d393d..01e31d053583 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java @@ -153,8 +153,9 @@ public void setSystemDao(IFhirSystemDao mySystemDao) { protected boolean searchParamEnabled(String theResourceName, String theSearchParam) { return switch (theSearchParam) { case PARAM_FILTER -> myStorageSettings.isFilterParameterEnabled(); - case PARAM_CONTENT, PARAM_TEXT, PARAM_LANGUAGE -> mySearchParamRegistry.hasActiveSearchParam( - theResourceName, theSearchParam, ISearchParamRegistry.SearchParamLookupContextEnum.SEARCH); + case PARAM_CONTENT, PARAM_TEXT, PARAM_LANGUAGE -> + mySearchParamRegistry.hasActiveSearchParam( + theResourceName, theSearchParam, ISearchParamRegistry.SearchParamLookupContextEnum.SEARCH); default -> true; }; } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java index 88566bd995b9..11e68ada6138 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java @@ -403,13 +403,13 @@ public void addSortOnResourceLink( mySqlBuilder.addSortDate(datePredicateBuilder.getColumnValueLow(), theAscending, myUseAggregate); return; - /* - * Note that many of the options below aren't implemented because they - * don't seem useful to me, but they could theoretically be implemented - * if someone ever needed them. I'm not sure why you'd want to do a chained - * sort on a target that was a reference or a quantity, but if someone needed - * that we could implement it here. - */ + /* + * Note that many of the options below aren't implemented because they + * don't seem useful to me, but they could theoretically be implemented + * if someone ever needed them. I'm not sure why you'd want to do a chained + * sort on a target that was a reference or a quantity, but if someone needed + * that we could implement it here. + */ case SPECIAL: { if (LOCATION_POSITION.equals(targetSearchParameter.getPath())) { List> params = theParams.get(theParamName); @@ -434,7 +434,7 @@ public void addSortOnResourceLink( return; } } - //noinspection fallthrough + //noinspection fallthrough case NUMBER: case REFERENCE: case COMPOSITE: @@ -1807,79 +1807,88 @@ private Condition createIndexPredicate( SearchQueryBuilder theSqlBuilder) { return switch (theParamDefinition.getParamType()) { - case DATE -> createPredicateDate( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case NUMBER -> createPredicateNumber( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case QUANTITY -> createPredicateQuantity( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case STRING -> createPredicateString( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case TOKEN -> createPredicateToken( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case COMPOSITE -> createPredicateComposite( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theRequestPartitionId, - theSqlBuilder); - case URI -> createPredicateUri( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case REFERENCE -> createPredicateReference( - theSourceJoinColumn, - theResourceName, - isBlank(theSpnamePrefix) ? theParamName : theSpnamePrefix + "." + theParamName, - theQualifiers, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - default -> throw new InvalidRequestException( - Msg.code(1215) + "The search type:" + theParamDefinition.getParamType() + " is not supported."); + case DATE -> + createPredicateDate( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case NUMBER -> + createPredicateNumber( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case QUANTITY -> + createPredicateQuantity( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case STRING -> + createPredicateString( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case TOKEN -> + createPredicateToken( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case COMPOSITE -> + createPredicateComposite( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theRequestPartitionId, + theSqlBuilder); + case URI -> + createPredicateUri( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case REFERENCE -> + createPredicateReference( + theSourceJoinColumn, + theResourceName, + isBlank(theSpnamePrefix) ? theParamName : theSpnamePrefix + "." + theParamName, + theQualifiers, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + default -> + throw new InvalidRequestException( + Msg.code(1215) + "The search type:" + theParamDefinition.getParamType() + " is not supported."); }; } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java index 7d0703869eb1..55ea04226146 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java @@ -2363,7 +2363,8 @@ CanonicalUrlTargets calculateIndexUriIdentityHashesForResourceTypes( return new CanonicalUrlTargets(hashIdentityValues, partitionIds); } - record CanonicalUrlTargets(@Nonnull Set hashIdentityValues, @Nonnull Set partitionIds) { + record CanonicalUrlTargets( + @Nonnull Set hashIdentityValues, @Nonnull Set partitionIds) { public boolean isEmpty() { return hashIdentityValues.isEmpty(); } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java index 37b10c970bae..37bb686dfb77 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java @@ -938,8 +938,8 @@ public BinaryCondition createConditionForValueWithComparator( case NOT_EQUAL: return BinaryCondition.notEqualTo(theColumn, generatePlaceholder(theValue)); case EQUAL: - // NB: fhir searches are always range searches; - // which is why we do not use "EQUAL" + // NB: fhir searches are always range searches; + // which is why we do not use "EQUAL" case STARTS_AFTER: case APPROXIMATE: case ENDS_BEFORE: diff --git a/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java b/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java index 85673728b202..80f1efd2c784 100644 --- a/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java +++ b/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java @@ -460,10 +460,10 @@ private abstract class BaseRootState extends BaseState { void consume(HfqlLexerToken theToken) { String keyword = theToken.asKeyword(); switch (keyword) { - /* - * Update DIRECTIVE_KEYWORDS if you add new - * keywords here! - */ + /* + * Update DIRECTIVE_KEYWORDS if you add new + * keywords here! + */ case KEYWORD_WHERE: validateNotPresent(myStatement.getWhereClauses(), theToken); myState = new StateInWhereInitial(); diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java index 27c4502e5630..d8a72ba0c6e0 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java @@ -100,7 +100,7 @@ public RuntimeSearchParam canonicalizeSearchParameter(IBaseResource theSearchPar break; case DSTU2_HL7ORG: case DSTU2_1: - // Non-supported - these won't happen so just fall through + // Non-supported - these won't happen so just fall through default: throw new InternalErrorException( Msg.code(510) + "SearchParameter canonicalization not supported for FHIR version" diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java index 71523bf6db1f..57efbbf3ffa5 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java @@ -67,8 +67,8 @@ public static boolean isSpeciallyHandledSearchParameter( case PARAM_LANGUAGE -> false; case PARAM_SOURCE -> true; case PARAM_TEXT -> true; - case PARAM_PROFILE, PARAM_TAG, PARAM_SECURITY -> theStorageSettings.getTagStorageMode() - != StorageSettings.TagStorageModeEnum.INLINE; + case PARAM_PROFILE, PARAM_TAG, PARAM_SECURITY -> + theStorageSettings.getTagStorageMode() != StorageSettings.TagStorageModeEnum.INLINE; default -> false; }; } diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java index d4664df9c6e1..eedd265a6334 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java @@ -55,8 +55,7 @@ public class HapiForeignKeyIndexHelper { @Language("SQL") - private static final String FK_QUERY = - """ + private static final String FK_QUERY = """ SELECT c.conrelid::regclass AS "table", /* list of key column names in order */ string_agg(a.attname, ',' ORDER BY x.n) AS columns, diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java index b81a4329e8de..88c46cf6923e 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java @@ -86,9 +86,7 @@ public void disableConstraints() { } public void validateConstraints() { - getJdbcTemplate() - .execute( - """ + getJdbcTemplate().execute(""" do $$ declare r record; BEGIN diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java index ba5a51ce067f..878e8ba9829b 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java @@ -40,8 +40,7 @@ */ public class MdmMetricSvcTestUtil { - public static final String OUR_BASIC_STATE = - """ + public static final String OUR_BASIC_STATE = """ G1, AUTO, MATCH, P1 G2, AUTO, MATCH, P2, G3, AUTO, POSSIBLE_MATCH, P3, @@ -167,8 +166,7 @@ public static List resourceMetricParameters() { { // a mix of golden, regular, and blocked resources ResourceMetricTestParams p = new ResourceMetricTestParams(); - p.setInitialState( - """ + p.setInitialState(""" G1, AUTO, MATCH, P1 G2, AUTO, MATCH, P2 G2, AUTO, MATCH, P1, @@ -241,8 +239,7 @@ public static List linkScoreParameters() { { // score counts LinkScoreMetricTestParams p = new LinkScoreMetricTestParams(); - p.setInitialState( - """ + p.setInitialState(""" G1, AUTO, MATCH, P1 G2, AUTO, POSSIBLE_MATCH, P2, G3, AUTO, POSSIBLE_MATCH, P1 @@ -275,8 +272,7 @@ public static List linkScoreParameters() { { // match type filtering LinkScoreMetricTestParams p = new LinkScoreMetricTestParams(); - p.setInitialState( - """ + p.setInitialState(""" G1, AUTO, POSSIBLE_MATCH, P1 G2, AUTO, MATCH, P2 G3, AUTO, POSSIBLE_MATCH, P3 diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java index 65add9a34d2b..a6a4165ab4fe 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java @@ -60,8 +60,7 @@ public interface IValueSetExpansionIT { static final String CODE_SYSTEM_CODE = "PRODUCT-MULTI-SOURCE"; static final String PROPERTY_NAME = "ACTIVE"; - static final String CODE_SYSTEM_STR_BASE = - """ + static final String CODE_SYSTEM_STR_BASE = """ { "resourceType": "CodeSystem", "id": "4fb48e4e-57a4-4844-be74-d93707bdf9a1", @@ -97,8 +96,7 @@ public interface IValueSetExpansionIT { } """; - static final String VALUE_SET_STR_BASE = - """ + static final String VALUE_SET_STR_BASE = """ { "resourceType": "ValueSet", "id": "e0324e95-6d5c-4b08-8832-d5f5cd00a29a", @@ -180,8 +178,8 @@ default void expandByIdentifier_withFiltersThatShouldNotMatchInInclude_addsNoNew case NOTIN -> filterComponent.setValue("1,2,3"); case EQUAL -> filterComponent.setValue("2"); default -> - // just in case - fail(theOperator.getDisplay() + " is not added for testing"); + // just in case + fail(theOperator.getDisplay() + " is not added for testing"); } conceptSetComponent.setFilter(List.of(filterComponent)); diff --git a/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java b/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java index 3c2b7addf480..b8063212a457 100644 --- a/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java +++ b/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java @@ -102,8 +102,9 @@ public B processTransaction(B theTransactionBundle) { case POST -> processPost(e, now); case PUT -> processPut(e, now); case DELETE -> processDelete(e, now); - default -> throw new NotImplementedOperationException( - Msg.code(2769) + "Transaction stub only supports POST, PUT, or DELETE"); + default -> + throw new NotImplementedOperationException( + Msg.code(2769) + "Transaction stub only supports POST, PUT, or DELETE"); }; bundleBuilder.addEntry(myResponseEntryBuilder.apply(responseEntry)); } @@ -217,8 +218,9 @@ protected static String statusCodeToStatusLine(int theResponseStatusCode) { case Constants.STATUS_HTTP_409_CONFLICT -> "409 Conflict"; case Constants.STATUS_HTTP_204_NO_CONTENT -> "204 No Content"; case Constants.STATUS_HTTP_404_NOT_FOUND -> "404 Not Found"; - default -> throw new IllegalArgumentException( - Msg.code(2776) + "Unsupported response status code: " + theResponseStatusCode); + default -> + throw new IllegalArgumentException( + Msg.code(2776) + "Unsupported response status code: " + theResponseStatusCode); }; } } diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java index d21d0c0f2a66..83963142f70a 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java @@ -52,7 +52,7 @@ public BaseResponseTerminologyInterceptor(@Nonnull IValidationSupport theValidat protected List toListForProcessing(RequestDetails theRequestDetails, IBaseResource theResource) { switch (theRequestDetails.getRestOperationType()) { - // Don't apply to these operations + // Don't apply to these operations case ADD_TAGS: case DELETE_TAGS: case GET_TAGS: @@ -74,7 +74,7 @@ protected List toListForProcessing(RequestDetails theRequestDetai default: return Collections.emptyList(); - // Do apply to these operations + // Do apply to these operations case HISTORY_INSTANCE: case HISTORY_SYSTEM: case HISTORY_TYPE: diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java index 6436b7ce12fa..bcf7e9c53688 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java @@ -193,7 +193,7 @@ public Verdict applyRule( theOutputResource, theRuleApplier); - // None of the following are checked on the way in + // None of the following are checked on the way in case ADD_TAGS: case DELETE_TAGS: case GET_TAGS: diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java index 0f106a8953fa..02ac68ca7605 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java @@ -79,7 +79,7 @@ private static ResultSeverityEnum mapIssueSeverityToResultSeverityEnum( case FATAL -> ResultSeverityEnum.FATAL; case ERROR -> ResultSeverityEnum.ERROR; case WARNING -> ResultSeverityEnum.WARNING; - // treat success as information level + // treat success as information level case INFORMATION, SUCCESS -> ResultSeverityEnum.INFORMATION; }; } diff --git a/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java b/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java index 45000255aef4..a73a71b2a594 100644 --- a/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java +++ b/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java @@ -490,17 +490,17 @@ public void exportPollStatus( myFhirContext.newJsonParser().setPrettyPrint(true).encodeResourceToWriter(oo, response.getWriter()); response.getWriter().close(); break; - //noinspection DefaultNotLastCaseInSwitch + //noinspection DefaultNotLastCaseInSwitch default: // Deliberate fall through ourLog.warn( "Unrecognized status encountered: {}. Treating as BUILDING/SUBMITTED", info.getStatus().name()); - //noinspection fallthrough + //noinspection fallthrough case FINALIZE: case QUEUED: case IN_PROGRESS: - //noinspection deprecation - we need to support old jobs after upgrade. + //noinspection deprecation - we need to support old jobs after upgrade. case ERRORED: if (info.isCancelled()) { ourLog.info("{} job instance <{}> was marked cancelled.", info.getStatus(), theJobId); diff --git a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java index b708e58786b3..e0b08ea4e5e7 100644 --- a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java +++ b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java @@ -111,7 +111,7 @@ public Set getNextStates() { return EnumSet.of(POLL_WAITING, READY); case ERRORED: return EnumSet.of(IN_PROGRESS, FAILED, COMPLETED); - // terminal states + // terminal states case FAILED: case COMPLETED: default: diff --git a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java index 6096a4a6b45a..be59d0e9953f 100644 --- a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java +++ b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java @@ -86,7 +86,7 @@ private void handleStatusChange(JobInstance theJobInstan case IN_PROGRESS: case FINALIZE: default: - // do nothing + // do nothing } } diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java index 0db933b36583..1ce77d836c36 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java @@ -1178,7 +1178,7 @@ private void consolidateDuplicateConditionals( } break; - // Conditional CREATE + // Conditional CREATE case "POST": conditionalUrl = ifNoneExist; if (isNotBlank(ifNoneExist)) { diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java index 972b16bb43d0..c783b3016111 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java @@ -226,7 +226,7 @@ public RequestPartitionId identifyForRead( } break; default: - // nothing + // nothing } if (isBlank(theReadDetails.getResourceType())) { diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java index 4632523ce7ba..957b0a3db835 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java @@ -149,7 +149,7 @@ void hookStoragePreShowResources(IPreResourceShowDetails theDetails, ServletRequ handleReadOrVRead(theDetails, theRequestDetails); break; default: - // No actions for other operations + // No actions for other operations } } diff --git a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java index d53081542faf..1500af1c802c 100644 --- a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java +++ b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java @@ -23,8 +23,7 @@ public abstract non-sealed class AbstractJsonParserErrorHandlerTest extends AbstractParserErrorHandlerTest { - private static String PATIENT_DUPLICATE_CHOICE = - """ + private static String PATIENT_DUPLICATE_CHOICE = """ { "resourceType": "Patient", "deceasedBoolean": "true", diff --git a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java index 56e81659eb15..ecd6a06dd047 100644 --- a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java +++ b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java @@ -23,8 +23,7 @@ public abstract non-sealed class AbstractXmlParserErrorHandlerTest extends AbstractParserErrorHandlerTest { - private static String PATIENT_DUPLICATE_CHOICE = - """ + private static String PATIENT_DUPLICATE_CHOICE = """ diff --git a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java index 0e435a51388e..f7a276f06bd3 100644 --- a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java +++ b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java @@ -358,7 +358,7 @@ private static BaseConceptProperty createConceptPropertyDstu3( conceptProperty = new CodingConceptProperty(theName, coding.getSystem(), coding.getCode(), coding.getDisplay()); break; - // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 + // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 default: // other types will not fail for Remote Terminology conceptProperty = new StringConceptProperty(theName, theValue.toString()); @@ -491,7 +491,7 @@ private static BaseConceptProperty createConceptPropertyR4(final String theName, conceptProperty = new CodingConceptProperty(theName, coding.getSystem(), coding.getCode(), coding.getDisplay()); break; - // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 + // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 default: // other types will not fail for Remote Terminology conceptProperty = new StringConceptProperty(theName, theValue.toString()); diff --git a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java index f8c01b69edef..94585bd9d904 100644 --- a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java +++ b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java @@ -192,7 +192,7 @@ private void handleNameNode(ExpressionNode fhirPath) { case PRIMITIVE_XHTML_HL7ORG: case RESOURCE_BLOCK: case UNDECL_EXT: - // TODO: not implemented. What to do? + // TODO: not implemented. What to do? } } @@ -342,7 +342,7 @@ private void handleFunctionNode(ExpressionNode fhirPath) { case Type: case Union: case Upper: - // TODO: unimplemented, what to do? + // TODO: unimplemented, what to do? case ConvertsToDate: break; case Round: @@ -423,7 +423,7 @@ private void handleWhereFunctionNode(ExpressionNode fhirPath) { case RESOURCE: case RESOURCE_BLOCK: case UNDECL_EXT: - // TODO: unimplemented. What to do? + // TODO: unimplemented. What to do? } } } @@ -484,7 +484,7 @@ private void handleWhereFunctionParam(ExpressionNode param) { case Times: case Union: case Xor: - // TODO: unimplemented, what to do? + // TODO: unimplemented, what to do? } } } @@ -548,7 +548,7 @@ private void handleWhereFunctionParam(ExpressionNode param) { case Times: case Union: case Xor: - // TODO: need to implement above first + // TODO: need to implement above first } } @@ -628,7 +628,7 @@ private PathType getTypeOfFhirPath(String fhirPath) { case Times: case Union: case Xor: - // TODO: need to implement above first + // TODO: need to implement above first } } } diff --git a/pom.xml b/pom.xml index f5858a17d999..bcb8032ce24b 100644 --- a/pom.xml +++ b/pom.xml @@ -991,10 +991,10 @@ 6.6.7 - 2.41.1 + 3.1.0 **/test/**/*.java -Dfile.encoding=UTF-8 -Xmx2048m - 3.5.2 + 3.5.4 @@ -1012,8 +1012,8 @@ 3.1.8 10.21.1 2.12.1 - 1.15 - 1.26.0 + 1.20.0 + 1.28.0 7.2.1.Final @@ -1053,8 +1053,8 @@ 8.0.0.Final 4.4.16 4.5.14 - 2.20.0 - 2.20.0 + 2.20.1 + 2.20.1 2.20 5.4.3 5.3.1 @@ -1078,7 +1078,7 @@ 9.8.0-15 1.2_5 2.2.30 - 2.0.16 + 2.0.17 2.24.1 6.2.12 2024.0.5 @@ -1095,7 +1095,7 @@ 1.0.1 1.52.0 8.16.2 - 1.0.9 + 1.0.10 5.4.1 @@ -1112,9 +1112,9 @@ 3.3.0 3.2.1 - 0.8.12 + 0.8.14 3.7.1 - 2.5.0 + 2.7.0 3.5.0 3.6.0 @@ -2532,12 +2532,12 @@ org.apache.maven.plugins maven-clean-plugin - 3.4.0 + 3.5.0 org.apache.maven.plugins maven-compiler-plugin - 3.14.0 + 3.14.1 UTF-8 true @@ -2548,12 +2548,12 @@ org.apache.maven.plugins maven-dependency-plugin - 3.8.1 + 3.9.0 org.sonatype.central central-publishing-maven-plugin - 0.8.0 + 0.9.0 org.apache.maven.plugins @@ -2568,7 +2568,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.2.0 + 3.5.0 org.apache.maven.plugins @@ -2600,7 +2600,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.6.0 + 3.6.1 org.apache.maven.plugins @@ -2631,12 +2631,12 @@ org.apache.maven.plugins maven-war-plugin - 3.4.0 + 3.5.0 org.codehaus.mojo build-helper-maven-plugin - 3.6.0 + 3.6.1 org.codehaus.mojo diff --git a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml index 9da7c662cbfe..cdfeaf96784c 100644 --- a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml +++ b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml @@ -172,6 +172,6 @@ - 1.9.23 + 2.2.21 From e1e8aacee20ad6df2e0bf80cca9fbf9e0d80885e Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Sat, 22 Nov 2025 23:18:57 +0100 Subject: [PATCH 2/6] Updated plugins --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bcb8032ce24b..cfd28f48d41b 100644 --- a/pom.xml +++ b/pom.xml @@ -991,7 +991,7 @@ 6.6.7 - 3.1.0 + 2.46.1 **/test/**/*.java -Dfile.encoding=UTF-8 -Xmx2048m 3.5.4 From 7c2f46fdfd9753b5253957989011addf9ae0d173 Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Sat, 22 Nov 2025 23:22:36 +0100 Subject: [PATCH 3/6] Applied formatting --- hapi-fhir-android/.gitignore | 1 + .../ca/uhn/fhir/context/ModelScanner.java | 4 +- ...rofileValidationSupportBundleStrategy.java | 8 +- .../main/java/ca/uhn/fhir/util/UrlUtil.java | 8 +- .../search/ExtendedHSearchClauseBuilder.java | 18 +- .../search/ExtendedHSearchIndexExtractor.java | 18 +- .../search/ExtendedHSearchSearchBuilder.java | 4 +- .../HSearchCompositeSearchIndexDataImpl.java | 2 +- .../JpaCapabilityStatementProvider.java | 5 +- .../fhir/jpa/search/builder/QueryStack.java | 171 ++++++------ .../jpa/search/builder/SearchBuilder.java | 3 +- .../builder/sql/SearchQueryBuilder.java | 4 +- .../jpa/fql/parser/HfqlStatementParser.java | 8 +- .../SearchParameterCanonicalizer.java | 2 +- .../util/RuntimeSearchParamHelper.java | 4 +- .../embedded/HapiForeignKeyIndexHelper.java | 3 +- .../embedded/PostgresEmbeddedDatabase.java | 4 +- .../jpa/mdm/util/MdmMetricSvcTestUtil.java | 12 +- .../fhir/jpa/term/IValueSetExpansionIT.java | 10 +- hapi-fhir-jpaserver-uhnfhirtest/.gitignore | 1 - .../NaiveRepositoryTransactionProcessor.java | 10 +- .../BaseResponseTerminologyInterceptor.java | 4 +- .../server/interceptor/auth/RuleImplOp.java | 2 +- ...wnCodeSystemPostProcessingInterceptor.java | 2 +- .../jobs/export/BulkDataExportProvider.java | 6 +- .../batch2/model/WorkChunkStatusEnum.java | 2 +- .../progress/JobInstanceStatusUpdater.java | 2 +- .../jpa/dao/BaseTransactionProcessor.java | 2 +- .../PatientIdPartitionInterceptor.java | 2 +- .../balp/BalpAuditCaptureInterceptor.java | 2 +- .../AbstractJsonParserErrorHandlerTest.java | 3 +- .../AbstractXmlParserErrorHandlerTest.java | 3 +- ...teTerminologyServiceValidationSupport.java | 4 +- .../FHIRPathResourceGeneratorR4.java | 12 +- hapi-tinder-plugin/.gitignore | 255 +++++++++--------- hapi-tinder-test/.gitignore | 1 - 36 files changed, 299 insertions(+), 303 deletions(-) diff --git a/hapi-fhir-android/.gitignore b/hapi-fhir-android/.gitignore index e69de29bb2d1..8b137891791f 100644 --- a/hapi-fhir-android/.gitignore +++ b/hapi-fhir-android/.gitignore @@ -0,0 +1 @@ + diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java index 6d519405e4d6..d52399b184b2 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/ModelScanner.java @@ -463,8 +463,8 @@ private void scanResourceForSearchParams( @SuppressWarnings("JavadocLinkAsPlainText") private String toCanonicalSearchParameterUri(RuntimeResourceDefinition theResourceDef, String theName) { return switch (theName) { - // Hard-code a few URLs that we know don't follow the - // usual pattern + // Hard-code a few URLs that we know don't follow the + // usual pattern case Constants.PARAM_LANGUAGE -> Constants.PARAM_LANGUAGE_URL; case Constants.PARAM_TEXT -> Constants.PARAM_TEXT_URL; case Constants.PARAM_CONTENT -> Constants.PARAM_CONTENT_URL; diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java index 7b002b065e7a..16c97cb43e94 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/context/support/DefaultProfileValidationSupportBundleStrategy.java @@ -139,10 +139,10 @@ private void initializeResourceLists() { structureDefinitionResources.add("/org/hl7/fhir/r4b/model/extension/extension-definitions.xml"); searchParameterResources.add("/org/hl7/fhir/r4b/model/sp/search-parameters.xml"); break; - /* - * Note: No versions after R4B are needed here, as R5+ uses - * DefaultProfileValidationSupportNpmStrategy instead of this class - */ + /* + * Note: No versions after R4B are needed here, as R5+ uses + * DefaultProfileValidationSupportNpmStrategy instead of this class + */ } myTerminologyResources = terminologyResources; diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java index 8cbae8d1af27..37fdbf86a9eb 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/UrlUtil.java @@ -520,10 +520,10 @@ public static String sanitizeUrlPart(CharSequence theString) { char nextChar = theString.charAt(j); switch (nextChar) { - /* - * NB: If you add a constant here, you also need to add it - * to isNeedsSanitization()!! - */ + /* + * NB: If you add a constant here, you also need to add it + * to isNeedsSanitization()!! + */ case '\'': buffer.append("'"); break; diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java index 2bbf654bd599..a71230cff724 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchClauseBuilder.java @@ -242,8 +242,8 @@ public void addStringTextSearch(String theSearchParamName, List param value + // searches for resource quantity > param value case GREATERTHAN: case STARTS_AFTER: // treated as GREATERTHAN because search doesn't handle ranges predicate = ((SearchPredicateFactory) thePathContext) @@ -715,7 +715,7 @@ private PredicateFinalStep buildNumericClause( .greaterThan(value); break; - // searches for resource quantity not < param value + // searches for resource quantity not < param value case GREATERTHAN_OR_EQUALS: predicate = ((SearchPredicateFactory) thePathContext) .range() @@ -723,7 +723,7 @@ private PredicateFinalStep buildNumericClause( .atLeast(value); break; - // searches for resource quantity < param value + // searches for resource quantity < param value case LESSTHAN: case ENDS_BEFORE: // treated as LESSTHAN because search doesn't handle ranges predicate = ((SearchPredicateFactory) thePathContext) @@ -732,7 +732,7 @@ private PredicateFinalStep buildNumericClause( .lessThan(value); break; - // searches for resource quantity not > param value + // searches for resource quantity not > param value case LESSTHAN_OR_EQUALS: predicate = ((SearchPredicateFactory) thePathContext) .range() @@ -740,7 +740,7 @@ private PredicateFinalStep buildNumericClause( .atMost(value); break; - // NOT_EQUAL: searches for resource quantity not between passed param value +/- 5% + // NOT_EQUAL: searches for resource quantity not between passed param value +/- 5% case NOT_EQUAL: RangePredicateOptionsStep negRange = ((SearchPredicateFactory) thePathContext) .range() diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java index a2fc907f9bf3..d8017b1bfac0 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchIndexExtractor.java @@ -227,15 +227,15 @@ private void indexTokenValue(ExtendedHSearchIndexData theRetVal, RuntimeSearchPa case "Coding": addToken_Coding(theRetVal, spName, (IBaseCoding) nextValue); break; - // TODO share this with TokenExtractor and introduce a ITokenIndexer interface. - // Ignore unknown types for now. - // This is just for autocomplete, and we are focused on Observation.code, category, combo-code, etc. - // case "Identifier": - // mySearchParamExtractor.addToken_Identifier(myResourceTypeName, params, searchParam, value); - // break; - // case "ContactPoint": - // mySearchParamExtractor.addToken_ContactPoint(myResourceTypeName, params, searchParam, value); - // break; + // TODO share this with TokenExtractor and introduce a ITokenIndexer interface. + // Ignore unknown types for now. + // This is just for autocomplete, and we are focused on Observation.code, category, combo-code, etc. + // case "Identifier": + // mySearchParamExtractor.addToken_Identifier(myResourceTypeName, params, searchParam, value); + // break; + // case "ContactPoint": + // mySearchParamExtractor.addToken_ContactPoint(myResourceTypeName, params, searchParam, value); + // break; default: break; } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java index a7e771493e30..b00e7058e41f 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedHSearchSearchBuilder.java @@ -187,7 +187,7 @@ private boolean isParamTypeSupported(IQueryParameterType param) { } } else if (param instanceof StringParam) { switch (modifier) { - // we support string:text, string:contains, string:exact, and unmodified string. + // we support string:text, string:contains, string:exact, and unmodified string. case Constants.PARAMQUALIFIER_STRING_TEXT: case Constants.PARAMQUALIFIER_STRING_EXACT: case Constants.PARAMQUALIFIER_STRING_CONTAINS: @@ -328,7 +328,7 @@ public void addAndConsumeAdvancedQueryClauses( break; default: - // ignore unsupported param types/modifiers. They will be processed up in SearchBuilder. + // ignore unsupported param types/modifiers. They will be processed up in SearchBuilder. } } } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java index de3b62047823..63c7630295fb 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/HSearchCompositeSearchIndexDataImpl.java @@ -169,7 +169,7 @@ public void writeIndexEntry(HSearchIndexWriter theHSearchIndexWriter, HSearchEle case REFERENCE: break; - // unsupported + // unsupported case SPECIAL: case HAS: break; diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java index 01e31d053583..2ca9e85d393d 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/provider/JpaCapabilityStatementProvider.java @@ -153,9 +153,8 @@ public void setSystemDao(IFhirSystemDao mySystemDao) { protected boolean searchParamEnabled(String theResourceName, String theSearchParam) { return switch (theSearchParam) { case PARAM_FILTER -> myStorageSettings.isFilterParameterEnabled(); - case PARAM_CONTENT, PARAM_TEXT, PARAM_LANGUAGE -> - mySearchParamRegistry.hasActiveSearchParam( - theResourceName, theSearchParam, ISearchParamRegistry.SearchParamLookupContextEnum.SEARCH); + case PARAM_CONTENT, PARAM_TEXT, PARAM_LANGUAGE -> mySearchParamRegistry.hasActiveSearchParam( + theResourceName, theSearchParam, ISearchParamRegistry.SearchParamLookupContextEnum.SEARCH); default -> true; }; } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java index 11e68ada6138..88566bd995b9 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/QueryStack.java @@ -403,13 +403,13 @@ public void addSortOnResourceLink( mySqlBuilder.addSortDate(datePredicateBuilder.getColumnValueLow(), theAscending, myUseAggregate); return; - /* - * Note that many of the options below aren't implemented because they - * don't seem useful to me, but they could theoretically be implemented - * if someone ever needed them. I'm not sure why you'd want to do a chained - * sort on a target that was a reference or a quantity, but if someone needed - * that we could implement it here. - */ + /* + * Note that many of the options below aren't implemented because they + * don't seem useful to me, but they could theoretically be implemented + * if someone ever needed them. I'm not sure why you'd want to do a chained + * sort on a target that was a reference or a quantity, but if someone needed + * that we could implement it here. + */ case SPECIAL: { if (LOCATION_POSITION.equals(targetSearchParameter.getPath())) { List> params = theParams.get(theParamName); @@ -434,7 +434,7 @@ public void addSortOnResourceLink( return; } } - //noinspection fallthrough + //noinspection fallthrough case NUMBER: case REFERENCE: case COMPOSITE: @@ -1807,88 +1807,79 @@ private Condition createIndexPredicate( SearchQueryBuilder theSqlBuilder) { return switch (theParamDefinition.getParamType()) { - case DATE -> - createPredicateDate( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case NUMBER -> - createPredicateNumber( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case QUANTITY -> - createPredicateQuantity( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case STRING -> - createPredicateString( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case TOKEN -> - createPredicateToken( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case COMPOSITE -> - createPredicateComposite( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theRequestPartitionId, - theSqlBuilder); - case URI -> - createPredicateUri( - theSourceJoinColumn, - theResourceName, - theSpnamePrefix, - theParamDefinition, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - case REFERENCE -> - createPredicateReference( - theSourceJoinColumn, - theResourceName, - isBlank(theSpnamePrefix) ? theParamName : theSpnamePrefix + "." + theParamName, - theQualifiers, - theOrValues, - theOperation, - theRequestPartitionId, - theSqlBuilder); - default -> - throw new InvalidRequestException( - Msg.code(1215) + "The search type:" + theParamDefinition.getParamType() + " is not supported."); + case DATE -> createPredicateDate( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case NUMBER -> createPredicateNumber( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case QUANTITY -> createPredicateQuantity( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case STRING -> createPredicateString( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case TOKEN -> createPredicateToken( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case COMPOSITE -> createPredicateComposite( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theRequestPartitionId, + theSqlBuilder); + case URI -> createPredicateUri( + theSourceJoinColumn, + theResourceName, + theSpnamePrefix, + theParamDefinition, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + case REFERENCE -> createPredicateReference( + theSourceJoinColumn, + theResourceName, + isBlank(theSpnamePrefix) ? theParamName : theSpnamePrefix + "." + theParamName, + theQualifiers, + theOrValues, + theOperation, + theRequestPartitionId, + theSqlBuilder); + default -> throw new InvalidRequestException( + Msg.code(1215) + "The search type:" + theParamDefinition.getParamType() + " is not supported."); }; } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java index 55ea04226146..7d0703869eb1 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/SearchBuilder.java @@ -2363,8 +2363,7 @@ CanonicalUrlTargets calculateIndexUriIdentityHashesForResourceTypes( return new CanonicalUrlTargets(hashIdentityValues, partitionIds); } - record CanonicalUrlTargets( - @Nonnull Set hashIdentityValues, @Nonnull Set partitionIds) { + record CanonicalUrlTargets(@Nonnull Set hashIdentityValues, @Nonnull Set partitionIds) { public boolean isEmpty() { return hashIdentityValues.isEmpty(); } diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java index 37bb686dfb77..37b10c970bae 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/search/builder/sql/SearchQueryBuilder.java @@ -938,8 +938,8 @@ public BinaryCondition createConditionForValueWithComparator( case NOT_EQUAL: return BinaryCondition.notEqualTo(theColumn, generatePlaceholder(theValue)); case EQUAL: - // NB: fhir searches are always range searches; - // which is why we do not use "EQUAL" + // NB: fhir searches are always range searches; + // which is why we do not use "EQUAL" case STARTS_AFTER: case APPROXIMATE: case ENDS_BEFORE: diff --git a/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java b/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java index 80f1efd2c784..85673728b202 100644 --- a/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java +++ b/hapi-fhir-jpaserver-hfql/src/main/java/ca/uhn/fhir/jpa/fql/parser/HfqlStatementParser.java @@ -460,10 +460,10 @@ private abstract class BaseRootState extends BaseState { void consume(HfqlLexerToken theToken) { String keyword = theToken.asKeyword(); switch (keyword) { - /* - * Update DIRECTIVE_KEYWORDS if you add new - * keywords here! - */ + /* + * Update DIRECTIVE_KEYWORDS if you add new + * keywords here! + */ case KEYWORD_WHERE: validateNotPresent(myStatement.getWhereClauses(), theToken); myState = new StateInWhereInitial(); diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java index d8a72ba0c6e0..27c4502e5630 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParameterCanonicalizer.java @@ -100,7 +100,7 @@ public RuntimeSearchParam canonicalizeSearchParameter(IBaseResource theSearchPar break; case DSTU2_HL7ORG: case DSTU2_1: - // Non-supported - these won't happen so just fall through + // Non-supported - these won't happen so just fall through default: throw new InternalErrorException( Msg.code(510) + "SearchParameter canonicalization not supported for FHIR version" diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java index 57efbbf3ffa5..71523bf6db1f 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/util/RuntimeSearchParamHelper.java @@ -67,8 +67,8 @@ public static boolean isSpeciallyHandledSearchParameter( case PARAM_LANGUAGE -> false; case PARAM_SOURCE -> true; case PARAM_TEXT -> true; - case PARAM_PROFILE, PARAM_TAG, PARAM_SECURITY -> - theStorageSettings.getTagStorageMode() != StorageSettings.TagStorageModeEnum.INLINE; + case PARAM_PROFILE, PARAM_TAG, PARAM_SECURITY -> theStorageSettings.getTagStorageMode() + != StorageSettings.TagStorageModeEnum.INLINE; default -> false; }; } diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java index eedd265a6334..d4664df9c6e1 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/HapiForeignKeyIndexHelper.java @@ -55,7 +55,8 @@ public class HapiForeignKeyIndexHelper { @Language("SQL") - private static final String FK_QUERY = """ + private static final String FK_QUERY = + """ SELECT c.conrelid::regclass AS "table", /* list of key column names in order */ string_agg(a.attname, ',' ORDER BY x.n) AS columns, diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java index 88c46cf6923e..b81a4329e8de 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/embedded/PostgresEmbeddedDatabase.java @@ -86,7 +86,9 @@ public void disableConstraints() { } public void validateConstraints() { - getJdbcTemplate().execute(""" + getJdbcTemplate() + .execute( + """ do $$ declare r record; BEGIN diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java index 878e8ba9829b..ba5a51ce067f 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/mdm/util/MdmMetricSvcTestUtil.java @@ -40,7 +40,8 @@ */ public class MdmMetricSvcTestUtil { - public static final String OUR_BASIC_STATE = """ + public static final String OUR_BASIC_STATE = + """ G1, AUTO, MATCH, P1 G2, AUTO, MATCH, P2, G3, AUTO, POSSIBLE_MATCH, P3, @@ -166,7 +167,8 @@ public static List resourceMetricParameters() { { // a mix of golden, regular, and blocked resources ResourceMetricTestParams p = new ResourceMetricTestParams(); - p.setInitialState(""" + p.setInitialState( + """ G1, AUTO, MATCH, P1 G2, AUTO, MATCH, P2 G2, AUTO, MATCH, P1, @@ -239,7 +241,8 @@ public static List linkScoreParameters() { { // score counts LinkScoreMetricTestParams p = new LinkScoreMetricTestParams(); - p.setInitialState(""" + p.setInitialState( + """ G1, AUTO, MATCH, P1 G2, AUTO, POSSIBLE_MATCH, P2, G3, AUTO, POSSIBLE_MATCH, P1 @@ -272,7 +275,8 @@ public static List linkScoreParameters() { { // match type filtering LinkScoreMetricTestParams p = new LinkScoreMetricTestParams(); - p.setInitialState(""" + p.setInitialState( + """ G1, AUTO, POSSIBLE_MATCH, P1 G2, AUTO, MATCH, P2 G3, AUTO, POSSIBLE_MATCH, P3 diff --git a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java index a6a4165ab4fe..65add9a34d2b 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java +++ b/hapi-fhir-jpaserver-test-utilities/src/main/java/ca/uhn/fhir/jpa/term/IValueSetExpansionIT.java @@ -60,7 +60,8 @@ public interface IValueSetExpansionIT { static final String CODE_SYSTEM_CODE = "PRODUCT-MULTI-SOURCE"; static final String PROPERTY_NAME = "ACTIVE"; - static final String CODE_SYSTEM_STR_BASE = """ + static final String CODE_SYSTEM_STR_BASE = + """ { "resourceType": "CodeSystem", "id": "4fb48e4e-57a4-4844-be74-d93707bdf9a1", @@ -96,7 +97,8 @@ public interface IValueSetExpansionIT { } """; - static final String VALUE_SET_STR_BASE = """ + static final String VALUE_SET_STR_BASE = + """ { "resourceType": "ValueSet", "id": "e0324e95-6d5c-4b08-8832-d5f5cd00a29a", @@ -178,8 +180,8 @@ default void expandByIdentifier_withFiltersThatShouldNotMatchInInclude_addsNoNew case NOTIN -> filterComponent.setValue("1,2,3"); case EQUAL -> filterComponent.setValue("2"); default -> - // just in case - fail(theOperator.getDisplay() + " is not added for testing"); + // just in case + fail(theOperator.getDisplay() + " is not added for testing"); } conceptSetComponent.setFilter(List.of(filterComponent)); diff --git a/hapi-fhir-jpaserver-uhnfhirtest/.gitignore b/hapi-fhir-jpaserver-uhnfhirtest/.gitignore index be49b6ec8ff5..2b54f7948860 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/.gitignore +++ b/hapi-fhir-jpaserver-uhnfhirtest/.gitignore @@ -127,4 +127,3 @@ local.properties # TeXlipse plugin .texlipse - diff --git a/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java b/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java index b8063212a457..3c2b7addf480 100644 --- a/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java +++ b/hapi-fhir-repositories/src/main/java/ca/uhn/fhir/repository/impl/NaiveRepositoryTransactionProcessor.java @@ -102,9 +102,8 @@ public B processTransaction(B theTransactionBundle) { case POST -> processPost(e, now); case PUT -> processPut(e, now); case DELETE -> processDelete(e, now); - default -> - throw new NotImplementedOperationException( - Msg.code(2769) + "Transaction stub only supports POST, PUT, or DELETE"); + default -> throw new NotImplementedOperationException( + Msg.code(2769) + "Transaction stub only supports POST, PUT, or DELETE"); }; bundleBuilder.addEntry(myResponseEntryBuilder.apply(responseEntry)); } @@ -218,9 +217,8 @@ protected static String statusCodeToStatusLine(int theResponseStatusCode) { case Constants.STATUS_HTTP_409_CONFLICT -> "409 Conflict"; case Constants.STATUS_HTTP_204_NO_CONTENT -> "204 No Content"; case Constants.STATUS_HTTP_404_NOT_FOUND -> "404 Not Found"; - default -> - throw new IllegalArgumentException( - Msg.code(2776) + "Unsupported response status code: " + theResponseStatusCode); + default -> throw new IllegalArgumentException( + Msg.code(2776) + "Unsupported response status code: " + theResponseStatusCode); }; } } diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java index 83963142f70a..d21d0c0f2a66 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/BaseResponseTerminologyInterceptor.java @@ -52,7 +52,7 @@ public BaseResponseTerminologyInterceptor(@Nonnull IValidationSupport theValidat protected List toListForProcessing(RequestDetails theRequestDetails, IBaseResource theResource) { switch (theRequestDetails.getRestOperationType()) { - // Don't apply to these operations + // Don't apply to these operations case ADD_TAGS: case DELETE_TAGS: case GET_TAGS: @@ -74,7 +74,7 @@ protected List toListForProcessing(RequestDetails theRequestDetai default: return Collections.emptyList(); - // Do apply to these operations + // Do apply to these operations case HISTORY_INSTANCE: case HISTORY_SYSTEM: case HISTORY_TYPE: diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java index bcf7e9c53688..6436b7ce12fa 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/auth/RuleImplOp.java @@ -193,7 +193,7 @@ public Verdict applyRule( theOutputResource, theRuleApplier); - // None of the following are checked on the way in + // None of the following are checked on the way in case ADD_TAGS: case DELETE_TAGS: case GET_TAGS: diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java index 02ac68ca7605..0f106a8953fa 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/server/interceptor/validation/ValidationMessageUnknownCodeSystemPostProcessingInterceptor.java @@ -79,7 +79,7 @@ private static ResultSeverityEnum mapIssueSeverityToResultSeverityEnum( case FATAL -> ResultSeverityEnum.FATAL; case ERROR -> ResultSeverityEnum.ERROR; case WARNING -> ResultSeverityEnum.WARNING; - // treat success as information level + // treat success as information level case INFORMATION, SUCCESS -> ResultSeverityEnum.INFORMATION; }; } diff --git a/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java b/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java index a73a71b2a594..45000255aef4 100644 --- a/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java +++ b/hapi-fhir-storage-batch2-jobs/src/main/java/ca/uhn/fhir/batch2/jobs/export/BulkDataExportProvider.java @@ -490,17 +490,17 @@ public void exportPollStatus( myFhirContext.newJsonParser().setPrettyPrint(true).encodeResourceToWriter(oo, response.getWriter()); response.getWriter().close(); break; - //noinspection DefaultNotLastCaseInSwitch + //noinspection DefaultNotLastCaseInSwitch default: // Deliberate fall through ourLog.warn( "Unrecognized status encountered: {}. Treating as BUILDING/SUBMITTED", info.getStatus().name()); - //noinspection fallthrough + //noinspection fallthrough case FINALIZE: case QUEUED: case IN_PROGRESS: - //noinspection deprecation - we need to support old jobs after upgrade. + //noinspection deprecation - we need to support old jobs after upgrade. case ERRORED: if (info.isCancelled()) { ourLog.info("{} job instance <{}> was marked cancelled.", info.getStatus(), theJobId); diff --git a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java index e0b08ea4e5e7..b708e58786b3 100644 --- a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java +++ b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/model/WorkChunkStatusEnum.java @@ -111,7 +111,7 @@ public Set getNextStates() { return EnumSet.of(POLL_WAITING, READY); case ERRORED: return EnumSet.of(IN_PROGRESS, FAILED, COMPLETED); - // terminal states + // terminal states case FAILED: case COMPLETED: default: diff --git a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java index be59d0e9953f..6096a4a6b45a 100644 --- a/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java +++ b/hapi-fhir-storage-batch2/src/main/java/ca/uhn/fhir/batch2/progress/JobInstanceStatusUpdater.java @@ -86,7 +86,7 @@ private void handleStatusChange(JobInstance theJobInstan case IN_PROGRESS: case FINALIZE: default: - // do nothing + // do nothing } } diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java index 1ce77d836c36..0db933b36583 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseTransactionProcessor.java @@ -1178,7 +1178,7 @@ private void consolidateDuplicateConditionals( } break; - // Conditional CREATE + // Conditional CREATE case "POST": conditionalUrl = ifNoneExist; if (isNotBlank(ifNoneExist)) { diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java index c783b3016111..972b16bb43d0 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/PatientIdPartitionInterceptor.java @@ -226,7 +226,7 @@ public RequestPartitionId identifyForRead( } break; default: - // nothing + // nothing } if (isBlank(theReadDetails.getResourceType())) { diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java index 957b0a3db835..4632523ce7ba 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/storage/interceptor/balp/BalpAuditCaptureInterceptor.java @@ -149,7 +149,7 @@ void hookStoragePreShowResources(IPreResourceShowDetails theDetails, ServletRequ handleReadOrVRead(theDetails, theRequestDetails); break; default: - // No actions for other operations + // No actions for other operations } } diff --git a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java index 1500af1c802c..d53081542faf 100644 --- a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java +++ b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractJsonParserErrorHandlerTest.java @@ -23,7 +23,8 @@ public abstract non-sealed class AbstractJsonParserErrorHandlerTest extends AbstractParserErrorHandlerTest { - private static String PATIENT_DUPLICATE_CHOICE = """ + private static String PATIENT_DUPLICATE_CHOICE = + """ { "resourceType": "Patient", "deceasedBoolean": "true", diff --git a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java index ecd6a06dd047..56e81659eb15 100644 --- a/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java +++ b/hapi-fhir-test-utilities/src/main/java/ca/uhn/fhir/parser/AbstractXmlParserErrorHandlerTest.java @@ -23,7 +23,8 @@ public abstract non-sealed class AbstractXmlParserErrorHandlerTest extends AbstractParserErrorHandlerTest { - private static String PATIENT_DUPLICATE_CHOICE = """ + private static String PATIENT_DUPLICATE_CHOICE = + """ diff --git a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java index f7a276f06bd3..0e435a51388e 100644 --- a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java +++ b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/RemoteTerminologyServiceValidationSupport.java @@ -358,7 +358,7 @@ private static BaseConceptProperty createConceptPropertyDstu3( conceptProperty = new CodingConceptProperty(theName, coding.getSystem(), coding.getCode(), coding.getDisplay()); break; - // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 + // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 default: // other types will not fail for Remote Terminology conceptProperty = new StringConceptProperty(theName, theValue.toString()); @@ -491,7 +491,7 @@ private static BaseConceptProperty createConceptPropertyR4(final String theName, conceptProperty = new CodingConceptProperty(theName, coding.getSystem(), coding.getCode(), coding.getDisplay()); break; - // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 + // TODO: add other property types as per FHIR spec https://github.com/hapifhir/hapi-fhir/issues/5699 default: // other types will not fail for Remote Terminology conceptProperty = new StringConceptProperty(theName, theValue.toString()); diff --git a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java index 94585bd9d904..f8c01b69edef 100644 --- a/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java +++ b/hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/validator/FHIRPathResourceGeneratorR4.java @@ -192,7 +192,7 @@ private void handleNameNode(ExpressionNode fhirPath) { case PRIMITIVE_XHTML_HL7ORG: case RESOURCE_BLOCK: case UNDECL_EXT: - // TODO: not implemented. What to do? + // TODO: not implemented. What to do? } } @@ -342,7 +342,7 @@ private void handleFunctionNode(ExpressionNode fhirPath) { case Type: case Union: case Upper: - // TODO: unimplemented, what to do? + // TODO: unimplemented, what to do? case ConvertsToDate: break; case Round: @@ -423,7 +423,7 @@ private void handleWhereFunctionNode(ExpressionNode fhirPath) { case RESOURCE: case RESOURCE_BLOCK: case UNDECL_EXT: - // TODO: unimplemented. What to do? + // TODO: unimplemented. What to do? } } } @@ -484,7 +484,7 @@ private void handleWhereFunctionParam(ExpressionNode param) { case Times: case Union: case Xor: - // TODO: unimplemented, what to do? + // TODO: unimplemented, what to do? } } } @@ -548,7 +548,7 @@ private void handleWhereFunctionParam(ExpressionNode param) { case Times: case Union: case Xor: - // TODO: need to implement above first + // TODO: need to implement above first } } @@ -628,7 +628,7 @@ private PathType getTypeOfFhirPath(String fhirPath) { case Times: case Union: case Xor: - // TODO: need to implement above first + // TODO: need to implement above first } } } diff --git a/hapi-tinder-plugin/.gitignore b/hapi-tinder-plugin/.gitignore index 4c86414cde70..baa523c33a2e 100644 --- a/hapi-tinder-plugin/.gitignore +++ b/hapi-tinder-plugin/.gitignore @@ -1,128 +1,127 @@ -target/ -/bin - -# Created by https://www.gitignore.io - -### Java ### -*.class - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.ear - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* - - -### Maven ### -target/ -pom.xml.tag -pom.xml.releaseBackup -pom.xml.versionsBackup -pom.xml.next -release.properties -dependency-reduced-pom.xml -buildNumber.properties - - -### Vim ### -[._]*.s[a-w][a-z] -[._]s[a-w][a-z] -*.un~ -Session.vim -.netrwhist -*~ - - -### Intellij ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm - -*.iml - -## Directory-based project format: -.idea/ -# if you remove the above rule, at least ignore the following: - -# User-specific stuff: -# .idea/workspace.xml -# .idea/tasks.xml -# .idea/dictionaries - -# Sensitive or high-churn files: -# .idea/dataSources.ids -# .idea/dataSources.xml -# .idea/sqlDataSources.xml -# .idea/dynamic.xml -# .idea/uiDesigner.xml - -# Gradle: -# .idea/gradle.xml -# .idea/libraries - -# Mongo Explorer plugin: -# .idea/mongoSettings.xml - -## File-based project format: -*.ipr -*.iws - -## Plugin-specific files: - -# IntelliJ -/out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties - - - -### Eclipse ### -*.pydevproject -.metadata -.gradle -bin/ -tmp/ -*.tmp -*.bak -*.swp -*~.nib -local.properties -.settings/ -.loadpath - -# Eclipse Core -.project - -# External tool builders -.externalToolBuilders/ - -# Locally stored "Eclipse launch configurations" -*.launch - -# CDT-specific -.cproject - -# JDT-specific (Eclipse Java Development Tools) -.classpath - -# PDT-specific -.buildpath - -# sbteclipse plugin -.target - -# TeXlipse plugin -.texlipse - +target/ +/bin + +# Created by https://www.gitignore.io + +### Java ### +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + + +### Maven ### +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties + + +### Vim ### +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist +*~ + + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm + +*.iml + +## Directory-based project format: +.idea/ +# if you remove the above rule, at least ignore the following: + +# User-specific stuff: +# .idea/workspace.xml +# .idea/tasks.xml +# .idea/dictionaries + +# Sensitive or high-churn files: +# .idea/dataSources.ids +# .idea/dataSources.xml +# .idea/sqlDataSources.xml +# .idea/dynamic.xml +# .idea/uiDesigner.xml + +# Gradle: +# .idea/gradle.xml +# .idea/libraries + +# Mongo Explorer plugin: +# .idea/mongoSettings.xml + +## File-based project format: +*.ipr +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties + + + +### Eclipse ### +*.pydevproject +.metadata +.gradle +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath + +# Eclipse Core +.project + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# JDT-specific (Eclipse Java Development Tools) +.classpath + +# PDT-specific +.buildpath + +# sbteclipse plugin +.target + +# TeXlipse plugin +.texlipse diff --git a/hapi-tinder-test/.gitignore b/hapi-tinder-test/.gitignore index 48875ee9bfb6..05dc0fec6f14 100644 --- a/hapi-tinder-test/.gitignore +++ b/hapi-tinder-test/.gitignore @@ -126,4 +126,3 @@ local.properties # TeXlipse plugin .texlipse - From acfe0fffae493d70e7d882ade32c7eb593267a0b Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Sat, 22 Nov 2025 23:25:48 +0100 Subject: [PATCH 4/6] reverting back ucum --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cfd28f48d41b..dd8b821df1ab 100644 --- a/pom.xml +++ b/pom.xml @@ -1095,7 +1095,7 @@ 1.0.1 1.52.0 8.16.2 - 1.0.10 + 1.0.9 5.4.1 From af5249671b3ad57e6e802ba2c6a0046f6bd80f5c Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Sat, 22 Nov 2025 23:37:08 +0100 Subject: [PATCH 5/6] Updated other github actions --- .github/actions/assemble-test-reports/action.yml | 6 +++--- .github/actions/build-cache/action.yml | 2 +- .github/actions/build-module/action.yml | 2 +- .github/actions/checkstyle-validation/action.yml | 2 +- .github/actions/generate-module-list/action.yml | 2 +- .github/actions/run-tests-and-archive-results/action.yml | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/actions/assemble-test-reports/action.yml b/.github/actions/assemble-test-reports/action.yml index 211aba105cf0..18487db72381 100644 --- a/.github/actions/assemble-test-reports/action.yml +++ b/.github/actions/assemble-test-reports/action.yml @@ -16,7 +16,7 @@ runs: using: "composite" steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 1 @@ -54,13 +54,13 @@ runs: ./codecov -t ${{ inputs.CODECOV_TOKEN }} -R ${{ github.workspace }}/hapi-fhir-jacoco/target/site/jacoco-aggregate/ - name: Publish test results - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: junit-test-results path: './**/TEST-*.xml' - name: Publish code coverage report - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: code-coverage path: ${{ github.workspace }}/hapi-fhir-jacoco/target/site/jacoco-aggregate/jacoco.xml diff --git a/.github/actions/build-cache/action.yml b/.github/actions/build-cache/action.yml index b2cbf9bfdc1c..0e054c722269 100644 --- a/.github/actions/build-cache/action.yml +++ b/.github/actions/build-cache/action.yml @@ -14,7 +14,7 @@ runs: using: "composite" steps: - name: Set up JDK ${{ inputs.java-version }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ inputs.java-version }} distribution: "temurin" diff --git a/.github/actions/build-module/action.yml b/.github/actions/build-module/action.yml index c1e58f8bc5e1..e6c37229be73 100644 --- a/.github/actions/build-module/action.yml +++ b/.github/actions/build-module/action.yml @@ -20,7 +20,7 @@ runs: fetch-depth: 1 - name: Set up Java 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: '17' diff --git a/.github/actions/checkstyle-validation/action.yml b/.github/actions/checkstyle-validation/action.yml index 0f717dd4d21d..0a1c83d024c3 100644 --- a/.github/actions/checkstyle-validation/action.yml +++ b/.github/actions/checkstyle-validation/action.yml @@ -32,7 +32,7 @@ runs: key: ${{ inputs.hapi-cache-key }} - name: Set up JDK - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: ${{ inputs.java-version }} diff --git a/.github/actions/generate-module-list/action.yml b/.github/actions/generate-module-list/action.yml index 497ed3ced0ce..7e75846946dd 100644 --- a/.github/actions/generate-module-list/action.yml +++ b/.github/actions/generate-module-list/action.yml @@ -16,7 +16,7 @@ runs: uses: actions/checkout@v4 - name: Set up JDK 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'adopt' java-version: '17' diff --git a/.github/actions/run-tests-and-archive-results/action.yml b/.github/actions/run-tests-and-archive-results/action.yml index 9bb968488091..e0f660a3708f 100644 --- a/.github/actions/run-tests-and-archive-results/action.yml +++ b/.github/actions/run-tests-and-archive-results/action.yml @@ -18,7 +18,7 @@ runs: using: "composite" steps: - name: Set up JDK ${{ inputs.java-version }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ inputs.java-version }} distribution: 'temurin' @@ -59,7 +59,7 @@ runs: echo "sanitized_name=$sanitized_name" >> $GITHUB_ENV - name: Upload target Directory - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: ${{ env.sanitized_name }} path: '**/target/**' From 49808e7db2434e3c9fe97493ce34f12438b8e082 Mon Sep 17 00:00:00 2001 From: Michele Adduci Date: Mon, 24 Nov 2025 11:52:05 +0100 Subject: [PATCH 6/6] REFV-282: updated yq version in GitHub actions --- .github/workflows/pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index c8607a71081a..79d2f2da7251 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -16,7 +16,7 @@ jobs: - name: Install yq run: | - sudo wget https://github.com/mikefarah/yq/releases/download/v4.40.5/yq_linux_amd64 -O /usr/bin/yq + sudo wget https://github.com/mikefarah/yq/releases/download/v4.49.1/yq_linux_amd64 -O /usr/bin/yq sudo chmod +x /usr/bin/yq - name: Load ignored modules from config