Skip to content

Commit f7fa572

Browse files
authored
Merge pull request #89 from hapifhir/rel_5_0_0
Start 5.0.0 release branch
2 parents 7b5e0ae + 3f43a91 commit f7fa572

File tree

8 files changed

+117
-116
lines changed

8 files changed

+117
-116
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ before_script:
2929
- sudo chown -R travis:travis "$HOME/.m2/repository";
3030

3131
script:
32-
- mvn -U install
32+
- mvn -B install
3333

3434

3535

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<parent>
1212
<groupId>ca.uhn.hapi.fhir</groupId>
1313
<artifactId>hapi-fhir</artifactId>
14-
<version>4.2.0</version>
14+
<version>5.0.0</version>
1515
</parent>
1616

1717
<artifactId>hapi-fhir-jpaserver-starter</artifactId>
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,40 @@
11
package ca.uhn.fhir.jpa.starter;
22

33
import ca.uhn.fhir.context.FhirVersionEnum;
4+
import ca.uhn.fhir.jpa.subscription.channel.config.SubscriptionChannelConfig;
5+
import ca.uhn.fhir.jpa.subscription.match.config.SubscriptionProcessorConfig;
6+
import ca.uhn.fhir.jpa.subscription.match.config.WebsocketDispatcherConfig;
7+
import ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig;
48
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
59

