Commit Graph

1651 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
James Agnew b220154e9c Fix error in retriggeer logic 2018-10-17 07:02:51 -04:00
jamesagnew aa1f624132 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-10-17 05:53:46 -04:00
James Agnew 8130700d68 One more optimization to the subscription retriggering logic 2018-10-17 05:53:07 -04:00
jamesagnew d129d43635 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-10-16 21:51:50 -04:00
James Agnew 2c05d9c5db Test cleanup 2018-10-16 21:51:33 -04:00
jamesagnew e2dfaa517f Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-10-16 20:38:21 -04:00
James Agnew 388bda1fec Avoid transaction isolation level not supported by Oracle 2018-10-16 20:31:43 -04:00
jamesagnew 47a5763fb5 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-10-16 20:25:12 -04:00
James Agnew 5d7142a972 Avoid intermittent test failures 2018-10-16 20:23:32 -04:00
jamesagnew 1c1f601332 License header updates 2018-10-16 19:56:52 -04:00
James Agnew 0fbe897ca4 Add named beans to JPA config 2018-10-16 17:24:17 -04:00
James Agnew 755060f91e Allow subscription triggering on a block of resources 2018-10-16 15:29:41 -04:00
James Agnew ba6df6d55a Handle unqualified ID in delete box for testpage overlay 2018-10-15 10:23:21 -04:00
jamesagnew 93c545c42c License header updates 2018-10-15 09:54:00 -04:00
James Agnew 483c9bff3a Auto detect whether the appropriate dialect is selected 2018-10-15 09:53:04 -04:00
James Agnew b44e96a5cd Merge branch 'philips-3.6.0' 2018-10-15 08:37:00 -04:00
James Agnew b75226914d Fix intermittent test failure 2018-10-15 08:19:23 -04:00
James Agnew 6dc2dc1d6f One more test fix 2018-10-15 07:11:10 -04:00
James Agnew 796b12e33e Fix bug in $everything processing 2018-10-15 05:44:53 -04:00
James Agnew 8b46257423 Add warm cache module 2018-10-14 09:32:07 -04:00
James Agnew 51a69f0dc9 Fixes to migrator and count logic 2018-10-13 12:02:19 -04:00
James Agnew a9fcfaf79a Add a test 2018-10-10 19:11:57 -04:00
James Agnew 0837daecc2 One more recurring failure fix 2018-10-10 13:36:50 -04:00
James Agnew e47cff2712 Fix an intermitttent test failure 2018-10-10 11:57:30 -04:00
James Agnew 8bd185acf2 Rename $retrigger-subscription to $trigger-subscription based on
Diederik's suggestion
2018-10-10 10:49:50 -04:00
James Agnew 34bb70af65 Add validator test and allow migrator to be used for 3_3_0 2018-10-08 21:04:17 -04:00
James Agnew 34e943b49b Fix bad counts when multiple parameters match 2018-10-05 13:11:09 -04:00
James Agnew 9c27e8e6dd Fix an issue with the spring boot build 2018-10-04 15:12:21 -04:00
jamesagnew 970c48ec37 A bit more test cleanup 2018-10-04 13:29:09 -04:00
James Agnew 8452f46b9b More work on intermittent test failures 2018-10-04 13:16:50 -04:00
James Agnew da3b4d4071 Try to fix an intermittent test failure 2018-10-04 13:07:52 -04:00
James Agnew 2464599a68 One more test fix 2018-10-04 09:36:10 -04:00
James Agnew b265c0281b Expand search range when searching by date 2018-10-03 21:31:01 -04:00
James Agnew 6ce9120132 Fix test failure in boot 2018-10-03 15:39:19 -04:00
James Agnew 5d5ee78873 API cleanup following JPA search performance enhancements 2018-10-03 07:43:01 -04:00
James Agnew 9d1e8aa246 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-10-01 21:36:52 -04:00
James Agnew 12b23fbf23 Make JPA searches more efficient by prefetching a much smaller number of
resources
2018-10-01 21:36:10 -04:00
jamesagnew caf7c8b2e1 Header updates 2018-10-01 17:04:50 -04:00
James Agnew d7abeb513b Remove class that is failing the build and not used 2018-09-30 13:31:06 -04:00
James Agnew 62d6771814 Use a select count query for summary count searches in JPA server 2018-09-29 21:58:14 -04:00
James Agnew 9f7e21fec6 Improve logging for expunge operation 2018-09-29 18:38:27 -04:00
James Agnew 3e445faf47 Squashed commit of the following:
commit df641506885e09e63f80efc6c658d01a1a3a8142
Author: James Agnew <jamesagnew@gmail.com>
Date:   Sat Sep 29 13:47:22 2018 -0400

    Shrink validation resources

