Commit Graph

212 Commits

Author SHA1 Message Date
James Agnew 0d3ad622b5
Correct Validation Performance Regression (#1895)
* Validation performance regression

* Optimize validation

* More cleanup

* Add changelog

* Test fixes

* Build fixes
2020-06-10 05:26:21 -04:00
Tadgh d1b963321a
MVP EMPI implementation (#1857)
EMPI Initial Implementation (still plenty of known gaps)
2020-05-22 15:03:20 -04:00
jamesagnew 52c8e3551c Version bump to 5.1.0-SNAPSHOT 2020-05-15 14:43:32 -04:00
jamesagnew fe0e07a313 Bump to 5.0.1 2020-05-15 05:47:01 -04:00
jamesagnew 1d13e29ac0 Version bump to 5.1.0-SNAPSHOT 2020-05-12 20:04:20 -04:00
jamesagnew d631ecff4a Prepare for 5.0.0 2020-05-12 11:49:18 -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
James Agnew 22413911bf
Validation api changes (#1719)
* Validation enhancements

* Work on validation api reworking

* Keep working on validation API

* Keep working on new term API

* Work on validation api

* Ongoing work on validation

* Work on integrating validation

* Work on validation API

* Add to validation API

* Work on validation

* Work on API

* Work on validation

* Work on validation API

* Work on validation API

* Work on validation api

* Work on validation API

* Work on validation api

* Validation API changes

* Work on API

* More work on validationo API

* Work on validation API

* FIxes

* WOrk on validation api

* Work on validation API

* Tests passing!

* More cleanup

* More validation API changes

* Fix intermittent test failure

* Package reorg

* Validation API work

* Work on doocumentation

* Work on API

* More work on new validation API

* Fix errorprone-reported error

* Test fixes

* Documentation updates

* Documentation tweaks

* Work on API

* Bean name adjustments

* Build fixes

* Some test fixes
2020-03-17 13:28:59 -04:00
jamesagnew ddc7b601ee Version bump to 4.3.0-SNAPSHOT 2020-02-16 19:23:22 -05:00
jamesagnew 4fd80cfca7 Bump to 4.2.0 2020-02-16 19:00:15 -05:00
James Agnew 201ec34db4
Fix expunge issue when no tags present (#1671)
* Fix expunge issue when no tags present

* Add changelog

* Try to clean up POMs that are failing CI

* Rework dependencies

* Roll back change that did not work
2020-01-15 14:47:22 +08:00
jamesagnew 9c7f5e1b9b License header updates 2020-01-12 10:15:08 -05:00
James Agnew d223bbe354 Try to avoid use of Apache maven repo which is causing Azure CI failures 2020-01-12 20:42:19 +08:00
James Agnew 497a96ae68 Version bump for next round of development 2019-11-12 22:09:21 -05:00
jamesagnew f99ad981b5 Version bump to 4.1.0 2019-11-12 16:08:20 -05:00
James Agnew df4376606d
Validation cleanup (#1561)
* Validation cleanup

* Test fix

* Fix build

* Test tweaks
2019-10-24 13:09:18 -05:00
James Agnew 0a5eca0821 Work on docs 2019-09-22 13:25:50 -04:00
jamesagnew e1b43d811f Version bump to 4.1.0-SNAPSHOT 2019-08-14 14:06:06 -04:00
jamesagnew 3f22456b0f Bump version to 4.0.0 2019-08-14 11:06:26 -04: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
James Agnew 50a8c66bf5 Version bump to 4.0.0-SNAPSHOT 2019-05-30 17:13:03 -04:00
jamesagnew 73aa53be8f Release 3.8.0 2019-05-30 16:50:04 -04:00
James Agnew 0f8c8d18e2 Bump version to 3.8.0-SNAPSHOT 2019-02-06 20:02:28 -05:00
jamesagnew 207015c3af Version bump to 3.7.0 2019-02-05 21:36:38 -05:00
Ken Stevens 9280cde491
Subscription only registers active (#1189)
* Fixed a bug in standalone subscription subscriber:  It was adding REQUESTED subscriptions to the active subscription registry.  (Only ACTIVE subscriptions should be added.)
2019-02-01 10:14:46 -05: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
jamesagnew cc57bacab8 Version bump to 3.7.0-SNAPSHOT 2018-11-12 10:07:28 -05:00
James Agnew 63af04a7b4 Prepare for 3.6.0 release 2018-11-12 05:40:55 -05:00
James Agnew 706e004b9d Bump to 3.6.0-SNAPSHOT 2018-09-19 10:24:48 -04:00
James Agnew daef975734 Version bump to 3.5.0 2018-09-08 07:22:21 +08:00
jamesagnew 3583dfd503 Correctly include project description in capabilitystatement 2018-06-03 16:19:33 -04:00
jamesagnew 987679483a Version bumps 2018-06-03 15:29:10 -04:00
Diederik Muylwyk 0e2c57fa60 Bumping version. 2018-05-28 17:44:38 -04:00
Diederik Muylwyk 2871920734 Preparing release. 2018-05-28 10:45:47 -04:00
Andreas Keil 18807a5d98 setting fhir version to dstu3 to fulfill unit tests 2018-05-03 09:34:58 +02:00
Andreas Keil 5552b95d99 R4 support for spring boot 2018-05-03 08:26:27 +02:00
jamesagnew 180336e076 Sync to master 2018-03-29 06:54:24 -04:00
jamesagnew 418e82032f Prep for 3.3.0 2018-03-29 05:48:13 -04: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
James Agnew 16038ece26 Version bump to 3.3.0-SNAPSHOT 2018-01-23 10:31:01 -05:00
James Agnew 6468ca474a Verion bump to 3.2.0 2018-01-13 02:14:33 -05:00
jamesagnew 0352d48720 Bump copyright message to 2018 2018-01-08 13:52:15 -05:00
jamesagnew 5b909b4746 Version bump to 3.2.0-SNAPSHOT 2017-11-24 13:32:47 -05:00
jamesagnew 3d3b787db7 Version bump to 3.1.0 2017-11-23 15:06:41 -05:00
jamesagnew 9951c47ddc Use correct super pom 2017-11-23 13:28:34 -05:00
jamesagnew 664366605c Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2017-11-23 13:28:29 -05:00
jamesagnew 42dd34252d Version bump to 3.1.0 2017-11-23 13:27:21 -05:00
James Agnew 1c898d3926 Deploy artifacts for spring boot 2017-11-23 13:23:02 -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