610
public class ApplicationContext extends AnnotationConfigWebApplicationContext {
711

8-
public ApplicationContext() {
9-
FhirVersionEnum fhirVersion = HapiProperties.getFhirVersion();
10-
if (fhirVersion == FhirVersionEnum.DSTU2) {
11-
register(FhirServerConfigDstu2.class, FhirServerConfigCommon.class);
12-
} else if (fhirVersion == FhirVersionEnum.DSTU3) {
13-
register(FhirServerConfigDstu3.class, FhirServerConfigCommon.class);
14-
} else if (fhirVersion == FhirVersionEnum.R4) {
15-
register(FhirServerConfigR4.class, FhirServerConfigCommon.class);
16-
} else if (fhirVersion == FhirVersionEnum.R5) {
17-
register(FhirServerConfigR5.class, FhirServerConfigCommon.class);
18-
} else {
19-
throw new IllegalStateException();
20-
}
12+
public ApplicationContext() {
13+
FhirVersionEnum fhirVersion = HapiProperties.getFhirVersion();
14+
if (fhirVersion == FhirVersionEnum.DSTU2) {
15+
register(FhirServerConfigDstu2.class, FhirServerConfigCommon.class);
16+
} else if (fhirVersion == FhirVersionEnum.DSTU3) {
17+
register(FhirServerConfigDstu3.class, FhirServerConfigCommon.class);
18+
} else if (fhirVersion == FhirVersionEnum.R4) {
19+
register(FhirServerConfigR4.class, FhirServerConfigCommon.class);
20+
} else if (fhirVersion == FhirVersionEnum.R5) {
21+
register(FhirServerConfigR5.class, FhirServerConfigCommon.class);
22+
} else {
23+
throw new IllegalStateException();
24+
}
2125

22-
if (HapiProperties.getSubscriptionWebsocketEnabled()) {
23-
register(ca.uhn.fhir.jpa.config.WebsocketDispatcherConfig.class);
24-
}
26+
if (HapiProperties.getSubscriptionWebsocketEnabled()) {
27+
register(WebsocketDispatcherConfig.class);
28+
}
2529

30+
if (HapiProperties.getSubscriptionEmailEnabled()
31+
|| HapiProperties.getSubscriptionRestHookEnabled()
32+
|| HapiProperties.getSubscriptionWebsocketEnabled()) {
33+
register(SubscriptionSubmitterConfig.class);
34+
register(SubscriptionProcessorConfig.class);
35+
register(SubscriptionChannelConfig.class);
2636
}
2737

38+
}
39+
2840
}

src/main/java/ca/uhn/fhir/jpa/starter/FhirServerConfigCommon.java

+19-11
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
package ca.uhn.fhir.jpa.starter;
22

3+
import ca.uhn.fhir.jpa.api.config.DaoConfig;
34
import ca.uhn.fhir.jpa.binstore.DatabaseBlobBinaryStorageSvcImpl;
45
import ca.uhn.fhir.jpa.binstore.IBinaryStorageSvc;
5-
import ca.uhn.fhir.jpa.dao.DaoConfig;
6+
import ca.uhn.fhir.jpa.model.config.PartitionSettings;
67
import ca.uhn.fhir.jpa.model.entity.ModelConfig;
7-
import ca.uhn.fhir.jpa.subscription.module.channel.SubscriptionDeliveryHandlerFactory;
8-
import ca.uhn.fhir.jpa.subscription.module.subscriber.email.IEmailSender;
9-
import ca.uhn.fhir.jpa.subscription.module.subscriber.email.JavaMailEmailSender;
8+
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionDeliveryHandlerFactory;
9+
import ca.uhn.fhir.jpa.subscription.match.deliver.email.IEmailSender;
10+
import ca.uhn.fhir.jpa.subscription.match.deliver.email.JavaMailEmailSender;
1011
import org.apache.commons.dbcp2.BasicDataSource;
1112
import org.hl7.fhir.dstu2.model.Subscription;
13+
import org.springframework.beans.factory.BeanFactory;
1214
import org.springframework.beans.factory.annotation.Autowired;
1315
import org.springframework.context.annotation.Bean;
1416
import org.springframework.context.annotation.Configuration;
@@ -50,9 +52,8 @@ public class FhirServerConfigCommon {
5052
private Boolean emailStartTlsEnable = HapiProperties.getEmailStartTlsEnable();
5153
private Boolean emailStartTlsRequired = HapiProperties.getEmailStartTlsRequired();
5254
private Boolean emailQuitWait = HapiProperties.getEmailQuitWait();
53-
5455
@Autowired
55-
private SubscriptionDeliveryHandlerFactory mySubscriptionDeliveryHandlerFactory;
56+
private ApplicationContext myAppCtx;
5657

5758
public FhirServerConfigCommon() {
5859
ourLog.info("Server configured to " + (this.allowContainsSearches ? "allow" : "deny") + " contains searches");
@@ -116,22 +117,28 @@ public DaoConfig daoConfig() {
116117
// Subscriptions are enabled by channel type
117118
if (HapiProperties.getSubscriptionRestHookEnabled()) {
118119
ourLog.info("Enabling REST-hook subscriptions");
119-
retVal.addSupportedSubscriptionType(Subscription.SubscriptionChannelType.RESTHOOK);
120+
retVal.addSupportedSubscriptionType(org.hl7.fhir.dstu2.model.Subscription.SubscriptionChannelType.RESTHOOK);
120121
}
121122
if (HapiProperties.getSubscriptionEmailEnabled()) {
122123
ourLog.info("Enabling email subscriptions");
123-
retVal.addSupportedSubscriptionType(Subscription.SubscriptionChannelType.EMAIL);
124+
retVal.addSupportedSubscriptionType(org.hl7.fhir.dstu2.model.Subscription.SubscriptionChannelType.EMAIL);
124125
}
125126
if (HapiProperties.getSubscriptionWebsocketEnabled()) {
126127
ourLog.info("Enabling websocket subscriptions");
127-
retVal.addSupportedSubscriptionType(Subscription.SubscriptionChannelType.WEBSOCKET);
128+
retVal.addSupportedSubscriptionType(org.hl7.fhir.dstu2.model.Subscription.SubscriptionChannelType.WEBSOCKET);
128129
}
129130

130131
retVal.setFilterParameterEnabled(HapiProperties.getFilterSearchEnabled());
131132

132133
return retVal;
133134
}
134135

136+
@Bean
137+
public PartitionSettings partitionSettings() {
138+
return new PartitionSettings();
139+
}
140+
141+
135142
@Bean
136143
public ModelConfig modelConfig() {
137144
ModelConfig modelConfig = new ModelConfig();
@@ -197,8 +204,9 @@ public IEmailSender emailSender() {
197204
// retVal.setStartTlsRequired(this.emailStartTlsRequired);
198205
// retVal.setQuitWait(this.emailQuitWait);
199206

200-
Validate.notNull(mySubscriptionDeliveryHandlerFactory, "No subscription delivery handler");
201-
mySubscriptionDeliveryHandlerFactory.setEmailSender(retVal);
207+
SubscriptionDeliveryHandlerFactory subscriptionDeliveryHandlerFactory = myAppCtx.getBean(SubscriptionDeliveryHandlerFactory.class);
208+
Validate.notNull(subscriptionDeliveryHandlerFactory, "No subscription delivery handler");
209+
subscriptionDeliveryHandlerFactory.setEmailSender(retVal);
202210

203211

204212
return retVal;

src/main/java/ca/uhn/fhir/jpa/starter/HapiProperties.java

+4
Original file line numberDiff line numberDiff line change
@@ -485,5 +485,9 @@ private static <T extends Enum> T getPropertyEnum(String thePropertyName, Class<
485485
public static boolean getBulkExportEnabled() {
486486
return HapiProperties.getBooleanProperty(BULK_EXPORT_ENABLED, true);
487487
}
488+
489+
public static boolean isFhirPathFilterInterceptorEnabled() {
490+
return HapiProperties.getBooleanProperty("fhirpath_interceptor.enabled", false);
491+
}
488492
}
489493

0 commit comments

Comments
 (0)