From 7a39f8cbaff0f238357680b27a0fa1494e6b92eb Mon Sep 17 00:00:00 2001 From: James Agnew Date: Thu, 27 Oct 2022 21:31:39 -0400 Subject: [PATCH] Make reference extractor more reusable (#4205) * Refactor * Make reference extractor more reusable * Test fix * Test fix * Headers * Small refactor --- hapi-deployable-pom/pom.xml | 2 +- hapi-fhir-android/pom.xml | 2 +- hapi-fhir-base/pom.xml | 2 +- hapi-fhir-batch/pom.xml | 2 +- hapi-fhir-bom/pom.xml | 4 +- hapi-fhir-checkstyle/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-api/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-app/pom.xml | 2 +- hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml | 2 +- hapi-fhir-cli/pom.xml | 2 +- hapi-fhir-client-okhttp/pom.xml | 2 +- hapi-fhir-client/pom.xml | 2 +- hapi-fhir-converter/pom.xml | 2 +- hapi-fhir-dist/pom.xml | 2 +- hapi-fhir-docs/pom.xml | 2 +- hapi-fhir-jacoco/pom.xml | 2 +- hapi-fhir-jaxrsserver-base/pom.xml | 2 +- hapi-fhir-jpa/pom.xml | 2 +- hapi-fhir-jpaserver-base/pom.xml | 2 +- .../export/svc/JpaBulkExportProcessor.java | 2 +- .../fhir/jpa/dao/BaseHapiFhirResourceDao.java | 29 +----------- .../fhir/jpa/dao/index/IdHelperService.java | 7 +-- ...rchParamWithInlineReferencesExtractor.java | 7 +-- .../fhir/jpa/util/RegexpGsonBuilderUtil.java | 2 +- hapi-fhir-jpaserver-cql/pom.xml | 2 +- .../pom.xml | 2 +- hapi-fhir-jpaserver-mdm/pom.xml | 2 +- hapi-fhir-jpaserver-model/pom.xml | 2 +- .../model/cross/IBasePersistedResource.java | 10 +---- .../fhir/jpa/model/cross/IResourceLookup.java | 10 ++++- .../fhir/jpa/model/cross/ResourceLookup.java | 12 ++--- hapi-fhir-jpaserver-searchparam/pom.xml | 2 +- .../SearchParamExtractorService.java | 2 +- hapi-fhir-jpaserver-subscription/pom.xml | 2 +- hapi-fhir-jpaserver-test-dstu2/pom.xml | 2 +- hapi-fhir-jpaserver-test-dstu3/pom.xml | 2 +- hapi-fhir-jpaserver-test-r4/pom.xml | 2 +- .../jpa/dao/index/IdHelperServiceTest.java | 10 ++--- hapi-fhir-jpaserver-test-r4b/pom.xml | 2 +- hapi-fhir-jpaserver-test-r5/pom.xml | 2 +- hapi-fhir-jpaserver-test-utilities/pom.xml | 2 +- hapi-fhir-jpaserver-uhnfhirtest/pom.xml | 2 +- hapi-fhir-server-mdm/pom.xml | 2 +- .../mdm/rules/matcher/IdentifierMatcher.java | 2 +- .../ca/uhn/fhir/mdm/util/IdentifierUtil.java | 1 + hapi-fhir-server-openapi/pom.xml | 2 +- hapi-fhir-server/pom.xml | 2 +- .../server/storage/ResourcePersistentId.java | 1 + .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../hapi-fhir-spring-boot-samples/pom.xml | 2 +- .../hapi-fhir-spring-boot-starter/pom.xml | 2 +- hapi-fhir-spring-boot/pom.xml | 2 +- hapi-fhir-sql-migrate/pom.xml | 2 +- hapi-fhir-storage-batch2-jobs/pom.xml | 2 +- hapi-fhir-storage-batch2/pom.xml | 2 +- hapi-fhir-storage-mdm/pom.xml | 2 +- hapi-fhir-storage-test-utilities/pom.xml | 2 +- hapi-fhir-storage/pom.xml | 2 +- .../ca/uhn/fhir/jpa/dao/BaseStorageDao.java | 27 +++++++++++ .../dao/index/DaoResourceLinkResolver.java | 45 +++++++++---------- .../uhn/fhir}/util/CanonicalIdentifier.java | 4 +- .../index/DaoResourceLinkResolverTest.java | 2 +- hapi-fhir-structures-dstu2.1/pom.xml | 2 +- hapi-fhir-structures-dstu2/pom.xml | 2 +- hapi-fhir-structures-dstu3/pom.xml | 2 +- hapi-fhir-structures-hl7org-dstu2/pom.xml | 2 +- hapi-fhir-structures-r4/pom.xml | 2 +- hapi-fhir-structures-r4b/pom.xml | 2 +- hapi-fhir-structures-r5/pom.xml | 2 +- hapi-fhir-test-utilities/pom.xml | 2 +- hapi-fhir-testpage-overlay/pom.xml | 2 +- .../pom.xml | 2 +- hapi-fhir-validation-resources-dstu2/pom.xml | 2 +- hapi-fhir-validation-resources-dstu3/pom.xml | 2 +- hapi-fhir-validation-resources-r4/pom.xml | 2 +- hapi-fhir-validation-resources-r5/pom.xml | 2 +- hapi-fhir-validation/pom.xml | 2 +- hapi-tinder-plugin/pom.xml | 18 ++++---- hapi-tinder-test/pom.xml | 2 +- pom.xml | 4 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- 86 files changed, 168 insertions(+), 163 deletions(-) rename {hapi-fhir-jpaserver-base => hapi-fhir-storage}/src/main/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolver.java (90%) rename {hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm => hapi-fhir-storage/src/main/java/ca/uhn/fhir}/util/CanonicalIdentifier.java (97%) rename {hapi-fhir-jpaserver-test-utilities => hapi-fhir-storage}/src/test/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolverTest.java (97%) diff --git a/hapi-deployable-pom/pom.xml b/hapi-deployable-pom/pom.xml index 7f63c5980be..f8758a16a93 100644 --- a/hapi-deployable-pom/pom.xml +++ b/hapi-deployable-pom/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-android/pom.xml b/hapi-fhir-android/pom.xml index 6ed9f03ad8a..b97e24f048a 100644 --- a/hapi-fhir-android/pom.xml +++ b/hapi-fhir-android/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-base/pom.xml b/hapi-fhir-base/pom.xml index 017efa859e5..e5d3ef4e112 100644 --- a/hapi-fhir-base/pom.xml +++ b/hapi-fhir-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-batch/pom.xml b/hapi-fhir-batch/pom.xml index 8a77c19e516..2fc39d7bc27 100644 --- a/hapi-fhir-batch/pom.xml +++ b/hapi-fhir-batch/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-bom/pom.xml b/hapi-fhir-bom/pom.xml index 1cd082147a4..c2aa9891e38 100644 --- a/hapi-fhir-bom/pom.xml +++ b/hapi-fhir-bom/pom.xml @@ -3,14 +3,14 @@ 4.0.0 ca.uhn.hapi.fhir hapi-fhir-bom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT pom HAPI FHIR BOM ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-checkstyle/pom.xml b/hapi-fhir-checkstyle/pom.xml index c2f7cc50762..5074448203e 100644 --- a/hapi-fhir-checkstyle/pom.xml +++ b/hapi-fhir-checkstyle/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml index df287562c4d..56dd6230194 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml index 3cae7776dfb..38ce7b59518 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-app/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-fhir-cli - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml index 48a41966688..d16d65b78fc 100644 --- a/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml +++ b/hapi-fhir-cli/hapi-fhir-cli-jpaserver/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../../hapi-deployable-pom diff --git a/hapi-fhir-cli/pom.xml b/hapi-fhir-cli/pom.xml index 0bb8197d722..d8d473c331d 100644 --- a/hapi-fhir-cli/pom.xml +++ b/hapi-fhir-cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-client-okhttp/pom.xml b/hapi-fhir-client-okhttp/pom.xml index db2b5fcb386..edb6aaaa09d 100644 --- a/hapi-fhir-client-okhttp/pom.xml +++ b/hapi-fhir-client-okhttp/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-client/pom.xml b/hapi-fhir-client/pom.xml index 959a0bccb9a..ea222cc4be8 100644 --- a/hapi-fhir-client/pom.xml +++ b/hapi-fhir-client/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-converter/pom.xml b/hapi-fhir-converter/pom.xml index f7dc1dceb31..ac921687814 100644 --- a/hapi-fhir-converter/pom.xml +++ b/hapi-fhir-converter/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-dist/pom.xml b/hapi-fhir-dist/pom.xml index 5cdffe33d8a..6de879b13ab 100644 --- a/hapi-fhir-dist/pom.xml +++ b/hapi-fhir-dist/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-docs/pom.xml b/hapi-fhir-docs/pom.xml index 80e025cd4ae..b325bc449d1 100644 --- a/hapi-fhir-docs/pom.xml +++ b/hapi-fhir-docs/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jacoco/pom.xml b/hapi-fhir-jacoco/pom.xml index b079f4950ef..12d17a905c4 100644 --- a/hapi-fhir-jacoco/pom.xml +++ b/hapi-fhir-jacoco/pom.xml @@ -11,7 +11,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jaxrsserver-base/pom.xml b/hapi-fhir-jaxrsserver-base/pom.xml index 67af275eea7..3e446352e23 100644 --- a/hapi-fhir-jaxrsserver-base/pom.xml +++ b/hapi-fhir-jaxrsserver-base/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpa/pom.xml b/hapi-fhir-jpa/pom.xml index 2e7f7f8011a..f26218abbf6 100644 --- a/hapi-fhir-jpa/pom.xml +++ b/hapi-fhir-jpa/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-jpaserver-base/pom.xml b/hapi-fhir-jpaserver-base/pom.xml index 2e7cce21bc6..b773181de43 100644 --- a/hapi-fhir-jpaserver-base/pom.xml +++ b/hapi-fhir-jpaserver-base/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/bulk/export/svc/JpaBulkExportProcessor.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/bulk/export/svc/JpaBulkExportProcessor.java index 4ebfef1dae1..cc2b8b35fc8 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/bulk/export/svc/JpaBulkExportProcessor.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/bulk/export/svc/JpaBulkExportProcessor.java @@ -397,7 +397,7 @@ public class JpaBulkExportProcessor implements IBulkExportProcessor { // } Map sourceResourceIdToGoldenResourceIdMap = new HashMap<>(); goldenResourceToSourcePidMap.forEach((key, value) -> { - String goldenResourceId = myIdHelperService.translatePidIdToForcedIdWithCache(new ResourcePersistentId(key)).orElse(key.toString()); + String goldenResourceId = myIdHelperService.translatePidIdToForcedIdWithCache(key).orElse(key.toString()); PersistentIdToForcedIdMap pidsToForcedIds = myIdHelperService.translatePidsToForcedIds(value); Set sourceResourceIds = pidsToForcedIds.getResolvedResourceIds(); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirResourceDao.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirResourceDao.java index 6c33e2909ea..a551022bb7d 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirResourceDao.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirResourceDao.java @@ -137,7 +137,6 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import javax.annotation.PostConstruct; import javax.persistence.NoResultException; -import javax.persistence.Parameter; import javax.persistence.TypedQuery; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -514,30 +513,6 @@ public abstract class BaseHapiFhirResourceDao extends B }); } - /** - * Creates a base method outcome for a delete request for the provided ID. - *

- * Additional information may be set on the outcome. - * - * @param theId - the id of the object being deleted. Eg: Patient/123 - */ - private DaoMethodOutcome createMethodOutcomeForDelete(String theId, String theKey) { - DaoMethodOutcome outcome = new DaoMethodOutcome(); - - IIdType id = getContext().getVersion().newIdType(); - id.setValue(theId); - outcome.setId(id); - - IBaseOperationOutcome oo = OperationOutcomeUtil.newInstance(getContext()); - String message = getContext().getLocalizer().getMessage(BaseStorageDao.class, theKey, id); - String severity = "information"; - String code = "informational"; - OperationOutcomeUtil.addIssue(getContext(), oo, severity, message, null, code); - outcome.setOperationOutcome(oo); - - return outcome; - } - @Override public DaoMethodOutcome delete(IIdType theId, DeleteConflictList theDeleteConflicts, @@ -554,7 +529,7 @@ public abstract class BaseHapiFhirResourceDao extends B // if not found, return an outcome anyways. // Because no object actually existed, we'll // just set the id and nothing else - DaoMethodOutcome outcome = createMethodOutcomeForDelete(theId.getValue(), "deleteResourceNotExisting"); + DaoMethodOutcome outcome = createMethodOutcomeForResourceId(theId.getValue(), MESSAGE_KEY_DELETE_RESOURCE_NOT_EXISTING); return outcome; } @@ -564,7 +539,7 @@ public abstract class BaseHapiFhirResourceDao extends B // Don't delete again if it's already deleted if (isDeleted(entity)) { - DaoMethodOutcome outcome = createMethodOutcomeForDelete(entity.getIdDt().getValue(), "deleteResourceAlreadyDeleted"); + DaoMethodOutcome outcome = createMethodOutcomeForResourceId(entity.getIdDt().getValue(), MESSAGE_KEY_DELETE_RESOURCE_ALREADY_DELETED); // used to exist, so we'll set the persistent id outcome.setPersistentId(new ResourcePersistentId(entity.getResourceId())); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/IdHelperService.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/IdHelperService.java index 751b82b2fd6..93d76d2c149 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/IdHelperService.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/IdHelperService.java @@ -209,7 +209,7 @@ public class IdHelperService implements IIdHelperService { // is a forced id // we must resolve! if (myDaoConfig.isDeleteEnabled()) { - retVal = new ResourcePersistentId(resolveResourceIdentity(theRequestPartitionId, theResourceType, id, theExcludeDeleted).getResourceId()); + retVal = resolveResourceIdentity(theRequestPartitionId, theResourceType, id, theExcludeDeleted).getPersistentId(); retVals.put(id, retVal); } else { // fetch from cache... adding to cache if not available @@ -248,6 +248,7 @@ public class IdHelperService implements IIdHelperService { * * @throws ResourceNotFoundException If the ID can not be found */ + @Override public ResourcePersistentId resolveResourcePersistentIds(@Nonnull RequestPartitionId theRequestPartitionId, String theResourceType, String theId, boolean theExcludeDeleted){ Validate.notNull(theId, "theId must not be null"); @@ -578,13 +579,13 @@ public class IdHelperService implements IIdHelperService { .stream() .map(t -> new ResourceLookup((String) t[0], (Long) t[1], (Date) t[2])) .forEach(t -> { - String id = t.getResourceId().toString(); + String id = t.getPersistentId().toString(); if (!theTargets.containsKey(id)) { theTargets.put(id, new ArrayList<>()); } theTargets.get(id).add(t); if (!myDaoConfig.isDeleteEnabled()) { - String nextKey = Long.toString(t.getResourceId()); + String nextKey = t.getPersistentId().toString(); myMemoryCacheService.putAfterCommit(MemoryCacheService.CacheEnum.RESOURCE_LOOKUP, nextKey, t); } }); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/SearchParamWithInlineReferencesExtractor.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/SearchParamWithInlineReferencesExtractor.java index 5664fe99260..f1867d7c2e5 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/SearchParamWithInlineReferencesExtractor.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/SearchParamWithInlineReferencesExtractor.java @@ -33,6 +33,7 @@ import ca.uhn.fhir.jpa.dao.BaseStorageDao; import ca.uhn.fhir.jpa.dao.MatchResourceUrlService; import ca.uhn.fhir.jpa.dao.data.IResourceIndexedComboStringUniqueDao; import ca.uhn.fhir.jpa.model.config.PartitionSettings; +import ca.uhn.fhir.jpa.model.cross.IBasePersistedResource; import ca.uhn.fhir.jpa.model.entity.BaseResourceIndexedSearchParam; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedComboStringUnique; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedComboTokenNonUnique; @@ -354,10 +355,10 @@ public class SearchParamWithInlineReferencesExtractor { ResourcePersistentId match; if (matches.isEmpty()) { - Optional placeholderOpt = myDaoResourceLinkResolver.createPlaceholderTargetIfConfiguredToDoSo(matchResourceType, nextRef, null, theRequest, theTransactionDetails); + Optional placeholderOpt = myDaoResourceLinkResolver.createPlaceholderTargetIfConfiguredToDoSo(matchResourceType, nextRef, null, theRequest, theTransactionDetails); if (placeholderOpt.isPresent()) { - match = new ResourcePersistentId(placeholderOpt.get().getResourceId()); - match.setAssociatedResourceId(placeholderOpt.get().getIdType(myContext)); + match = placeholderOpt.get().getPersistentId(); + match.setAssociatedResourceId(placeholderOpt.get().getIdDt()); theTransactionDetails.addResolvedMatchUrl(nextIdText, match); myMemoryCacheService.putAfterCommit(MemoryCacheService.CacheEnum.MATCH_URL, nextIdText, match); } else { diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util/RegexpGsonBuilderUtil.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util/RegexpGsonBuilderUtil.java index 9ae87b24435..e3e473c8858 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util/RegexpGsonBuilderUtil.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util/RegexpGsonBuilderUtil.java @@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.util; /*- * #%L - * HAPI FHIR Storage api + * HAPI FHIR JPA Server * %% * Copyright (C) 2014 - 2022 Smile CDR, Inc. * %% diff --git a/hapi-fhir-jpaserver-cql/pom.xml b/hapi-fhir-jpaserver-cql/pom.xml index 88395c4a2c1..c0f8b5acd1e 100644 --- a/hapi-fhir-jpaserver-cql/pom.xml +++ b/hapi-fhir-jpaserver-cql/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml b/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml index 38fe3c7b457..f99e3c9198c 100644 --- a/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml +++ b/hapi-fhir-jpaserver-elastic-test-utilities/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-mdm/pom.xml b/hapi-fhir-jpaserver-mdm/pom.xml index 0f28a1e0c63..2730f2d6940 100644 --- a/hapi-fhir-jpaserver-mdm/pom.xml +++ b/hapi-fhir-jpaserver-mdm/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-model/pom.xml b/hapi-fhir-jpaserver-model/pom.xml index 0eaa7ff9093..d85ea5bb14c 100644 --- a/hapi-fhir-jpaserver-model/pom.xml +++ b/hapi-fhir-jpaserver-model/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IBasePersistedResource.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IBasePersistedResource.java index f75091cac6d..845a78afb1b 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IBasePersistedResource.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IBasePersistedResource.java @@ -21,19 +21,13 @@ package ca.uhn.fhir.jpa.model.cross; */ import ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId; +import org.hl7.fhir.instance.model.api.IBaseResource; import org.hl7.fhir.instance.model.api.IIdType; import java.util.Date; -public interface IBasePersistedResource { +public interface IBasePersistedResource extends IResourceLookup { IIdType getIdDt(); - /** - * If the resource is deleted, returns the date/time that the resource was deleted at. Otherwise, returns null - */ - Date getDeleted(); - - ResourcePersistentId getPersistentId(); - } diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IResourceLookup.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IResourceLookup.java index 26824332178..ae1fff28c1a 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IResourceLookup.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/IResourceLookup.java @@ -20,12 +20,18 @@ package ca.uhn.fhir.jpa.model.cross; * #L% */ +import ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId; + import java.util.Date; public interface IResourceLookup { String getResourceType(); - Long getResourceId(); - + /** + * If the resource is deleted, returns the date/time that the resource was deleted at. Otherwise, returns null + */ Date getDeleted(); + + ResourcePersistentId getPersistentId(); + } diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/ResourceLookup.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/ResourceLookup.java index 12f39c07188..d98aa036b28 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/ResourceLookup.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/cross/ResourceLookup.java @@ -20,6 +20,8 @@ package ca.uhn.fhir.jpa.model.cross; * #L% */ +import ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId; + import java.util.Date; public class ResourceLookup implements IResourceLookup { @@ -38,13 +40,13 @@ public class ResourceLookup implements IResourceLookup { return myResourceType; } - @Override - public Long getResourceId() { - return myResourcePid; - } - @Override public Date getDeleted() { return myDeletedAt; } + + @Override + public ResourcePersistentId getPersistentId() { + return new ResourcePersistentId(myResourcePid); + } } diff --git a/hapi-fhir-jpaserver-searchparam/pom.xml b/hapi-fhir-jpaserver-searchparam/pom.xml index e481b81db16..4955a267818 100755 --- a/hapi-fhir-jpaserver-searchparam/pom.xml +++ b/hapi-fhir-jpaserver-searchparam/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/SearchParamExtractorService.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/SearchParamExtractorService.java index f4626760836..e0ea6e62133 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/SearchParamExtractorService.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/SearchParamExtractorService.java @@ -525,7 +525,7 @@ public class SearchParamExtractorService { } String targetResourceType = targetResource.getResourceType(); - Long targetResourcePid = targetResource.getResourceId(); + Long targetResourcePid = targetResource.getPersistentId().getIdAsLong(); String targetResourceIdPart = theNextId.getIdPart(); Long targetVersion = theNextId.getVersionIdPartAsLong(); return ResourceLink.forLocalReference(nextPathAndRef.getPath(), theEntity, targetResourceType, targetResourcePid, targetResourceIdPart, theUpdateTime, targetVersion); diff --git a/hapi-fhir-jpaserver-subscription/pom.xml b/hapi-fhir-jpaserver-subscription/pom.xml index a4e3528490d..f051b1d1ff2 100644 --- a/hapi-fhir-jpaserver-subscription/pom.xml +++ b/hapi-fhir-jpaserver-subscription/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-dstu2/pom.xml b/hapi-fhir-jpaserver-test-dstu2/pom.xml index e657e8ffcf0..950418d3cac 100644 --- a/hapi-fhir-jpaserver-test-dstu2/pom.xml +++ b/hapi-fhir-jpaserver-test-dstu2/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-dstu3/pom.xml b/hapi-fhir-jpaserver-test-dstu3/pom.xml index a494c1bef83..532efaab91a 100644 --- a/hapi-fhir-jpaserver-test-dstu3/pom.xml +++ b/hapi-fhir-jpaserver-test-dstu3/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-r4/pom.xml b/hapi-fhir-jpaserver-test-r4/pom.xml index 1a3d7dd28a3..74a90d8dbbc 100644 --- a/hapi-fhir-jpaserver-test-r4/pom.xml +++ b/hapi-fhir-jpaserver-test-r4/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-r4/src/test/java/ca/uhn/fhir/jpa/dao/index/IdHelperServiceTest.java b/hapi-fhir-jpaserver-test-r4/src/test/java/ca/uhn/fhir/jpa/dao/index/IdHelperServiceTest.java index dab26fa6c77..f6db0f54278 100644 --- a/hapi-fhir-jpaserver-test-r4/src/test/java/ca/uhn/fhir/jpa/dao/index/IdHelperServiceTest.java +++ b/hapi-fhir-jpaserver-test-r4/src/test/java/ca/uhn/fhir/jpa/dao/index/IdHelperServiceTest.java @@ -85,13 +85,13 @@ public class IdHelperServiceTest { Object[] redView = new Object[] { "Patient", - new Long(123l), + 123l, "RED", new Date() }; Object[] blueView = new Object[] { "Patient", - new Long(456l), + 456l, "BLUE", new Date() }; @@ -124,8 +124,8 @@ public class IdHelperServiceTest { patientIdsToResolve.add("RED"); patientIdsToResolve.add("BLUE"); - ResourcePersistentId red = new ResourcePersistentId("Patient", new Long(123l)); - ResourcePersistentId blue = new ResourcePersistentId("Patient", new Long(456l)); + ResourcePersistentId red = new ResourcePersistentId("Patient", 123l); + ResourcePersistentId blue = new ResourcePersistentId("Patient", 456l); // we will pretend the lookup value is in the cache when(myMemoryCacheService.getThenPutAfterCommit(any(MemoryCacheService.CacheEnum.class), @@ -167,7 +167,7 @@ public class IdHelperServiceTest { IResourceLookup result = myHelperService.resolveResourceIdentity(partitionId, resourceType, resourceForcedId); assertEquals(forcedIdView[0], result.getResourceType()); - assertEquals(forcedIdView[1], result.getResourceId()); + assertEquals(forcedIdView[1], result.getPersistentId().getId()); assertEquals(forcedIdView[3], result.getDeleted()); } diff --git a/hapi-fhir-jpaserver-test-r4b/pom.xml b/hapi-fhir-jpaserver-test-r4b/pom.xml index 1568f458388..e00c08354b3 100644 --- a/hapi-fhir-jpaserver-test-r4b/pom.xml +++ b/hapi-fhir-jpaserver-test-r4b/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-r5/pom.xml b/hapi-fhir-jpaserver-test-r5/pom.xml index adcde20f19a..b6eecd3ba78 100644 --- a/hapi-fhir-jpaserver-test-r5/pom.xml +++ b/hapi-fhir-jpaserver-test-r5/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-test-utilities/pom.xml b/hapi-fhir-jpaserver-test-utilities/pom.xml index b8388631ee1..a6b5d7f144a 100644 --- a/hapi-fhir-jpaserver-test-utilities/pom.xml +++ b/hapi-fhir-jpaserver-test-utilities/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml index 46f49bd5779..ff682e649b3 100644 --- a/hapi-fhir-jpaserver-uhnfhirtest/pom.xml +++ b/hapi-fhir-jpaserver-uhnfhirtest/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-server-mdm/pom.xml b/hapi-fhir-server-mdm/pom.xml index 81b2b950f63..f186eadd2df 100644 --- a/hapi-fhir-server-mdm/pom.xml +++ b/hapi-fhir-server-mdm/pom.xml @@ -7,7 +7,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/rules/matcher/IdentifierMatcher.java b/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/rules/matcher/IdentifierMatcher.java index e96226b9f8d..8d36a35577f 100644 --- a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/rules/matcher/IdentifierMatcher.java +++ b/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/rules/matcher/IdentifierMatcher.java @@ -21,7 +21,7 @@ package ca.uhn.fhir.mdm.rules.matcher; */ import ca.uhn.fhir.context.FhirContext; -import ca.uhn.fhir.mdm.util.CanonicalIdentifier; +import ca.uhn.fhir.util.CanonicalIdentifier; import ca.uhn.fhir.mdm.util.IdentifierUtil; import ca.uhn.fhir.model.primitive.StringDt; import org.hl7.fhir.instance.model.api.IBase; diff --git a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/util/IdentifierUtil.java b/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/util/IdentifierUtil.java index e8be3923bac..13cf46d1fef 100644 --- a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/util/IdentifierUtil.java +++ b/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/util/IdentifierUtil.java @@ -24,6 +24,7 @@ import ca.uhn.fhir.i18n.Msg; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.mdm.model.CanonicalEID; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; +import ca.uhn.fhir.util.CanonicalIdentifier; import org.hl7.fhir.instance.model.api.IBase; public final class IdentifierUtil { diff --git a/hapi-fhir-server-openapi/pom.xml b/hapi-fhir-server-openapi/pom.xml index 9ca4225b6ff..b6b39e2547c 100644 --- a/hapi-fhir-server-openapi/pom.xml +++ b/hapi-fhir-server-openapi/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server/pom.xml b/hapi-fhir-server/pom.xml index 958980042c8..d389860d7f3 100644 --- a/hapi-fhir-server/pom.xml +++ b/hapi-fhir-server/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/api/server/storage/ResourcePersistentId.java b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/api/server/storage/ResourcePersistentId.java index 43bb7a10125..9c665acca7f 100644 --- a/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/api/server/storage/ResourcePersistentId.java +++ b/hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/api/server/storage/ResourcePersistentId.java @@ -50,6 +50,7 @@ public class ResourcePersistentId { */ public ResourcePersistentId(Object theId, Long theVersion) { assert !(theId instanceof Optional); + assert !(theId instanceof ResourcePersistentId); myId = theId; myVersion = theVersion; } diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml index 49e5cab8f69..a2d96edeef0 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml index 6bea6ee6a64..f9bcb405c8c 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-apache/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT hapi-fhir-spring-boot-sample-client-apache diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml index 0fdfd46ae15..06991edeaed 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-client-okhttp/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT hapi-fhir-spring-boot-sample-client-okhttp diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml index 9f14fe48776..571897f1451 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot-samples - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT hapi-fhir-spring-boot-sample-server-jersey diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml index 52423b795fd..0d2239208a0 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir-spring-boot - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT hapi-fhir-spring-boot-samples diff --git a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml index 2af4156231c..74dfd522fb8 100644 --- a/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml +++ b/hapi-fhir-spring-boot/hapi-fhir-spring-boot-starter/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-spring-boot/pom.xml b/hapi-fhir-spring-boot/pom.xml index de1ba74621c..9bb20be10bc 100644 --- a/hapi-fhir-spring-boot/pom.xml +++ b/hapi-fhir-spring-boot/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-sql-migrate/pom.xml b/hapi-fhir-sql-migrate/pom.xml index b53bcac309f..beb9bf7415c 100644 --- a/hapi-fhir-sql-migrate/pom.xml +++ b/hapi-fhir-sql-migrate/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-batch2-jobs/pom.xml b/hapi-fhir-storage-batch2-jobs/pom.xml index 201e083d9eb..8f209e7d181 100644 --- a/hapi-fhir-storage-batch2-jobs/pom.xml +++ b/hapi-fhir-storage-batch2-jobs/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-storage-batch2/pom.xml b/hapi-fhir-storage-batch2/pom.xml index a7132ccb479..1e9ffd6b4c5 100644 --- a/hapi-fhir-storage-batch2/pom.xml +++ b/hapi-fhir-storage-batch2/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage-mdm/pom.xml b/hapi-fhir-storage-mdm/pom.xml index 3926d84b6b2..5801c8df91d 100644 --- a/hapi-fhir-storage-mdm/pom.xml +++ b/hapi-fhir-storage-mdm/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-storage-test-utilities/pom.xml b/hapi-fhir-storage-test-utilities/pom.xml index 6eb9268af23..794fd4d0fe6 100644 --- a/hapi-fhir-storage-test-utilities/pom.xml +++ b/hapi-fhir-storage-test-utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml 4.0.0 diff --git a/hapi-fhir-storage/pom.xml b/hapi-fhir-storage/pom.xml index 685a5872364..b75197d7327 100644 --- a/hapi-fhir-storage/pom.xml +++ b/hapi-fhir-storage/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseStorageDao.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseStorageDao.java index a5cfbeeeffa..54a99b8e64f 100644 --- a/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseStorageDao.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/BaseStorageDao.java @@ -90,6 +90,9 @@ public abstract class BaseStorageDao { public static final String OO_SEVERITY_WARN = "warning"; private static final String PROCESSING_SUB_REQUEST = "BaseStorageDao.processingSubRequest"; + protected static final String MESSAGE_KEY_DELETE_RESOURCE_NOT_EXISTING = "deleteResourceNotExisting"; + protected static final String MESSAGE_KEY_DELETE_RESOURCE_ALREADY_DELETED = "deleteResourceAlreadyDeleted"; + @Autowired protected ISearchParamRegistry mySearchParamRegistry; @Autowired @@ -367,6 +370,30 @@ public abstract class BaseStorageDao { return oo; } + /** + * Creates a base method outcome for a delete request for the provided ID. + *

+ * Additional information may be set on the outcome. + * + * @param theResourceId - the id of the object being deleted. Eg: Patient/123 + */ + protected DaoMethodOutcome createMethodOutcomeForResourceId(String theResourceId, String theMessageKey) { + DaoMethodOutcome outcome = new DaoMethodOutcome(); + + IIdType id = getContext().getVersion().newIdType(); + id.setValue(theResourceId); + outcome.setId(id); + + IBaseOperationOutcome oo = OperationOutcomeUtil.newInstance(getContext()); + String message = getContext().getLocalizer().getMessage(BaseStorageDao.class, theMessageKey, id); + String severity = "information"; + String code = "informational"; + OperationOutcomeUtil.addIssue(getContext(), oo, severity, message, null, code); + outcome.setOperationOutcome(oo); + + return outcome; + } + @Nonnull protected ResourceGoneException createResourceGoneException(IBasePersistedResource theResourceEntity) { StringBuilder b = new StringBuilder(); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolver.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolver.java similarity index 90% rename from hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolver.java rename to hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolver.java index 560a53cfd86..ee3039d8ebd 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolver.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolver.java @@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.dao.index; /*- * #%L - * HAPI FHIR JPA Server + * HAPI FHIR Storage api * %% * Copyright (C) 2014 - 2022 Smile CDR, Inc. * %% @@ -32,10 +32,10 @@ import ca.uhn.fhir.jpa.api.config.DaoConfig; import ca.uhn.fhir.jpa.api.dao.DaoRegistry; import ca.uhn.fhir.jpa.api.dao.IFhirResourceDao; import ca.uhn.fhir.jpa.api.svc.IIdHelperService; +import ca.uhn.fhir.jpa.model.cross.IBasePersistedResource; import ca.uhn.fhir.jpa.model.cross.IResourceLookup; -import ca.uhn.fhir.jpa.model.entity.ResourceTable; import ca.uhn.fhir.jpa.searchparam.extractor.IResourceLinkResolver; -import ca.uhn.fhir.mdm.util.CanonicalIdentifier; +import ca.uhn.fhir.util.CanonicalIdentifier; import ca.uhn.fhir.rest.api.server.RequestDetails; import ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId; import ca.uhn.fhir.rest.api.server.storage.TransactionDetails; @@ -57,9 +57,6 @@ import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.PersistenceContextType; import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.List; @@ -67,8 +64,6 @@ import java.util.Optional; public class DaoResourceLinkResolver implements IResourceLinkResolver { private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(DaoResourceLinkResolver.class); - @PersistenceContext(type = PersistenceContextType.TRANSACTION) - protected EntityManager myEntityManager; @Autowired private DaoConfig myDaoConfig; @Autowired @@ -99,7 +94,7 @@ public class DaoResourceLinkResolver implements IResourceLinkResolver { } } catch (ResourceNotFoundException e) { - Optional createdTableOpt = createPlaceholderTargetIfConfiguredToDoSo(theType, theReference, idPart, theRequest, theTransactionDetails); + Optional createdTableOpt = createPlaceholderTargetIfConfiguredToDoSo(theType, theReference, idPart, theRequest, theTransactionDetails); if (!createdTableOpt.isPresent()) { if (myDaoConfig.isEnforceReferentialIntegrityOnWrite() == false) { @@ -114,9 +109,9 @@ public class DaoResourceLinkResolver implements IResourceLinkResolver { resolvedResource = createdTableOpt.get(); } - ourLog.trace("Resolved resource of type {} as PID: {}", resolvedResource.getResourceType(), resolvedResource.getResourceId()); + ourLog.trace("Resolved resource of type {} as PID: {}", resolvedResource.getResourceType(), resolvedResource.getPersistentId()); if (!theResourceType.equals(resolvedResource.getResourceType())) { - ourLog.error("Resource with PID {} was of type {} and wanted {}", resolvedResource.getResourceId(), theResourceType, resolvedResource.getResourceType()); + ourLog.error("Resource with PID {} was of type {} and wanted {}", resolvedResource.getPersistentId(), theResourceType, resolvedResource.getResourceType()); throw new UnprocessableEntityException(Msg.code(1095) + "Resource contains reference to unknown resource ID " + theSourceResourceId.getValue()); } @@ -126,9 +121,11 @@ public class DaoResourceLinkResolver implements IResourceLinkResolver { } if (persistentId == null) { - persistentId = new ResourcePersistentId(resolvedResource.getResourceId()); + persistentId = new ResourcePersistentId(resolvedResource.getPersistentId().getId()); persistentId.setAssociatedResourceId(theSourceResourceId); - theTransactionDetails.addResolvedResourceId(theSourceResourceId, persistentId); + if (theTransactionDetails != null) { + theTransactionDetails.addResolvedResourceId(theSourceResourceId, persistentId); + } } if (!theSearchParam.hasTargets() && theSearchParam.getTargets().contains(theResourceType)) { @@ -141,8 +138,8 @@ public class DaoResourceLinkResolver implements IResourceLinkResolver { /** * @param theIdToAssignToPlaceholder If specified, the placeholder resource created will be given a specific ID */ - public Optional createPlaceholderTargetIfConfiguredToDoSo(Class theType, IBaseReference theReference, @Nullable String theIdToAssignToPlaceholder, RequestDetails theRequest, TransactionDetails theTransactionDetails) { - ResourceTable valueOf = null; + public Optional createPlaceholderTargetIfConfiguredToDoSo(Class theType, IBaseReference theReference, @Nullable String theIdToAssignToPlaceholder, RequestDetails theRequest, TransactionDetails theTransactionDetails) { + IBasePersistedResource valueOf = null; if (myDaoConfig.isAutoCreatePlaceholderReferenceTargets()) { RuntimeResourceDefinition missingResourceDef = myContext.getResourceDefinition(theType); @@ -162,13 +159,13 @@ public class DaoResourceLinkResolver implements IResourceLinkResolver { if (theIdToAssignToPlaceholder != null) { newResource.setId(resName + "/" + theIdToAssignToPlaceholder); - valueOf = ((ResourceTable) placeholderResourceDao.update(newResource, theRequest).getEntity()); + valueOf = placeholderResourceDao.update(newResource, theRequest).getEntity(); } else { - valueOf = ((ResourceTable) placeholderResourceDao.create(newResource, theRequest).getEntity()); + valueOf = placeholderResourceDao.create(newResource, theRequest).getEntity(); } - ResourcePersistentId persistentId = new ResourcePersistentId(valueOf.getResourceId(), 1L); - persistentId.setAssociatedResourceId(valueOf.getIdType(myContext)); + ResourcePersistentId persistentId = new ResourcePersistentId(valueOf.getPersistentId().getId(), 1L); + persistentId.setAssociatedResourceId(valueOf.getIdDt()); theTransactionDetails.addResolvedResourceId(persistentId.getAssociatedResourceId(), persistentId); } @@ -301,14 +298,14 @@ public class DaoResourceLinkResolver implements IResourceLinkResolver { return myPersistentId.getAssociatedResourceId().getResourceType(); } - @Override - public Long getResourceId() { - return myPersistentId.getIdAsLong(); - } - @Override public Date getDeleted() { return null; } + + @Override + public ResourcePersistentId getPersistentId() { + return myPersistentId; + } } } diff --git a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/util/CanonicalIdentifier.java b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/util/CanonicalIdentifier.java similarity index 97% rename from hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/util/CanonicalIdentifier.java rename to hapi-fhir-storage/src/main/java/ca/uhn/fhir/util/CanonicalIdentifier.java index fcb5ed2b70a..a76bd66ef91 100644 --- a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/util/CanonicalIdentifier.java +++ b/hapi-fhir-storage/src/main/java/ca/uhn/fhir/util/CanonicalIdentifier.java @@ -1,8 +1,8 @@ -package ca.uhn.fhir.mdm.util; +package ca.uhn.fhir.util; /*- * #%L - * HAPI FHIR - Master Data Management + * HAPI FHIR Storage api * %% * Copyright (C) 2014 - 2022 Smile CDR, Inc. * %% diff --git a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolverTest.java b/hapi-fhir-storage/src/test/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolverTest.java similarity index 97% rename from hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolverTest.java rename to hapi-fhir-storage/src/test/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolverTest.java index edc9bfe9c7a..5ed1ebf2174 100644 --- a/hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolverTest.java +++ b/hapi-fhir-storage/src/test/java/ca/uhn/fhir/jpa/dao/index/DaoResourceLinkResolverTest.java @@ -1,6 +1,6 @@ package ca.uhn.fhir.jpa.dao.index; -import ca.uhn.fhir.mdm.util.CanonicalIdentifier; +import ca.uhn.fhir.util.CanonicalIdentifier; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; diff --git a/hapi-fhir-structures-dstu2.1/pom.xml b/hapi-fhir-structures-dstu2.1/pom.xml index 053ba3bde1a..fb304a5cf5b 100644 --- a/hapi-fhir-structures-dstu2.1/pom.xml +++ b/hapi-fhir-structures-dstu2.1/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-dstu2/pom.xml b/hapi-fhir-structures-dstu2/pom.xml index a10719ea7d1..60569357a70 100644 --- a/hapi-fhir-structures-dstu2/pom.xml +++ b/hapi-fhir-structures-dstu2/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-dstu3/pom.xml b/hapi-fhir-structures-dstu3/pom.xml index e54e84a7a08..81d9c2f2ec9 100644 --- a/hapi-fhir-structures-dstu3/pom.xml +++ b/hapi-fhir-structures-dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-hl7org-dstu2/pom.xml b/hapi-fhir-structures-hl7org-dstu2/pom.xml index 9cb4486a254..8d00bc07b6e 100644 --- a/hapi-fhir-structures-hl7org-dstu2/pom.xml +++ b/hapi-fhir-structures-hl7org-dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r4/pom.xml b/hapi-fhir-structures-r4/pom.xml index 583119cc297..7ed3aa7a28b 100644 --- a/hapi-fhir-structures-r4/pom.xml +++ b/hapi-fhir-structures-r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r4b/pom.xml b/hapi-fhir-structures-r4b/pom.xml index ea5dd4aab5a..76b6921cf7b 100644 --- a/hapi-fhir-structures-r4b/pom.xml +++ b/hapi-fhir-structures-r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-structures-r5/pom.xml b/hapi-fhir-structures-r5/pom.xml index d1a8a5c971b..97f5f4f2740 100644 --- a/hapi-fhir-structures-r5/pom.xml +++ b/hapi-fhir-structures-r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-test-utilities/pom.xml b/hapi-fhir-test-utilities/pom.xml index 628b12e9cda..be850c5aa18 100644 --- a/hapi-fhir-test-utilities/pom.xml +++ b/hapi-fhir-test-utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-testpage-overlay/pom.xml b/hapi-fhir-testpage-overlay/pom.xml index 40b45596ad7..483eaa1321f 100644 --- a/hapi-fhir-testpage-overlay/pom.xml +++ b/hapi-fhir-testpage-overlay/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/hapi-fhir-validation-resources-dstu2.1/pom.xml b/hapi-fhir-validation-resources-dstu2.1/pom.xml index daa86a0c736..a62b76434e9 100644 --- a/hapi-fhir-validation-resources-dstu2.1/pom.xml +++ b/hapi-fhir-validation-resources-dstu2.1/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-dstu2/pom.xml b/hapi-fhir-validation-resources-dstu2/pom.xml index 53f213d1419..3cda72b7ebe 100644 --- a/hapi-fhir-validation-resources-dstu2/pom.xml +++ b/hapi-fhir-validation-resources-dstu2/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-dstu3/pom.xml b/hapi-fhir-validation-resources-dstu3/pom.xml index fac284c51b1..52bd2723d51 100644 --- a/hapi-fhir-validation-resources-dstu3/pom.xml +++ b/hapi-fhir-validation-resources-dstu3/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-r4/pom.xml b/hapi-fhir-validation-resources-r4/pom.xml index a877d8d89b1..ead42637f8f 100644 --- a/hapi-fhir-validation-resources-r4/pom.xml +++ b/hapi-fhir-validation-resources-r4/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation-resources-r5/pom.xml b/hapi-fhir-validation-resources-r5/pom.xml index 31c34970a94..a888fc4b995 100644 --- a/hapi-fhir-validation-resources-r5/pom.xml +++ b/hapi-fhir-validation-resources-r5/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-fhir-validation/pom.xml b/hapi-fhir-validation/pom.xml index 014819bd683..fd1c03dba79 100644 --- a/hapi-fhir-validation/pom.xml +++ b/hapi-fhir-validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-deployable-pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../hapi-deployable-pom/pom.xml diff --git a/hapi-tinder-plugin/pom.xml b/hapi-tinder-plugin/pom.xml index e125f6267fc..308c382963c 100644 --- a/hapi-tinder-plugin/pom.xml +++ b/hapi-tinder-plugin/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml @@ -65,42 +65,42 @@ ca.uhn.hapi.fhir hapi-fhir-structures-dstu3 - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-structures-hl7org-dstu2 - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-structures-r4 - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-structures-r4b - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-structures-r5 - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-validation-resources-dstu2 - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-validation-resources-dstu3 - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir hapi-fhir-validation-resources-r4 - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ca.uhn.hapi.fhir diff --git a/hapi-tinder-test/pom.xml b/hapi-tinder-test/pom.xml index adb149e1bcd..160ae468e7d 100644 --- a/hapi-tinder-test/pom.xml +++ b/hapi-tinder-test/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index bc869f522b5..9986f7e7b35 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-fhir pom - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT HAPI-FHIR An open-source implementation of the FHIR specification in Java. https://hapifhir.io @@ -1998,7 +1998,7 @@ ca.uhn.hapi.fhir hapi-fhir-checkstyle - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT diff --git a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml index 12e9ebcbc84..3bd8c4388ea 100644 --- a/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml +++ b/tests/hapi-fhir-base-test-jaxrsserver-kotlin/pom.xml @@ -6,7 +6,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../../pom.xml diff --git a/tests/hapi-fhir-base-test-mindeps-client/pom.xml b/tests/hapi-fhir-base-test-mindeps-client/pom.xml index 8b86232f578..6590ab6a3a9 100644 --- a/tests/hapi-fhir-base-test-mindeps-client/pom.xml +++ b/tests/hapi-fhir-base-test-mindeps-client/pom.xml @@ -4,7 +4,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../../pom.xml diff --git a/tests/hapi-fhir-base-test-mindeps-server/pom.xml b/tests/hapi-fhir-base-test-mindeps-server/pom.xml index 4f47843a1d4..1704f7678b2 100644 --- a/tests/hapi-fhir-base-test-mindeps-server/pom.xml +++ b/tests/hapi-fhir-base-test-mindeps-server/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir hapi-fhir - 6.2.0-PRE17-SNAPSHOT + 6.2.0-PRE18-SNAPSHOT ../../pom.xml