More work on subscriptions
This commit is contained in:
parent
470063e8ab
commit
7c6024fa14
|
@ -271,7 +271,6 @@
|
||||||
<attach>false</attach>
|
<attach>false</attach>
|
||||||
<descriptors>
|
<descriptors>
|
||||||
<descriptor>${project.basedir}/src/assembly/hapi-fhir-standard-distribution.xml</descriptor>
|
<descriptor>${project.basedir}/src/assembly/hapi-fhir-standard-distribution.xml</descriptor>
|
||||||
<descriptor>${project.basedir}/src/assembly/hapi-fhir-jpaserver-example.xml</descriptor>
|
|
||||||
<descriptor>${project.basedir}/src/assembly/hapi-fhir-android-distribution.xml</descriptor>
|
<descriptor>${project.basedir}/src/assembly/hapi-fhir-android-distribution.xml</descriptor>
|
||||||
<descriptor>${project.basedir}/src/assembly/hapi-fhir-cli.xml</descriptor>
|
<descriptor>${project.basedir}/src/assembly/hapi-fhir-cli.xml</descriptor>
|
||||||
</descriptors>
|
</descriptors>
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.util.TreeSet;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -10,7 +10,7 @@ import java.util.Collection;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -15,7 +15,7 @@ import java.util.List;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -12,7 +12,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -4,7 +4,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -4,7 +4,7 @@ import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -4,7 +4,7 @@ import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -6,7 +6,7 @@ import org.hl7.fhir.instance.model.api.IIdType;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.dao;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.model;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.api.svc;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR JPA API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -32,6 +32,7 @@ import ca.uhn.fhir.jpa.search.cache.ISearchCacheSvc;
|
||||||
import ca.uhn.fhir.jpa.search.cache.ISearchResultCacheSvc;
|
import ca.uhn.fhir.jpa.search.cache.ISearchResultCacheSvc;
|
||||||
import ca.uhn.fhir.jpa.search.reindex.IResourceReindexingSvc;
|
import ca.uhn.fhir.jpa.search.reindex.IResourceReindexingSvc;
|
||||||
import ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl;
|
import ca.uhn.fhir.jpa.search.reindex.ResourceReindexingSvcImpl;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.config.SearchParamConfig;
|
||||||
import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry;
|
import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry;
|
||||||
import ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl;
|
import ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl;
|
||||||
import ca.uhn.fhir.rest.api.server.RequestDetails;
|
import ca.uhn.fhir.rest.api.server.RequestDetails;
|
||||||
|
@ -43,6 +44,7 @@ import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.ComponentScan;
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.FilterType;
|
import org.springframework.context.annotation.FilterType;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.context.annotation.Scope;
|
import org.springframework.context.annotation.Scope;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
|
@ -83,7 +85,12 @@ import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
|
||||||
@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = WebSocketConfigurer.class),
|
@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = WebSocketConfigurer.class),
|
||||||
@ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*\\.test\\..*"),
|
@ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*\\.test\\..*"),
|
||||||
@ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*Test.*"),
|
@ComponentScan.Filter(type = FilterType.REGEX, pattern = ".*Test.*"),
|
||||||
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "ca.uhn.fhir.jpa.subscription.module.standalone.*")})
|
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "ca.uhn.fhir.jpa.subscription.*"),
|
||||||
|
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "ca.uhn.fhir.jpa.searchparam.*")
|
||||||
|
})
|
||||||
|
@Import({
|
||||||
|
SearchParamConfig.class
|
||||||
|
})
|
||||||
public abstract class BaseConfig {
|
public abstract class BaseConfig {
|
||||||
|
|
||||||
public static final String JPA_VALIDATION_SUPPORT_CHAIN = "myJpaValidationSupportChain";
|
public static final String JPA_VALIDATION_SUPPORT_CHAIN = "myJpaValidationSupportChain";
|
||||||
|
@ -133,12 +140,6 @@ public abstract class BaseConfig {
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
|
||||||
public ISearchParamRegistry searchParamRegistry() {
|
|
||||||
return new SearchParamRegistryImpl();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Bean(name = "mySubscriptionTriggeringProvider")
|
@Bean(name = "mySubscriptionTriggeringProvider")
|
||||||
@Lazy
|
@Lazy
|
||||||
public SubscriptionTriggeringProvider subscriptionTriggeringProvider() {
|
public SubscriptionTriggeringProvider subscriptionTriggeringProvider() {
|
||||||
|
|
|
@ -124,11 +124,6 @@ public class BaseDstu2Config extends BaseConfig {
|
||||||
return searchDao;
|
return searchDao;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(autowire = Autowire.BY_TYPE)
|
|
||||||
public SearchParamExtractorDstu2 searchParamExtractor() {
|
|
||||||
return new SearchParamExtractorDstu2();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean(name = "mySystemDaoDstu2", autowire = Autowire.BY_NAME)
|
@Bean(name = "mySystemDaoDstu2", autowire = Autowire.BY_NAME)
|
||||||
public IFhirSystemDao<Bundle, MetaDt> systemDaoDstu2() {
|
public IFhirSystemDao<Bundle, MetaDt> systemDaoDstu2() {
|
||||||
ca.uhn.fhir.jpa.dao.FhirSystemDaoDstu2 retVal = new ca.uhn.fhir.jpa.dao.FhirSystemDaoDstu2();
|
ca.uhn.fhir.jpa.dao.FhirSystemDaoDstu2 retVal = new ca.uhn.fhir.jpa.dao.FhirSystemDaoDstu2();
|
||||||
|
|
|
@ -101,11 +101,6 @@ public class BaseDstu3Config extends BaseConfigDstu3Plus {
|
||||||
return new FulltextSearchSvcImpl();
|
return new FulltextSearchSvcImpl();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
|
||||||
public SearchParamExtractorDstu3 searchParamExtractor() {
|
|
||||||
return new SearchParamExtractorDstu3();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean(name = "mySystemDaoDstu3")
|
@Bean(name = "mySystemDaoDstu3")
|
||||||
public IFhirSystemDao<Bundle, Meta> systemDaoDstu3() {
|
public IFhirSystemDao<Bundle, Meta> systemDaoDstu3() {
|
||||||
return new ca.uhn.fhir.jpa.dao.dstu3.FhirSystemDaoDstu3();
|
return new ca.uhn.fhir.jpa.dao.dstu3.FhirSystemDaoDstu3();
|
||||||
|
|
|
@ -103,11 +103,6 @@ public class BaseR4Config extends BaseConfigDstu3Plus {
|
||||||
return searchDao;
|
return searchDao;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(autowire = Autowire.BY_TYPE)
|
|
||||||
public SearchParamExtractorR4 searchParamExtractor() {
|
|
||||||
return new SearchParamExtractorR4();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean(name = "mySystemDaoR4", autowire = Autowire.BY_NAME)
|
@Bean(name = "mySystemDaoR4", autowire = Autowire.BY_NAME)
|
||||||
public IFhirSystemDao<Bundle, Meta> systemDaoR4() {
|
public IFhirSystemDao<Bundle, Meta> systemDaoR4() {
|
||||||
ca.uhn.fhir.jpa.dao.r4.FhirSystemDaoR4 retVal = new ca.uhn.fhir.jpa.dao.r4.FhirSystemDaoR4();
|
ca.uhn.fhir.jpa.dao.r4.FhirSystemDaoR4 retVal = new ca.uhn.fhir.jpa.dao.r4.FhirSystemDaoR4();
|
||||||
|
|
|
@ -103,11 +103,6 @@ public class BaseR5Config extends BaseConfigDstu3Plus {
|
||||||
return searchDao;
|
return searchDao;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(autowire = Autowire.BY_TYPE)
|
|
||||||
public SearchParamExtractorR5 searchParamExtractor() {
|
|
||||||
return new SearchParamExtractorR5();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean(name = "mySystemDaoR5", autowire = Autowire.BY_NAME)
|
@Bean(name = "mySystemDaoR5", autowire = Autowire.BY_NAME)
|
||||||
public IFhirSystemDao<Bundle, Meta> systemDaoR5() {
|
public IFhirSystemDao<Bundle, Meta> systemDaoR5() {
|
||||||
ca.uhn.fhir.jpa.dao.r5.FhirSystemDaoR5 retVal = new ca.uhn.fhir.jpa.dao.r5.FhirSystemDaoR5();
|
ca.uhn.fhir.jpa.dao.r5.FhirSystemDaoR5 retVal = new ca.uhn.fhir.jpa.dao.r5.FhirSystemDaoR5();
|
||||||
|
|
|
@ -96,6 +96,7 @@ public class PersistedJpaBundleProvider implements IBundleProvider {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISearchCoordinatorSvc mySearchCoordinatorSvc;
|
private ISearchCoordinatorSvc mySearchCoordinatorSvc;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private ISearchCacheSvc mySearchCacheSvc;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Non autowired fields (will be different for every instance
|
* Non autowired fields (will be different for every instance
|
||||||
|
@ -103,7 +104,6 @@ public class PersistedJpaBundleProvider implements IBundleProvider {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private final RequestDetails myRequest;
|
private final RequestDetails myRequest;
|
||||||
private ISearchCacheSvc mySearchCacheSvc;
|
|
||||||
private Search mySearchEntity;
|
private Search mySearchEntity;
|
||||||
private String myUuid;
|
private String myUuid;
|
||||||
private boolean myCacheHit;
|
private boolean myCacheHit;
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
package ca.uhn.fhir.jpa.search;
|
package ca.uhn.fhir.jpa.search;
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR JPA Server
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.jpa.config.BaseConfig;
|
import ca.uhn.fhir.jpa.config.BaseConfig;
|
||||||
import ca.uhn.fhir.jpa.dao.ISearchBuilder;
|
import ca.uhn.fhir.jpa.dao.ISearchBuilder;
|
||||||
import ca.uhn.fhir.jpa.entity.Search;
|
import ca.uhn.fhir.jpa.entity.Search;
|
||||||
|
|
|
@ -44,7 +44,6 @@ import java.util.List;
|
||||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||||
|
|
||||||
@Service
|
|
||||||
public class MatchUrlService {
|
public class MatchUrlService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
|
@ -21,22 +21,30 @@ package ca.uhn.fhir.jpa.searchparam.config;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.MatchUrlService;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.extractor.IResourceLinkResolver;
|
||||||
import ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor;
|
import ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.extractor.ResourceLinkExtractor;
|
||||||
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu2;
|
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu2;
|
||||||
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu3;
|
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorDstu3;
|
||||||
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR4;
|
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR4;
|
||||||
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR5;
|
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorR5;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.extractor.SearchParamExtractorService;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.matcher.InMemoryResourceMatcher;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.matcher.IndexedSearchParamExtractor;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.matcher.InlineResourceLinkResolver;
|
||||||
|
import ca.uhn.fhir.jpa.searchparam.matcher.SearchParamMatcher;
|
||||||
import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry;
|
import ca.uhn.fhir.jpa.searchparam.registry.ISearchParamRegistry;
|
||||||
import ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl;
|
import ca.uhn.fhir.jpa.searchparam.registry.SearchParamRegistryImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.ComponentScan;
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
@ComponentScan(basePackages = {"ca.uhn.fhir.jpa.searchparam"})
|
|
||||||
public class SearchParamConfig {
|
public class SearchParamConfig {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -66,4 +74,40 @@ public class SearchParamConfig {
|
||||||
return new SearchParamRegistryImpl();
|
return new SearchParamRegistryImpl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public MatchUrlService matchUrlService() {
|
||||||
|
return new MatchUrlService();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ResourceLinkExtractor resourceLinkExtractor() {
|
||||||
|
return new ResourceLinkExtractor();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@Lazy
|
||||||
|
public SearchParamExtractorService searchParamExtractorService(){
|
||||||
|
return new SearchParamExtractorService();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public IndexedSearchParamExtractor indexedSearchParamExtractor() {
|
||||||
|
return new IndexedSearchParamExtractor();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public InlineResourceLinkResolver inlineResourceLinkResolver() {
|
||||||
|
return new InlineResourceLinkResolver();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public InMemoryResourceMatcher InMemoryResourceMatcher() {
|
||||||
|
return new InMemoryResourceMatcher();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public SearchParamMatcher SearchParamMatcher() {
|
||||||
|
return new SearchParamMatcher();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,6 @@ import java.util.Map;
|
||||||
import static org.apache.commons.lang3.StringUtils.isBlank;
|
import static org.apache.commons.lang3.StringUtils.isBlank;
|
||||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||||
|
|
||||||
@Service
|
|
||||||
public class ResourceLinkExtractor {
|
public class ResourceLinkExtractor {
|
||||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ResourceLinkExtractor.class);
|
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(ResourceLinkExtractor.class);
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,6 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
@Service
|
|
||||||
@Lazy
|
|
||||||
public class SearchParamExtractorService {
|
public class SearchParamExtractorService {
|
||||||
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(SearchParamExtractorService.class);
|
private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(SearchParamExtractorService.class);
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,6 @@ import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@Service
|
|
||||||
public class InMemoryResourceMatcher {
|
public class InMemoryResourceMatcher {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
|
@ -30,7 +30,6 @@ import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
|
||||||
public class IndexedSearchParamExtractor {
|
public class IndexedSearchParamExtractor {
|
||||||
@Autowired
|
@Autowired
|
||||||
private FhirContext myContext;
|
private FhirContext myContext;
|
||||||
|
|
|
@ -31,7 +31,6 @@ import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
import org.hl7.fhir.instance.model.api.IIdType;
|
import org.hl7.fhir.instance.model.api.IIdType;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
|
||||||
public class InlineResourceLinkResolver implements IResourceLinkResolver {
|
public class InlineResourceLinkResolver implements IResourceLinkResolver {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -26,7 +26,6 @@ import org.hl7.fhir.instance.model.api.IBaseResource;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
|
||||||
public class SearchParamMatcher {
|
public class SearchParamMatcher {
|
||||||
@Autowired
|
@Autowired
|
||||||
private IndexedSearchParamExtractor myIndexedSearchParamExtractor;
|
private IndexedSearchParamExtractor myIndexedSearchParamExtractor;
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
package ca.uhn.fhir.jpa.subscription.channel.config;
|
package ca.uhn.fhir.jpa.subscription.channel.config;
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR Subscription Server
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.jpa.subscription.channel.queue.IQueueChannelFactory;
|
import ca.uhn.fhir.jpa.subscription.channel.queue.IQueueChannelFactory;
|
||||||
import ca.uhn.fhir.jpa.subscription.channel.queue.LinkedBlockingQueueChannelFactory;
|
import ca.uhn.fhir.jpa.subscription.channel.queue.LinkedBlockingQueueChannelFactory;
|
||||||
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionChannelFactory;
|
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionChannelFactory;
|
||||||
|
|
|
@ -1,11 +1,33 @@
|
||||||
package ca.uhn.fhir.jpa.subscription.process.config;
|
package ca.uhn.fhir.jpa.subscription.process.config;
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR Subscription Server
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionChannelRegistry;
|
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionChannelRegistry;
|
||||||
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionDeliveryChannelNamer;
|
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionDeliveryChannelNamer;
|
||||||
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionDeliveryHandlerFactory;
|
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionDeliveryHandlerFactory;
|
||||||
import ca.uhn.fhir.jpa.subscription.process.deliver.DaoResourceRetriever;
|
import ca.uhn.fhir.jpa.subscription.process.deliver.DaoResourceRetriever;
|
||||||
import ca.uhn.fhir.jpa.subscription.process.deliver.IResourceRetriever;
|
import ca.uhn.fhir.jpa.subscription.process.deliver.IResourceRetriever;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.process.deliver.email.IEmailSender;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.process.deliver.email.SubscriptionDeliveringEmailSubscriber;
|
||||||
import ca.uhn.fhir.jpa.subscription.process.deliver.resthook.SubscriptionDeliveringRestHookSubscriber;
|
import ca.uhn.fhir.jpa.subscription.process.deliver.resthook.SubscriptionDeliveringRestHookSubscriber;
|
||||||
import ca.uhn.fhir.jpa.subscription.process.deliver.websocket.WebsocketConnectionValidator;
|
import ca.uhn.fhir.jpa.subscription.process.deliver.websocket.WebsocketConnectionValidator;
|
||||||
import ca.uhn.fhir.jpa.subscription.process.matcher.matching.CompositeInMemoryDaoSubscriptionMatcher;
|
import ca.uhn.fhir.jpa.subscription.process.matcher.matching.CompositeInMemoryDaoSubscriptionMatcher;
|
||||||
|
@ -117,6 +139,12 @@ public class SubscriptionProcessorConfig {
|
||||||
return new SubscriptionDeliveringRestHookSubscriber();
|
return new SubscriptionDeliveringRestHookSubscriber();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
@Scope("prototype")
|
||||||
|
public SubscriptionDeliveringEmailSubscriber subscriptionDeliveringEmailSubscriber(IEmailSender theEmailSender) {
|
||||||
|
return new SubscriptionDeliveringEmailSubscriber(theEmailSender);
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public InMemorySubscriptionMatcher inMemorySubscriptionMatcher() {
|
public InMemorySubscriptionMatcher inMemorySubscriptionMatcher() {
|
||||||
return new InMemorySubscriptionMatcher();
|
return new InMemorySubscriptionMatcher();
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.process.deliver;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -38,7 +38,6 @@ import java.util.List;
|
||||||
|
|
||||||
import static org.apache.commons.lang3.StringUtils.*;
|
import static org.apache.commons.lang3.StringUtils.*;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Scope("prototype")
|
@Scope("prototype")
|
||||||
public class SubscriptionDeliveringEmailSubscriber extends BaseSubscriptionDeliverySubscriber {
|
public class SubscriptionDeliveringEmailSubscriber extends BaseSubscriptionDeliverySubscriber {
|
||||||
private Logger ourLog = LoggerFactory.getLogger(SubscriptionDeliveringEmailSubscriber.class);
|
private Logger ourLog = LoggerFactory.getLogger(SubscriptionDeliveringEmailSubscriber.class);
|
||||||
|
|
|
@ -48,13 +48,19 @@ import java.util.*;
|
||||||
|
|
||||||
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||||
|
|
||||||
@Component
|
|
||||||
@Scope("prototype")
|
@Scope("prototype")
|
||||||
public class SubscriptionDeliveringRestHookSubscriber extends BaseSubscriptionDeliverySubscriber {
|
public class SubscriptionDeliveringRestHookSubscriber extends BaseSubscriptionDeliverySubscriber {
|
||||||
@Autowired
|
@Autowired
|
||||||
IResourceRetriever myResourceRetriever;
|
IResourceRetriever myResourceRetriever;
|
||||||
private Logger ourLog = LoggerFactory.getLogger(SubscriptionDeliveringRestHookSubscriber.class);
|
private Logger ourLog = LoggerFactory.getLogger(SubscriptionDeliveringRestHookSubscriber.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
public SubscriptionDeliveringRestHookSubscriber() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
protected void deliverPayload(ResourceDeliveryMessage theMsg, CanonicalSubscription theSubscription, EncodingEnum thePayloadType, IGenericClient theClient) {
|
protected void deliverPayload(ResourceDeliveryMessage theMsg, CanonicalSubscription theSubscription, EncodingEnum thePayloadType, IGenericClient theClient) {
|
||||||
IBaseResource payloadResource = getAndMassagePayload(theMsg, theSubscription);
|
IBaseResource payloadResource = getAndMassagePayload(theMsg, theSubscription);
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.process.matcher.matching;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.process.matcher.matching;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.process.matcher.matching;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
package ca.uhn.fhir.jpa.subscription.process.matcher.subscriber;
|
package ca.uhn.fhir.jpa.subscription.process.matcher.subscriber;
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR Subscription Server
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage;
|
import ca.uhn.fhir.jpa.subscription.model.ResourceModifiedMessage;
|
||||||
import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum;
|
import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.process.matcher.subscriber;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.process.matcher.subscriber;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.process.registry;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
package ca.uhn.fhir.jpa.subscription.submit.config;
|
package ca.uhn.fhir.jpa.subscription.submit.config;
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR Subscription Server
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubscriptionMatcherInterceptor;
|
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubscriptionMatcherInterceptor;
|
||||||
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubmitInterceptorLoader;
|
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubmitInterceptorLoader;
|
||||||
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubscriptionValidatingInterceptor;
|
import ca.uhn.fhir.jpa.subscription.submit.interceptor.SubscriptionValidatingInterceptor;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.submit.interceptor;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -24,7 +24,7 @@ import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
package ca.uhn.fhir.jpa.subscription.submit.interceptor;
|
package ca.uhn.fhir.jpa.subscription.submit.interceptor;
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* #%L
|
||||||
|
* HAPI FHIR Subscription Server
|
||||||
|
* %%
|
||||||
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
|
* %%
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
* #L%
|
||||||
|
*/
|
||||||
|
|
||||||
import ca.uhn.fhir.context.FhirContext;
|
import ca.uhn.fhir.context.FhirContext;
|
||||||
import ca.uhn.fhir.interceptor.api.Hook;
|
import ca.uhn.fhir.interceptor.api.Hook;
|
||||||
import ca.uhn.fhir.interceptor.api.Interceptor;
|
import ca.uhn.fhir.interceptor.api.Interceptor;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.triggering;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -2,7 +2,7 @@ package ca.uhn.fhir.jpa.subscription.triggering;
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* #%L
|
* #%L
|
||||||
* HAPI FHIR JPA Server
|
* HAPI FHIR Subscription Server
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2014 - 2020 University Health Network
|
* Copyright (C) 2014 - 2020 University Health Network
|
||||||
* %%
|
* %%
|
||||||
|
|
|
@ -27,9 +27,13 @@ import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu2;
|
||||||
import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu3;
|
import ca.uhn.fhir.jpa.config.BaseJavaConfigDstu3;
|
||||||
import ca.uhn.fhir.jpa.config.BaseJavaConfigR4;
|
import ca.uhn.fhir.jpa.config.BaseJavaConfigR4;
|
||||||
import ca.uhn.fhir.jpa.api.config.DaoConfig;
|
import ca.uhn.fhir.jpa.api.config.DaoConfig;
|
||||||
|
import ca.uhn.fhir.jpa.config.WebsocketDispatcherConfig;
|
||||||
import ca.uhn.fhir.jpa.model.entity.ModelConfig;
|
import ca.uhn.fhir.jpa.model.entity.ModelConfig;
|
||||||
import ca.uhn.fhir.jpa.provider.BaseJpaProvider;
|
import ca.uhn.fhir.jpa.provider.BaseJpaProvider;
|
||||||
import ca.uhn.fhir.jpa.provider.BaseJpaSystemProvider;
|
import ca.uhn.fhir.jpa.provider.BaseJpaSystemProvider;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.channel.config.SubscriptionChannelConfig;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.process.config.SubscriptionProcessorConfig;
|
||||||
|
import ca.uhn.fhir.jpa.subscription.submit.config.SubscriptionSubmitterConfig;
|
||||||
import ca.uhn.fhir.okhttp.client.OkHttpRestfulClientFactory;
|
import ca.uhn.fhir.okhttp.client.OkHttpRestfulClientFactory;
|
||||||
import ca.uhn.fhir.rest.client.apache.ApacheRestfulClientFactory;
|
import ca.uhn.fhir.rest.client.apache.ApacheRestfulClientFactory;
|
||||||
import ca.uhn.fhir.rest.client.api.IClientInterceptor;
|
import ca.uhn.fhir.rest.client.api.IClientInterceptor;
|
||||||
|
@ -58,6 +62,7 @@ import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Conditional;
|
import org.springframework.context.annotation.Conditional;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
import org.springframework.core.annotation.AnnotationAwareOrderComparator;
|
import org.springframework.core.annotation.AnnotationAwareOrderComparator;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
@ -161,6 +166,11 @@ public class FhirAutoConfiguration {
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EntityScan(basePackages = {"ca.uhn.fhir.jpa.entity", "ca.uhn.fhir.jpa.model.entity"})
|
@EntityScan(basePackages = {"ca.uhn.fhir.jpa.entity", "ca.uhn.fhir.jpa.model.entity"})
|
||||||
|
@Import({
|
||||||
|
SubscriptionChannelConfig.class,
|
||||||
|
SubscriptionProcessorConfig.class,
|
||||||
|
SubscriptionSubmitterConfig.class
|
||||||
|
})
|
||||||
static class FhirJpaDaoConfiguration {
|
static class FhirJpaDaoConfiguration {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
|
Loading…
Reference in New Issue