Merge pull request #72 from hapifhir/rel_4_2_0
Start 4.2.0 release branch
This commit is contained in:
4
pom.xml
4
pom.xml
@@ -11,7 +11,7 @@
|
||||
<parent>
|
||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||
<artifactId>hapi-fhir</artifactId>
|
||||
<version>4.1.0</version>
|
||||
<version>4.2.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>hapi-fhir-jpaserver-starter</artifactId>
|
||||
@@ -276,7 +276,7 @@
|
||||
<plugin>
|
||||
<groupId>org.eclipse.jetty</groupId>
|
||||
<artifactId>jetty-maven-plugin</artifactId>
|
||||
<version>9.4.22.v20191022</version>
|
||||
<version>${jetty_version}</version>
|
||||
<configuration>
|
||||
<webApp>
|
||||
<contextPath>/hapi-fhir-jpaserver</contextPath>
|
||||
|
||||
@@ -173,7 +173,13 @@ public class FhirServerConfigCommon {
|
||||
@Lazy
|
||||
@Bean
|
||||
public IBinaryStorageSvc binaryStorageSvc() {
|
||||
return new DatabaseBlobBinaryStorageSvcImpl();
|
||||
DatabaseBlobBinaryStorageSvcImpl binaryStorageSvc = new DatabaseBlobBinaryStorageSvcImpl();
|
||||
|
||||
if (HapiProperties.getMaxBinarySize() != null) {
|
||||
binaryStorageSvc.setMaximumBinarySize(HapiProperties.getMaxBinarySize());
|
||||
}
|
||||
|
||||
return binaryStorageSvc;
|
||||
}
|
||||
|
||||
@Bean()
|
||||
|
||||
@@ -19,7 +19,9 @@ import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.apache.commons.lang3.StringUtils.*;
|
||||
import static org.apache.commons.lang3.StringUtils.defaultString;
|
||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
import static org.apache.commons.lang3.StringUtils.trim;
|
||||
|
||||
public class HapiProperties {
|
||||
static final String ENABLE_INDEX_MISSING_FIELDS = "enable_index_missing_fields";
|
||||
@@ -64,12 +66,13 @@ public class HapiProperties {
|
||||
static final String ALLOW_CONTAINS_SEARCHES = "allow_contains_searches";
|
||||
static final String ALLOW_OVERRIDE_DEFAULT_SEARCH_PARAMS = "allow_override_default_search_params";
|
||||
static final String EMAIL_FROM = "email.from";
|
||||
private static final String VALIDATE_REQUESTS_ENABLED = "validation.requests.enabled";
|
||||
private static final String VALIDATE_RESPONSES_ENABLED = "validation.responses.enabled";
|
||||
private static final String FILTER_SEARCH_ENABLED = "filter_search.enabled";
|
||||
private static final String GRAPHQL_ENABLED = "graphql.enabled";
|
||||
private static final String BULK_EXPORT_ENABLED = "bulk.export.enabled";
|
||||
public static final String EXPIRE_SEARCH_RESULTS_AFTER_MINS = "retain_cached_searches_mins";
|
||||
static final String VALIDATE_REQUESTS_ENABLED = "validation.requests.enabled";
|
||||
static final String VALIDATE_RESPONSES_ENABLED = "validation.responses.enabled";
|
||||
static final String FILTER_SEARCH_ENABLED = "filter_search.enabled";
|
||||
static final String GRAPHQL_ENABLED = "graphql.enabled";
|
||||
static final String BULK_EXPORT_ENABLED = "bulk.export.enabled";
|
||||
static final String EXPIRE_SEARCH_RESULTS_AFTER_MINS = "retain_cached_searches_mins";
|
||||
static final String MAX_BINARY_SIZE = "max_binary_size";
|
||||
private static Properties ourProperties;
|
||||
|
||||
public static boolean isElasticSearchEnabled() {
|
||||
@@ -403,10 +406,21 @@ public class HapiProperties {
|
||||
}
|
||||
|
||||
// Defaults from https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html
|
||||
public static Boolean getEmailAuth() { return HapiProperties.getBooleanProperty("email.auth", false); }
|
||||
public static Boolean getEmailStartTlsEnable() { return HapiProperties.getBooleanProperty("email.starttls.enable", false); }
|
||||
public static Boolean getEmailStartTlsRequired() { return HapiProperties.getBooleanProperty("email.starttls.required", false); }
|
||||
public static Boolean getEmailQuitWait() { return HapiProperties.getBooleanProperty("email.quitwait", true); }
|
||||
public static Boolean getEmailAuth() {
|
||||
return HapiProperties.getBooleanProperty("email.auth", false);
|
||||
}
|
||||
|
||||
public static Boolean getEmailStartTlsEnable() {
|
||||
return HapiProperties.getBooleanProperty("email.starttls.enable", false);
|
||||
}
|
||||
|
||||
public static Boolean getEmailStartTlsRequired() {
|
||||
return HapiProperties.getBooleanProperty("email.starttls.required", false);
|
||||
}
|
||||
|
||||
public static Boolean getEmailQuitWait() {
|
||||
return HapiProperties.getBooleanProperty("email.quitwait", true);
|
||||
}
|
||||
|
||||
public static Long getReuseCachedSearchResultsMillis() {
|
||||
String value = HapiProperties.getProperty(REUSE_CACHED_SEARCH_RESULTS_MILLIS, "60000");
|
||||
@@ -453,6 +467,11 @@ public class HapiProperties {
|
||||
public static boolean getEnableIndexMissingFields() {
|
||||
return HapiProperties.getBooleanProperty(ENABLE_INDEX_MISSING_FIELDS, false);
|
||||
}
|
||||
|
||||
public static Integer getMaxBinarySize() {
|
||||
return getIntegerProperty(MAX_BINARY_SIZE, null);
|
||||
}
|
||||
|
||||
private static boolean getPropertyBoolean(String thePropertyName, boolean theDefaultValue) {
|
||||
String value = getProperty(thePropertyName, Boolean.toString(theDefaultValue));
|
||||
return Boolean.parseBoolean(value);
|
||||
|
||||
@@ -43,6 +43,11 @@ server.name=Local Tester
|
||||
server.id=home
|
||||
test.port=
|
||||
|
||||
###################################################
|
||||
# Binary Storage (104857600 = 100mb)
|
||||
###################################################
|
||||
max_binary_size=104857600
|
||||
|
||||
###################################################
|
||||
# Validation
|
||||
###################################################
|
||||
|
||||
@@ -43,6 +43,8 @@ public class ExampleServerDstu3IT {
|
||||
HapiProperties.setProperty(HapiProperties.FHIR_VERSION, "DSTU3");
|
||||
HapiProperties.setProperty(HapiProperties.DATASOURCE_URL, "jdbc:h2:mem:dbr3");
|
||||
HapiProperties.setProperty(HapiProperties.SUBSCRIPTION_WEBSOCKET_ENABLED, "true");
|
||||
HapiProperties.setProperty(HapiProperties.ALLOW_EXTERNAL_REFERENCES, "true");
|
||||
HapiProperties.setProperty(HapiProperties.ALLOW_PLACEHOLDER_REFERENCES, "true");
|
||||
ourCtx = FhirContext.forDstu3();
|
||||
}
|
||||
|
||||
|
||||
@@ -14,12 +14,7 @@ import org.eclipse.jetty.websocket.api.Session;
|
||||
import org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
|
||||
import org.eclipse.jetty.websocket.client.WebSocketClient;
|
||||
import org.hl7.fhir.instance.model.api.IIdType;
|
||||
import org.hl7.fhir.r5.model.Bundle;
|
||||
import org.hl7.fhir.r5.model.Observation;
|
||||
import org.hl7.fhir.r5.model.Patient;
|
||||
import org.hl7.fhir.r5.model.Subscription;
|
||||
import org.hl7.fhir.r5.model.Topic;
|
||||
import org.hl7.fhir.r5.model.codesystems.SubscriptionChannelType;
|
||||
import org.hl7.fhir.r5.model.*;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
@@ -80,8 +75,8 @@ public class ExampleServerR5IT {
|
||||
|
||||
Subscription.SubscriptionChannelComponent channel = new Subscription.SubscriptionChannelComponent();
|
||||
channel.getType().addCoding()
|
||||
.setSystem(SubscriptionChannelType.WEBSOCKET.getSystem())
|
||||
.setCode(SubscriptionChannelType.WEBSOCKET.toCode());
|
||||
.setSystem("http://terminology.hl7.org/CodeSystem/subscription-channel-type")
|
||||
.setCode("websocket");
|
||||
channel.getPayload().setContentType("application/json");
|
||||
subscription.setChannel(channel);
|
||||
|
||||
@@ -111,7 +106,7 @@ public class ExampleServerR5IT {
|
||||
* Create a matching resource
|
||||
*/
|
||||
Observation obs = new Observation();
|
||||
obs.setStatus(Observation.ObservationStatus.FINAL);
|
||||
obs.setStatus(Enumerations.ObservationStatus.FINAL);
|
||||
ourClient.create().resource(obs).execute();
|
||||
|
||||
// Give some time for the subscription to deliver
|
||||
|
||||
Reference in New Issue
Block a user