Merge branch 'master' of github.com:jamesagnew/hapi-fhir
This commit is contained in:
commit
f2322064f3
|
@ -454,6 +454,7 @@ public class FhirContext {
|
||||||
*
|
*
|
||||||
* @deprecated Support for DEV resources will be removed, you should use DSTU2 resources instead
|
* @deprecated Support for DEV resources will be removed, you should use DSTU2 resources instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static FhirContext forDev() {
|
public static FhirContext forDev() {
|
||||||
return new FhirContext(FhirVersionEnum.DEV);
|
return new FhirContext(FhirVersionEnum.DEV);
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,6 +36,7 @@ public abstract class BaseIdentifiableElement extends BaseElement implements IId
|
||||||
* @deprecated Use {@link #getElementSpecificId()} instead. This method will be removed because it is easily
|
* @deprecated Use {@link #getElementSpecificId()} instead. This method will be removed because it is easily
|
||||||
* confused with other ID methods (such as patient#getIdentifier)
|
* confused with other ID methods (such as patient#getIdentifier)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public IdDt getId() {
|
public IdDt getId() {
|
||||||
if (myElementSpecificId == null) {
|
if (myElementSpecificId == null) {
|
||||||
|
@ -54,6 +55,7 @@ public abstract class BaseIdentifiableElement extends BaseElement implements IId
|
||||||
* @deprecated Use {@link #setElementSpecificId(String)} instead. This method will be removed because it is easily
|
* @deprecated Use {@link #setElementSpecificId(String)} instead. This method will be removed because it is easily
|
||||||
* confused with other ID methods (such as patient#getIdentifier)
|
* confused with other ID methods (such as patient#getIdentifier)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@Override
|
@Override
|
||||||
public void setId(IdDt theId) {
|
public void setId(IdDt theId) {
|
||||||
if (theId == null) {
|
if (theId == null) {
|
||||||
|
@ -68,6 +70,7 @@ public abstract class BaseIdentifiableElement extends BaseElement implements IId
|
||||||
* confused with other ID methods (such as patient#getIdentifier)
|
* confused with other ID methods (such as patient#getIdentifier)
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
public void setId(String theId) {
|
public void setId(String theId) {
|
||||||
myElementSpecificId = theId;
|
myElementSpecificId = theId;
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,6 +68,7 @@ public class Bundle extends BaseBundle /* implements IElement */{
|
||||||
* @deprecated Tags wil become immutable in a future release of HAPI, so
|
* @deprecated Tags wil become immutable in a future release of HAPI, so
|
||||||
* {@link #addCategory(String, String, String)} should be used instead
|
* {@link #addCategory(String, String, String)} should be used instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag addCategory() {
|
public Tag addCategory() {
|
||||||
Tag retVal = new Tag();
|
Tag retVal = new Tag();
|
||||||
getCategories().add(retVal);
|
getCategories().add(retVal);
|
||||||
|
|
|
@ -67,6 +67,7 @@ public class BundleEntry extends BaseBundle {
|
||||||
* @deprecated Tags wil become immutable in a future release of HAPI, so
|
* @deprecated Tags wil become immutable in a future release of HAPI, so
|
||||||
* {@link #addCategory(String, String, String)} should be used instead
|
* {@link #addCategory(String, String, String)} should be used instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag addCategory() {
|
public Tag addCategory() {
|
||||||
Tag retVal = new Tag();
|
Tag retVal = new Tag();
|
||||||
getCategories().add(retVal);
|
getCategories().add(retVal);
|
||||||
|
@ -146,6 +147,7 @@ public class BundleEntry extends BaseBundle {
|
||||||
* if this entry represents a deleted resource, use {@link #setDeletedResourceId(IdDt)}.
|
* if this entry represents a deleted resource, use {@link #setDeletedResourceId(IdDt)}.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
public IdDt getId() {
|
public IdDt getId() {
|
||||||
return super.getId();
|
return super.getId();
|
||||||
}
|
}
|
||||||
|
@ -160,6 +162,7 @@ public class BundleEntry extends BaseBundle {
|
||||||
/**
|
/**
|
||||||
* @deprecated Use resource ID to determine base URL
|
* @deprecated Use resource ID to determine base URL
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public StringDt getLinkBase() {
|
public StringDt getLinkBase() {
|
||||||
if (myLinkBase == null) {
|
if (myLinkBase == null) {
|
||||||
myLinkBase = new StringDt();
|
myLinkBase = new StringDt();
|
||||||
|
@ -220,6 +223,7 @@ public class BundleEntry extends BaseBundle {
|
||||||
* DSTU2, it is recommended that you migrate code away from using this method and over to using resource
|
* DSTU2, it is recommended that you migrate code away from using this method and over to using resource
|
||||||
* metadata instead.
|
* metadata instead.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public InstantDt getUpdated() {
|
public InstantDt getUpdated() {
|
||||||
if (myUpdated == null) {
|
if (myUpdated == null) {
|
||||||
myUpdated = new InstantDt();
|
myUpdated = new InstantDt();
|
||||||
|
@ -283,6 +287,7 @@ public class BundleEntry extends BaseBundle {
|
||||||
* @deprecated Bundle entries no longer have an ID in DSTU2, as ID is explicitly stated in the resource itself.
|
* @deprecated Bundle entries no longer have an ID in DSTU2, as ID is explicitly stated in the resource itself.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Deprecated
|
||||||
public void setId(IdDt theId) {
|
public void setId(IdDt theId) {
|
||||||
super.setId(theId);
|
super.setId(theId);
|
||||||
}
|
}
|
||||||
|
@ -294,6 +299,7 @@ public class BundleEntry extends BaseBundle {
|
||||||
/**
|
/**
|
||||||
* @deprecated Use resource ID to determine base URL
|
* @deprecated Use resource ID to determine base URL
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setLinkBase(StringDt theLinkBase) {
|
public void setLinkBase(StringDt theLinkBase) {
|
||||||
myLinkBase = theLinkBase;
|
myLinkBase = theLinkBase;
|
||||||
}
|
}
|
||||||
|
@ -329,6 +335,7 @@ public class BundleEntry extends BaseBundle {
|
||||||
* DSTU2, it is recommended that you migrate code away from using this method and over to using resource
|
* DSTU2, it is recommended that you migrate code away from using this method and over to using resource
|
||||||
* metadata instead.
|
* metadata instead.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setUpdated(InstantDt theUpdated) {
|
public void setUpdated(InstantDt theUpdated) {
|
||||||
Validate.notNull(theUpdated, "Updated may not be null");
|
Validate.notNull(theUpdated, "Updated may not be null");
|
||||||
myUpdated = theUpdated;
|
myUpdated = theUpdated;
|
||||||
|
|
|
@ -34,6 +34,7 @@ public interface IIdentifiableElement extends IElement {
|
||||||
* @deprecated Use {@link #getElementSpecificId()} instead. This method will be removed because it is easily
|
* @deprecated Use {@link #getElementSpecificId()} instead. This method will be removed because it is easily
|
||||||
* confused with other ID methods (such as patient#getIdentifier)
|
* confused with other ID methods (such as patient#getIdentifier)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
IdDt getId();
|
IdDt getId();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -46,12 +47,14 @@ public interface IIdentifiableElement extends IElement {
|
||||||
* @deprecated Use {@link #setElementSpecificId(String)} instead. This method will be removed because it is easily
|
* @deprecated Use {@link #setElementSpecificId(String)} instead. This method will be removed because it is easily
|
||||||
* confused with other ID methods (such as patient#getIdentifier)
|
* confused with other ID methods (such as patient#getIdentifier)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
void setId(IdDt theId);
|
void setId(IdDt theId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #setElementSpecificId(String)} instead. This method will be removed because it is easily
|
* @deprecated Use {@link #setElementSpecificId(String)} instead. This method will be removed because it is easily
|
||||||
* confused with other ID methods (such as patient#getIdentifier)
|
* confused with other ID methods (such as patient#getIdentifier)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
void setId(String theId);
|
void setId(String theId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ package ca.uhn.fhir.model.api;
|
||||||
*
|
*
|
||||||
* @deprecated {@link Include} should be used instead
|
* @deprecated {@link Include} should be used instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class PathSpecification extends Include {
|
public class PathSpecification extends Include {
|
||||||
|
|
||||||
public PathSpecification(String theInclude) {
|
public PathSpecification(String theInclude) {
|
||||||
|
|
|
@ -61,12 +61,14 @@ public class Tag extends BaseElement implements IElement {
|
||||||
/**
|
/**
|
||||||
* @deprecated Tags will become immutable in a future release, so this constructor should not be used.
|
* @deprecated Tags will become immutable in a future release, so this constructor should not be used.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag() {
|
public Tag() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated There is no reason to create a tag with a term and not a scheme, so this constructor will be removed
|
* @deprecated There is no reason to create a tag with a term and not a scheme, so this constructor will be removed
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag(String theTerm) {
|
public Tag(String theTerm) {
|
||||||
this((String) null, theTerm, null);
|
this((String) null, theTerm, null);
|
||||||
}
|
}
|
||||||
|
@ -148,6 +150,7 @@ public class Tag extends BaseElement implements IElement {
|
||||||
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
|
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
|
||||||
* tag object
|
* tag object
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag setLabel(String theLabel) {
|
public Tag setLabel(String theLabel) {
|
||||||
myLabel = theLabel;
|
myLabel = theLabel;
|
||||||
return this;
|
return this;
|
||||||
|
@ -160,6 +163,7 @@ public class Tag extends BaseElement implements IElement {
|
||||||
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
|
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
|
||||||
* tag object
|
* tag object
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag setScheme(String theScheme) {
|
public Tag setScheme(String theScheme) {
|
||||||
myScheme = theScheme;
|
myScheme = theScheme;
|
||||||
return this;
|
return this;
|
||||||
|
@ -172,6 +176,7 @@ public class Tag extends BaseElement implements IElement {
|
||||||
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
|
* ensuring that the TagList acts as an unordered set. Use the constructor to set this field when creating a new
|
||||||
* tag object
|
* tag object
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag setTerm(String theTerm) {
|
public Tag setTerm(String theTerm) {
|
||||||
myTerm = theTerm;
|
myTerm = theTerm;
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -79,6 +79,7 @@ public class TagList implements Set<Tag>, Serializable, IBase {
|
||||||
/**
|
/**
|
||||||
* @deprecated Tags wil become immutable in a future release of HAPI, so {@link #addTag(String, String, String)} should be used instead
|
* @deprecated Tags wil become immutable in a future release of HAPI, so {@link #addTag(String, String, String)} should be used instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Tag addTag() {
|
public Tag addTag() {
|
||||||
myOrderedTags = null;
|
myOrderedTags = null;
|
||||||
return addTag(null, null, null);
|
return addTag(null, null, null);
|
||||||
|
|
|
@ -181,6 +181,7 @@ public class IdDt extends UriDt implements IPrimitiveDatatype<String> {
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #getIdPartAsBigDecimal()} instead (this method was deprocated because its name is ambiguous)
|
* @deprecated Use {@link #getIdPartAsBigDecimal()} instead (this method was deprocated because its name is ambiguous)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public BigDecimal asBigDecimal() {
|
public BigDecimal asBigDecimal() {
|
||||||
return getIdPartAsBigDecimal();
|
return getIdPartAsBigDecimal();
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ import java.lang.annotation.Target;
|
||||||
/**
|
/**
|
||||||
* @deprecated IdDt can now hold both an ID and a version ID, so a single parameter with the {@link IdParam} annotation may be used
|
* @deprecated IdDt can now hold both an ID and a version ID, so a single parameter with the {@link IdParam} annotation may be used
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Target(ElementType.PARAMETER)
|
@Target(ElementType.PARAMETER)
|
||||||
public @interface VersionIdParam {
|
public @interface VersionIdParam {
|
||||||
|
|
|
@ -97,6 +97,7 @@ public class MethodOutcome {
|
||||||
/**
|
/**
|
||||||
* @deprecated Use the constructor which accepts a single IdDt parameter, and include the logical ID and version ID in that IdDt instance
|
* @deprecated Use the constructor which accepts a single IdDt parameter, and include the logical ID and version ID in that IdDt instance
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public MethodOutcome(IdDt theId, IdDt theVersionId) {
|
public MethodOutcome(IdDt theId, IdDt theVersionId) {
|
||||||
myId = theId;
|
myId = theId;
|
||||||
myVersionId = theVersionId;
|
myVersionId = theVersionId;
|
||||||
|
@ -105,6 +106,7 @@ public class MethodOutcome {
|
||||||
/**
|
/**
|
||||||
* @deprecated Use the constructor which accepts a single IdDt parameter, and include the logical ID and version ID in that IdDt instance
|
* @deprecated Use the constructor which accepts a single IdDt parameter, and include the logical ID and version ID in that IdDt instance
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public MethodOutcome(IdDt theId, IdDt theVersionId, BaseOperationOutcome theBaseOperationOutcome) {
|
public MethodOutcome(IdDt theId, IdDt theVersionId, BaseOperationOutcome theBaseOperationOutcome) {
|
||||||
myId = theId;
|
myId = theId;
|
||||||
myVersionId = theVersionId;
|
myVersionId = theVersionId;
|
||||||
|
@ -127,6 +129,7 @@ public class MethodOutcome {
|
||||||
/**
|
/**
|
||||||
* @deprecated {@link MethodOutcome#getId()} should return the complete ID including version if it is available
|
* @deprecated {@link MethodOutcome#getId()} should return the complete ID including version if it is available
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public IdDt getVersionId() {
|
public IdDt getVersionId() {
|
||||||
return myVersionId;
|
return myVersionId;
|
||||||
}
|
}
|
||||||
|
@ -173,6 +176,7 @@ public class MethodOutcome {
|
||||||
/**
|
/**
|
||||||
* @deprecated Put the ID and version ID into the same IdDt instance and pass it to {@link #setId(IdDt)}
|
* @deprecated Put the ID and version ID into the same IdDt instance and pass it to {@link #setId(IdDt)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setVersionId(IdDt theVersionId) {
|
public void setVersionId(IdDt theVersionId) {
|
||||||
myVersionId = theVersionId;
|
myVersionId = theVersionId;
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ import ca.uhn.fhir.rest.client.api.IBasicClient;
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link ca.uhn.fhir.rest.client.interceptor.BasicAuthInterceptor} instead. Note that BasicAuthInterceptor class is a HAPI client interceptor instead of being a commons-httpclient interceptor, so you register it to your client instance once it's created using {@link IGenericClient#registerInterceptor(IClientInterceptor)} or {@link IBasicClient#registerInterceptor(IClientInterceptor)} instead
|
* @deprecated Use {@link ca.uhn.fhir.rest.client.interceptor.BasicAuthInterceptor} instead. Note that BasicAuthInterceptor class is a HAPI client interceptor instead of being a commons-httpclient interceptor, so you register it to your client instance once it's created using {@link IGenericClient#registerInterceptor(IClientInterceptor)} or {@link IBasicClient#registerInterceptor(IClientInterceptor)} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class HttpBasicAuthInterceptor implements HttpRequestInterceptor {
|
public class HttpBasicAuthInterceptor implements HttpRequestInterceptor {
|
||||||
|
|
||||||
private String myUsername;
|
private String myUsername;
|
||||||
|
|
|
@ -66,6 +66,7 @@ public interface IGenericClient extends IRestfulClient {
|
||||||
* @deprecated Use {@link #create() fluent method instead}. This method will be removed.
|
* @deprecated Use {@link #create() fluent method instead}. This method will be removed.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
MethodOutcome create(IResource theResource);
|
MethodOutcome create(IResource theResource);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,6 +84,7 @@ public interface IGenericClient extends IRestfulClient {
|
||||||
* @return An outcome
|
* @return An outcome
|
||||||
* @deprecated Use {@link #delete()} instead
|
* @deprecated Use {@link #delete()} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
MethodOutcome delete(Class<? extends IResource> theType, IdDt theId);
|
MethodOutcome delete(Class<? extends IResource> theType, IdDt theId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -95,6 +97,7 @@ public interface IGenericClient extends IRestfulClient {
|
||||||
* @return An outcome
|
* @return An outcome
|
||||||
* @deprecated Use {@link #delete()} instead
|
* @deprecated Use {@link #delete()} instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
MethodOutcome delete(Class<? extends IResource> theType, String theId);
|
MethodOutcome delete(Class<? extends IResource> theType, String theId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -125,6 +128,7 @@ public interface IGenericClient extends IRestfulClient {
|
||||||
* @return A bundle containing returned resources
|
* @return A bundle containing returned resources
|
||||||
* @deprecated As of 0.9, use the fluent {@link #history()} method instead
|
* @deprecated As of 0.9, use the fluent {@link #history()} method instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
<T extends IResource> Bundle history(Class<T> theType, IdDt theId, DateTimeDt theSince, Integer theLimit);
|
<T extends IResource> Bundle history(Class<T> theType, IdDt theId, DateTimeDt theSince, Integer theLimit);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -145,6 +149,7 @@ public interface IGenericClient extends IRestfulClient {
|
||||||
* @return A bundle containing returned resources
|
* @return A bundle containing returned resources
|
||||||
* @deprecated As of 0.9, use the fluent {@link #history()} method instead
|
* @deprecated As of 0.9, use the fluent {@link #history()} method instead
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
<T extends IResource> Bundle history(Class<T> theType, String theId, DateTimeDt theSince, Integer theLimit);
|
<T extends IResource> Bundle history(Class<T> theType, String theId, DateTimeDt theSince, Integer theLimit);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -268,6 +273,7 @@ public interface IGenericClient extends IRestfulClient {
|
||||||
* @deprecated Use {@link #transaction()}
|
* @deprecated Use {@link #transaction()}
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
List<IResource> transaction(List<IResource> theResources);
|
List<IResource> transaction(List<IResource> theResources);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -341,6 +347,7 @@ public interface IGenericClient extends IRestfulClient {
|
||||||
* @return The resource
|
* @return The resource
|
||||||
* @deprecated Deprecated in 0.7 - IdDt can contain an ID and a version, so this class doesn't make a lot of sense
|
* @deprecated Deprecated in 0.7 - IdDt can contain an ID and a version, so this class doesn't make a lot of sense
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
<T extends IResource> T vread(Class<T> theType, IdDt theId, IdDt theVersionId);
|
<T extends IResource> T vread(Class<T> theType, IdDt theId, IdDt theVersionId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -25,6 +25,7 @@ package ca.uhn.fhir.rest.gclient;
|
||||||
* @deprecated Use {@link CompositeClientParam} instead. That class is identical to this one but was renamed to reduce
|
* @deprecated Use {@link CompositeClientParam} instead. That class is identical to this one but was renamed to reduce
|
||||||
* confusing duplicate names in the API. This class will be removed in a future release.
|
* confusing duplicate names in the API. This class will be removed in a future release.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class CompositeParam<A extends IParam, B extends IParam> extends CompositeClientParam<A,B> {
|
public class CompositeParam<A extends IParam, B extends IParam> extends CompositeClientParam<A,B> {
|
||||||
|
|
||||||
public CompositeParam(String theParamName) {
|
public CompositeParam(String theParamName) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ package ca.uhn.fhir.rest.gclient;
|
||||||
* @deprecated Use {@link DateClientParam} instead. That class is identical to this one but was renamed to reduct
|
* @deprecated Use {@link DateClientParam} instead. That class is identical to this one but was renamed to reduct
|
||||||
* confusing duplicate names in the API. This class will be removed in a future release.
|
* confusing duplicate names in the API. This class will be removed in a future release.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class DateParam extends DateClientParam {
|
public class DateParam extends DateClientParam {
|
||||||
|
|
||||||
public DateParam(String theParamName) {
|
public DateParam(String theParamName) {
|
||||||
|
|
|
@ -35,6 +35,7 @@ public interface IClientExecutable<T extends IClientExecutable<?,?>, Y> {
|
||||||
*
|
*
|
||||||
* @deprecated Use the client logging interceptor to log requests and responses instead. See <a href="http://jamesagnew.github.io/hapi-fhir/doc_rest_client.html#req_resp_logging">here</a> for more information.
|
* @deprecated Use the client logging interceptor to log requests and responses instead. See <a href="http://jamesagnew.github.io/hapi-fhir/doc_rest_client.html#req_resp_logging">here</a> for more information.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
T andLogRequestAndResponse(boolean theLogRequestAndResponse);
|
T andLogRequestAndResponse(boolean theLogRequestAndResponse);
|
||||||
|
|
||||||
T prettyPrint();
|
T prettyPrint();
|
||||||
|
|
|
@ -25,6 +25,7 @@ package ca.uhn.fhir.rest.gclient;
|
||||||
* @deprecated Use {@link NumberClientParam} instead. That class is identical to this one but was renamed to reduct
|
* @deprecated Use {@link NumberClientParam} instead. That class is identical to this one but was renamed to reduct
|
||||||
* confusing duplicate names in the API. This class will be removed in a future release.
|
* confusing duplicate names in the API. This class will be removed in a future release.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class NumberParam extends NumberClientParam {
|
public class NumberParam extends NumberClientParam {
|
||||||
|
|
||||||
public NumberParam(String theParamName) {
|
public NumberParam(String theParamName) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ package ca.uhn.fhir.rest.gclient;
|
||||||
* @deprecated Use {@link QuantityClientParam} instead. That class is identical to this one but was renamed to reduct
|
* @deprecated Use {@link QuantityClientParam} instead. That class is identical to this one but was renamed to reduct
|
||||||
* confusing duplicate names in the API. This class will be removed in a future release.
|
* confusing duplicate names in the API. This class will be removed in a future release.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class QuantityParam extends QuantityClientParam {
|
public class QuantityParam extends QuantityClientParam {
|
||||||
|
|
||||||
public QuantityParam(String theParamName) {
|
public QuantityParam(String theParamName) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ package ca.uhn.fhir.rest.gclient;
|
||||||
* @deprecated Use {@link ReferenceClientParam} instead. That class is identical to this one but was renamed to reduct
|
* @deprecated Use {@link ReferenceClientParam} instead. That class is identical to this one but was renamed to reduct
|
||||||
* confusing duplicate names in the API. This class will be removed in a future release.
|
* confusing duplicate names in the API. This class will be removed in a future release.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class ReferenceParam extends ReferenceClientParam {
|
public class ReferenceParam extends ReferenceClientParam {
|
||||||
|
|
||||||
public ReferenceParam(String theParamName) {
|
public ReferenceParam(String theParamName) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ package ca.uhn.fhir.rest.gclient;
|
||||||
* @deprecated Use {@link StringClientParam} instead. That class is identical to this one but was renamed to reduct
|
* @deprecated Use {@link StringClientParam} instead. That class is identical to this one but was renamed to reduct
|
||||||
* confusing duplicate names in the API. This class will be removed in a future release.
|
* confusing duplicate names in the API. This class will be removed in a future release.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class StringParam extends StringClientParam {
|
public class StringParam extends StringClientParam {
|
||||||
|
|
||||||
public StringParam(String theParamName) {
|
public StringParam(String theParamName) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ package ca.uhn.fhir.rest.gclient;
|
||||||
* @deprecated Use {@link TokenClientParam} instead. That class is identical to this one but was renamed to reduct
|
* @deprecated Use {@link TokenClientParam} instead. That class is identical to this one but was renamed to reduct
|
||||||
* confusing duplicate names in the API. This class will be removed in a future release.
|
* confusing duplicate names in the API. This class will be removed in a future release.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class TokenParam extends TokenClientParam {
|
public class TokenParam extends TokenClientParam {
|
||||||
|
|
||||||
public TokenParam(String theParamName) {
|
public TokenParam(String theParamName) {
|
||||||
|
|
|
@ -27,6 +27,7 @@ import ca.uhn.fhir.model.dstu.valueset.QuantityCompararatorEnum;
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link DateParam} instead (this class is identical, but was renamed to be less confusing)
|
* @deprecated Use {@link DateParam} instead (this class is identical, but was renamed to be less confusing)
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class QualifiedDateParam extends DateParam {
|
public class QualifiedDateParam extends DateParam {
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
|
|
@ -57,6 +57,7 @@ public class ResourceNotFoundException extends BaseServerResponseException {
|
||||||
/**
|
/**
|
||||||
* @deprecated This doesn't make sense, since an identifier is not a resource ID and shouldn't generate a 404 if it isn't found - Should be removed
|
* @deprecated This doesn't make sense, since an identifier is not a resource ID and shouldn't generate a 404 if it isn't found - Should be removed
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public ResourceNotFoundException(Class<? extends IResource> theClass, BaseIdentifierDt theId) {
|
public ResourceNotFoundException(Class<? extends IResource> theClass, BaseIdentifierDt theId) {
|
||||||
super(STATUS_CODE, "Resource of type " + theClass.getSimpleName() + " with ID " + theId + " is not known");
|
super(STATUS_CODE, "Resource of type " + theClass.getSimpleName() + " with ID " + theId + " is not known");
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,13 @@ package ca.uhn.fhir.rest.server.exceptions;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome;
|
import ca.uhn.fhir.model.base.resource.BaseOperationOutcome;
|
||||||
import ca.uhn.fhir.rest.annotation.Update;
|
|
||||||
import ca.uhn.fhir.rest.server.Constants;
|
import ca.uhn.fhir.rest.server.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Use {@link PreconditionFailedException} instead - This exception is
|
* @deprecated Use {@link PreconditionFailedException} instead - This exception is
|
||||||
* strangely named and will be removed at some point.
|
* strangely named and will be removed at some point.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public class ResourceVersionNotSpecifiedException extends BaseServerResponseException {
|
public class ResourceVersionNotSpecifiedException extends BaseServerResponseException {
|
||||||
public static final int STATUS_CODE = Constants.STATUS_HTTP_412_PRECONDITION_FAILED;
|
public static final int STATUS_CODE = Constants.STATUS_HTTP_412_PRECONDITION_FAILED;
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
@ -6,6 +6,7 @@ import static org.junit.Assert.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Observable;
|
||||||
|
|
||||||
import net.sf.json.JSON;
|
import net.sf.json.JSON;
|
||||||
import net.sf.json.JSONSerializer;
|
import net.sf.json.JSONSerializer;
|
||||||
|
@ -26,9 +27,9 @@ import ca.uhn.fhir.model.api.TagList;
|
||||||
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
|
import ca.uhn.fhir.model.base.composite.BaseCodingDt;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
|
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
|
import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
|
||||||
import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
|
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Binary;
|
import ca.uhn.fhir.model.dstu2.resource.Binary;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.MedicationPrescription;
|
import ca.uhn.fhir.model.dstu2.resource.MedicationPrescription;
|
||||||
|
import ca.uhn.fhir.model.dstu2.resource.Observation;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.QuestionnaireAnswers;
|
import ca.uhn.fhir.model.dstu2.resource.QuestionnaireAnswers;
|
||||||
import ca.uhn.fhir.model.dstu2.valueset.IdentifierUseEnum;
|
import ca.uhn.fhir.model.dstu2.valueset.IdentifierUseEnum;
|
||||||
|
@ -53,11 +54,48 @@ public class JsonParserTest {
|
||||||
assertEquals("{\"resourceType\":\"Binary\",\"id\":\"11\",\"meta\":{\"versionId\":\"22\"},\"contentType\":\"foo\",\"content\":\"AQIDBA==\"}", val);
|
assertEquals("{\"resourceType\":\"Binary\",\"id\":\"11\",\"meta\":{\"versionId\":\"22\"},\"contentType\":\"foo\",\"content\":\"AQIDBA==\"}", val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* see #144 and #146
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testParseContained() {
|
||||||
|
|
||||||
|
FhirContext c = FhirContext.forDstu2();
|
||||||
|
IParser parser = c.newJsonParser().setPrettyPrint(true);
|
||||||
|
|
||||||
|
Observation o = new Observation();
|
||||||
|
o.getCode().setText("obs text");
|
||||||
|
|
||||||
|
Patient p = new Patient();
|
||||||
|
p.addName().addFamily("patient family");
|
||||||
|
o.getSubject().setResource(p);
|
||||||
|
|
||||||
|
String enc = parser.encodeResourceToString(o);
|
||||||
|
ourLog.info(enc);
|
||||||
|
|
||||||
|
//@formatter:off
|
||||||
|
assertThat(enc, stringContainsInOrder(
|
||||||
|
"\"resourceType\":\"Observation\"",
|
||||||
|
"\"contained\":[",
|
||||||
|
"\"resourceType\":\"Patient\",",
|
||||||
|
"\"id\":\"1\"",
|
||||||
|
"\"reference\":\"#1\""
|
||||||
|
));
|
||||||
|
//@formatter:on
|
||||||
|
|
||||||
|
o = parser.parseResource(Observation.class, enc);
|
||||||
|
assertEquals("obs text", o.getCode().getText());
|
||||||
|
|
||||||
|
assertNotNull(o.getSubject().getResource());
|
||||||
|
p = (Patient) o.getSubject().getResource();
|
||||||
|
assertEquals("patient family", p.getNameFirstRep().getFamilyAsSingleString());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEncodeAndParseMetaProfileAndTags() {
|
public void testEncodeAndParseMetaProfileAndTags() {
|
||||||
Patient p = new Patient();
|
Patient p = new Patient();
|
||||||
p.addName().addFamily("FAMILY");
|
p.addName().addFamily("FAMILY");
|
||||||
|
|
||||||
List<IdDt> profiles = new ArrayList<IdDt>();
|
List<IdDt> profiles = new ArrayList<IdDt>();
|
||||||
profiles.add(new IdDt("http://foo/Profile1"));
|
profiles.add(new IdDt("http://foo/Profile1"));
|
||||||
profiles.add(new IdDt("http://foo/Profile2"));
|
profiles.add(new IdDt("http://foo/Profile2"));
|
||||||
|
@ -67,10 +105,10 @@ public class JsonParserTest {
|
||||||
tagList.addTag("scheme1", "term1", "label1");
|
tagList.addTag("scheme1", "term1", "label1");
|
||||||
tagList.addTag("scheme2", "term2", "label2");
|
tagList.addTag("scheme2", "term2", "label2");
|
||||||
ResourceMetadataKeyEnum.TAG_LIST.put(p, tagList);
|
ResourceMetadataKeyEnum.TAG_LIST.put(p, tagList);
|
||||||
|
|
||||||
String enc = ourCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(p);
|
String enc = ourCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(p);
|
||||||
ourLog.info(enc);
|
ourLog.info(enc);
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
assertThat(enc, stringContainsInOrder("\"meta\":{",
|
assertThat(enc, stringContainsInOrder("\"meta\":{",
|
||||||
"\"profile\":[",
|
"\"profile\":[",
|
||||||
|
@ -91,39 +129,38 @@ public class JsonParserTest {
|
||||||
"]",
|
"]",
|
||||||
"},"));
|
"},"));
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
Patient parsed = ourCtx.newJsonParser().parseResource(Patient.class, enc);
|
Patient parsed = ourCtx.newJsonParser().parseResource(Patient.class, enc);
|
||||||
List<IdDt> gotLabels = ResourceMetadataKeyEnum.PROFILES.get(parsed);
|
List<IdDt> gotLabels = ResourceMetadataKeyEnum.PROFILES.get(parsed);
|
||||||
|
|
||||||
assertEquals(2,gotLabels.size());
|
assertEquals(2, gotLabels.size());
|
||||||
|
|
||||||
IdDt label = (IdDt) gotLabels.get(0);
|
IdDt label = (IdDt) gotLabels.get(0);
|
||||||
assertEquals("http://foo/Profile1", label.getValue());
|
assertEquals("http://foo/Profile1", label.getValue());
|
||||||
label = (IdDt) gotLabels.get(1);
|
label = (IdDt) gotLabels.get(1);
|
||||||
assertEquals("http://foo/Profile2", label.getValue());
|
assertEquals("http://foo/Profile2", label.getValue());
|
||||||
|
|
||||||
tagList = ResourceMetadataKeyEnum.TAG_LIST.get(parsed);
|
tagList = ResourceMetadataKeyEnum.TAG_LIST.get(parsed);
|
||||||
assertEquals(2, tagList.size());
|
assertEquals(2, tagList.size());
|
||||||
|
|
||||||
assertEquals(new Tag("scheme1", "term1", "label1"), tagList.get(0));
|
assertEquals(new Tag("scheme1", "term1", "label1"), tagList.get(0));
|
||||||
assertEquals(new Tag("scheme2", "term2", "label2"), tagList.get(1));
|
assertEquals(new Tag("scheme2", "term2", "label2"), tagList.get(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEncodeAndParseSecurityLabels() {
|
public void testEncodeAndParseSecurityLabels() {
|
||||||
Patient p = new Patient();
|
Patient p = new Patient();
|
||||||
p.addName().addFamily("FAMILY");
|
p.addName().addFamily("FAMILY");
|
||||||
|
|
||||||
List<BaseCodingDt> labels = new ArrayList<BaseCodingDt>();
|
List<BaseCodingDt> labels = new ArrayList<BaseCodingDt>();
|
||||||
labels.add(new CodingDt().setSystem("SYSTEM1").setCode("CODE1").setDisplay("DISPLAY1").setPrimary(true).setVersion("VERSION1"));
|
labels.add(new CodingDt().setSystem("SYSTEM1").setCode("CODE1").setDisplay("DISPLAY1").setPrimary(true).setVersion("VERSION1"));
|
||||||
labels.add(new CodingDt().setSystem("SYSTEM2").setCode("CODE2").setDisplay("DISPLAY2").setPrimary(false).setVersion("VERSION2"));
|
labels.add(new CodingDt().setSystem("SYSTEM2").setCode("CODE2").setDisplay("DISPLAY2").setPrimary(false).setVersion("VERSION2"));
|
||||||
|
|
||||||
ResourceMetadataKeyEnum.SECURITY_LABELS.put(p, labels);
|
ResourceMetadataKeyEnum.SECURITY_LABELS.put(p, labels);
|
||||||
|
|
||||||
String enc = ourCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(p);
|
String enc = ourCtx.newJsonParser().setPrettyPrint(true).encodeResourceToString(p);
|
||||||
ourLog.info(enc);
|
ourLog.info(enc);
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
assertEquals("{\n" +
|
assertEquals("{\n" +
|
||||||
" \"resourceType\":\"Patient\",\n" +
|
" \"resourceType\":\"Patient\",\n" +
|
||||||
|
@ -154,11 +191,11 @@ public class JsonParserTest {
|
||||||
" ]\n" +
|
" ]\n" +
|
||||||
"}", enc.trim());
|
"}", enc.trim());
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
Patient parsed = ourCtx.newJsonParser().parseResource(Patient.class, enc);
|
Patient parsed = ourCtx.newJsonParser().parseResource(Patient.class, enc);
|
||||||
List<BaseCodingDt> gotLabels = ResourceMetadataKeyEnum.SECURITY_LABELS.get(parsed);
|
List<BaseCodingDt> gotLabels = ResourceMetadataKeyEnum.SECURITY_LABELS.get(parsed);
|
||||||
|
|
||||||
assertEquals(2,gotLabels.size());
|
assertEquals(2, gotLabels.size());
|
||||||
|
|
||||||
CodingDt label = (CodingDt) gotLabels.get(0);
|
CodingDt label = (CodingDt) gotLabels.get(0);
|
||||||
assertEquals("SYSTEM1", label.getSystem());
|
assertEquals("SYSTEM1", label.getSystem());
|
||||||
|
@ -175,7 +212,6 @@ public class JsonParserTest {
|
||||||
assertEquals("VERSION2", label.getVersion());
|
assertEquals("VERSION2", label.getVersion());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fixing #89
|
* Fixing #89
|
||||||
*/
|
*/
|
||||||
|
@ -183,9 +219,9 @@ public class JsonParserTest {
|
||||||
public void testEncodeBundleWithDeletedEntry() throws ConfigurationException, DataFormatException, IOException {
|
public void testEncodeBundleWithDeletedEntry() throws ConfigurationException, DataFormatException, IOException {
|
||||||
Bundle b = ourCtx.newXmlParser().parseBundle(IOUtils.toString(JsonParserTest.class.getResourceAsStream("/xml-bundle.xml")));
|
Bundle b = ourCtx.newXmlParser().parseBundle(IOUtils.toString(JsonParserTest.class.getResourceAsStream("/xml-bundle.xml")));
|
||||||
String val = ourCtx.newJsonParser().encodeBundleToString(b);
|
String val = ourCtx.newJsonParser().encodeBundleToString(b);
|
||||||
|
|
||||||
ourLog.info(val);
|
ourLog.info(val);
|
||||||
|
|
||||||
//@formatter:off
|
//@formatter:off
|
||||||
assertThat(val, containsString("\"deleted\":{" +
|
assertThat(val, containsString("\"deleted\":{" +
|
||||||
"\"type\":\"Patient\"," +
|
"\"type\":\"Patient\"," +
|
||||||
|
@ -236,39 +272,12 @@ public class JsonParserTest {
|
||||||
ourLog.info(output);
|
ourLog.info(output);
|
||||||
|
|
||||||
String enc = ourCtx.newJsonParser().encodeResourceToString(patient);
|
String enc = ourCtx.newJsonParser().encodeResourceToString(patient);
|
||||||
assertThat(enc, Matchers.stringContainsInOrder("{\"resourceType\":\"Patient\",",
|
assertThat(enc, Matchers.stringContainsInOrder("{\"resourceType\":\"Patient\",", "\"extension\":[{\"url\":\"http://example.com/extensions#someext\",\"valueDateTime\":\"2011-01-02T11:13:15\"}",
|
||||||
"\"extension\":[{\"url\":\"http://example.com/extensions#someext\",\"valueDateTime\":\"2011-01-02T11:13:15\"}",
|
"{\"url\":\"http://example.com#parent\",\"extension\":[{\"url\":\"http://example.com#child\",\"valueString\":\"value1\"},{\"url\":\"http://example.com#child\",\"valueString\":\"value2\"}]}"));
|
||||||
"{\"url\":\"http://example.com#parent\",\"extension\":[{\"url\":\"http://example.com#child\",\"valueString\":\"value1\"},{\"url\":\"http://example.com#child\",\"valueString\":\"value2\"}]}"
|
assertThat(enc, Matchers.stringContainsInOrder("\"modifierExtension\":[" + "{" + "\"url\":\"http://example.com/extensions#modext\"," + "\"valueDate\":\"1995-01-02\"" + "}" + "],"));
|
||||||
));
|
assertThat(enc, containsString("\"_given\":[" + "{" + "\"extension\":[" + "{" + "\"url\":\"http://examples.com#givenext\"," + "\"valueString\":\"given\"" + "}" + "]" + "}," + "{" + "\"extension\":[" + "{" + "\"url\":\"http://examples.com#givenext_parent\"," + "\"extension\":[" + "{"
|
||||||
assertThat(enc, Matchers.stringContainsInOrder("\"modifierExtension\":[" +
|
+ "\"url\":\"http://examples.com#givenext_child\"," + "\"valueString\":\"CHILD\"" + "}" + "]" + "}" + "]" + "}"));
|
||||||
"{" +
|
|
||||||
"\"url\":\"http://example.com/extensions#modext\"," +
|
|
||||||
"\"valueDate\":\"1995-01-02\"" +
|
|
||||||
"}" +
|
|
||||||
"],"));
|
|
||||||
assertThat(enc, containsString("\"_given\":[" +
|
|
||||||
"{" +
|
|
||||||
"\"extension\":[" +
|
|
||||||
"{" +
|
|
||||||
"\"url\":\"http://examples.com#givenext\"," +
|
|
||||||
"\"valueString\":\"given\"" +
|
|
||||||
"}" +
|
|
||||||
"]" +
|
|
||||||
"}," +
|
|
||||||
"{" +
|
|
||||||
"\"extension\":[" +
|
|
||||||
"{" +
|
|
||||||
"\"url\":\"http://examples.com#givenext_parent\"," +
|
|
||||||
"\"extension\":[" +
|
|
||||||
"{" +
|
|
||||||
"\"url\":\"http://examples.com#givenext_child\"," +
|
|
||||||
"\"valueString\":\"CHILD\"" +
|
|
||||||
"}" +
|
|
||||||
"]" +
|
|
||||||
"}" +
|
|
||||||
"]" +
|
|
||||||
"}"));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now parse this back
|
* Now parse this back
|
||||||
*/
|
*/
|
||||||
|
@ -307,22 +316,20 @@ public class JsonParserTest {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* #65
|
* #65
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testJsonPrimitiveWithExtensionEncoding() {
|
public void testJsonPrimitiveWithExtensionEncoding() {
|
||||||
|
|
||||||
QuestionnaireAnswers parsed = new QuestionnaireAnswers();
|
QuestionnaireAnswers parsed = new QuestionnaireAnswers();
|
||||||
parsed.getGroup().setLinkId("value123");
|
parsed.getGroup().setLinkId("value123");
|
||||||
parsed.getGroup().getLinkIdElement().addUndeclaredExtension(false, "http://123", new StringDt("HELLO"));
|
parsed.getGroup().getLinkIdElement().addUndeclaredExtension(false, "http://123", new StringDt("HELLO"));
|
||||||
|
|
||||||
String encoded = ourCtx.newJsonParser().setPrettyPrint(false).encodeResourceToString(parsed);
|
String encoded = ourCtx.newJsonParser().setPrettyPrint(false).encodeResourceToString(parsed);
|
||||||
ourLog.info(encoded);
|
ourLog.info(encoded);
|
||||||
assertThat(encoded, containsString("{\"linkId\":\"value123\",\"_linkId\":{\"extension\":[{\"url\":\"http://123\",\"valueString\":\"HELLO\"}]}}"));
|
assertThat(encoded, containsString("{\"linkId\":\"value123\",\"_linkId\":{\"extension\":[{\"url\":\"http://123\",\"valueString\":\"HELLO\"}]}}"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -358,10 +365,10 @@ public class JsonParserTest {
|
||||||
" }]\n" +
|
" }]\n" +
|
||||||
"}";
|
"}";
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
Bundle b = ourCtx.newJsonParser().parseBundle(bundle);
|
Bundle b = ourCtx.newJsonParser().parseBundle(bundle);
|
||||||
assertEquals(1, b.getEntries().size());
|
assertEquals(1, b.getEntries().size());
|
||||||
|
|
||||||
Patient pt = (Patient) b.getEntries().get(0).getResource();
|
Patient pt = (Patient) b.getEntries().get(0).getResource();
|
||||||
assertEquals("http://foo/fhirBase2/Patient/1/_history/2", pt.getId().getValue());
|
assertEquals("http://foo/fhirBase2/Patient/1/_history/2", pt.getId().getValue());
|
||||||
assertEquals("2012-01-02", pt.getBirthDateElement().getValueAsString());
|
assertEquals("2012-01-02", pt.getBirthDateElement().getValueAsString());
|
||||||
|
@ -370,12 +377,12 @@ public class JsonParserTest {
|
||||||
assertEquals("POST", ResourceMetadataKeyEnum.ENTRY_TRANSACTION_METHOD.get(pt).getCode());
|
assertEquals("POST", ResourceMetadataKeyEnum.ENTRY_TRANSACTION_METHOD.get(pt).getCode());
|
||||||
assertEquals("http://foo/Patient?identifier=value", ResourceMetadataKeyEnum.LINK_SEARCH.get(pt));
|
assertEquals("http://foo/Patient?identifier=value", ResourceMetadataKeyEnum.LINK_SEARCH.get(pt));
|
||||||
assertEquals("2001-02-22T11:22:33-05:00", ResourceMetadataKeyEnum.UPDATED.get(pt).getValueAsString());
|
assertEquals("2001-02-22T11:22:33-05:00", ResourceMetadataKeyEnum.UPDATED.get(pt).getValueAsString());
|
||||||
|
|
||||||
Bundle toBundle = new Bundle();
|
Bundle toBundle = new Bundle();
|
||||||
toBundle.getLinkBase().setValue("http://foo/fhirBase1");
|
toBundle.getLinkBase().setValue("http://foo/fhirBase1");
|
||||||
toBundle.getTotalResults().setValue(1);
|
toBundle.getTotalResults().setValue(1);
|
||||||
toBundle.getLinkSelf().setValue("http://localhost:52788/Binary?_pretty=true");
|
toBundle.getLinkSelf().setValue("http://localhost:52788/Binary?_pretty=true");
|
||||||
|
|
||||||
toBundle.addResource(pt, ourCtx, "http://foo/fhirBase1");
|
toBundle.addResource(pt, ourCtx, "http://foo/fhirBase1");
|
||||||
String reEncoded = ourCtx.newJsonParser().setPrettyPrint(true).encodeBundleToString(toBundle);
|
String reEncoded = ourCtx.newJsonParser().setPrettyPrint(true).encodeBundleToString(toBundle);
|
||||||
|
|
||||||
|
@ -394,22 +401,20 @@ public class JsonParserTest {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testParsePatientInBundle() {
|
public void testParsePatientInBundle() {
|
||||||
|
|
||||||
String text = "{\"resourceType\":\"Bundle\",\"id\":null,\"base\":\"http://localhost:57931/fhir/contextDev\",\"total\":1,\"link\":[{\"relation\":\"self\",\"url\":\"http://localhost:57931/fhir/contextDev/Patient?identifier=urn%3AMultiFhirVersionTest%7CtestSubmitPatient01&_format=json\"}],\"entry\":[{\"resource\":{\"resourceType\":\"Patient\",\"id\":\"1\",\"meta\":{\"versionId\":\"1\",\"lastUpdated\":\"2014-12-20T18:41:29.706-05:00\"},\"identifier\":[{\"system\":\"urn:MultiFhirVersionTest\",\"value\":\"testSubmitPatient01\"}]}}]}";
|
String text = "{\"resourceType\":\"Bundle\",\"id\":null,\"base\":\"http://localhost:57931/fhir/contextDev\",\"total\":1,\"link\":[{\"relation\":\"self\",\"url\":\"http://localhost:57931/fhir/contextDev/Patient?identifier=urn%3AMultiFhirVersionTest%7CtestSubmitPatient01&_format=json\"}],\"entry\":[{\"resource\":{\"resourceType\":\"Patient\",\"id\":\"1\",\"meta\":{\"versionId\":\"1\",\"lastUpdated\":\"2014-12-20T18:41:29.706-05:00\"},\"identifier\":[{\"system\":\"urn:MultiFhirVersionTest\",\"value\":\"testSubmitPatient01\"}]}}]}";
|
||||||
FhirContext ctx = FhirContext.forDstu2();
|
FhirContext ctx = FhirContext.forDstu2();
|
||||||
Bundle b = ctx.newJsonParser().parseBundle(text);
|
Bundle b = ctx.newJsonParser().parseBundle(text);
|
||||||
|
|
||||||
IResource patient = b.getEntries().get(0).getResource();
|
IResource patient = b.getEntries().get(0).getResource();
|
||||||
assertEquals(Patient.class, patient.getClass());
|
assertEquals(Patient.class, patient.getClass());
|
||||||
|
|
||||||
assertNull(ResourceMetadataKeyEnum.TAG_LIST.get(patient));
|
assertNull(ResourceMetadataKeyEnum.TAG_LIST.get(patient));
|
||||||
assertNull(ResourceMetadataKeyEnum.PROFILES.get(patient));
|
assertNull(ResourceMetadataKeyEnum.PROFILES.get(patient));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testParseAndEncodeBundle() throws Exception {
|
public void testParseAndEncodeBundle() throws Exception {
|
||||||
String content = IOUtils.toString(JsonParserTest.class.getResourceAsStream("/bundle-example.json"));
|
String content = IOUtils.toString(JsonParserTest.class.getResourceAsStream("/bundle-example.json"));
|
||||||
|
@ -455,22 +460,25 @@ public class JsonParserTest {
|
||||||
String content = IOUtils.toString(JsonParserTest.class.getResourceAsStream("/bundle-transaction.json"));
|
String content = IOUtils.toString(JsonParserTest.class.getResourceAsStream("/bundle-transaction.json"));
|
||||||
|
|
||||||
Bundle parsed = ourCtx.newJsonParser().parseBundle(content);
|
Bundle parsed = ourCtx.newJsonParser().parseBundle(content);
|
||||||
// assertEquals("http://example.com/base/Bundle/example/_history/1", parsed.getId().getValue());
|
// assertEquals("http://example.com/base/Bundle/example/_history/1", parsed.getId().getValue());
|
||||||
// assertEquals("1", parsed.getResourceMetadata().get(ResourceMetadataKeyEnum.VERSION));
|
// assertEquals("1", parsed.getResourceMetadata().get(ResourceMetadataKeyEnum.VERSION));
|
||||||
// assertEquals("1", parsed.getId().getVersionIdPart());
|
// assertEquals("1", parsed.getId().getVersionIdPart());
|
||||||
// assertEquals(new InstantDt("2014-08-18T01:43:30Z"), parsed.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED));
|
// assertEquals(new InstantDt("2014-08-18T01:43:30Z"),
|
||||||
// assertEquals("searchset", parsed.getType().getValue());
|
// parsed.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED));
|
||||||
// assertEquals(3, parsed.getTotalResults().getValue().intValue());
|
// assertEquals("searchset", parsed.getType().getValue());
|
||||||
// assertEquals("http://example.com/base", parsed.getLinkBase().getValue());
|
// assertEquals(3, parsed.getTotalResults().getValue().intValue());
|
||||||
// assertEquals("https://example.com/base/MedicationPrescription?patient=347&searchId=ff15fd40-ff71-4b48-b366-09c706bed9d0&page=2", parsed.getLinkNext().getValue());
|
// assertEquals("http://example.com/base", parsed.getLinkBase().getValue());
|
||||||
// assertEquals("https://example.com/base/MedicationPrescription?patient=347&_include=MedicationPrescription.medication", parsed.getLinkSelf().getValue());
|
// assertEquals("https://example.com/base/MedicationPrescription?patient=347&searchId=ff15fd40-ff71-4b48-b366-09c706bed9d0&page=2",
|
||||||
//
|
// parsed.getLinkNext().getValue());
|
||||||
// assertEquals(2, parsed.getEntries().size());
|
// assertEquals("https://example.com/base/MedicationPrescription?patient=347&_include=MedicationPrescription.medication",
|
||||||
//
|
// parsed.getLinkSelf().getValue());
|
||||||
// MedicationPrescription p = (MedicationPrescription) parsed.getEntries().get(0).getResource();
|
//
|
||||||
// assertEquals("Patient/347", p.getPatient().getReference().getValue());
|
// assertEquals(2, parsed.getEntries().size());
|
||||||
// assertEquals("2014-08-16T05:31:17Z", ResourceMetadataKeyEnum.UPDATED.get(p).getValueAsString());
|
//
|
||||||
// assertEquals("http://example.com/base/MedicationPrescription/3123/_history/1", p.getId().getValue());
|
// MedicationPrescription p = (MedicationPrescription) parsed.getEntries().get(0).getResource();
|
||||||
|
// assertEquals("Patient/347", p.getPatient().getReference().getValue());
|
||||||
|
// assertEquals("2014-08-16T05:31:17Z", ResourceMetadataKeyEnum.UPDATED.get(p).getValueAsString());
|
||||||
|
// assertEquals("http://example.com/base/MedicationPrescription/3123/_history/1", p.getId().getValue());
|
||||||
|
|
||||||
String reencoded = ourCtx.newJsonParser().setPrettyPrint(true).encodeBundleToString(parsed);
|
String reencoded = ourCtx.newJsonParser().setPrettyPrint(true).encodeBundleToString(parsed);
|
||||||
ourLog.info(reencoded);
|
ourLog.info(reencoded);
|
||||||
|
@ -483,15 +491,15 @@ public class JsonParserTest {
|
||||||
String exp = expected.toString().replace("\\r\\n", "\\n"); // .replace("§", "§");
|
String exp = expected.toString().replace("\\r\\n", "\\n"); // .replace("§", "§");
|
||||||
String act = actual.toString().replace("\\r\\n", "\\n");
|
String act = actual.toString().replace("\\r\\n", "\\n");
|
||||||
|
|
||||||
exp=exp.replace(",\"ifNoneExist\":\"Patient?identifier=234234\"", "");
|
exp = exp.replace(",\"ifNoneExist\":\"Patient?identifier=234234\"", "");
|
||||||
|
|
||||||
ourLog.info("Expected: {}", exp);
|
ourLog.info("Expected: {}", exp);
|
||||||
ourLog.info("Actual : {}", act);
|
ourLog.info("Actual : {}", act);
|
||||||
|
|
||||||
assertEquals(exp, act);
|
assertEquals(exp, act);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testParseAndEncodeBundleNewStyle() throws Exception {
|
public void testParseAndEncodeBundleNewStyle() throws Exception {
|
||||||
String content = IOUtils.toString(JsonParserTest.class.getResourceAsStream("/bundle-example.json"));
|
String content = IOUtils.toString(JsonParserTest.class.getResourceAsStream("/bundle-example.json"));
|
||||||
|
@ -532,24 +540,22 @@ public class JsonParserTest {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testParseAndEncodeBundleWithDeletedEntry() {
|
public void testParseAndEncodeBundleWithDeletedEntry() {
|
||||||
|
|
||||||
Patient res = new Patient();
|
Patient res = new Patient();
|
||||||
res.setId(new IdDt("Patient", "111", "222"));
|
res.setId(new IdDt("Patient", "111", "222"));
|
||||||
ResourceMetadataKeyEnum.DELETED_AT.put(res, new InstantDt("2011-01-01T12:12:22Z"));
|
ResourceMetadataKeyEnum.DELETED_AT.put(res, new InstantDt("2011-01-01T12:12:22Z"));
|
||||||
|
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.addResource(res, ourCtx, "http://foo/base");
|
bundle.addResource(res, ourCtx, "http://foo/base");
|
||||||
|
|
||||||
String actual = ourCtx.newJsonParser().encodeBundleToString(bundle);
|
String actual = ourCtx.newJsonParser().encodeBundleToString(bundle);
|
||||||
ourLog.info(actual);
|
ourLog.info(actual);
|
||||||
|
|
||||||
String expected = "{\"resourceType\":\"Bundle\",\"entry\":[{\"deleted\":{\"type\":\"Patient\",\"resourceId\":\"111\",\"versionId\":\"222\",\"instant\":\"2011-01-01T12:12:22Z\"}}]}";
|
String expected = "{\"resourceType\":\"Bundle\",\"entry\":[{\"deleted\":{\"type\":\"Patient\",\"resourceId\":\"111\",\"versionId\":\"222\",\"instant\":\"2011-01-01T12:12:22Z\"}}]}";
|
||||||
assertEquals(expected, actual);
|
assertEquals(expected, actual);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
package ca.uhn.fhir.parser;
|
package ca.uhn.fhir.parser;
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.*;
|
import static org.hamcrest.Matchers.*;
|
||||||
import static org.junit.Assert.assertArrayEquals;
|
import static org.junit.Assert.*;
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertNull;
|
|
||||||
import static org.junit.Assert.assertThat;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
|
||||||
|
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -37,6 +33,7 @@ import ca.uhn.fhir.model.dstu2.resource.Composition;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Encounter;
|
import ca.uhn.fhir.model.dstu2.resource.Encounter;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Medication;
|
import ca.uhn.fhir.model.dstu2.resource.Medication;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.MedicationPrescription;
|
import ca.uhn.fhir.model.dstu2.resource.MedicationPrescription;
|
||||||
|
import ca.uhn.fhir.model.dstu2.resource.Observation;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Organization;
|
import ca.uhn.fhir.model.dstu2.resource.Organization;
|
||||||
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
import ca.uhn.fhir.model.dstu2.resource.Patient;
|
||||||
import ca.uhn.fhir.model.dstu2.valueset.IdentifierUseEnum;
|
import ca.uhn.fhir.model.dstu2.valueset.IdentifierUseEnum;
|
||||||
|
@ -57,6 +54,44 @@ public class XmlParserTest {
|
||||||
XMLUnit.setIgnoreWhitespace(true);
|
XMLUnit.setIgnoreWhitespace(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* see #144 and #146
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void testParseContained() {
|
||||||
|
|
||||||
|
FhirContext c = FhirContext.forDstu2();
|
||||||
|
IParser parser = c.newXmlParser().setPrettyPrint(true);
|
||||||
|
|
||||||
|
Observation o = new Observation();
|
||||||
|
o.getCode().setText("obs text");
|
||||||
|
|
||||||
|
Patient p = new Patient();
|
||||||
|
p.addName().addFamily("patient family");
|
||||||
|
o.getSubject().setResource(p);
|
||||||
|
|
||||||
|
String enc = parser.encodeResourceToString(o);
|
||||||
|
ourLog.info(enc);
|
||||||
|
|
||||||
|
//@formatter:off
|
||||||
|
assertThat(enc, stringContainsInOrder(
|
||||||
|
"<Observation xmlns=\"http://hl7.org/fhir\">",
|
||||||
|
"<contained>",
|
||||||
|
"<Patient xmlns=\"http://hl7.org/fhir\">",
|
||||||
|
"<id value=\"1\"/>",
|
||||||
|
"</contained>",
|
||||||
|
"<reference value=\"#1\"/>"
|
||||||
|
));
|
||||||
|
//@formatter:on
|
||||||
|
|
||||||
|
o = parser.parseResource(Observation.class, enc);
|
||||||
|
assertEquals("obs text", o.getCode().getText());
|
||||||
|
|
||||||
|
assertNotNull(o.getSubject().getResource());
|
||||||
|
p = (Patient) o.getSubject().getResource();
|
||||||
|
assertEquals("patient family", p.getNameFirstRep().getFamilyAsSingleString());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* See #113
|
* See #113
|
||||||
*/
|
*/
|
||||||
|
|
41
pom.xml
41
pom.xml
|
@ -217,11 +217,30 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.2</version>
|
<version>3.3</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.6</source>
|
<source>1.6</source>
|
||||||
<target>1.6</target>
|
<target>1.6</target>
|
||||||
|
<compilerId>javac-with-errorprone</compilerId>
|
||||||
|
<forceJavacCompilerUse>true</forceJavacCompilerUse>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.errorprone</groupId>
|
||||||
|
<artifactId>error_prone_core</artifactId>
|
||||||
|
<version>2.0.1</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.plexus</groupId>
|
||||||
|
<artifactId>plexus-compiler-javac</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.plexus</groupId>
|
||||||
|
<artifactId>plexus-compiler-javac-errorprone</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
@ -374,6 +393,26 @@
|
||||||
<ignore></ignore>
|
<ignore></ignore>
|
||||||
</action>
|
</action>
|
||||||
</pluginExecution>
|
</pluginExecution>
|
||||||
|
<pluginExecution>
|
||||||
|
<pluginExecutionFilter>
|
||||||
|
<groupId>
|
||||||
|
org.apache.maven.plugins
|
||||||
|
</groupId>
|
||||||
|
<artifactId>
|
||||||
|
maven-compiler-plugin
|
||||||
|
</artifactId>
|
||||||
|
<versionRange>
|
||||||
|
[3.3,)
|
||||||
|
</versionRange>
|
||||||
|
<goals>
|
||||||
|
<goal>compile</goal>
|
||||||
|
<goal>testCompile</goal>
|
||||||
|
</goals>
|
||||||
|
</pluginExecutionFilter>
|
||||||
|
<action>
|
||||||
|
<ignore></ignore>
|
||||||
|
</action>
|
||||||
|
</pluginExecution>
|
||||||
</pluginExecutions>
|
</pluginExecutions>
|
||||||
</lifecycleMappingMetadata>
|
</lifecycleMappingMetadata>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
Loading…
Reference in New Issue