commit 4c1550eafa26f4235b4b8804741aecc03276b5c6
Author: James Agnew <jamesagnew@gmail.com>
Date:   Fri Sep 28 22:45:28 2018 -0400

    Updates to get R4 working

commit 8332f15291006691ed9b07ead3e3524b0fc85510
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Fri Sep 28 09:02:13 2018 -0400

    Ongoing work on gettign R4 working

commit f7146cab7aed937bb625a8aec95744d76db00041
Author: James Agnew <jamesagnew@gmail.com>
Date:   Fri Sep 28 05:21:01 2018 -0400

    More work on sync

commit f48de4a10b1bab2584fee813017d9b27b237bfa9
Merge: 9e4f3cc722 aacb78b779
Author: James Agnew <jamesagnew@gmail.com>
Date:   Thu Sep 27 20:11:29 2018 -0400

    Merge branch 'sync_r4' of github.com:jamesagnew/hapi-fhir into sync_r4

commit 9e4f3cc722668aae31a77b19bf9b032af3ae01b0
Author: James Agnew <jamesagnew@gmail.com>
Date:   Thu Sep 27 20:11:19 2018 -0400

    Fix compile error

commit 7ec29e0ceda8f9013cbabb95767cbe15b4b81303
Merge: 23f7517325 002c4b3ff7
Author: James Agnew <jamesagnew@gmail.com>
Date:   Thu Sep 27 20:04:23 2018 -0400

    Merge branch 'master' into sync_r4

commit aacb78b7793ab2c71e0a2a774240ee2b5d3f9e7f
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Thu Sep 27 20:01:42 2018 -0400

    Keep working on getting R4 building

commit 4950de46d99897e74d41dfdb10d3d8a3435cb0c9
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Sep 25 13:11:27 2018 -0400

    Ongoing work to get R4 working

commit 819d69c20e112dd3c72569ec50114ddb8263c300
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Thu Sep 20 08:15:36 2018 -0400

    Work on getting build working

commit 2c61b6cd1205ced5d7b822cf10942c69272ea078
Merge: 16b5bb06c8 dfb4de86f1
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Thu Sep 20 05:16:53 2018 -0400

    Merge branch 'master' into sync_r4

commit 16b5bb06c8cdaf8d67c3b80f5aa9be9fccd99aef
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Sep 17 05:30:39 2018 -0400

    Work on R4 sync

commit 23f7517325a14dd2ca1eb5641296ead2776634ae
Author: James Agnew <jamesagnew@gmail.com>
Date:   Sun Sep 16 10:19:00 2018 -0400

    Work on sync

commit 6cc413c1f1dea538295aa4c16c21a5677494ac4c
Author: James Agnew <jamesagnew@gmail.com>
Date:   Fri Sep 14 17:28:28 2018 -0400

    Work on R$ sync

commit df6f6ad2ce783b07ccc383134705d874bc5d2cf1
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Fri Sep 14 08:33:07 2018 -0400

    Work on R4
2018-09-29 13:48:35 -04:00
James Agnew 002c4b3ff7 Add retrigger subscription operation 2018-09-27 20:03:01 -04:00
James Agnew 706e004b9d Bump to 3.6.0-SNAPSHOT 2018-09-19 10:24:48 -04:00
jamesagnew 3bfce11d2c Add OSGI dependency for commons-text 2018-09-17 16:06:11 -04:00
jamesagnew a5de3f2ffd Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-09-17 05:31:23 -04:00
James Agnew bb7fca19a3 Work on migrator 2018-09-14 08:34:39 -04:00
jamesagnew 321e88c811 License header updates 2018-09-14 05:25:07 -04:00
James Agnew 640ee544c8 Clean up hamcrest dependency 2018-09-11 09:05:39 -04:00
James Agnew 9bf183f5b1 Fix depenedency on activation API 2018-09-11 08:53:45 -04:00