1601 Commits

Author SHA1 Message Date
James Agnew
e8482f5c87 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-11-20 13:59:51 -05:00
James Agnew
7cbad7f4e3 A bit of cleanup around subscription wiring following in-memory matcher
landing
2018-11-20 13:59:31 -05:00
jamesagnew
4c84b8fc89 Add a bit more test logging 2018-11-20 05:33:32 -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
James Agnew
45a5db6fd8 One more fix 2018-11-19 13:31:01 -05:00
James Agnew
719339fc14 One more test fix 2018-11-19 10:27:16 -05:00
James Agnew
67dbc802be Better detection of binary content in ResponseHighlighterInterceptor 2018-11-18 14:32:54 +01:00
James Agnew
fad53c6669 Fix a test 2018-11-16 13:15:14 +01:00
James Agnew
6a6451f694 Reduce number of queries on some DB operations 2018-11-16 12:41:50 +01:00
James Agnew
1de0ef405c Clean up test compile and reenable GraphQL on hapi.fhir.org 2018-11-16 11:15:44 +01:00
James Agnew
84acafe3af Streamline expunge operation 2018-11-15 11:37:16 +01:00
James Agnew
75210d614b Bump to 3.7.0-SNAPSHOT 2018-11-12 22:37:52 -05:00
James Agnew
63af04a7b4 Prepare for 3.6.0 release 2018-11-12 05:40:55 -05:00
jamesagnew
030b33a0f2 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-11-09 15:59:34 -05:00
jamesagnew
4a0c45a494 License updates 2018-11-09 15:59:23 -05:00
James Agnew
c81a59bb9a Only use FHIRPath to validate searchparameterr paths in R4 2018-11-09 15:57:34 -05:00
James Agnew
7f6f06dddf Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-11-09 15:47:22 -05:00
James Agnew
5834e6aa62 Test fixes 2018-11-09 15:32:55 -05:00
jamesagnew
3942f1bb29 License header updates 2018-11-09 14:41:57 -05:00
James Agnew
f61df5c3fe Use FHIRPath expression parser for custom SP validation 2018-11-09 14:41:20 -05:00
jamesagnew
a3e79b5759 License updates only 2018-11-08 15:28:09 -05:00
James Agnew
3ae5f9a3b7 Build tweak 2018-11-08 14:04:21 -05:00
James Agnew
cca49425ae Some work on collection processing 2018-11-08 08:56:51 -05:00
James Agnew
76cd3f6b47 Allow client assigned IDs to be purely numeric in JPA server if
configured to do so
2018-11-07 18:25:50 -05:00
James Agnew
62145e1b74 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-11-07 11:02:02 +01:00
James Agnew
4b790eddb6 Add additional authorization test 2018-11-07 11:01:29 +01:00
jamesagnew
896568c0f7 License updates 2018-11-04 16:06:53 -05:00
James Agnew
bc72093555 Add reindexing support based on table instead of column 2018-11-04 20:00:27 +01:00
James Agnew
b1283791ca Allow JPA server to restore resources and link to them in a single
transaction
2018-11-02 16:45:21 -04:00
jamesagnew
1b877ac03e Add licene headers 2018-11-01 09:15:51 -04:00
James Agnew
4315900ac0 Merge branch 'philips-3.6.0' 2018-11-01 09:15:27 -04:00
James Agnew
3bfdc61866 Fix a couple of test failures 2018-11-01 09:15:03 -04:00
jamesagnew
3f6960d82b Add multithreaded migrator tool 2018-11-01 05:42:51 -04:00
James Agnew
c8834cd29a Merge branch 'philips-3.6.0' of github.com:jamesagnew/hapi-fhir into philips-3.6.0 2018-10-31 17:19:28 -04:00
James Agnew
041a4c4018 Fix SearchCoordinator tests 2018-10-31 12:36:27 -04:00
jamesagnew
31ef4c68e1 Merge branch 'philips-3.6.0' of github.com:jamesagnew/hapi-fhir into philips-3.6.0 2018-10-31 05:51:13 -04:00
jamesagnew
8955a9e54d Add threading to migrator 2018-10-31 05:50:50 -04:00
James Agnew
7acba90d15 Update search logic 2018-10-30 22:43:16 -04:00
Ken Stevens
3d008aee5d
Make test observation lists thread safe (#1105)
* Initial refactoring to move database matcher out into its own class

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

* made observations lists thread safe to stop intermittent test failures
2018-10-29 15:56:47 -04:00
James Agnew
b66e01ce65 Allow plain server @Operation methods to declare a wildcard so that any
opeeration invocations will be direected to them
2018-10-29 10:36:32 -04:00
James Agnew
794d9145e9 Move query count tests to consolidate them, and avoid an accidental
rewrite of existing indexes in some conditions
2018-10-24 17:54:58 -03:00
James Agnew
f601b212ad Performance enhancements to the JPA server and better retry logic in
$trigger-subscription
2018-10-20 14:47:37 -04:00
James Agnew
c8db7fe035 Add a test 2018-10-18 15:12:22 -04:00
James Agnew
e00ff641b2 Increase visibility of two methods needed by the HSPC sandbox 2018-10-18 10:17:55 -04:00
James Agnew
da2763d8c8 Merge branch 'master' into philips-3.6.0 2018-10-17 22:38:27 -04:00
James Agnew
f571fc4f92 Rename DAO registry 2018-10-17 22:37:43 -04:00
James Agnew
b78aaea415 FIx up subscription processing 2018-10-17 21:23:52 -04:00
James Agnew
de76f37845 Try to fix an intermittent test failure 2018-10-17 15:49:26 -04:00
James Agnew
99cd4ce5f7 Allow for _total parameter 2018-10-17 09:47:35 -04:00
James Agnew
4b5dcce021 Add a bit of logging to subscription triggering 2018-10-17 08:32:57 -04:00