Commit Graph

31 Commits

Author SHA1 Message Date
Ken Stevens 631391819b
remove hapi jpa spring config hierarchy (#3390)
* initial refactor to remove hapi jpa spring config hierarchy

* fix poms

* fix batch config

* dependency rearrangement arising from further testing

* fix searchDao bean name

* fixed dstu2 tests

* consolidate validation config

* dstu2 validation regression (man dstu2 support is expensive)

* fix test (with WIP comment)

* restore poms

* fix demo projects

* fix build

* bumping version

* rename generated config class
2022-02-16 20:44:03 -05:00
jamesagnew aafc42fdd8 License header updates 2022-01-04 13:37:10 -05:00
jamesagnew 5a8fb5dd01 Drop redundant tests 2021-01-01 16:43:03 -05:00
jamesagnew cbb16ce3af License header updates 2021-01-01 16:40:46 -05:00
jamesagnew f30999b053 License header updates 2021-01-01 15:07:23 -05:00
James Agnew f356c7c385
Migrate to JUnit5 (#1952)
* Work on junit

* Work on junit 5

* Work on junit 5

* Bump errorprone vcersion

* Work on tests

* Junit 5 tweaks

* Fixes

* Work on tests

* Work on junit5

* Work on tests

* Test fixes

* Work on junit5

* Test work

* Get junit5 working

* Test fix

* Work on tests

* WOrk on tests

* Work on tests

* fixes

* Compile fix

* One more tweak

* Compile fix

* Add changelog

* Fix compile error

* Compile fix
2020-07-04 18:28:16 -04:00
Tadgh 16039af110 Fix up samlpe starters 2020-06-26 13:15:31 -07:00
Tadgh 0b622597b4 Muck with initial loading to allow EMF and platformtransactionmanager to be available 2020-06-26 10:13:03 -07:00
Tadgh d1b963321a
MVP EMPI implementation (#1857)
EMPI Initial Implementation (still plenty of known gaps)
2020-05-22 15:03:20 -04:00
jamesagnew 36a7e9c980 Test fixes 2020-04-22 14:56:13 -04:00
jamesagnew 826ba6458a Subscription work 2020-04-06 20:15:41 -04:00
jamesagnew b78205c218 Ongoing cleanup 2020-04-06 17:00:45 -04:00
jamesagnew 7c6024fa14 More work on subscriptions 2020-04-03 07:43:21 -04:00
jamesagnew 6baf1995c9 Work on subscription cleanup 2020-04-02 20:30:19 -04:00
jamesagnew 9c7f5e1b9b License header updates 2020-01-12 10:15:08 -05:00
James Agnew cf68efb826 Add drop table task to migrator 2019-07-19 09:33:01 -04:00
jamesagnew dff2fdd3cf GET RID OF TRAILING LICENSE HEADER SPACES ONCE AND FOR ALL
YESSSSSSSSSSSSS
2019-07-05 11:19:51 -04:00
Ken Stevens 66dc7f82d5 organize imports 2019-01-15 20:55:00 -05:00
Ken Stevens 19afcb7e09 all tests pass 2019-01-15 18:22:08 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -05:00
James Agnew 9d3904ef3e Fix #1142 - Upgrade Spring Boot to latest version 2018-12-23 13:10:03 -05:00
Ken Stevens 84a34eb3c9
Subscription module support (#1147)
* Reorganizing packages and dependencies to support standalone subscription running within a CDR container where all hapi modules are on the classpath.

Moved Subscription registry out of interceptor and introduced SubscriptionLoader

* Created ActiveSubscription and moved cache bits into it

* Moved ExecutorQueue stuff out into its own class

* Add test and supporting code to validate SubscriptionConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION behaviour

* Added SubscriptionCheckingSubscriber

* Moved a few beans to @ComponentScan

* Replaced use of beanFactory with concrete factory classes

* Switched test to use subscribablechannel

* Added SubscriptionLoaderFhirClientTest

* Confirm that our SubscriptionProviderFhirClient works with a live fhir client

* Register interceptors with DaoConfig instead of RestServer.
Also, Rename @VisibleForTesting methods with ForUnitTest

* Fix triggering service so it uses new subscriptionmatcherinterceptor

* Renamed "Database" classes to "Dao"

* processing -> matching naming change
2018-12-18 13:09:06 -05:00
Ken Stevens 6baee4dc3f
Standalone subscription (#1125) 2018-11-30 17:19:16 -05:00
Ken Stevens 03ebcafdf5
In-memory matcher (#1116)
* Initial refactoring to move database matcher out into its own class

* MAJOR REFACTOR: Pulled indexing code out of BaseHapiFhirDao into a new class ResourceIndexedSearchParams

* Moved calculateHashes

* Replaced @Bean definitions in BaseConfig.java with @ComponentScan

Annotated bean classes with either @Service (if it's stateless) or @Component (if it's stateful).  It doesn't really matter which annotation is used, but it's helpful to see at a glance whether a bean is stateful or stateless.

* Move services out of BaseHapiFhirDao

Moved services required by ResourceIndexedSearchParams out of BaseHapiFhirDao and into new classes called LogicalReferenceHelper, IdHelperService, MatchUrlService, and DaoProvider.

Converted SearchBuilder into Prototype Bean

Mark Spring components that depend on daos and entitymanagers with @Lazy so they aren't picked up by hapi-fhir-spring-boot-autoconfigure.

* Added SubscriptionMatcherInMemory

Moved static data out of BaseHapiFhirDao into ResourceMetaParams

Moved translateMatchUrl methods out of BaseHapiFhirDao into MatchUrlService bean

Simplified SubscriptionMatcherInMemory to not depend on entity or dao

Turned all subscribers into prototype beans

* Moved searchParam method out to mySearchParamProvider

Also removed dao and contest parameters from of myMatchUrlService methods

Moved code out of SearchBuilder into SearchParameterMap.clean() so it can be used by inMemoryMatcher

Introduced a new composite subscription matcher that tries to match in memory and if it finds a parameter in the criteria it doesn't support, it falls back to the database matcher.

* Added support for references

Also fixed a small bug in SearchParameterMap that was missing the ";" after "_has" when creating a normalized query from search params.

* Finished implementing all tests from FhirResourceDaoR4SearchNoFtTest

* Make in-memory matcher configurable, disabled by default

* Validate Subscription criteria when they're submitted

Send HTTP 422 UnprocessableEntityException if the criteria fail validation.

* fixed Sonar "Blocker" issues.

*  Don't reload the resource before sending it out

Since we can always force a reload using restHookDetails.isDeliverLatestVersion

* Added tests to cover Custom Search param.

* Split ResourceIndexedSearchParam into separate state and service classes

* Cleaned up SearchBuilder.

Removed uses of myCallingDao as an injection mechanism.
Left // FIXME KHS cookie crumbs to clean up

* Reduced dependencies on BaseHapiFhirDao

Removed methods from IDao interface that were used for injection

* Updated change log
2018-11-19 16:19:52 -05:00
Andreas Keil 5552b95d99 R4 support for spring boot 2018-05-03 08:26:27 +02:00
jamesagnew fb327c60cd FIx spring boot issue 2018-02-04 15:04:45 -05:00
jamesagnew 86a0774305 Fix an issue in subscription interceptor which prevented the server from
starting if an invalid subscription was already in the database
2018-02-03 19:20:58 -05:00
jamesagnew 0352d48720 Bump copyright message to 2018 2018-01-08 13:52:15 -05:00
jamesagnew 3d3b787db7 Version bump to 3.1.0 2017-11-23 15:06:41 -05:00
James Agnew 6ca1498277 Fix tests for spring boot 2017-11-13 15:49:12 -05:00
Mathieu Ouellet 30c391db00 Add Spring Boot Starter
Provides spring-boot-starter with auto-configurations for Rest server,
Jpa server, FHIR Validation and clients.

Default configurations overridable by configuration properties and 
rest-server customizer.
2017-09-30 11:20:00 -04:00