diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/api/Constants.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/api/Constants.java index 84d04d962e3..b337bea0eb0 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/api/Constants.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/api/Constants.java @@ -252,15 +252,6 @@ public class Constants { * Operation name for the $lastn operation */ public static final String OPERATION_LASTN = "$lastn"; - /** - *

- * This extension represents the equivalent of the - * Resource.meta.source field within R4+ resources, and is for - * use in DSTU3 resources. It should contain a value of type uri - * and will be located on the Resource.meta - *

- */ - public static final String EXT_META_SOURCE = "http://hapifhir.io/fhir/StructureDefinition/resource-meta-source"; public static final String PARAM_FHIRPATH = "_fhirpath"; public static final String PARAM_TYPE = "_type"; diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/HapiExtensions.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/HapiExtensions.java new file mode 100644 index 00000000000..d6b5d8c9a83 --- /dev/null +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/HapiExtensions.java @@ -0,0 +1,91 @@ +package ca.uhn.fhir.util; + +public class HapiExtensions { + + /** + *

+ * This extension should be of type string and should be + * placed on the Subscription.channel element + *

+ */ + public static final String EXT_SUBSCRIPTION_SUBJECT_TEMPLATE = "http://hapifhir.io/fhir/StructureDefinition/subscription-email-subject-template"; + + /** + * This extension URL indicates whether a REST HOOK delivery should + * include the version ID when delivering. + *

+ * This extension should be of type boolean and should be + * placed on the Subscription.channel element. + *

+ */ + public static final String EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS = "http://hapifhir.io/fhir/StructureDefinition/subscription-resthook-strip-version-ids"; + + /** + * This extension URL indicates whether a REST HOOK delivery should + * reload the resource and deliver the latest version always. This + * could be useful for example if a resource which triggers a + * subscription gets updated many times in short succession and there + * is no value in delivering the older versions. + *

+ * Note that if the resource is now deleted, this may cause + * the delivery to be cancelled altogether. + *

+ * + *

+ * This extension should be of type boolean and should be + * placed on the Subscription.channel element. + *

+ */ + public static final String EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION = "http://hapifhir.io/fhir/StructureDefinition/subscription-resthook-deliver-latest-version"; + + /** + * Indicate which strategy will be used to match this subscription + */ + public static final String EXT_SUBSCRIPTION_MATCHING_STRATEGY = "http://hapifhir.io/fhir/StructureDefinition/subscription-matching-strategy"; + + /** + *

+ * This extension should be of type string and should be + * placed on the Subscription.channel element + *

+ */ + public static final String EXT_SUBSCRIPTION_EMAIL_FROM = "http://hapifhir.io/fhir/StructureDefinition/subscription-email-from"; + + /** + * Extension ID for external binary references + */ + public static final String EXT_EXTERNALIZED_BINARY_ID = "http://hapifhir.io/fhir/StructureDefinition/externalized-binary-id"; + + /** + * For subscription, deliver a bundle containing a search result instead of just a single resource + */ + public static final String EXT_SUBSCRIPTION_PAYLOAD_SEARCH_CRITERIA = "http://hapifhir.io/fhir/StructureDefinition/subscription-payload-search-criteria"; + + /** + * Message added to expansion valueset + */ + public static final String EXT_VALUESET_EXPANSION_MESSAGE = "http://hapifhir.io/fhir/StructureDefinition/valueset-expansion-message"; + + /** + * Extension URL for extension on a SearchParameter indicating that text values should not be indexed + */ + public static final String EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING = "http://hapifhir.io/fhir/StructureDefinition/searchparameter-token-suppress-text-index"; + /** + *

+ * This extension represents the equivalent of the + * Resource.meta.source field within R4+ resources, and is for + * use in DSTU3 resources. It should contain a value of type uri + * and will be located on the Resource.meta + *

+ */ + public static final String EXT_META_SOURCE = "http://hapifhir.io/fhir/StructureDefinition/resource-meta-source"; + public static final String EXT_SP_UNIQUE = "http://hapifhir.io/fhir/StructureDefinition/sp-unique"; + + /** + * Non instantiable + */ + private HapiExtensions() { + } + + +} diff --git a/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/MetaUtil.java b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/MetaUtil.java index ca513f88fda..8262f50d742 100644 --- a/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/MetaUtil.java +++ b/hapi-fhir-base/src/main/java/ca/uhn/fhir/util/MetaUtil.java @@ -24,7 +24,6 @@ import ca.uhn.fhir.context.BaseRuntimeChildDefinition; import ca.uhn.fhir.context.BaseRuntimeElementCompositeDefinition; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.context.FhirVersionEnum; -import ca.uhn.fhir.rest.api.Constants; import org.hl7.fhir.instance.model.api.IBase; import org.hl7.fhir.instance.model.api.IBaseExtension; import org.hl7.fhir.instance.model.api.IBaseHasExtensions; @@ -58,7 +57,7 @@ public class MetaUtil { IBaseHasExtensions metaWithExtensions = theMeta; List> extensions = metaWithExtensions.getExtension(); for (IBaseExtension extension : extensions) { - if (Constants.EXT_META_SOURCE.equals(extension.getUrl())) { + if (HapiExtensions.EXT_META_SOURCE.equals(extension.getUrl())) { IPrimitiveType value = (IPrimitiveType) extension.getValue(); return value.getValueAsString(); } @@ -96,7 +95,7 @@ public class MetaUtil { MetaUtil.setSource(theContext, theResource.getMeta(), theValue); } else if (theContext.getVersion().getVersion().equals(FhirVersionEnum.DSTU3)) { IBaseExtension sourceExtension = ((IBaseHasExtensions) theResource.getMeta()).addExtension(); - sourceExtension.setUrl(Constants.EXT_META_SOURCE); + sourceExtension.setUrl(HapiExtensions.EXT_META_SOURCE); IPrimitiveType value = (IPrimitiveType) theContext.getElementDefinition("uri").newInstance(); value.setValue(theValue); sourceExtension.setValue(value); diff --git a/hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java b/hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java index f68aaaa063b..98f49f6ff2d 100644 --- a/hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java +++ b/hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java @@ -4,8 +4,8 @@ import ca.uhn.fhir.jpa.api.model.WarmCacheEntry; import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.model.entity.ResourceEncodingEnum; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamDate; -import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.rest.api.SearchTotalModeEnum; +import ca.uhn.fhir.util.HapiExtensions; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Sets; import org.apache.commons.lang3.Validate; @@ -1417,7 +1417,7 @@ public class DaoConfig { /** * If set to true (default is true), indexes will be - * created for search parameters marked as {@link SearchParamConstants#EXT_SP_UNIQUE}. + * created for search parameters marked as {@link HapiExtensions#EXT_SP_UNIQUE}. * This is a HAPI FHIR specific extension which can be used to specify that no more than one * resource can exist which matches a given criteria, using a database constraint to * enforce this. @@ -1428,7 +1428,7 @@ public class DaoConfig { /** * If set to true (default is true), indexes will be - * created for search parameters marked as {@link SearchParamConstants#EXT_SP_UNIQUE}. + * created for search parameters marked as {@link HapiExtensions#EXT_SP_UNIQUE}. * This is a HAPI FHIR specific extension which can be used to specify that no more than one * resource can exist which matches a given criteria, using a database constraint to * enforce this. diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryAccessProvider.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryAccessProvider.java index 73a1ec7a0f7..44f9d058f94 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryAccessProvider.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryAccessProvider.java @@ -37,6 +37,7 @@ import ca.uhn.fhir.rest.server.servlet.ServletRequestDetails; import ca.uhn.fhir.util.AttachmentUtil; import ca.uhn.fhir.util.BinaryUtil; import ca.uhn.fhir.util.DateUtils; +import ca.uhn.fhir.util.HapiExtensions; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; @@ -209,11 +210,11 @@ public class BinaryAccessProvider { theTarget .getTarget() .getExtension() - .removeIf(t -> JpaConstants.EXT_EXTERNALIZED_BINARY_ID.equals(t.getUrl())); + .removeIf(t -> HapiExtensions.EXT_EXTERNALIZED_BINARY_ID.equals(t.getUrl())); theTarget.setData(null); IBaseExtension ext = theTarget.getTarget().addExtension(); - ext.setUrl(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + ext.setUrl(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); ext.setUserData(JpaConstants.EXTENSION_EXT_SYSTEMDEFINED, Boolean.TRUE); IPrimitiveType blobIdString = (IPrimitiveType) myCtx.getElementDefinition("string").newInstance(); blobIdString.setValueAsString(theBlobId); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryStorageInterceptor.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryStorageInterceptor.java index e3c0029a303..c056e51f91a 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryStorageInterceptor.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/BinaryStorageInterceptor.java @@ -31,6 +31,7 @@ import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.rest.api.server.storage.TransactionDetails; import ca.uhn.fhir.rest.api.server.IPreResourceShowDetails; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.IModelVisitor2; import org.apache.commons.io.FileUtils; import org.hl7.fhir.instance.model.api.IBase; @@ -56,7 +57,7 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import static ca.uhn.fhir.jpa.model.util.JpaConstants.EXT_EXTERNALIZED_BINARY_ID; +import static ca.uhn.fhir.util.HapiExtensions.EXT_EXTERNALIZED_BINARY_ID; import static org.apache.commons.lang3.StringUtils.isNotBlank; @Interceptor @@ -106,7 +107,7 @@ public class BinaryStorageInterceptor { List attachmentIds = binaryElements .stream() .flatMap(t -> ((IBaseHasExtensions) t).getExtension().stream()) - .filter(t -> JpaConstants.EXT_EXTERNALIZED_BINARY_ID.equals(t.getUrl())) + .filter(t -> HapiExtensions.EXT_EXTERNALIZED_BINARY_ID.equals(t.getUrl())) .map(t -> ((IPrimitiveType) t.getValue()).getValueAsString()) .collect(Collectors.toList()); diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/IBinaryTarget.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/IBinaryTarget.java index 18d524a0250..3f46e332b65 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/IBinaryTarget.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/binstore/IBinaryTarget.java @@ -20,7 +20,7 @@ package ca.uhn.fhir.jpa.binstore; * #L% */ -import ca.uhn.fhir.jpa.model.util.JpaConstants; +import ca.uhn.fhir.util.HapiExtensions; import org.hl7.fhir.instance.model.api.IBaseHasExtensions; import org.hl7.fhir.instance.model.api.IPrimitiveType; @@ -51,7 +51,7 @@ interface IBinaryTarget { return getTarget() .getExtension() .stream() - .filter(t -> JpaConstants.EXT_EXTERNALIZED_BINARY_ID.equals(t.getUrl())) + .filter(t -> HapiExtensions.EXT_EXTERNALIZED_BINARY_ID.equals(t.getUrl())) .filter(t -> t.getValue() instanceof IPrimitiveType) .map(t -> (IPrimitiveType) t.getValue()) .map(t -> t.getValue()) diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java index fc7d5e65e32..9abd7a8bc25 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/BaseHapiFhirDao.java @@ -83,6 +83,7 @@ import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; import ca.uhn.fhir.rest.server.interceptor.IServerInterceptor.ActionRequestDetails; import ca.uhn.fhir.rest.server.servlet.ServletRequestDetails; import ca.uhn.fhir.util.CoverageIgnore; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.MetaUtil; import ca.uhn.fhir.util.XmlUtil; import com.google.common.annotations.VisibleForTesting; @@ -1130,7 +1131,7 @@ public abstract class BaseHapiFhirDao extends BaseStora source = ((IBaseHasExtensions) theResource.getMeta()) .getExtension() .stream() - .filter(t -> Constants.EXT_META_SOURCE.equals(t.getUrl())) + .filter(t -> HapiExtensions.EXT_META_SOURCE.equals(t.getUrl())) .filter(t -> t.getValue() instanceof IPrimitiveType) .map(t -> ((IPrimitiveType) t.getValue()).getValueAsString()) .findFirst() diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/ValueSetExpansionComponentWithConceptAccumulator.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/ValueSetExpansionComponentWithConceptAccumulator.java index fdb21cb36ff..65bba09b3c8 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/ValueSetExpansionComponentWithConceptAccumulator.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/ValueSetExpansionComponentWithConceptAccumulator.java @@ -22,10 +22,10 @@ package ca.uhn.fhir.jpa.term; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.jpa.entity.TermConceptDesignation; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.term.ex.ExpansionTooCostlyException; import ca.uhn.fhir.model.api.annotation.Block; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; +import ca.uhn.fhir.util.HapiExtensions; import org.hl7.fhir.r4.model.StringType; import org.hl7.fhir.r4.model.ValueSet; @@ -59,7 +59,7 @@ public class ValueSetExpansionComponentWithConceptAccumulator extends ValueSet.V @Override public void addMessage(String theMessage) { addExtension() - .setUrl(JpaConstants.EXT_VALUESET_EXPANSION_MESSAGE) + .setUrl(HapiExtensions.EXT_VALUESET_EXPANSION_MESSAGE) .setValue(new StringType(theMessage)); } diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SourceTest.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SourceTest.java index 2ea62d032d4..7971519bfa4 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SourceTest.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/dstu3/FhirResourceDaoDstu3SourceTest.java @@ -10,6 +10,7 @@ import ca.uhn.fhir.rest.param.TokenOrListParam; import ca.uhn.fhir.rest.param.TokenParam; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; import ca.uhn.fhir.rest.server.exceptions.ResourceVersionConflictException; +import ca.uhn.fhir.util.HapiExtensions; import org.apache.commons.text.RandomStringGenerator; import org.hl7.fhir.dstu3.model.Patient; import org.hl7.fhir.dstu3.model.StringType; @@ -45,12 +46,12 @@ public class FhirResourceDaoDstu3SourceTest extends BaseJpaDstu3Test { when(mySrd.getRequestId()).thenReturn(requestId); Patient pt0 = new Patient(); - pt0.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:0")); + pt0.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:0")); pt0.setActive(true); IIdType pt0id = myPatientDao.create(pt0, mySrd).getId().toUnqualifiedVersionless(); Patient pt1 = new Patient(); - pt1.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:1")); + pt1.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:1")); pt1.setActive(true); IIdType pt1id = myPatientDao.create(pt1, mySrd).getId().toUnqualifiedVersionless(); @@ -61,7 +62,7 @@ public class FhirResourceDaoDstu3SourceTest extends BaseJpaDstu3Test { IBundleProvider result = myPatientDao.search(params); assertThat(toUnqualifiedVersionlessIdValues(result), containsInAnyOrder(pt0id.getValue())); pt0 = (Patient) result.getResources(0, 1).get(0); - assertEquals("urn:source:0#a_request_id", pt0.getMeta().getExtensionString(Constants.EXT_META_SOURCE)); + assertEquals("urn:source:0#a_request_id", pt0.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE)); // Search by request ID params = new SearchParameterMap(); @@ -86,17 +87,17 @@ public class FhirResourceDaoDstu3SourceTest extends BaseJpaDstu3Test { when(mySrd.getRequestId()).thenReturn(requestId); Patient pt0 = new Patient(); - pt0.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:0")); + pt0.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:0")); pt0.setActive(true); IIdType pt0id = myPatientDao.create(pt0, mySrd).getId().toUnqualifiedVersionless(); Patient pt1 = new Patient(); - pt1.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:1")); + pt1.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:1")); pt1.setActive(true); IIdType pt1id = myPatientDao.create(pt1, mySrd).getId().toUnqualifiedVersionless(); Patient pt2 = new Patient(); - pt2.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:2")); + pt2.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:2")); pt2.setActive(true); myPatientDao.create(pt2, mySrd).getId().toUnqualifiedVersionless(); @@ -117,17 +118,17 @@ public class FhirResourceDaoDstu3SourceTest extends BaseJpaDstu3Test { when(mySrd.getRequestId()).thenReturn(requestId); Patient pt0 = new Patient(); - pt0.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:0")); + pt0.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:0")); pt0.setActive(true); IIdType pt0id = myPatientDao.create(pt0, mySrd).getId().toUnqualifiedVersionless(); Patient pt1 = new Patient(); - pt1.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:1")); + pt1.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:1")); pt1.setActive(true); IIdType pt1id = myPatientDao.create(pt1, mySrd).getId().toUnqualifiedVersionless(); Patient pt2 = new Patient(); - pt2.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:2")); + pt2.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:2")); pt2.setActive(true); myPatientDao.create(pt2, mySrd).getId().toUnqualifiedVersionless(); @@ -147,7 +148,7 @@ public class FhirResourceDaoDstu3SourceTest extends BaseJpaDstu3Test { when(mySrd.getRequestId()).thenReturn(requestId); Patient pt0 = new Patient(); - pt0.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:0")); + pt0.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:0")); pt0.setActive(true); IIdType pt0id = myPatientDao.create(pt0, mySrd).getId().toUnqualifiedVersionless(); @@ -165,19 +166,19 @@ public class FhirResourceDaoDstu3SourceTest extends BaseJpaDstu3Test { public void testSourceNotPreservedAcrossUpdate() { Patient pt0 = new Patient(); - pt0.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:0")); + pt0.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:0")); pt0.setActive(true); IIdType pt0id = myPatientDao.create(pt0, mySrd).getId().toUnqualifiedVersionless(); pt0 = myPatientDao.read(pt0id); - assertEquals("urn:source:0", pt0.getMeta().getExtensionString(Constants.EXT_META_SOURCE)); + assertEquals("urn:source:0", pt0.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE)); pt0.getMeta().getExtension().clear(); pt0.setActive(false); myPatientDao.update(pt0); pt0 = myPatientDao.read(pt0id.withVersion("2")); - assertEquals(null, pt0.getMeta().getExtensionString(Constants.EXT_META_SOURCE)); + assertEquals(null, pt0.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE)); } @@ -187,19 +188,19 @@ public class FhirResourceDaoDstu3SourceTest extends BaseJpaDstu3Test { when(mySrd.getRequestId()).thenReturn("0000000000000000"); Patient pt0 = new Patient(); - pt0.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:0")); + pt0.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:0")); pt0.setActive(true); IIdType pt0id = myPatientDao.create(pt0, mySrd).getId().toUnqualifiedVersionless(); pt0 = myPatientDao.read(pt0id); - assertEquals(null, pt0.getMeta().getExtensionString(Constants.EXT_META_SOURCE)); + assertEquals(null, pt0.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE)); - pt0.getMeta().addExtension(Constants.EXT_META_SOURCE, new StringType("urn:source:1")); + pt0.getMeta().addExtension(HapiExtensions.EXT_META_SOURCE, new StringType("urn:source:1")); pt0.setActive(false); myPatientDao.update(pt0); pt0 = myPatientDao.read(pt0id.withVersion("2")); - assertEquals(null, pt0.getMeta().getExtensionString(Constants.EXT_META_SOURCE)); + assertEquals(null, pt0.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE)); // Search without source param SearchParameterMap params = new SearchParameterMap(); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java index d17a9b91613..22ac73284ed 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4SearchNoFtTest.java @@ -17,7 +17,6 @@ import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamUri; import ca.uhn.fhir.jpa.model.entity.ResourceLink; import ca.uhn.fhir.jpa.model.entity.ResourceTable; import ca.uhn.fhir.jpa.model.search.StorageProcessingMessage; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.searchparam.MatchUrlService; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap.EverythingModeEnum; @@ -51,6 +50,7 @@ import ca.uhn.fhir.rest.param.UriParam; import ca.uhn.fhir.rest.param.UriParamQualifierEnum; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; import ca.uhn.fhir.rest.server.exceptions.MethodNotAllowedException; +import ca.uhn.fhir.util.HapiExtensions; import com.google.common.collect.Lists; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; @@ -4842,7 +4842,7 @@ public class FhirResourceDaoR4SearchNoFtTest extends BaseJpaR4Test { sp.setCode("code"); sp.setExpression("Observation.code"); sp.addExtension() - .setUrl(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING) + .setUrl(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING) .setValue(new BooleanType(true)); ourLog.info("SP:\n{}", myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(sp)); mySearchParameterDao.update(sp); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4UniqueSearchParamTest.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4UniqueSearchParamTest.java index 6e15570adf9..8f0bf0bf99b 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4UniqueSearchParamTest.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/FhirResourceDaoR4UniqueSearchParamTest.java @@ -11,7 +11,6 @@ import ca.uhn.fhir.jpa.model.search.StorageProcessingMessage; import ca.uhn.fhir.jpa.search.DatabaseBackedPagingProvider; import ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl; import ca.uhn.fhir.jpa.searchparam.JpaRuntimeSearchParam; -import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry; import ca.uhn.fhir.jpa.util.SpringObjectCaster; @@ -22,6 +21,7 @@ import ca.uhn.fhir.rest.param.TokenAndListParam; import ca.uhn.fhir.rest.param.TokenParam; import ca.uhn.fhir.rest.server.exceptions.PreconditionFailedException; import ca.uhn.fhir.rest.server.exceptions.ResourceVersionConflictException; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.TestUtil; import org.hl7.fhir.instance.model.api.IIdType; import org.hl7.fhir.r4.model.*; @@ -140,7 +140,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("Patient") .setDefinition("SearchParameter/patient-birthdate"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); @@ -182,7 +182,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("Coverage") .setDefinition("/SearchParameter/coverage-identifier"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); mySearchParamRegistry.forceRefresh(); @@ -210,7 +210,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("Observation") .setDefinition("/SearchParameter/observation-subject"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); mySearchParamRegistry.forceRefresh(); @@ -238,7 +238,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("Patient") .setDefinition("/SearchParameter/patient-identifier"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); mySearchParamRegistry.forceRefresh(); @@ -266,7 +266,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("Patient") .setDefinition("/SearchParameter/patient-identifier"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); mySearchParamRegistry.forceRefresh(); @@ -303,7 +303,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("Patient") .setDefinition("SearchParameter/patient-organization"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); @@ -355,7 +355,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("Observation") .setDefinition("SearchParameter/obs-code"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); @@ -487,7 +487,7 @@ public class FhirResourceDaoR4UniqueSearchParamTest extends BaseJpaR4Test { .setExpression("ServiceRequest") .setDefinition(identifierParamId); // SearchParameter?base=ServiceRequest&name=identifier sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.create(sp); mySearchParamRegistry.forceRefresh(); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningR4Test.java index d36b4596e1a..df772f09ce5 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/PartitioningR4Test.java @@ -1,6 +1,5 @@ package ca.uhn.fhir.jpa.dao.r4; -import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.interceptor.api.Hook; import ca.uhn.fhir.interceptor.api.HookParams; import ca.uhn.fhir.interceptor.api.IAnonymousInterceptor; @@ -8,7 +7,6 @@ import ca.uhn.fhir.interceptor.api.Interceptor; import ca.uhn.fhir.interceptor.api.Pointcut; import ca.uhn.fhir.interceptor.model.RequestPartitionId; import ca.uhn.fhir.jpa.api.config.DaoConfig; -import ca.uhn.fhir.jpa.api.dao.IFhirResourceDao; import ca.uhn.fhir.jpa.entity.PartitionEntity; import ca.uhn.fhir.jpa.model.config.PartitionSettings; import ca.uhn.fhir.jpa.model.entity.ForcedId; @@ -22,7 +20,6 @@ import ca.uhn.fhir.jpa.model.entity.ResourceTable; import ca.uhn.fhir.jpa.model.entity.ResourceTag; import ca.uhn.fhir.jpa.model.entity.SearchParamPresent; import ca.uhn.fhir.jpa.partition.IPartitionLookupSvc; -import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.util.SqlQuery; import ca.uhn.fhir.rest.api.Constants; @@ -40,7 +37,7 @@ import ca.uhn.fhir.rest.server.exceptions.PreconditionFailedException; import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; import ca.uhn.fhir.rest.server.servlet.ServletRequestDetails; -import ca.uhn.fhir.test.utilities.ITestDataBuilder; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.TestUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; @@ -69,7 +66,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.function.Consumer; -import java.util.stream.Collector; import java.util.stream.Collectors; import static ca.uhn.fhir.jpa.util.TestUtil.sleepAtLeast; @@ -2418,7 +2414,7 @@ public class PartitioningR4Test extends BaseJpaR4SystemTest { .setExpression("Patient") .setDefinition("SearchParameter/patient-birthdate"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchParamExtractorR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchParamExtractorR4Test.java index a185e21c874..37f2a31b7aa 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchParamExtractorR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/r4/SearchParamExtractorR4Test.java @@ -11,13 +11,13 @@ import ca.uhn.fhir.jpa.model.entity.ModelConfig; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamQuantity; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamString; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamToken; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.searchparam.JpaRuntimeSearchParam; import ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor; import ca.uhn.fhir.jpa.searchparam.extractor.PathAndRef; import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR4; import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry; import ca.uhn.fhir.rest.api.RestSearchParameterTypeEnum; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.TestUtil; import com.google.common.collect.Sets; import org.hl7.fhir.r4.model.BooleanType; @@ -123,7 +123,7 @@ public class SearchParamExtractorR4Test { public void testTokenText_DisabledInSearchParam_Coding() { RuntimeSearchParam existingCodeSp = mySearchParamRegistry.getActiveSearchParams("Observation").get("code"); RuntimeSearchParam codeSearchParam = new RuntimeSearchParam(existingCodeSp); - codeSearchParam.addExtension(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new Extension(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new BooleanType(true))); + codeSearchParam.addExtension(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new Extension(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new BooleanType(true))); mySearchParamRegistry.addSearchParam(codeSearchParam); Observation obs = new Observation(); @@ -176,7 +176,7 @@ public class SearchParamExtractorR4Test { RuntimeSearchParam existingCodeSp = mySearchParamRegistry.getActiveSearchParams("Observation").get("code"); RuntimeSearchParam codeSearchParam = new RuntimeSearchParam(existingCodeSp); - codeSearchParam.addExtension(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new Extension(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new BooleanType(false))); + codeSearchParam.addExtension(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new Extension(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new BooleanType(false))); mySearchParamRegistry.addSearchParam(codeSearchParam); Observation obs = new Observation(); @@ -230,7 +230,7 @@ public class SearchParamExtractorR4Test { public void testTokenText_DisabledInSearchParam_Identifier() { RuntimeSearchParam existingCodeSp = mySearchParamRegistry.getActiveSearchParams("Observation").get("identifier"); RuntimeSearchParam codeSearchParam = new RuntimeSearchParam(existingCodeSp); - codeSearchParam.addExtension(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new Extension(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new BooleanType(true))); + codeSearchParam.addExtension(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new Extension(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING, new BooleanType(true))); mySearchParamRegistry.addSearchParam(codeSearchParam); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/dstu3/ResourceProviderDstu3Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/dstu3/ResourceProviderDstu3Test.java index eefde7db5f8..0aca3eb2369 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/dstu3/ResourceProviderDstu3Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/dstu3/ResourceProviderDstu3Test.java @@ -32,6 +32,7 @@ import ca.uhn.fhir.rest.server.exceptions.ResourceGoneException; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; import ca.uhn.fhir.rest.server.interceptor.BaseValidatingInterceptor; import ca.uhn.fhir.rest.server.interceptor.RequestValidatingInterceptor; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.TestUtil; import ca.uhn.fhir.util.UrlUtil; import ca.uhn.fhir.validation.IValidatorModule; @@ -4042,7 +4043,7 @@ public class ResourceProviderDstu3Test extends BaseResourceProviderDstu3Test { { Patient readPatient = (Patient) ourClient.read().resource("Patient").withId(patientid).execute(); - assertThat(readPatient.getMeta().getExtensionString(Constants.EXT_META_SOURCE), matchesPattern("#[a-zA-Z0-9]+")); + assertThat(readPatient.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE), matchesPattern("#[a-zA-Z0-9]+")); } patient.setId(patientid); @@ -4050,12 +4051,12 @@ public class ResourceProviderDstu3Test extends BaseResourceProviderDstu3Test { ourClient.update().resource(patient).execute(); { Patient readPatient = (Patient) ourClient.read().resource("Patient").withId(patientid).execute(); - assertThat(readPatient.getMeta().getExtensionString(Constants.EXT_META_SOURCE), matchesPattern("#[a-zA-Z0-9]+")); + assertThat(readPatient.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE), matchesPattern("#[a-zA-Z0-9]+")); readPatient.addName().setFamily("testUpdateWithSource"); ourClient.update().resource(readPatient).execute(); readPatient = (Patient) ourClient.read().resource("Patient").withId(patientid).execute(); - assertThat(readPatient.getMeta().getExtensionString(Constants.EXT_META_SOURCE), matchesPattern("#[a-zA-Z0-9]+")); + assertThat(readPatient.getMeta().getExtensionString(HapiExtensions.EXT_META_SOURCE), matchesPattern("#[a-zA-Z0-9]+")); } } diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryAccessProviderR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryAccessProviderR4Test.java index 0fdaf037424..dc03b27fba1 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryAccessProviderR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryAccessProviderR4Test.java @@ -10,6 +10,7 @@ import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.rest.api.Constants; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; import ca.uhn.fhir.rest.server.exceptions.ResourceGoneException; +import ca.uhn.fhir.util.HapiExtensions; import com.google.common.base.Charsets; import org.apache.commons.io.IOUtils; import org.apache.http.client.methods.CloseableHttpResponse; @@ -208,7 +209,7 @@ public class BinaryAccessProviderR4Test extends BaseResourceProviderR4Test { assertEquals(15, attachment.getSize()); assertEquals(null, attachment.getData()); assertEquals("2", ref.getMeta().getVersionId()); - attachmentId = attachment.getDataElement().getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + attachmentId = attachment.getDataElement().getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertThat(attachmentId, matchesPattern("[a-zA-Z0-9]{100}")); } @@ -266,7 +267,7 @@ public class BinaryAccessProviderR4Test extends BaseResourceProviderR4Test { assertEquals(15, attachment.getSize()); assertEquals(null, attachment.getData()); assertEquals("2", ref.getMeta().getVersionId()); - attachmentId = attachment.getDataElement().getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + attachmentId = attachment.getDataElement().getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertThat(attachmentId, matchesPattern("[a-zA-Z0-9]{100}")); } @@ -301,7 +302,7 @@ public class BinaryAccessProviderR4Test extends BaseResourceProviderR4Test { dr.addContent() .getAttachment() .getDataElement() - .addExtension(JpaConstants.EXT_EXTERNALIZED_BINARY_ID, new StringType("0000-1111") ); + .addExtension(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID, new StringType("0000-1111") ); try { ourClient.create().resource(dr).execute(); @@ -347,7 +348,7 @@ public class BinaryAccessProviderR4Test extends BaseResourceProviderR4Test { assertEquals(4, attachment.getSize()); assertArrayEquals(SOME_BYTES_2, attachment.getData()); assertEquals("2", ref.getMeta().getVersionId()); - attachmentId = attachment.getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + attachmentId = attachment.getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertEquals(null, attachmentId); } @@ -397,7 +398,7 @@ public class BinaryAccessProviderR4Test extends BaseResourceProviderR4Test { assertEquals(ContentType.IMAGE_JPEG.getMimeType(), target.getContentType()); assertEquals(null, target.getData()); assertEquals("2", target.getMeta().getVersionId()); - attachmentId = target.getDataElement().getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + attachmentId = target.getDataElement().getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertThat(attachmentId, matchesPattern("[a-zA-Z0-9]{100}")); } @@ -458,7 +459,7 @@ public class BinaryAccessProviderR4Test extends BaseResourceProviderR4Test { assertEquals(ContentType.IMAGE_JPEG.getMimeType(), target.getContentType()); assertEquals(null, target.getData()); assertEquals("2", target.getMeta().getVersionId()); - attachmentId = target.getDataElement().getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + attachmentId = target.getDataElement().getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertThat(attachmentId, matchesPattern("[a-zA-Z0-9]{100}")); } @@ -522,7 +523,7 @@ public class BinaryAccessProviderR4Test extends BaseResourceProviderR4Test { String response = IOUtils.toString(resp.getEntity().getContent(), Constants.CHARSET_UTF8); DocumentReference ref = myFhirCtx.newJsonParser().parseResource(DocumentReference.class, response); Attachment attachment = ref.getContentFirstRep().getAttachment(); - attachmentId = attachment.getDataElement().getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + attachmentId = attachment.getDataElement().getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertThat(attachmentId, matchesPattern("[a-zA-Z0-9]{100}")); } diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryStorageInterceptorR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryStorageInterceptorR4Test.java index 0522794c457..30297631352 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryStorageInterceptorR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryStorageInterceptorR4Test.java @@ -5,8 +5,8 @@ import ca.uhn.fhir.jpa.api.model.DaoMethodOutcome; import ca.uhn.fhir.jpa.binstore.BinaryStorageInterceptor; import ca.uhn.fhir.jpa.binstore.IBinaryStorageSvc; import ca.uhn.fhir.jpa.binstore.MemoryBinaryStorageSvcImpl; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; +import ca.uhn.fhir.util.HapiExtensions; import org.hl7.fhir.instance.model.api.IIdType; import org.hl7.fhir.r4.model.Binary; import org.hl7.fhir.r4.model.DocumentReference; @@ -74,7 +74,7 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { IIdType id = outcome.getId().toUnqualifiedVersionless(); String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); - assertThat(encoded, containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID)); + assertThat(encoded, containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID)); assertThat(encoded, not(containsString("\"data\""))); // Now read it back and make sure it was de-externalized @@ -98,7 +98,7 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { IIdType id = outcome.getId().toUnqualifiedVersionless(); String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); - assertThat(encoded, containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID)); + assertThat(encoded, containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID)); assertThat(encoded, not(containsString("\"data\""))); // Now read it back and make sure it was de-externalized @@ -123,7 +123,7 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); assertThat(encoded, containsString("\"data\": \"BAMCAQ==\"")); - assertThat(encoded, not(containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID))); + assertThat(encoded, not(containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID))); // Now read it back and make sure it was de-externalized Binary output = myBinaryDao.read(id, mySrd); @@ -146,14 +146,14 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { IIdType id = outcome.getId().toUnqualifiedVersionless(); String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); - assertThat(encoded, containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID)); + assertThat(encoded, containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID)); assertThat(encoded, not(containsString("\"data\""))); // Now read it back and make sure it was de-externalized Binary output = myBinaryDao.read(id, mySrd); assertEquals("application/octet-stream", output.getContentType()); assertArrayEquals(SOME_BYTES, output.getData()); - assertNotNull(output.getDataElement().getExtensionByUrl(JpaConstants.EXT_EXTERNALIZED_BINARY_ID).getValue()); + assertNotNull(output.getDataElement().getExtensionByUrl(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID).getValue()); } @@ -171,7 +171,7 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { IIdType id = outcome.getId().toUnqualifiedVersionless(); String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); - assertThat(encoded, containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID)); + assertThat(encoded, containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID)); assertThat(encoded, not(containsString("\"data\""))); // Now update @@ -212,9 +212,9 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { IIdType id = outcome.getId().toUnqualifiedVersionless(); String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); - assertThat(encoded, containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID)); + assertThat(encoded, containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID)); assertThat(encoded, not(containsString("\"data\""))); - String binaryId = docRef.getContentFirstRep().getAttachment().getDataElement().getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + String binaryId = docRef.getContentFirstRep().getAttachment().getDataElement().getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertThat(binaryId, not(blankOrNullString())); // Now update @@ -223,7 +223,7 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { docRef.setStatus(Enumerations.DocumentReferenceStatus.CURRENT); docRef.getContentFirstRep().getAttachment().setContentType("application/octet-stream"); docRef.getContentFirstRep().getAttachment().getDataElement().addExtension( - JpaConstants.EXT_EXTERNALIZED_BINARY_ID, + HapiExtensions.EXT_EXTERNALIZED_BINARY_ID, new StringType(binaryId) ); outcome = myDocumentReferenceDao.update(docRef, mySrd); @@ -259,9 +259,9 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { IIdType id = outcome.getId().toUnqualifiedVersionless(); String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); - assertThat(encoded, containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID)); + assertThat(encoded, containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID)); assertThat(encoded, not(containsString("\"data\""))); - String binaryId = docRef.getContentFirstRep().getAttachment().getDataElement().getExtensionString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID); + String binaryId = docRef.getContentFirstRep().getAttachment().getDataElement().getExtensionString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID); assertThat(binaryId, not(blankOrNullString())); // Now update @@ -271,13 +271,13 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { content = docRef.addContent(); content.getAttachment().setContentType("application/octet-stream"); content.getAttachment().getDataElement().addExtension( - JpaConstants.EXT_EXTERNALIZED_BINARY_ID, + HapiExtensions.EXT_EXTERNALIZED_BINARY_ID, new StringType(binaryId) ); content2 = docRef.addContent(); content2.getAttachment().setContentType("application/octet-stream"); content2.getAttachment().getDataElement().addExtension( - JpaConstants.EXT_EXTERNALIZED_BINARY_ID, + HapiExtensions.EXT_EXTERNALIZED_BINARY_ID, new StringType("12345-67890") ); @@ -305,14 +305,14 @@ public class BinaryStorageInterceptorR4Test extends BaseResourceProviderR4Test { IIdType id = outcome.getId().toUnqualifiedVersionless(); String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome.getResource()); ourLog.info("Encoded: {}", encoded); - assertThat(encoded, containsString(JpaConstants.EXT_EXTERNALIZED_BINARY_ID)); + assertThat(encoded, containsString(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID)); assertThat(encoded, not(containsString("\"data\""))); // Now read it back and make sure it was de-externalized Binary output = myBinaryDao.read(id, mySrd); assertEquals("application/octet-stream", output.getContentType()); assertEquals(null, output.getData()); - assertNotNull(output.getDataElement().getExtensionByUrl(JpaConstants.EXT_EXTERNALIZED_BINARY_ID).getValue()); + assertNotNull(output.getDataElement().getExtensionByUrl(HapiExtensions.EXT_EXTERNALIZED_BINARY_ID).getValue()); } diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ExpungeR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ExpungeR4Test.java index 9eb8287f205..8b781bd5b01 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ExpungeR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/ExpungeR4Test.java @@ -6,12 +6,12 @@ import ca.uhn.fhir.jpa.api.model.ExpungeOptions; import ca.uhn.fhir.jpa.dao.data.ISearchDao; import ca.uhn.fhir.jpa.dao.data.ISearchResultDao; import ca.uhn.fhir.jpa.search.PersistedJpaSearchFirstPageBundleProvider; -import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.rest.api.server.IBundleProvider; import ca.uhn.fhir.rest.server.exceptions.PreconditionFailedException; import ca.uhn.fhir.rest.server.exceptions.ResourceGoneException; import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.TestUtil; import org.hl7.fhir.instance.model.api.IBaseResource; import org.hl7.fhir.instance.model.api.IIdType; @@ -104,7 +104,7 @@ public class ExpungeR4Test extends BaseResourceProviderR4Test { .setExpression("Patient") .setDefinition("SearchParameter/patient-birthdate"); sp.addExtension() - .setUrl(SearchParamConstants.EXT_SP_UNIQUE) + .setUrl(HapiExtensions.EXT_SP_UNIQUE) .setValue(new BooleanType(true)); mySearchParameterDao.update(sp); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/email/EmailSubscriptionDstu3Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/email/EmailSubscriptionDstu3Test.java index 9af8a8152a7..700514924f0 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/email/EmailSubscriptionDstu3Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/email/EmailSubscriptionDstu3Test.java @@ -1,10 +1,10 @@ package ca.uhn.fhir.jpa.subscription.email; import ca.uhn.fhir.jpa.api.config.DaoConfig; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.provider.dstu3.BaseResourceProviderDstu3Test; import ca.uhn.fhir.jpa.subscription.SubscriptionTestUtil; import ca.uhn.fhir.rest.api.MethodOutcome; +import ca.uhn.fhir.util.HapiExtensions; import com.icegreen.greenmail.store.FolderException; import com.icegreen.greenmail.util.GreenMail; import com.icegreen.greenmail.util.ServerSetup; @@ -166,10 +166,10 @@ public class EmailSubscriptionDstu3Test extends BaseResourceProviderDstu3Test { Assert.assertNotNull(subscriptionTemp); subscriptionTemp.getChannel().addExtension() - .setUrl(JpaConstants.EXT_SUBSCRIPTION_EMAIL_FROM) + .setUrl(HapiExtensions.EXT_SUBSCRIPTION_EMAIL_FROM) .setValue(new StringType("mailto:myfrom@from.com")); subscriptionTemp.getChannel().addExtension() - .setUrl(JpaConstants.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE) + .setUrl(HapiExtensions.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE) .setValue(new StringType("This is a subject")); subscriptionTemp.setIdElement(subscriptionTemp.getIdElement().toUnqualifiedVersionless()); @@ -220,10 +220,10 @@ public class EmailSubscriptionDstu3Test extends BaseResourceProviderDstu3Test { Subscription subscriptionTemp = ourClient.read(Subscription.class, sub1.getId()); Assert.assertNotNull(subscriptionTemp); subscriptionTemp.getChannel().addExtension() - .setUrl(JpaConstants.EXT_SUBSCRIPTION_EMAIL_FROM) + .setUrl(HapiExtensions.EXT_SUBSCRIPTION_EMAIL_FROM) .setValue(new StringType("myfrom@from.com")); subscriptionTemp.getChannel().addExtension() - .setUrl(JpaConstants.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE) + .setUrl(HapiExtensions.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE) .setValue(new StringType("This is a subject")); subscriptionTemp.setIdElement(subscriptionTemp.getIdElement().toUnqualifiedVersionless()); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestDstu3Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestDstu3Test.java index e1ae86cdb59..a9f24897338 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestDstu3Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestDstu3Test.java @@ -3,7 +3,6 @@ package ca.uhn.fhir.jpa.subscription.resthook; import ca.uhn.fhir.context.FhirContext; import ca.uhn.fhir.interceptor.api.IInterceptorService; import ca.uhn.fhir.jpa.api.config.DaoConfig; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.provider.dstu3.BaseResourceProviderDstu3Test; import ca.uhn.fhir.jpa.subscription.NotificationServlet; import ca.uhn.fhir.jpa.subscription.SubscriptionTestUtil; @@ -18,6 +17,7 @@ import ca.uhn.fhir.rest.server.IResourceProvider; import ca.uhn.fhir.rest.server.RestfulServer; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; import ca.uhn.fhir.test.utilities.JettyUtil; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.MetaUtil; import com.google.common.collect.Lists; import org.eclipse.jetty.server.Server; @@ -158,7 +158,7 @@ public class RestHookTestDstu3Test extends BaseResourceProviderDstu3Test { String databaseCriteria = "Observation?code=17861-6&context.type=IHD"; Subscription subscription = createSubscription(databaseCriteria, null, ourNotificationListenerServer); List tag = subscription.getMeta().getTag(); - assertEquals(JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.get(0).getSystem()); + assertEquals(HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.get(0).getSystem()); assertEquals(SubscriptionMatchingStrategy.DATABASE.toString(), tag.get(0).getCode()); } @@ -168,7 +168,7 @@ public class RestHookTestDstu3Test extends BaseResourceProviderDstu3Test { Subscription subscription = createSubscription(inMemoryCriteria, null, ourNotificationListenerServer); ourLog.info(myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(subscription)); List tag = subscription.getMeta().getTag(); - assertEquals(JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.get(0).getSystem()); + assertEquals(HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.get(0).getSystem()); assertEquals(SubscriptionMatchingStrategy.IN_MEMORY.toString(), tag.get(0).getCode()); } @@ -497,7 +497,7 @@ public class RestHookTestDstu3Test extends BaseResourceProviderDstu3Test { List tags = subscriptionOrig.getMeta().getTag(); assertEquals(1, tags.size()); Coding tag = tags.get(0); - assertEquals(JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); + assertEquals(HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); assertEquals(SubscriptionMatchingStrategy.IN_MEMORY.toString(), tag.getCode()); assertEquals("In-memory", tag.getDisplay()); @@ -515,7 +515,7 @@ public class RestHookTestDstu3Test extends BaseResourceProviderDstu3Test { tags = theSubscription.getMeta().getTag(); assertEquals(1, tags.size()); tag = tags.get(0); - assertEquals(JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); + assertEquals(HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); assertEquals(SubscriptionMatchingStrategy.IN_MEMORY.toString(), tag.getCode()); assertEquals("In-memory", tag.getDisplay()); } @@ -530,7 +530,7 @@ public class RestHookTestDstu3Test extends BaseResourceProviderDstu3Test { List tags = subscriptionOrig.getMeta().getTag(); assertEquals(1, tags.size()); Coding tag = tags.get(0); - assertEquals(JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); + assertEquals(HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); assertEquals(SubscriptionMatchingStrategy.DATABASE.toString(), tag.getCode()); assertEquals("Database", tag.getDisplay()); @@ -542,7 +542,7 @@ public class RestHookTestDstu3Test extends BaseResourceProviderDstu3Test { tags = subscription.getMeta().getTag(); assertEquals(1, tags.size()); tag = tags.get(0); - assertEquals(JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); + assertEquals(HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY, tag.getSystem()); assertEquals(SubscriptionMatchingStrategy.DATABASE.toString(), tag.getCode()); assertEquals("Database", tag.getDisplay()); } diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR4Test.java index 308b5ac638c..146c8933d0d 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR4Test.java @@ -1,12 +1,12 @@ package ca.uhn.fhir.jpa.subscription.resthook; import ca.uhn.fhir.jpa.config.StoppableSubscriptionDeliveringRestHookSubscriber; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.subscription.BaseSubscriptionsR4Test; import ca.uhn.fhir.rest.api.CacheControlDirective; import ca.uhn.fhir.rest.api.Constants; import ca.uhn.fhir.rest.api.MethodOutcome; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; +import ca.uhn.fhir.util.HapiExtensions; import org.hl7.fhir.instance.model.api.IBaseBundle; import org.hl7.fhir.instance.model.api.IIdType; import org.hl7.fhir.r4.model.*; @@ -337,7 +337,7 @@ public class RestHookTestR4Test extends BaseSubscriptionsR4Test { subscription1 .getChannel() - .addExtension(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS, new BooleanType("true")); + .addExtension(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS, new BooleanType("true")); ourLog.info("** About to update subscription"); int modCount = (int) myCountingInterceptor.getSentCount("Subscription"); @@ -413,7 +413,7 @@ public class RestHookTestR4Test extends BaseSubscriptionsR4Test { Subscription subscription = newSubscription(criteria1, payload); subscription .getChannel() - .addExtension(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION, new BooleanType("true")); + .addExtension(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION, new BooleanType("true")); ourClient.create().resource(subscription).execute(); waitForActivatedSubscriptionCount(1); @@ -1017,7 +1017,7 @@ public class RestHookTestR4Test extends BaseSubscriptionsR4Test { public void testDeliverSearchResult() throws Exception { { Subscription subscription = newSubscription("Observation?", "application/json"); - subscription.addExtension(JpaConstants.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_RESULT, new StringType("Observation?_id=${matched_resource_id}&_include=*")); + subscription.addExtension(HapiExtensions.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_CRITERIA, new StringType("Observation?_id=${matched_resource_id}&_include=*")); ourLog.info(myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(subscription)); MethodOutcome methodOutcome = ourClient.create().resource(subscription).execute(); mySubscriptionIds.add(methodOutcome.getId()); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR5Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR5Test.java index 5ea4fa1271f..018abd6a0fc 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR5Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/subscription/resthook/RestHookTestR5Test.java @@ -1,12 +1,12 @@ package ca.uhn.fhir.jpa.subscription.resthook; import ca.uhn.fhir.jpa.config.StoppableSubscriptionDeliveringRestHookSubscriber; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.subscription.BaseSubscriptionsR5Test; import ca.uhn.fhir.rest.api.CacheControlDirective; import ca.uhn.fhir.rest.api.Constants; import ca.uhn.fhir.rest.api.MethodOutcome; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; +import ca.uhn.fhir.util.HapiExtensions; import org.hl7.fhir.instance.model.api.IBaseBundle; import org.hl7.fhir.r5.model.*; import org.junit.After; @@ -299,7 +299,7 @@ public class RestHookTestR5Test extends BaseSubscriptionsR5Test { assertEquals(observation1.getIdElement().getVersionIdPart(), idElement.getVersionIdPart()); subscription1 - .addExtension(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS, new BooleanType("true")); + .addExtension(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS, new BooleanType("true")); ourLog.info("** About to update subscription"); int modCount = myCountingInterceptor.getSentCount("Subscription"); @@ -375,7 +375,7 @@ public class RestHookTestR5Test extends BaseSubscriptionsR5Test { Subscription subscription = newSubscription(criteria1, payload); subscription - .addExtension(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION, new BooleanType("true")); + .addExtension(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION, new BooleanType("true")); ourClient.create().resource(subscription).execute(); waitForActivatedSubscriptionCount(1); diff --git a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4Test.java b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4Test.java index ce3bdb87945..19aff0368dc 100644 --- a/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4Test.java +++ b/hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4Test.java @@ -10,9 +10,9 @@ import ca.uhn.fhir.jpa.entity.TermValueSetConcept; import ca.uhn.fhir.jpa.entity.TermValueSetConceptDesignation; import ca.uhn.fhir.jpa.entity.TermValueSetPreExpansionStatusEnum; import ca.uhn.fhir.jpa.model.entity.ResourceTable; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.term.custom.CustomTerminologySet; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; +import ca.uhn.fhir.util.HapiExtensions; import com.google.common.collect.Lists; import org.hl7.fhir.instance.model.api.IIdType; import org.hl7.fhir.r4.model.CodeSystem; @@ -796,7 +796,7 @@ public class ValueSetExpansionR4Test extends BaseTermR4Test { String encoded = myFhirCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(outcome); ourLog.info(encoded); - Extension extensionByUrl = outcome.getExpansion().getExtensionByUrl(JpaConstants.EXT_VALUESET_EXPANSION_MESSAGE); + Extension extensionByUrl = outcome.getExpansion().getExtensionByUrl(HapiExtensions.EXT_VALUESET_EXPANSION_MESSAGE); assertEquals("Unknown CodeSystem URI \"http://unknown-system\" referenced from ValueSet", extensionByUrl.getValueAsPrimitive().getValueAsString()); } diff --git a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/util/JpaConstants.java b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/util/JpaConstants.java index ab7e5c45324..79862713f3c 100644 --- a/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/util/JpaConstants.java +++ b/hapi-fhir-jpaserver-model/src/main/java/ca/uhn/fhir/jpa/model/util/JpaConstants.java @@ -166,66 +166,6 @@ public class JpaConstants { */ public static final String OPERATION_LASTN = "$lastn"; - /** - *

- * This extension should be of type string and should be - * placed on the Subscription.channel element - *

- */ - public static final String EXT_SUBSCRIPTION_SUBJECT_TEMPLATE = "http://hapifhir.io/fhir/StructureDefinition/subscription-email-subject-template"; - /** - * This extension URL indicates whether a REST HOOK delivery should - * include the version ID when delivering. - *

- * This extension should be of type boolean and should be - * placed on the Subscription.channel element. - *

- */ - public static final String EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS = "http://hapifhir.io/fhir/StructureDefinition/subscription-resthook-strip-version-ids"; - /** - * This extension URL indicates whether a REST HOOK delivery should - * reload the resource and deliver the latest version always. This - * could be useful for example if a resource which triggers a - * subscription gets updated many times in short succession and there - * is no value in delivering the older versions. - *

- * Note that if the resource is now deleted, this may cause - * the delivery to be cancelled altogether. - *

- * - *

- * This extension should be of type boolean and should be - * placed on the Subscription.channel element. - *

- */ - public static final String EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION = "http://hapifhir.io/fhir/StructureDefinition/subscription-resthook-deliver-latest-version"; - /** - * Indicate which strategy will be used to match this subscription - */ - public static final String EXT_SUBSCRIPTION_MATCHING_STRATEGY = "http://hapifhir.io/fhir/StructureDefinition/subscription-matching-strategy"; - /** - *

- * This extension should be of type string and should be - * placed on the Subscription.channel element - *

- */ - public static final String EXT_SUBSCRIPTION_EMAIL_FROM = "http://hapifhir.io/fhir/StructureDefinition/subscription-email-from"; - /** - * Extension ID for external binary references - */ - public static final String EXT_EXTERNALIZED_BINARY_ID = "http://hapifhir.io/fhir/StructureDefinition/externalized-binary-id"; - /** - * For subscription, deliver a bundle containing a search result instead of just a single resource - */ - public static final String EXT_SUBSCRIPTION_PAYLOAD_SEARCH_RESULT = "http://hapifhir.io/fhir/StructureDefinition/subscription-payload-search-result"; - /** - * Placed in system-generated extensions - */ - public static final String EXTENSION_EXT_SYSTEMDEFINED = JpaConstants.class.getName() + "_EXTENSION_EXT_SYSTEMDEFINED"; - /** - * Message added to expansion valueset - */ - public static final String EXT_VALUESET_EXPANSION_MESSAGE = "http://hapifhir.io/fhir/StructureDefinition/valueset-expansion-message"; /** * Parameter for the $export operation */ @@ -246,11 +186,10 @@ public class JpaConstants { * Parameter for the $export operation */ public static final String PARAM_EXPORT_TYPE_FILTER = "_typeFilter"; - /** - * Extension URL for extension on a SearchParameter indicating that text values should not be indexed + * Placed in system-generated extensions */ - public static final String EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING = "http://hapifhir.io/fhir/StructureDefinition/searchparameter-token-suppress-text-index"; + public static final String EXTENSION_EXT_SYSTEMDEFINED = JpaConstants.class.getName() + "_EXTENSION_EXT_SYSTEMDEFINED"; /** * Non-instantiable diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/MatchUrlService.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/MatchUrlService.java index 45ed8c78fd7..b9894d2e6ff 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/MatchUrlService.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/MatchUrlService.java @@ -81,7 +81,7 @@ public class MatchUrlService { for (String nextParamName : nameToParamLists.keySet()) { List paramList = nameToParamLists.get(nextParamName); - if (theFlags != null && theFlags.length > 0) { + if (theFlags != null) { for (Flag next : theFlags) { next.process(nextParamName, paramList, paramMap); } diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/SearchParamConstants.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/SearchParamConstants.java index 9922aaedd3c..297fde44b93 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/SearchParamConstants.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/SearchParamConstants.java @@ -22,7 +22,5 @@ package ca.uhn.fhir.jpa.searchparam; public class SearchParamConstants { - public static final String EXT_SP_UNIQUE = "http://hapifhir.io/fhir/StructureDefinition/sp-unique"; - public static final String UCUM_NS = "http://unitsofmeasure.org"; } diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java index 46929da4537..aea7b12aaf6 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java @@ -37,12 +37,12 @@ import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamQuantity; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamString; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamToken; import ca.uhn.fhir.jpa.model.entity.ResourceIndexedSearchParamUri; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry; import ca.uhn.fhir.model.primitive.BoundCodeDt; import ca.uhn.fhir.rest.api.RestSearchParameterTypeEnum; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.StringUtil; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -1374,7 +1374,7 @@ public abstract class BaseSearchParamExtractor implements ISearchParamExtractor } public static boolean tokenTextIndexingEnabledForSearchParam(ModelConfig theModelConfig, RuntimeSearchParam theSearchParam) { - Optional noSuppressForSearchParam = theSearchParam.getExtensions(JpaConstants.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING).stream() + Optional noSuppressForSearchParam = theSearchParam.getExtensions(HapiExtensions.EXT_SEARCHPARAM_TOKEN_SUPPRESS_TEXT_INDEXING).stream() .map(IBaseExtension::getValue) .map(val -> (IPrimitiveType) val) .map(IPrimitiveType::getValueAsString) diff --git a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParamRegistryImpl.java b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParamRegistryImpl.java index 5cc250bb731..2d9441a315b 100644 --- a/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParamRegistryImpl.java +++ b/hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/registry/SearchParamRegistryImpl.java @@ -32,7 +32,6 @@ import ca.uhn.fhir.jpa.model.sched.ISchedulerService; import ca.uhn.fhir.jpa.model.sched.ScheduledJobDefinition; import ca.uhn.fhir.jpa.model.search.StorageProcessingMessage; import ca.uhn.fhir.jpa.searchparam.JpaRuntimeSearchParam; -import ca.uhn.fhir.jpa.searchparam.SearchParamConstants; import ca.uhn.fhir.jpa.searchparam.SearchParameterMap; import ca.uhn.fhir.jpa.searchparam.retry.Retrier; import ca.uhn.fhir.model.api.ExtensionDt; @@ -41,6 +40,7 @@ import ca.uhn.fhir.rest.api.server.IBundleProvider; import ca.uhn.fhir.rest.api.server.RequestDetails; import ca.uhn.fhir.rest.server.servlet.ServletRequestDetails; import ca.uhn.fhir.util.DatatypeUtil; +import ca.uhn.fhir.util.HapiExtensions; import ca.uhn.fhir.util.SearchParameterUtil; import ca.uhn.fhir.util.StopWatch; import com.google.common.annotations.VisibleForTesting; @@ -412,7 +412,7 @@ public class SearchParamRegistryImpl implements ISearchParamRegistry { String uri = ""; boolean unique = false; - List uniqueExts = theNextSp.getUndeclaredExtensionsByUrl(SearchParamConstants.EXT_SP_UNIQUE); + List uniqueExts = theNextSp.getUndeclaredExtensionsByUrl(HapiExtensions.EXT_SP_UNIQUE); if (uniqueExts.size() > 0) { IPrimitiveType uniqueExtsValuePrimitive = uniqueExts.get(0).getValueAsPrimitive(); if (uniqueExtsValuePrimitive != null) { @@ -494,7 +494,7 @@ public class SearchParamRegistryImpl implements ISearchParamRegistry { String uri = ""; boolean unique = false; - List uniqueExts = theNextSp.getExtensionsByUrl(SearchParamConstants.EXT_SP_UNIQUE); + List uniqueExts = theNextSp.getExtensionsByUrl(HapiExtensions.EXT_SP_UNIQUE); if (uniqueExts.size() > 0) { IPrimitiveType uniqueExtsValuePrimitive = uniqueExts.get(0).getValueAsPrimitive(); if (uniqueExtsValuePrimitive != null) { @@ -582,7 +582,7 @@ public class SearchParamRegistryImpl implements ISearchParamRegistry { String uri = ""; boolean unique = false; - List uniqueExts = theNextSp.getExtensionsByUrl(SearchParamConstants.EXT_SP_UNIQUE); + List uniqueExts = theNextSp.getExtensionsByUrl(HapiExtensions.EXT_SP_UNIQUE); if (uniqueExts.size() > 0) { IPrimitiveType uniqueExtsValuePrimitive = uniqueExts.get(0).getValueAsPrimitive(); if (uniqueExtsValuePrimitive != null) { @@ -672,7 +672,7 @@ public class SearchParamRegistryImpl implements ISearchParamRegistry { String uri = ""; boolean unique = false; - List uniqueExts = theNextSp.getExtensionsByUrl(SearchParamConstants.EXT_SP_UNIQUE); + List uniqueExts = theNextSp.getExtensionsByUrl(HapiExtensions.EXT_SP_UNIQUE); if (uniqueExts.size() > 0) { IPrimitiveType uniqueExtsValuePrimitive = uniqueExts.get(0).getValueAsPrimitive(); if (uniqueExtsValuePrimitive != null) { diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/deliver/resthook/SubscriptionDeliveringRestHookSubscriber.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/deliver/resthook/SubscriptionDeliveringRestHookSubscriber.java index 0b7283aa05f..ac508ac5805 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/deliver/resthook/SubscriptionDeliveringRestHookSubscriber.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/deliver/resthook/SubscriptionDeliveringRestHookSubscriber.java @@ -91,7 +91,7 @@ public class SubscriptionDeliveringRestHookSubscriber extends BaseSubscriptionDe protected void doDelivery(ResourceDeliveryMessage theMsg, CanonicalSubscription theSubscription, EncodingEnum thePayloadType, IGenericClient theClient, IBaseResource thePayloadResource) { IClientExecutable operation; - if (isNotBlank(theSubscription.getPayloadSearchResult())) { + if (isNotBlank(theSubscription.getPayloadSearchCriteria())) { operation = createDeliveryRequestTransaction(theSubscription, theClient, thePayloadResource); } else if (thePayloadType != null) { operation = createDeliveryRequestNormal(theMsg, theClient, thePayloadResource); @@ -141,11 +141,11 @@ public class SubscriptionDeliveringRestHookSubscriber extends BaseSubscriptionDe private IClientExecutable createDeliveryRequestTransaction(CanonicalSubscription theSubscription, IGenericClient theClient, IBaseResource thePayloadResource) { IClientExecutable operation; - String resType = theSubscription.getPayloadSearchResult().substring(0, theSubscription.getPayloadSearchResult().indexOf('?')); + String resType = theSubscription.getPayloadSearchCriteria().substring(0, theSubscription.getPayloadSearchCriteria().indexOf('?')); IFhirResourceDao dao = myDaoRegistry.getResourceDao(resType); RuntimeResourceDefinition resourceDefinition = myFhirContext.getResourceDefinition(resType); - String payloadUrl = theSubscription.getPayloadSearchResult(); + String payloadUrl = theSubscription.getPayloadSearchCriteria(); Map valueMap = new HashMap<>(1); valueMap.put("matched_resource_id", thePayloadResource.getIdElement().toUnqualifiedVersionless().getValue()); payloadUrl = new StringSubstitutor(valueMap).replace(payloadUrl); diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/registry/SubscriptionCanonicalizer.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/registry/SubscriptionCanonicalizer.java index 8440c9f7e6e..b1e1b5a2143 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/registry/SubscriptionCanonicalizer.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/match/registry/SubscriptionCanonicalizer.java @@ -22,13 +22,13 @@ package ca.uhn.fhir.jpa.subscription.match.registry; import ca.uhn.fhir.context.ConfigurationException; import ca.uhn.fhir.context.FhirContext; -import ca.uhn.fhir.jpa.model.util.JpaConstants; import ca.uhn.fhir.jpa.subscription.match.matcher.matching.SubscriptionMatchingStrategy; import ca.uhn.fhir.jpa.subscription.model.CanonicalSubscription; import ca.uhn.fhir.jpa.subscription.model.CanonicalSubscriptionChannelType; import ca.uhn.fhir.model.dstu2.resource.Subscription; import ca.uhn.fhir.rest.server.exceptions.InternalErrorException; import ca.uhn.fhir.rest.server.exceptions.PreconditionFailedException; +import ca.uhn.fhir.util.HapiExtensions; import org.apache.commons.lang3.Validate; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.instance.model.api.IBaseHasExtensions; @@ -113,15 +113,15 @@ public class SubscriptionCanonicalizer { retVal.setChannelExtensions(extractExtension(subscription)); retVal.setIdElement(subscription.getIdElement()); retVal.setPayloadString(subscription.getChannel().getPayload()); - retVal.setPayloadSearchResult(getExtensionString(subscription, JpaConstants.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_RESULT)); + retVal.setPayloadSearchCriteria(getExtensionString(subscription, HapiExtensions.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_CRITERIA)); if (retVal.getChannelType() == CanonicalSubscriptionChannelType.EMAIL) { String from; String subjectTemplate; try { - from = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_EMAIL_FROM); - subjectTemplate = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE); + from = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_EMAIL_FROM); + subjectTemplate = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE); } catch (FHIRException theE) { throw new ConfigurationException("Failed to extract subscription extension(s): " + theE.getMessage(), theE); } @@ -134,8 +134,8 @@ public class SubscriptionCanonicalizer { String stripVersionIds; String deliverLatestVersion; try { - stripVersionIds = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS); - deliverLatestVersion = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION); + stripVersionIds = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS); + deliverLatestVersion = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION); } catch (FHIRException theE) { throw new ConfigurationException("Failed to extract subscription extension(s): " + theE.getMessage(), theE); } @@ -209,14 +209,14 @@ public class SubscriptionCanonicalizer { retVal.setChannelExtensions(extractExtension(subscription)); retVal.setIdElement(subscription.getIdElement()); retVal.setPayloadString(subscription.getChannel().getPayload()); - retVal.setPayloadSearchResult(getExtensionString(subscription, JpaConstants.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_RESULT)); + retVal.setPayloadSearchCriteria(getExtensionString(subscription, HapiExtensions.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_CRITERIA)); if (retVal.getChannelType() == CanonicalSubscriptionChannelType.EMAIL) { String from; String subjectTemplate; try { - from = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_EMAIL_FROM); - subjectTemplate = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE); + from = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_EMAIL_FROM); + subjectTemplate = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE); } catch (FHIRException theE) { throw new ConfigurationException("Failed to extract subscription extension(s): " + theE.getMessage(), theE); } @@ -228,8 +228,8 @@ public class SubscriptionCanonicalizer { String stripVersionIds; String deliverLatestVersion; try { - stripVersionIds = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS); - deliverLatestVersion = subscription.getChannel().getExtensionString(JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION); + stripVersionIds = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS); + deliverLatestVersion = subscription.getChannel().getExtensionString(HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION); } catch (FHIRException theE) { throw new ConfigurationException("Failed to extract subscription extension(s): " + theE.getMessage(), theE); } @@ -263,14 +263,14 @@ public class SubscriptionCanonicalizer { retVal.setChannelExtensions(extractExtension(subscription)); retVal.setIdElement(subscription.getIdElement()); retVal.setPayloadString(subscription.getContentType()); - retVal.setPayloadSearchResult(getExtensionString(subscription, JpaConstants.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_RESULT)); + retVal.setPayloadSearchCriteria(getExtensionString(subscription, HapiExtensions.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_CRITERIA)); if (retVal.getChannelType() == CanonicalSubscriptionChannelType.EMAIL) { String from; String subjectTemplate; try { - from = getExtensionString(subscription, JpaConstants.EXT_SUBSCRIPTION_EMAIL_FROM); - subjectTemplate = getExtensionString(subscription, JpaConstants.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE); + from = getExtensionString(subscription, HapiExtensions.EXT_SUBSCRIPTION_EMAIL_FROM); + subjectTemplate = getExtensionString(subscription, HapiExtensions.EXT_SUBSCRIPTION_SUBJECT_TEMPLATE); } catch (FHIRException theE) { throw new ConfigurationException("Failed to extract subscription extension(s): " + theE.getMessage(), theE); } @@ -282,8 +282,8 @@ public class SubscriptionCanonicalizer { String stripVersionIds; String deliverLatestVersion; try { - stripVersionIds = getExtensionString(subscription, JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS); - deliverLatestVersion = getExtensionString(subscription, JpaConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION); + stripVersionIds = getExtensionString(subscription, HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_STRIP_VERSION_IDS); + deliverLatestVersion = getExtensionString(subscription, HapiExtensions.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION); } catch (FHIRException theE) { throw new ConfigurationException("Failed to extract subscription extension(s): " + theE.getMessage(), theE); } @@ -385,7 +385,7 @@ public class SubscriptionCanonicalizer { meta .getTag() .stream() - .filter(t -> JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY.equals(t.getSystem())) + .filter(t -> HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY.equals(t.getSystem())) .forEach(t -> { t.setCode(null); t.setSystem(null); @@ -406,7 +406,7 @@ public class SubscriptionCanonicalizer { } else { throw new IllegalStateException("Unknown " + SubscriptionMatchingStrategy.class.getSimpleName() + ": " + theStrategy); } - meta.addTag().setSystem(JpaConstants.EXT_SUBSCRIPTION_MATCHING_STRATEGY).setCode(value).setDisplay(display); + meta.addTag().setSystem(HapiExtensions.EXT_SUBSCRIPTION_MATCHING_STRATEGY).setCode(value).setDisplay(display); } public String getSubscriptionStatus(IBaseResource theSubscription) { diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/model/CanonicalSubscription.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/model/CanonicalSubscription.java index c78780153e4..b8b2ad45afd 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/model/CanonicalSubscription.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/model/CanonicalSubscription.java @@ -68,8 +68,8 @@ public class CanonicalSubscription implements Serializable, Cloneable, IModelJso private RestHookDetails myRestHookDetails; @JsonProperty("extensions") private Map> myChannelExtensions; - @JsonProperty("payloadSearchResult") - private String myPayloadSearchResult; + @JsonProperty("payloadSearchCriteria") + private String myPayloadSearchCriteria; /** * Constructor @@ -78,12 +78,12 @@ public class CanonicalSubscription implements Serializable, Cloneable, IModelJso super(); } - public String getPayloadSearchResult() { - return myPayloadSearchResult; + public String getPayloadSearchCriteria() { + return myPayloadSearchCriteria; } - public void setPayloadSearchResult(String thePayloadSearchResult) { - myPayloadSearchResult = thePayloadSearchResult; + public void setPayloadSearchCriteria(String thePayloadSearchCriteria) { + myPayloadSearchCriteria = thePayloadSearchCriteria; } /** diff --git a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/interceptor/SubscriptionValidatingInterceptor.java b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/interceptor/SubscriptionValidatingInterceptor.java index 3c5b7a1dc91..6b012d46d2c 100644 --- a/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/interceptor/SubscriptionValidatingInterceptor.java +++ b/hapi-fhir-jpaserver-subscription/src/main/java/ca/uhn/fhir/jpa/subscription/submit/interceptor/SubscriptionValidatingInterceptor.java @@ -35,6 +35,7 @@ import ca.uhn.fhir.parser.DataFormatException; import ca.uhn.fhir.rest.api.EncodingEnum; import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException; import ca.uhn.fhir.rest.server.exceptions.UnprocessableEntityException; +import ca.uhn.fhir.util.HapiExtensions; import com.google.common.annotations.VisibleForTesting; import org.hl7.fhir.instance.model.api.IBaseResource; import org.springframework.beans.factory.annotation.Autowired; @@ -99,8 +100,8 @@ public class SubscriptionValidatingInterceptor { validateQuery(subscription.getCriteriaString(), "Subscription.criteria"); - if (subscription.getPayloadSearchResult() != null) { - validateQuery(subscription.getPayloadSearchResult(), "Subscription.extension(url='" + JpaConstants.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_RESULT + "')"); + if (subscription.getPayloadSearchCriteria() != null) { + validateQuery(subscription.getPayloadSearchCriteria(), "Subscription.extension(url='" + HapiExtensions.EXT_SUBSCRIPTION_PAYLOAD_SEARCH_CRITERIA + "')"); } validateChannelType(subscription);