mirror of
https://github.com/hapifhir/hapi-fhir.git
synced 2025-03-03 10:39:37 +00:00
Merge branch 'master' into jakarta-upgrade-md
This commit is contained in:
commit
5dcbbae8b2
@ -4,7 +4,7 @@
|
||||
|
||||
repos:
|
||||
- repo: https://github.com/ejba/pre-commit-maven
|
||||
rev: v0.3.3
|
||||
rev: v0.3.4
|
||||
hooks:
|
||||
- id: maven-spotless-apply
|
||||
stages: [pre-push]
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
@ -116,10 +116,16 @@
|
||||
</dependency>
|
||||
|
||||
<!-- @Nonnull annotation -->
|
||||
|
||||
<!-- We need to leave this in because otherwise hapi-fhir-structures-dstu3: will fail to generate javadoc -->
|
||||
<dependency>
|
||||
<groupId>com.google.code.findbugs</groupId>
|
||||
<artifactId>jsr305</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jakarta.annotation</groupId>
|
||||
<artifactId>jakarta.annotation-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.awaitility</groupId>
|
||||
|
@ -21,6 +21,8 @@ package ca.uhn.fhir.context;
|
||||
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.util.UrlUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
@ -31,8 +33,6 @@ import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public abstract class BaseRuntimeElementDefinition<T extends IBase> {
|
||||
|
||||
|
@ -49,6 +49,8 @@ import ca.uhn.fhir.util.FhirTerser;
|
||||
import ca.uhn.fhir.util.ReflectionUtil;
|
||||
import ca.uhn.fhir.util.VersionUtil;
|
||||
import ca.uhn.fhir.validation.FhirValidator;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.apache.jena.riot.Lang;
|
||||
@ -77,8 +79,6 @@ import java.util.Optional;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* The FHIR context is the central starting point for the use of the HAPI FHIR API. It should be created once, and then
|
||||
|
@ -38,6 +38,7 @@ import ca.uhn.fhir.model.primitive.BoundCodeDt;
|
||||
import ca.uhn.fhir.model.primitive.XhtmlDt;
|
||||
import ca.uhn.fhir.rest.api.RestSearchParameterTypeEnum;
|
||||
import ca.uhn.fhir.util.ReflectionUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||
import org.hl7.fhir.instance.model.api.IBaseDatatype;
|
||||
@ -67,7 +68,6 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
|
||||
@ -498,7 +498,7 @@ class ModelScanner {
|
||||
nextElementType = ReflectionUtil.getGenericCollectionTypeOfField(next);
|
||||
} else if (Collection.class.isAssignableFrom(nextElementType)) {
|
||||
throw new ConfigurationException(Msg.code(1722) + "Field '" + next.getName() + "' in type '"
|
||||
+ next.getClass().getCanonicalName()
|
||||
+ nextElementType.getCanonicalName()
|
||||
+ "' is a Collection - Only java.util.List curently supported");
|
||||
}
|
||||
return nextElementType;
|
||||
|
@ -21,6 +21,8 @@ package ca.uhn.fhir.context;
|
||||
|
||||
import ca.uhn.fhir.context.phonetic.IPhoneticEncoder;
|
||||
import ca.uhn.fhir.rest.api.RestSearchParameterTypeEnum;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
@ -37,8 +39,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.StringTokenizer;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
import static org.apache.commons.lang3.StringUtils.trim;
|
||||
|
@ -23,6 +23,7 @@ import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||
import ca.uhn.fhir.util.ILockable;
|
||||
import ca.uhn.fhir.util.ReflectionUtil;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||
@ -32,7 +33,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* This class returns the vocabulary that is shipped with the base FHIR
|
||||
|
@ -28,6 +28,7 @@ import ca.uhn.fhir.parser.LenientErrorHandler;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.util.BundleUtil;
|
||||
import ca.uhn.fhir.util.ClasspathUtil;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hl7.fhir.instance.model.api.IBaseBundle;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
@ -43,7 +44,6 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
||||
|
@ -24,6 +24,8 @@ import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
|
||||
import ca.uhn.fhir.util.ParametersUtil;
|
||||
import ca.uhn.fhir.util.UrlUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
||||
@ -42,8 +44,6 @@ import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.defaultString;
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
@ -295,8 +295,8 @@ public interface IValidationSupport {
|
||||
*/
|
||||
@Nullable
|
||||
default CodeValidationResult validateCode(
|
||||
@Nonnull ValidationSupportContext theValidationSupportContext,
|
||||
@Nonnull ConceptValidationOptions theOptions,
|
||||
ValidationSupportContext theValidationSupportContext,
|
||||
ConceptValidationOptions theOptions,
|
||||
String theCodeSystem,
|
||||
String theCode,
|
||||
String theDisplay,
|
||||
@ -526,8 +526,13 @@ public interface IValidationSupport {
|
||||
public String getPropertyName() {
|
||||
return myPropertyName;
|
||||
}
|
||||
|
||||
public abstract String getType();
|
||||
}
|
||||
|
||||
String TYPE_STRING = "string";
|
||||
String TYPE_CODING = "Coding";
|
||||
|
||||
class StringConceptProperty extends BaseConceptProperty {
|
||||
private final String myValue;
|
||||
|
||||
@ -544,6 +549,10 @@ public interface IValidationSupport {
|
||||
public String getValue() {
|
||||
return myValue;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return TYPE_STRING;
|
||||
}
|
||||
}
|
||||
|
||||
class CodingConceptProperty extends BaseConceptProperty {
|
||||
@ -574,6 +583,10 @@ public interface IValidationSupport {
|
||||
public String getDisplay() {
|
||||
return myDisplay;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return TYPE_CODING;
|
||||
}
|
||||
}
|
||||
|
||||
class CodeValidationResult {
|
||||
@ -881,25 +894,35 @@ public interface IValidationSupport {
|
||||
}
|
||||
|
||||
for (BaseConceptProperty next : myProperties) {
|
||||
String propertyName = next.getPropertyName();
|
||||
|
||||
if (!properties.isEmpty()) {
|
||||
if (!properties.contains(next.getPropertyName())) {
|
||||
continue;
|
||||
}
|
||||
if (!properties.isEmpty() && !properties.contains(propertyName)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
IBase property = ParametersUtil.addParameterToParameters(theContext, retVal, "property");
|
||||
ParametersUtil.addPartCode(theContext, property, "code", next.getPropertyName());
|
||||
ParametersUtil.addPartCode(theContext, property, "code", propertyName);
|
||||
|
||||
if (next instanceof StringConceptProperty) {
|
||||
StringConceptProperty prop = (StringConceptProperty) next;
|
||||
ParametersUtil.addPartString(theContext, property, "value", prop.getValue());
|
||||
} else if (next instanceof CodingConceptProperty) {
|
||||
CodingConceptProperty prop = (CodingConceptProperty) next;
|
||||
ParametersUtil.addPartCoding(
|
||||
theContext, property, "value", prop.getCodeSystem(), prop.getCode(), prop.getDisplay());
|
||||
} else {
|
||||
throw new IllegalStateException(Msg.code(1739) + "Don't know how to handle " + next.getClass());
|
||||
String propertyType = next.getType();
|
||||
switch (propertyType) {
|
||||
case TYPE_STRING:
|
||||
StringConceptProperty stringConceptProperty = (StringConceptProperty) next;
|
||||
ParametersUtil.addPartString(
|
||||
theContext, property, "value", stringConceptProperty.getValue());
|
||||
break;
|
||||
case TYPE_CODING:
|
||||
CodingConceptProperty codingConceptProperty = (CodingConceptProperty) next;
|
||||
ParametersUtil.addPartCoding(
|
||||
theContext,
|
||||
property,
|
||||
"value",
|
||||
codingConceptProperty.getCodeSystem(),
|
||||
codingConceptProperty.getCode(),
|
||||
codingConceptProperty.getDisplay());
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException(
|
||||
Msg.code(1739) + "Don't know how to handle " + next.getClass());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,11 +19,11 @@
|
||||
*/
|
||||
package ca.uhn.fhir.fhirpath;
|
||||
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public interface IFhirPath {
|
||||
|
||||
|
@ -19,12 +19,11 @@
|
||||
*/
|
||||
package ca.uhn.fhir.fhirpath;
|
||||
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IIdType;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public interface IFhirPathEvaluationContext {
|
||||
|
||||
/**
|
||||
|
@ -22,6 +22,7 @@ package ca.uhn.fhir.interceptor.api;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Multimaps;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
|
||||
import java.util.Collection;
|
||||
@ -29,7 +30,6 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class HookParams {
|
||||
|
||||
|
@ -19,10 +19,11 @@
|
||||
*/
|
||||
package ca.uhn.fhir.interceptor.api;
|
||||
|
||||
import jakarta.annotation.Nullable;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public interface IBaseInterceptorService<POINTCUT extends IPointcut> extends IBaseInterceptorBroadcaster<POINTCUT> {
|
||||
|
||||
|
@ -19,8 +19,9 @@
|
||||
*/
|
||||
package ca.uhn.fhir.interceptor.api;
|
||||
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public interface IPointcut {
|
||||
@Nonnull
|
||||
|
@ -25,6 +25,7 @@ import ca.uhn.fhir.rest.annotation.Search;
|
||||
import ca.uhn.fhir.rest.server.exceptions.AuthenticationException;
|
||||
import ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException;
|
||||
import ca.uhn.fhir.validation.ValidationResult;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBaseConformance;
|
||||
|
||||
import java.io.Writer;
|
||||
@ -33,7 +34,6 @@ import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
/**
|
||||
* Value for {@link Hook#value()}
|
||||
|
@ -31,6 +31,8 @@ import ca.uhn.fhir.util.ReflectionUtil;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
@ -57,8 +59,6 @@ import java.util.Optional;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public abstract class BaseInterceptorService<POINTCUT extends Enum<POINTCUT> & IPointcut>
|
||||
implements IBaseInterceptorService<POINTCUT>, IBaseInterceptorBroadcaster<POINTCUT> {
|
||||
|
@ -24,6 +24,8 @@ import ca.uhn.fhir.util.JsonUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
||||
@ -37,8 +39,6 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.ObjectUtils.defaultIfNull;
|
||||
|
||||
|
@ -28,6 +28,7 @@ import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.narrative.INarrativeGenerator;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||
import ca.uhn.fhir.util.Logs;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
import org.hl7.fhir.instance.model.api.INarrative;
|
||||
@ -37,7 +38,6 @@ import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.defaultIfEmpty;
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
@ -20,12 +20,12 @@
|
||||
package ca.uhn.fhir.narrative2;
|
||||
|
||||
import ca.uhn.fhir.context.FhirContext;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public interface INarrativeTemplateManifest {
|
||||
List<INarrativeTemplate> getTemplateByResourceName(
|
||||
|
@ -28,6 +28,7 @@ import com.google.common.base.Charsets;
|
||||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Multimaps;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
@ -53,7 +54,6 @@ import java.util.Objects;
|
||||
import java.util.Properties;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
||||
|
@ -45,6 +45,7 @@ import ca.uhn.fhir.util.BundleUtil;
|
||||
import ca.uhn.fhir.util.FhirTerser;
|
||||
import ca.uhn.fhir.util.UrlUtil;
|
||||
import com.google.common.base.Charsets;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.io.output.StringBuilderWriter;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
@ -78,7 +79,6 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
@ -28,6 +28,7 @@ import ca.uhn.fhir.parser.json.BaseJsonLikeWriter;
|
||||
import ca.uhn.fhir.parser.json.JsonLikeStructure;
|
||||
import com.fasterxml.jackson.core.JsonGenerator;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.core.StreamReadConstraints;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
@ -114,14 +115,38 @@ public class JacksonStructure implements JsonLikeStructure {
|
||||
setNativeArray((ArrayNode) OBJECT_MAPPER.readTree(pbr));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
if (e.getMessage().startsWith("Unexpected char 39")) {
|
||||
String message;
|
||||
if (e instanceof JsonProcessingException) {
|
||||
/*
|
||||
* Currently there is no way of preventing Jackson from adding this
|
||||
* annoying REDACTED message from certain messages we get back from
|
||||
* the parser, so we just manually strip them. Hopefully Jackson
|
||||
* will accept this request at some point:
|
||||
* https://github.com/FasterXML/jackson-core/issues/1158
|
||||
*/
|
||||
JsonProcessingException jpe = (JsonProcessingException) e;
|
||||
StringBuilder messageBuilder = new StringBuilder();
|
||||
String originalMessage = jpe.getOriginalMessage();
|
||||
originalMessage = originalMessage.replace(
|
||||
"Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); ", "");
|
||||
messageBuilder.append(originalMessage);
|
||||
if (jpe.getLocation() != null) {
|
||||
messageBuilder.append("\n at [");
|
||||
jpe.getLocation().appendOffsetDescription(messageBuilder);
|
||||
messageBuilder.append("]");
|
||||
}
|
||||
message = messageBuilder.toString();
|
||||
} else {
|
||||
message = e.getMessage();
|
||||
}
|
||||
|
||||
if (message.startsWith("Unexpected char 39")) {
|
||||
throw new DataFormatException(
|
||||
Msg.code(1860) + "Failed to parse JSON encoded FHIR content: " + e.getMessage() + " - "
|
||||
Msg.code(1860) + "Failed to parse JSON encoded FHIR content: " + message + " - "
|
||||
+ "This may indicate that single quotes are being used as JSON escapes where double quotes are required",
|
||||
e);
|
||||
}
|
||||
throw new DataFormatException(
|
||||
Msg.code(1861) + "Failed to parse JSON encoded FHIR content: " + e.getMessage(), e);
|
||||
throw new DataFormatException(Msg.code(1861) + "Failed to parse JSON encoded FHIR content: " + message, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,29 +45,15 @@ public class JacksonWriter extends BaseJsonLikeWriter {
|
||||
@Override
|
||||
public BaseJsonLikeWriter init() {
|
||||
if (isPrettyPrint()) {
|
||||
DefaultPrettyPrinter prettyPrinter = new DefaultPrettyPrinter() {
|
||||
|
||||
/**
|
||||
* Objects should serialize as
|
||||
* <pre>
|
||||
* {
|
||||
* "key": "value"
|
||||
* }
|
||||
* </pre>
|
||||
* in order to be consistent with Gson behaviour, instead of the jackson default
|
||||
* <pre>
|
||||
* {
|
||||
* "key" : "value"
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
@Override
|
||||
public DefaultPrettyPrinter withSeparators(Separators separators) {
|
||||
_separators = separators;
|
||||
_objectFieldValueSeparatorWithSpaces = separators.getObjectFieldValueSeparator() + " ";
|
||||
return this;
|
||||
}
|
||||
};
|
||||
DefaultPrettyPrinter prettyPrinter = new DefaultPrettyPrinter()
|
||||
.withSeparators(new Separators(
|
||||
Separators.DEFAULT_ROOT_VALUE_SEPARATOR,
|
||||
':',
|
||||
Separators.Spacing.AFTER,
|
||||
',',
|
||||
Separators.Spacing.NONE,
|
||||
',',
|
||||
Separators.Spacing.NONE));
|
||||
prettyPrinter = prettyPrinter.withObjectIndenter(new DefaultIndenter(" ", "\n"));
|
||||
|
||||
myJsonGenerator.setPrettyPrinter(prettyPrinter);
|
||||
|
@ -220,21 +220,6 @@ public class Constants {
|
||||
public static final String PARAM_TEXT = "_text";
|
||||
public static final String PARAM_VALIDATE = "_validate";
|
||||
|
||||
/**
|
||||
* $member-match operation
|
||||
*/
|
||||
public static final String PARAM_MEMBER_PATIENT = "MemberPatient";
|
||||
|
||||
public static final String PARAM_MEMBER_IDENTIFIER = "MemberIdentifier";
|
||||
|
||||
public static final String COVERAGE_TO_MATCH = "CoverageToMatch";
|
||||
public static final String COVERAGE_TO_LINK = "CoverageToLink";
|
||||
public static final String PARAM_CONSENT = "Consent";
|
||||
public static final String PARAM_MEMBER_PATIENT_NAME = PARAM_MEMBER_PATIENT + " Name";
|
||||
public static final String PARAM_MEMBER_PATIENT_BIRTHDATE = PARAM_MEMBER_PATIENT + " Birthdate";
|
||||
public static final String PARAM_CONSENT_PATIENT_REFERENCE = PARAM_CONSENT + "'s Patient Reference";
|
||||
public static final String PARAM_CONSENT_PERFORMER_REFERENCE = PARAM_CONSENT + "'s Performer Reference";
|
||||
|
||||
public static final String PARAMQUALIFIER_MISSING = ":missing";
|
||||
public static final String PARAMQUALIFIER_MISSING_FALSE = "false";
|
||||
public static final String PARAMQUALIFIER_MISSING_TRUE = "true";
|
||||
|
@ -22,6 +22,8 @@ package ca.uhn.fhir.rest.api;
|
||||
import ca.uhn.fhir.context.api.BundleInclusionRule;
|
||||
import ca.uhn.fhir.model.api.Include;
|
||||
import ca.uhn.fhir.model.valueset.BundleTypeEnum;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||
|
||||
@ -29,8 +31,6 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* This interface should be considered experimental and will likely change in future releases of HAPI. Use with caution!
|
||||
|
@ -23,10 +23,10 @@ import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.rest.annotation.Patch;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.defaultString;
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
|
@ -19,7 +19,7 @@
|
||||
*/
|
||||
package ca.uhn.fhir.rest.api;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import jakarta.annotation.Nullable;
|
||||
|
||||
public class PreferHeader {
|
||||
|
||||
|
@ -19,8 +19,9 @@
|
||||
*/
|
||||
package ca.uhn.fhir.rest.api;
|
||||
|
||||
import jakarta.annotation.Nullable;
|
||||
|
||||
import java.util.HashMap;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* Represents values for "return" value as provided in the the <a href="https://tools.ietf.org/html/rfc7240#section-4.2">HTTP Prefer header</a>.
|
||||
|
@ -20,11 +20,11 @@
|
||||
package ca.uhn.fhir.rest.api;
|
||||
|
||||
import ca.uhn.fhir.util.CoverageIgnore;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@CoverageIgnore
|
||||
public enum RestOperationTypeEnum {
|
||||
|
@ -24,10 +24,9 @@ import ca.uhn.fhir.interceptor.api.IInterceptorService;
|
||||
import ca.uhn.fhir.rest.api.EncodingEnum;
|
||||
import ca.uhn.fhir.rest.api.RequestFormatParamStyleEnum;
|
||||
import ca.uhn.fhir.rest.api.SummaryEnum;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public interface IRestfulClient {
|
||||
|
||||
/**
|
||||
|
@ -27,6 +27,7 @@ import ca.uhn.fhir.parser.DataFormatException;
|
||||
import ca.uhn.fhir.rest.api.QualifiedParamList;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
|
||||
import ca.uhn.fhir.util.DateUtils;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||
|
||||
@ -34,7 +35,6 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static ca.uhn.fhir.rest.param.ParamPrefixEnum.EQUAL;
|
||||
import static ca.uhn.fhir.rest.param.ParamPrefixEnum.GREATERTHAN_OR_EQUALS;
|
||||
|
@ -25,6 +25,8 @@ import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.context.FhirVersionEnum;
|
||||
import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
||||
import ca.uhn.fhir.model.primitive.IdDt;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
|
||||
@ -36,8 +38,6 @@ import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* This class can be used to build a Bundle resource to be used as a FHIR transaction. Convenience methods provide
|
||||
@ -196,11 +196,7 @@ public class BundleBuilder {
|
||||
public UpdateBuilder addTransactionUpdateEntry(IBaseResource theResource) {
|
||||
Validate.notNull(theResource, "theResource must not be null");
|
||||
|
||||
IIdType id = theResource.getIdElement();
|
||||
if (id.hasIdPart() && !id.hasResourceType()) {
|
||||
String resourceType = myContext.getResourceType(theResource);
|
||||
id = id.withResourceType(resourceType);
|
||||
}
|
||||
IIdType id = getIdTypeForUpdate(theResource);
|
||||
|
||||
String requestUrl = id.toUnqualifiedVersionless().getValue();
|
||||
String fullUrl = id.getValue();
|
||||
@ -225,13 +221,29 @@ public class BundleBuilder {
|
||||
myEntryRequestUrlChild.getMutator().setValue(request, url);
|
||||
|
||||
// Bundle.entry.request.method
|
||||
IPrimitiveType<?> method = (IPrimitiveType<?>)
|
||||
myEntryRequestMethodDef.newInstance(myEntryRequestMethodChild.getInstanceConstructorArguments());
|
||||
method.setValueAsString(theHttpVerb);
|
||||
myEntryRequestMethodChild.getMutator().setValue(request, method);
|
||||
addRequestMethod(request, theHttpVerb);
|
||||
return url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an entry containing an update (UPDATE) request without the body of the resource.
|
||||
* Also sets the Bundle.type value to "transaction" if it is not already set.
|
||||
*
|
||||
* @param theResource The resource to update.
|
||||
*/
|
||||
public void addTransactionUpdateIdOnlyEntry(IBaseResource theResource) {
|
||||
setBundleField("type", "transaction");
|
||||
|
||||
Validate.notNull(theResource, "theResource must not be null");
|
||||
|
||||
IIdType id = getIdTypeForUpdate(theResource);
|
||||
String requestUrl = id.toUnqualifiedVersionless().getValue();
|
||||
String fullUrl = id.getValue();
|
||||
String httpMethod = "PUT";
|
||||
|
||||
addIdOnlyEntry(requestUrl, httpMethod, fullUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an entry containing an create (POST) request.
|
||||
* Also sets the Bundle.type value to "transaction" if it is not already set.
|
||||
@ -247,20 +259,47 @@ public class BundleBuilder {
|
||||
String resourceType = myContext.getResourceType(theResource);
|
||||
|
||||
// Bundle.entry.request.url
|
||||
IPrimitiveType<?> url =
|
||||
(IPrimitiveType<?>) myContext.getElementDefinition("uri").newInstance();
|
||||
url.setValueAsString(resourceType);
|
||||
myEntryRequestUrlChild.getMutator().setValue(request, url);
|
||||
addRequestUrl(request, resourceType);
|
||||
|
||||
// Bundle.entry.request.url
|
||||
IPrimitiveType<?> method = (IPrimitiveType<?>)
|
||||
myEntryRequestMethodDef.newInstance(myEntryRequestMethodChild.getInstanceConstructorArguments());
|
||||
method.setValueAsString("POST");
|
||||
myEntryRequestMethodChild.getMutator().setValue(request, method);
|
||||
// Bundle.entry.request.method
|
||||
addRequestMethod(request, "POST");
|
||||
|
||||
return new CreateBuilder(request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an entry containing a create (POST) request without the body of the resource.
|
||||
* Also sets the Bundle.type value to "transaction" if it is not already set.
|
||||
*
|
||||
* @param theResource The resource to create
|
||||
*/
|
||||
public void addTransactionCreateEntryIdOnly(IBaseResource theResource) {
|
||||
setBundleField("type", "transaction");
|
||||
|
||||
String requestUrl = myContext.getResourceType(theResource);
|
||||
String fullUrl = theResource.getIdElement().getValue();
|
||||
String httpMethod = "POST";
|
||||
|
||||
addIdOnlyEntry(requestUrl, httpMethod, fullUrl);
|
||||
}
|
||||
|
||||
private void addIdOnlyEntry(String theRequestUrl, String theHttpMethod, String theFullUrl) {
|
||||
IBase entry = addEntry();
|
||||
|
||||
// Bundle.entry.request
|
||||
IBase request = myEntryRequestDef.newInstance();
|
||||
myEntryRequestChild.getMutator().setValue(entry, request);
|
||||
|
||||
// Bundle.entry.request.url
|
||||
addRequestUrl(request, theRequestUrl);
|
||||
|
||||
// Bundle.entry.request.method
|
||||
addRequestMethod(request, theHttpMethod);
|
||||
|
||||
// Bundle.entry.fullUrl
|
||||
addFullUrl(entry, theFullUrl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an entry containing a delete (DELETE) request.
|
||||
* Also sets the Bundle.type value to "transaction" if it is not already set.
|
||||
@ -341,20 +380,44 @@ public class BundleBuilder {
|
||||
IBase request = addEntryAndReturnRequest();
|
||||
|
||||
// Bundle.entry.request.url
|
||||
IPrimitiveType<?> url =
|
||||
(IPrimitiveType<?>) myContext.getElementDefinition("uri").newInstance();
|
||||
url.setValueAsString(theDeleteUrl);
|
||||
myEntryRequestUrlChild.getMutator().setValue(request, url);
|
||||
addRequestUrl(request, theDeleteUrl);
|
||||
|
||||
// Bundle.entry.request.method
|
||||
IPrimitiveType<?> method = (IPrimitiveType<?>)
|
||||
myEntryRequestMethodDef.newInstance(myEntryRequestMethodChild.getInstanceConstructorArguments());
|
||||
method.setValueAsString("DELETE");
|
||||
myEntryRequestMethodChild.getMutator().setValue(request, method);
|
||||
addRequestMethod(request, "DELETE");
|
||||
|
||||
return new DeleteBuilder();
|
||||
}
|
||||
|
||||
private IIdType getIdTypeForUpdate(IBaseResource theResource) {
|
||||
IIdType id = theResource.getIdElement();
|
||||
if (id.hasIdPart() && !id.hasResourceType()) {
|
||||
String resourceType = myContext.getResourceType(theResource);
|
||||
id = id.withResourceType(resourceType);
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
private void addFullUrl(IBase theEntry, String theFullUrl) {
|
||||
IPrimitiveType<?> fullUrl =
|
||||
(IPrimitiveType<?>) myContext.getElementDefinition("uri").newInstance();
|
||||
fullUrl.setValueAsString(theFullUrl);
|
||||
myEntryFullUrlChild.getMutator().setValue(theEntry, fullUrl);
|
||||
}
|
||||
|
||||
private void addRequestUrl(IBase request, String theRequestUrl) {
|
||||
IPrimitiveType<?> url =
|
||||
(IPrimitiveType<?>) myContext.getElementDefinition("uri").newInstance();
|
||||
url.setValueAsString(theRequestUrl);
|
||||
myEntryRequestUrlChild.getMutator().setValue(request, url);
|
||||
}
|
||||
|
||||
private void addRequestMethod(IBase theRequest, String theMethod) {
|
||||
IPrimitiveType<?> method = (IPrimitiveType<?>)
|
||||
myEntryRequestMethodDef.newInstance(myEntryRequestMethodChild.getInstanceConstructorArguments());
|
||||
method.setValueAsString(theMethod);
|
||||
myEntryRequestMethodChild.getMutator().setValue(theRequest, method);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds an entry for a Collection bundle type
|
||||
*/
|
||||
@ -406,10 +469,7 @@ public class BundleBuilder {
|
||||
IBase entry = addEntry();
|
||||
|
||||
// Bundle.entry.fullUrl
|
||||
IPrimitiveType<?> fullUrl =
|
||||
(IPrimitiveType<?>) myContext.getElementDefinition("uri").newInstance();
|
||||
fullUrl.setValueAsString(theFullUrl);
|
||||
myEntryFullUrlChild.getMutator().setValue(entry, fullUrl);
|
||||
addFullUrl(entry, theFullUrl);
|
||||
|
||||
// Bundle.entry.resource
|
||||
myEntryResourceChild.getMutator().setValue(entry, theResource);
|
||||
|
@ -35,6 +35,7 @@ import ca.uhn.fhir.util.bundle.EntryListAccumulator;
|
||||
import ca.uhn.fhir.util.bundle.ModifiableBundleEntry;
|
||||
import ca.uhn.fhir.util.bundle.SearchBundleEntryParts;
|
||||
import com.google.common.collect.Sets;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseBinary;
|
||||
@ -54,7 +55,6 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
import static org.hl7.fhir.instance.model.api.IBaseBundle.LINK_PREV;
|
||||
|
@ -24,6 +24,7 @@ import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.rest.api.EncodingEnum;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||
import com.google.common.base.Charsets;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.io.input.BOMInputStream;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
@ -37,7 +38,6 @@ import java.io.Reader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.function.Function;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
/**
|
||||
* Use this API with caution, it may change!
|
||||
|
@ -21,6 +21,7 @@ package ca.uhn.fhir.util;
|
||||
|
||||
import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseCoding;
|
||||
import org.hl7.fhir.instance.model.api.IBaseReference;
|
||||
@ -29,7 +30,6 @@ import org.hl7.fhir.instance.model.api.IIdType;
|
||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
/**
|
||||
* This class can be used to generate <code>Composition</code> resources in
|
||||
|
@ -20,10 +20,10 @@
|
||||
package ca.uhn.fhir.util;
|
||||
|
||||
import ca.uhn.fhir.rest.param.DateRangeParam;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class DateRangeUtil {
|
||||
|
||||
|
@ -21,6 +21,7 @@ package ca.uhn.fhir.util;
|
||||
|
||||
import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
@ -33,7 +34,6 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
/**
|
||||
* Utility for modifying with extensions in a FHIR version-independent approach.
|
||||
|
@ -42,6 +42,8 @@ import ca.uhn.fhir.model.primitive.IdDt;
|
||||
import ca.uhn.fhir.model.primitive.StringDt;
|
||||
import ca.uhn.fhir.parser.DataFormatException;
|
||||
import com.google.common.collect.Lists;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
@ -71,8 +73,6 @@ import java.util.Set;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.defaultString;
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
|
@ -27,12 +27,12 @@ import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class JsonUtil {
|
||||
|
||||
|
@ -28,6 +28,7 @@ import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseCoding;
|
||||
import org.hl7.fhir.instance.model.api.IBaseOperationOutcome;
|
||||
@ -36,7 +37,6 @@ import org.hl7.fhir.instance.model.api.ICompositeType;
|
||||
import org.hl7.fhir.instance.model.api.IPrimitiveType;
|
||||
|
||||
import java.util.List;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
||||
|
@ -27,6 +27,7 @@ import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.model.api.annotation.Description;
|
||||
import ca.uhn.fhir.model.primitive.StringDt;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseDatatype;
|
||||
@ -45,7 +46,6 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.defaultIfBlank;
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
|
@ -22,6 +22,7 @@ package ca.uhn.fhir.util;
|
||||
import ca.uhn.fhir.context.ConfigurationException;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
@ -39,7 +40,6 @@ import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class ReflectionUtil {
|
||||
|
||||
|
@ -24,6 +24,7 @@ import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.context.RuntimeResourceDefinition;
|
||||
import ca.uhn.fhir.context.RuntimeSearchParam;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.hl7.fhir.instance.model.api.IBase;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
@ -34,7 +35,6 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class SearchParameterUtil {
|
||||
|
||||
|
@ -19,11 +19,12 @@
|
||||
*/
|
||||
package ca.uhn.fhir.util;
|
||||
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
import java.io.CharArrayWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.text.Normalizer;
|
||||
import java.util.Arrays;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class StringUtil {
|
||||
|
||||
|
@ -28,6 +28,8 @@ import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
|
||||
import com.google.common.escape.Escaper;
|
||||
import com.google.common.net.PercentEscaper;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.http.NameValuePair;
|
||||
import org.apache.http.client.utils.URLEncodedUtils;
|
||||
@ -50,8 +52,6 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.defaultIfBlank;
|
||||
import static org.apache.commons.lang3.StringUtils.defaultString;
|
||||
|
@ -21,9 +21,9 @@ package ca.uhn.fhir.validation;
|
||||
|
||||
import ca.uhn.fhir.context.FhirContext;
|
||||
import ca.uhn.fhir.rest.api.EncodingEnum;
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public interface IValidationContext<T> {
|
||||
|
||||
|
@ -26,11 +26,11 @@ import ca.uhn.fhir.parser.LenientErrorHandler;
|
||||
import ca.uhn.fhir.rest.api.EncodingEnum;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
|
||||
import ca.uhn.fhir.util.ObjectUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.ObjectUtils.defaultIfNull;
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
*/
|
||||
package org.hl7.fhir.instance.model.api;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import jakarta.annotation.Nullable;
|
||||
|
||||
public interface IPrimitiveType<T> extends IBaseDatatype {
|
||||
|
||||
|
@ -206,10 +206,3 @@ ca.uhn.fhir.jpa.provider.DiffProvider.cantDiffDifferentTypes=Unable to diff two
|
||||
|
||||
ca.uhn.fhir.jpa.interceptor.validation.RuleRequireProfileDeclaration.noMatchingProfile=Resource of type "{0}" does not declare conformance to profile from: {1}
|
||||
ca.uhn.fhir.jpa.interceptor.validation.RuleRequireProfileDeclaration.illegalProfile=Resource of type "{0}" must not declare conformance to profile: {1}
|
||||
|
||||
operation.member.match.error.coverage.not.found=Could not find coverage for member based on coverage id or coverage identifier.
|
||||
operation.member.match.error.beneficiary.not.found=Could not find beneficiary for coverage.
|
||||
operation.member.match.error.missing.parameter=Parameter "{0}" is required.
|
||||
operation.member.match.error.beneficiary.without.identifier=Coverage beneficiary does not have an identifier.
|
||||
operation.member.match.error.patient.not.found=Could not find matching patient for coverage.
|
||||
operation.member.match.error.consent.release.data.mismatch=Consent policy does not match the data release segmentation capabilities.
|
||||
|
@ -8,7 +8,7 @@ import org.mockito.Captor;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-bom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<packaging>pom</packaging>
|
||||
<name>HAPI FHIR BOM</name>
|
||||
@ -12,7 +12,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -31,9 +31,19 @@
|
||||
</module>
|
||||
<module name="RegexpSinglelineJava">
|
||||
<property name="format" value="org\.jetbrains\.annotations\.NotNull"/>
|
||||
<property name="message" value="Incorrect "org.jetbrains.annotation.NotNull" annotation used: The "jakarta.annotation.Nonnull" annotation should be used for non-null values"/>
|
||||
</module>
|
||||
<module name="RegexpSinglelineJava">
|
||||
<property name="format" value="org\.jetbrains\.annotations\.Nullable"/>
|
||||
<property name="message" value="Incorrect "org.jetbrains.annotation.Nullable" annotation used: The "jakarta.annotation.Nullable" annotation should be used for nullable values"/>
|
||||
</module>
|
||||
<module name="RegexpSinglelineJava">
|
||||
<property name="format" value="javax\.annotation\.Nonnull"/>
|
||||
<property name="message" value="Incorrect "javax.annotation.Nonnull" used: "jakarta.annotation.Nonnull" should be used for non-null values"/>
|
||||
</module>
|
||||
<module name="RegexpSinglelineJava">
|
||||
<property name="format" value="javax\.annotation\.Nullable"/>
|
||||
<property name="message" value="Incorrect "javax.annotation.Nullable" used: "jakarta.annotation.Nonnull" should be used for nullable values"/>
|
||||
</module>
|
||||
<!-- Should always use the Spring transactional interface, per: https://stackoverflow.com/questions/26387399/javax-transaction-transactional-vs-org-springframework-transaction-annotation-tr -->
|
||||
<module name="RegexpSinglelineJava">
|
||||
|
@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -34,6 +34,7 @@ import com.google.common.base.Charsets;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.apache.commons.cli.CommandLine;
|
||||
import org.apache.commons.cli.Option;
|
||||
import org.apache.commons.cli.OptionGroup;
|
||||
@ -75,7 +76,6 @@ import java.util.Optional;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
@ -31,6 +31,7 @@ import ca.uhn.fhir.rest.client.interceptor.LoggingInterceptor;
|
||||
import ca.uhn.fhir.rest.param.StringParam;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||
import ca.uhn.fhir.util.ParametersUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.cli.CommandLine;
|
||||
import org.apache.commons.cli.Options;
|
||||
import org.apache.commons.cli.ParseException;
|
||||
@ -68,7 +69,6 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class BulkImportCommand extends BaseCommand {
|
||||
|
||||
|
@ -24,6 +24,7 @@ import ca.uhn.fhir.rest.client.api.IGenericClient;
|
||||
import ca.uhn.fhir.rest.client.interceptor.LoggingInterceptor;
|
||||
import ca.uhn.fhir.rest.server.exceptions.BaseServerResponseException;
|
||||
import ca.uhn.fhir.util.ParametersUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.cli.CommandLine;
|
||||
import org.apache.commons.cli.ParseException;
|
||||
import org.hl7.fhir.instance.model.api.IBaseParameters;
|
||||
@ -31,7 +32,6 @@ import org.hl7.fhir.r4.model.Parameters;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static ca.uhn.fhir.jpa.provider.BaseJpaSystemProvider.RESP_PARAM_SUCCESS;
|
||||
|
||||
|
@ -14,7 +14,7 @@ import org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStatemen
|
||||
import org.springframework.jdbc.support.lob.DefaultLobHandler;
|
||||
import org.springframework.jdbc.support.lob.LobCreator;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.sql.PreparedStatement;
|
||||
|
@ -20,7 +20,7 @@ import org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStatemen
|
||||
import org.springframework.jdbc.support.lob.DefaultLobHandler;
|
||||
import org.springframework.jdbc.support.lob.LobCreator;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.sql.PreparedStatement;
|
||||
|
@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir-cli</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -58,6 +58,7 @@ import ca.uhn.fhir.util.BinaryUtil;
|
||||
import ca.uhn.fhir.util.OperationOutcomeUtil;
|
||||
import ca.uhn.fhir.util.XmlDetectionUtil;
|
||||
import com.google.common.base.Charsets;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
@ -79,7 +80,6 @@ import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
@ -25,6 +25,7 @@ import ca.uhn.fhir.tls.KeyStoreInfo;
|
||||
import ca.uhn.fhir.tls.PathType;
|
||||
import ca.uhn.fhir.tls.TlsAuthentication;
|
||||
import ca.uhn.fhir.tls.TrustStoreInfo;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.apache.http.conn.ssl.DefaultHostnameVerifier;
|
||||
import org.apache.http.conn.ssl.NoopHostnameVerifier;
|
||||
@ -37,7 +38,6 @@ import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.security.KeyStore;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.net.ssl.HostnameVerifier;
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.TrustManager;
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -26,6 +26,7 @@ import ca.uhn.fhir.i18n.Msg;
|
||||
import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt;
|
||||
import ca.uhn.fhir.model.dstu2.composite.CodingDt;
|
||||
import ca.uhn.fhir.util.HapiExtensions;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40;
|
||||
import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50;
|
||||
@ -69,7 +70,6 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||
|
||||
|
@ -19,13 +19,12 @@
|
||||
*/
|
||||
package org.hl7.fhir.converter;
|
||||
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30;
|
||||
import org.hl7.fhir.dstu3.model.CodeSystem;
|
||||
import org.hl7.fhir.dstu3.model.ValueSet;
|
||||
import org.hl7.fhir.exceptions.FHIRException;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class NullVersionConverterAdvisor10_30 extends BaseAdvisor_10_30 {
|
||||
|
||||
@Nullable
|
||||
|
@ -19,13 +19,12 @@
|
||||
*/
|
||||
package org.hl7.fhir.converter;
|
||||
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40;
|
||||
import org.hl7.fhir.exceptions.FHIRException;
|
||||
import org.hl7.fhir.r4.model.CodeSystem;
|
||||
import org.hl7.fhir.r4.model.ValueSet;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class NullVersionConverterAdvisor10_40 extends BaseAdvisor_10_40 {
|
||||
|
||||
@Nullable
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -26,11 +26,11 @@ import ca.uhn.fhir.rest.server.RestfulServer;
|
||||
import ca.uhn.fhir.storage.interceptor.balp.AsyncMemoryQueueBackedFhirClientBalpSink;
|
||||
import ca.uhn.fhir.storage.interceptor.balp.IBalpAuditContextServices;
|
||||
import ca.uhn.fhir.storage.interceptor.balp.IBalpAuditEventSink;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.servlet.ServletException;
|
||||
import org.hl7.fhir.r4.model.Reference;
|
||||
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class BalpExample {
|
||||
|
||||
|
@ -25,12 +25,12 @@ import ca.uhn.fhir.rest.api.server.IBundleProvider;
|
||||
import ca.uhn.fhir.rest.param.StringParam;
|
||||
import ca.uhn.fhir.rest.server.IResourceProvider;
|
||||
import ca.uhn.fhir.rest.server.method.ResponsePage;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||
import org.hl7.fhir.r4.model.InstantType;
|
||||
import org.hl7.fhir.r4.model.Patient;
|
||||
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@SuppressWarnings("null")
|
||||
// START SNIPPET: provider
|
||||
|
@ -36,6 +36,7 @@ import ca.uhn.fhir.validation.SchemaBaseValidator;
|
||||
import ca.uhn.fhir.validation.SingleValidationMessage;
|
||||
import ca.uhn.fhir.validation.ValidationResult;
|
||||
import ca.uhn.fhir.validation.schematron.SchematronBaseValidator;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.servlet.ServletException;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.io.filefilter.WildcardFileFilter;
|
||||
@ -60,7 +61,6 @@ import org.hl7.fhir.r4.model.ValueSet;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.util.List;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@SuppressWarnings({"serial", "unused"})
|
||||
public class ValidatorExamples {
|
||||
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
type: fix
|
||||
issue: 5340
|
||||
title: "Updated documentation specifying the correct status (CANCELLED) to set the job status to if a job is cancelled."
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
type: fix
|
||||
jira: SMILE-7624
|
||||
title: "Previously, it was impossible to find all resources from different partitions for $everything operation
|
||||
with partitioning.cross_partition_reference_mode=ALLOWED_UNQUALIFIED and dao_config.client_id_mode=ANY.
|
||||
It's fixed now"
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
type: add
|
||||
issue: 5498
|
||||
title: "Added support for `id-only` and `empty` payload content types for notifications
|
||||
triggered by R5, R4B, and R4 back-ported topic subscriptions."
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
type: remove
|
||||
issue: 5505
|
||||
title: "Removed an incorrect implementation of $member-match."
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
type: fix
|
||||
issue: 5511
|
||||
title: 'Previously, CodeSystem `$lookup` with Remote Terminology Service enabled would throw NullPointerException
|
||||
when the CodeSystem included designations with no language value. Also, there was an inconsistency between
|
||||
input and output type `string` vs. `code` for property parameters. These issues have been fixed.'
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
type: fix
|
||||
issue: 5523
|
||||
jira: SMILE-7729
|
||||
title: "Previously, it was possible to store NPM Packages where the package name's case did not match the package ID's case, e.g. `my-package` was different than `MY-PACKAGE`. Names are now normalized to lower case before queries occur."
|
@ -0,0 +1,4 @@
|
||||
---
|
||||
type: add
|
||||
issue: 5536
|
||||
title: "In code: Support lowercase for SQL columns and overridden column type/driver type SQL type string rules"
|
@ -4,13 +4,20 @@
|
||||
title: "The version of a few dependencies have been bumped to the latest versions
|
||||
(dependent HAPI modules listed in brackets):
|
||||
<ul>
|
||||
<li>Spring Framework (JPA): 5.3.27 -> 6.0.12</li>
|
||||
<li>Spring Data BOM (JPA): 2021.2.2 -> 2023.0.0</li>
|
||||
<li>Hibernate (JPA): 5.6.15.Final -> 6.2.8.Final</li>
|
||||
<li>Jackson (Base): 2.15.3 -> 2.16.0</li>
|
||||
<li>SLF4j (Base): 2.0.3 -> 2.0.9</li>
|
||||
<li>Logback (Base): 1.4.7 -> 1.4.14</li>
|
||||
<li>Caffeine (Base): 3.1.1 -> 3.1.8</li>
|
||||
<li>Spring Framework (JPA): 5.3.27 -> 6.1.1</li>
|
||||
<li>Spring Boot (JPA-Starter): 5.3.27 -> 6.2.0</li>
|
||||
<li>Spring Data BOM (JPA): 2021.2.2 -> 2023.1.0</li>
|
||||
<li>Hibernate (JPA): 5.6.15.Final -> 6.4.0.Final</li>
|
||||
<li>Hibernate Validator (JPA): 6.1.5.Final -> 8.0.0.Final</li>
|
||||
<li>Hibernate Search (JPA): 6.1.6.Final -> 6.2.1.Final</li>
|
||||
<li>Hibernate Search (JPA): 6.1.6.Final -> 6.2.2.Final</li>
|
||||
<li>Commons-DBCP2 (JPA): 2.9.0 -> 2.11.0</li>
|
||||
<li>Spring Boot (Boot+Starter): 2.7.12 -> 3.1.4</li>
|
||||
<li>Jetty (CLI): 10.0.14 -> 12.0.2</li>
|
||||
<li>Jetty (CLI): 10.0.14 -> 12.0.3</li>
|
||||
<li>Jansi (CLI): 2.4.0 -> 2.4.1</li>
|
||||
<li>Phloc Schematron (Schematron Validator): 5.6.5 -> 7.1.2</li>
|
||||
<li>RestEasy (JAX-RS Server): 5.0.2.Final -> 6.2.5.Final</li>
|
||||
</ul>"
|
||||
|
@ -31,7 +31,7 @@ HAPI-FHIR Batch Jobs run based on job notification messages. The process is kic
|
||||
The handler then does the following:
|
||||
1. Change the work chunk status from QUEUED to IN_PROGRESS
|
||||
2. Change the Job Instance status from QUEUED to IN_PROGRESS
|
||||
3. If the Job Instance is cancelled, change the status to COMPLETED and abort processing.
|
||||
3. If the Job Instance is cancelled, change the status to CANCELLED and abort processing.
|
||||
4. The first step of the job definition is executed with the job parameters
|
||||
5. This step creates new work chunks. For each work chunk it creates, it json serializes the work chunk data, stores it in the database, and publishes a new message to the Batch Notification Message Channel to notify worker threads that there are new work chunks waiting to be processed.
|
||||
6. If the step succeeded, the work chunk status is changed from IN_PROGRESS to COMPLETED, and the data it contained is deleted.
|
||||
|
@ -11,7 +11,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -22,6 +22,7 @@ package ca.uhn.fhir.jaxrs.server.util;
|
||||
import ca.uhn.fhir.rest.api.Constants;
|
||||
import ca.uhn.fhir.rest.server.BaseRestfulResponse;
|
||||
import ca.uhn.fhir.util.IoUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import jakarta.ws.rs.core.Response.ResponseBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@ -34,7 +35,6 @@ import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
|
@ -19,6 +19,8 @@
|
||||
*/
|
||||
package ca.uhn.fhir.jpa.nickname;
|
||||
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
@ -27,7 +29,6 @@ import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
class NicknameMap {
|
||||
private final Map<String, List<String>> myFormalToNick = new HashMap<>();
|
||||
|
@ -21,6 +21,7 @@ package ca.uhn.fhir.jpa.nickname;
|
||||
|
||||
import ca.uhn.fhir.context.ConfigurationException;
|
||||
import ca.uhn.fhir.i18n.Msg;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
@ -34,7 +35,6 @@ import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
/**
|
||||
* Nickname service is used to load nicknames
|
||||
|
@ -26,6 +26,7 @@ import ca.uhn.fhir.jpa.model.sched.ScheduledJobDefinition;
|
||||
import ca.uhn.fhir.rest.server.exceptions.InternalErrorException;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.collect.Sets;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.quartz.JobKey;
|
||||
@ -47,7 +48,6 @@ import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public abstract class BaseHapiScheduler implements IHapiScheduler {
|
||||
private static final Logger ourLog = LoggerFactory.getLogger(BaseHapiScheduler.class);
|
||||
|
@ -19,10 +19,9 @@
|
||||
*/
|
||||
package ca.uhn.fhir.jpa.util;
|
||||
|
||||
import jakarta.annotation.Nullable;
|
||||
import org.hibernate.service.Service;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* This is an internal API and may change or disappear without notice
|
||||
*
|
||||
|
@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-deployable-pom</artifactId>
|
||||
<version>6.11.5-SNAPSHOT</version>
|
||||
<version>6.11.7-SNAPSHOT</version>
|
||||
|
||||
<relativePath>../hapi-deployable-pom/pom.xml</relativePath>
|
||||
</parent>
|
||||
@ -578,8 +578,8 @@
|
||||
</dialect>
|
||||
<dialect>
|
||||
<className>ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgresDialect</className>
|
||||
<prependFile>classpath:ca/uhn/fhir/jpa/docs/database/hapifhirpostgres94-init01.sql</prependFile>
|
||||
<targetFileName>postgres.sql</targetFileName>
|
||||
<appendFile>classpath:ca/uhn/fhir/jpa/docs/database/hapifhirpostgres94-init01.sql</appendFile>
|
||||
</dialect>
|
||||
</dialects>
|
||||
<outputDirectory>${project.build.directory}/classes/ca/uhn/hapi/fhir/jpa/docs/database</outputDirectory>
|
||||
|
@ -23,8 +23,7 @@ import ca.uhn.fhir.batch2.model.JobInstance;
|
||||
import ca.uhn.fhir.batch2.model.WorkChunk;
|
||||
import ca.uhn.fhir.jpa.entity.Batch2JobInstanceEntity;
|
||||
import ca.uhn.fhir.jpa.entity.Batch2WorkChunkEntity;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import jakarta.annotation.Nonnull;
|
||||
|
||||
class JobInstanceUtil {
|
||||
|
||||
|
@ -47,6 +47,8 @@ import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.Nullable;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.LockModeType;
|
||||
import jakarta.persistence.Query;
|
||||
@ -72,8 +74,6 @@ import java.util.UUID;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import static ca.uhn.fhir.batch2.coordinator.WorkChunkProcessor.MAX_CHUNK_ERROR_COUNT;
|
||||
import static ca.uhn.fhir.jpa.entity.Batch2WorkChunkEntity.ERROR_MSG_MAX_LENGTH;
|
||||
|
@ -28,6 +28,7 @@ import ca.uhn.fhir.rest.api.server.RequestDetails;
|
||||
import ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException;
|
||||
import com.google.common.hash.HashingInputStream;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.PersistenceContext;
|
||||
import jakarta.persistence.PersistenceContextType;
|
||||
@ -47,7 +48,6 @@ import java.sql.Blob;
|
||||
import java.sql.SQLException;
|
||||
import java.util.Date;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
@Transactional
|
||||
public class DatabaseBlobBinaryStorageSvcImpl extends BaseBinaryStorageSvcImpl {
|
||||
|
@ -34,6 +34,7 @@ import ca.uhn.fhir.jpa.model.sched.ScheduledJobDefinition;
|
||||
import ca.uhn.fhir.rest.api.server.SystemRequestDetails;
|
||||
import ca.uhn.fhir.util.Batch2JobDefinitionConstants;
|
||||
import ca.uhn.fhir.util.JsonUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.time.DateUtils;
|
||||
@ -55,7 +56,6 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static org.slf4j.LoggerFactory.getLogger;
|
||||
|
||||
|
@ -58,6 +58,7 @@ import ca.uhn.fhir.util.ExtensionUtil;
|
||||
import ca.uhn.fhir.util.HapiExtensions;
|
||||
import ca.uhn.fhir.util.Logs;
|
||||
import ca.uhn.fhir.util.SearchParameterUtil;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hl7.fhir.instance.model.api.IBaseExtension;
|
||||
@ -79,7 +80,6 @@ import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static ca.uhn.fhir.rest.api.Constants.PARAM_HAS;
|
||||
import static ca.uhn.fhir.rest.api.Constants.PARAM_ID;
|
||||
|
@ -40,6 +40,7 @@ import ca.uhn.fhir.rest.server.exceptions.InvalidRequestException;
|
||||
import ca.uhn.fhir.util.Logs;
|
||||
import ca.uhn.fhir.util.ValidateUtil;
|
||||
import com.apicatalog.jsonld.StringUtils;
|
||||
import jakarta.annotation.Nonnull;
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import org.apache.commons.lang3.time.DateUtils;
|
||||
import org.quartz.JobExecutionContext;
|
||||
@ -59,7 +60,6 @@ import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Semaphore;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import static ca.uhn.fhir.batch2.jobs.importpull.BulkImportPullConfig.BULK_IMPORT_JOB_NAME;
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user