Commit Graph

2035 Commits

Author SHA1 Message Date
jamesagnew 4e1bbe681a Bump supported PGSQL driver 2019-08-08 15:12:29 -04:00
James Agnew dd0cb10dbb
validate operation ignores parameter profile (#1417)
* This should be working now - need to check tests

* Add a changelog and some docs

* One more test fix

* Tests should be passing

* Fix compile

* Test fixes

* Ignore outdated DSTU2 validation test
2019-08-07 15:31:59 -04:00
Ken Stevens 1b17097f62 a couple more int -> long 2019-08-07 13:35:27 -04:00
James Agnew 6aa7916ba7
Merge pull request #1415 from jamesagnew/ks-inmemory-id-match
in-memory id match
2019-08-07 08:31:38 -04:00
James Agnew b0eb19cf2f A few fixes resulting from the R5 merge 2019-08-06 17:55:51 -04:00
James Agnew 60eab3ad70
Add support for R5 resources (#1416)
* Work so far on R5 support

* Add support for R5

* Docs changes
2019-08-06 17:30:31 -04:00
Ken Stevens c11d719957 Fix bug when in-memory matcher compares long id to string id 2019-08-06 15:17:09 -04:00
Ken Stevens 48c8497086 Changed migration test from derby to h2
Added a new test from 340 to latest version.
2019-08-02 16:00:43 -04:00
jamesagnew 46c8c61932 Restore build - May need to roll back the RDF changes 2019-08-01 10:14:56 -04:00
James Agnew 0f4738c1b5
Merge branch 'master' into rdf_parser 2019-08-01 09:25:40 -04:00
Ken Stevens f1d3fc2307 Changed Stopwatch getThroughput param from int to long
Added FhirVersion accessor to AnyListResource
2019-08-01 06:32:09 -04:00
James Agnew 04ce9cfc1a Add support for uploading custom terminology using the
$upload-external-code-system operation
2019-07-30 17:30:18 -04:00
James Agnew a4ca5374ec
Add terminology delta operations (#1401)
* Start work on delta operations

* Add changelog

* Some build fixes

* Move upload terminology command to CodeSystem resource

* Updates

* Some test fixes

* Add changelog

* Some test fixes

* More test fixes

* Test fix

* Add additional tests

* Transaction boundary fixes
2019-07-29 17:46:42 -04:00
jamesagnew 8158292665 Allow operations to better work across multiple versions of FHIR 2019-07-26 05:46:37 -04:00
Ken Stevens 84f5c7d467 Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook 2019-07-24 21:54:05 -04:00
Ken Stevens e05387da02 Recover from failed merge again. This time with feeling! 2019-07-24 13:46:20 -04:00
James Agnew ddb8e385bf Test fix 2019-07-24 13:24:48 -04:00
James Agnew e8cf2738f0 Handle oversized payload request 2019-07-24 13:18:30 -04:00
Ken Stevens 64e83fa3df Revert "Recovering Pointcut from a failed merge"
This reverts commit 19c0b4fd
2019-07-24 13:00:49 -04:00
Ken Stevens 19c0b4fdd2 Recovering Pointcut from a failed merge 2019-07-24 11:30:36 -04:00
Ken Stevens 0efe69f891 Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook
# Conflicts:
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/expunge/ResourceExpungeService.java
2019-07-24 10:41:37 -04:00
Ken Stevens 8d86e34bcf Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook
# Conflicts:
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/expunge/ResourceExpungeService.java
2019-07-23 09:12:08 -04:00
jamesagnew 60ea922e8d Add license headers 2019-07-23 05:38:10 -04:00
James Agnew 7e3d062d15
Switch default client to JSON (#1392)
* Start work on changing over

* Update tests

* More test fixes

* Work on generalizing binary access provider a bit

* Add expunge capability to binary storage, and also support actual binary
resources

* Work on binary provider

* Get the DB bound binary storage service working

* Test fixes

* Compile fix

* Fix compile error

* Test fix

* Test tweak

* Trying to figure out an intermittent failure

* Work on tests

* More work on tests

* Another test fix
2019-07-22 21:27:10 -04:00
Ken Stevens 7ba3ceec90 Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook 2019-07-19 10:54:56 -04:00
jamesagnew 13dae527d1 Fix #1390 - DiagnosticReport template correction 2019-07-19 05:44:08 -04:00
Ken Stevens e634aa6d10 Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook 2019-07-18 22:06:10 -04:00
James Agnew 5bf4fa22e7 Allow patching in tranactions 2019-07-18 16:41:07 -04:00
Ken Stevens 72aa4932d6 Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook 2019-07-18 10:12:15 -04:00
jamesagnew 7488047686 Add license headers 2019-07-17 18:53:23 -04:00
James Agnew 55c0d5b604
Add binary storage for Attachments (#1386)
* Have this working now

* Add utility method

* Build fixes

* Add changelog
2019-07-17 18:31:17 -04:00
Ken Stevens fe21dba4a6 Added Pointcut.STORAGE_PRESTORAGE_EXPUNGE_RESOURCE.
Also added a couple of tests.
2019-07-17 13:26:50 -04:00
James Agnew 7831e8a0ed Add support for $snapshot generation and validation based on snapshots 2019-07-14 16:15:56 -04:00
James Agnew 120b93f204
Use HL7 FHIR Core Structures (#1382)
* Ongoing work on core structures suport

* Ongoing work on this merge

* Ongoing work to clean up structures

* Credit for #1179

* Address compile issues

* Latest changes

* Work on parallel execution

* Work on getting tests passing

* Add H2 to migrator

* Test fix
2019-07-14 10:16:40 -04:00
James Agnew ba4bb005bc
Switch JPA unit tests to use H2 (#1381)
* Start working on this

* Ongoing fixes to H2 branch

* Work on fixing tests

* Updated fixes

* Some test fixes

* More work on H2 migration

* Fixes to try and get the H2 migration building

* Test seem to be passing!

* Tweaks to locale randomization

* Add changelog
2019-07-13 17:22:43 -04:00
Ken Stevens 26ab115ff5 changes.xml 2019-07-12 13:34:32 -04:00
Ken Stevens 8d817b364c Merge remote-tracking branch 'remotes/origin/master' into expunge-hooks
# Conflicts:
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/expunge/ExpungeEverythingService.java
2019-07-12 13:27:11 -04:00
James Agnew a352137938 Test fixes 2019-07-11 21:10:30 -04:00
James Agnew 1db019b6df Test fix and try to get Travis building again 2019-07-11 20:20:27 -04:00
James Agnew dca55d054b Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-11 18:17:09 -04:00
Diederik Muylwyk 0729e38e6e
Resolve "experimental implementation for storing expanded ValueSets in terminology tables" (#1369)
* Added experimental implementation for storing expanded ValueSets in terminology tables.

* Minor tweak to log message for consistency.

* Another minor tweak to log message for consistency.

* Renamed test.

* Addressing review comments.

* Added migration tasks.
2019-07-11 16:52:19 -04:00
James Agnew 32a8e1aead Omit extensions when encoding in summary mode (except for
CapabilityStatement)
2019-07-11 16:28:50 -04:00
Ken Stevens b445df3e05 Merge remote-tracking branch 'remotes/origin/master' into expunge-hooks 2019-07-10 10:09:55 -04:00
Ken Stevens 7aaa75c255 fixed pointcut 2019-07-10 10:09:43 -04:00
James Agnew 0fb8db11a2 Add new pointcut: PROCESSING_COMPLETED 2019-07-09 14:32:11 -04:00
Ken Stevens 5e05703c1a Add expunge-everything hook. Also add RequestDetails to all expunge operations 2019-07-09 10:58:57 -04:00
James Agnew cc20893018 Add hardcoded keys to localizer 2019-07-08 08:58:06 -04:00
jamesagnew dff2fdd3cf GET RID OF TRAILING LICENSE HEADER SPACES ONCE AND FOR ALL
YESSSSSSSSSSSSS
2019-07-05 11:19:51 -04:00
jamesagnew aff88d3ebb License header updates 2019-07-05 07:27:18 -04:00
James Agnew f1848fb1ad Include version ID in response for deleted resource 2019-07-03 14:44:12 -04:00
James Agnew 56aaef641c Add request ID 2019-07-02 21:32:28 -04:00
James Agnew 1faf7785c4 Dont filter constraints from the event broadcast - this was not needed
after all
2019-07-02 09:21:15 -04:00
jamesagnew 742389642d Add tests for delete conflicts and authorizationinterceptor 2019-07-01 10:49:38 -04:00
James Agnew 1fd99dac63
Enable optional cascading deletes on JPA server (#1363)
* Start working on cascading deleets

* WOrk on cascading deletes

* Work on cascading deletes

* Enable cascading deletes

* Cascade deletes almost working

* FIx test

* Test fix
2019-06-28 17:32:39 -04:00
jamesagnew 5910131319 License header updates 2019-06-27 18:23:45 -04:00
James Agnew 10d969c514
Add Consent Service (#1359)
* Initial consent svc

* Ongoing consent svc work

* Add docs

* Ongoing consent service work

* Work on consent service

* More work on consent svc

* License header updates

* Ongoing consent svc work

* Some test fixes

* Some test fixes

* More work on consent svc

* Tests working

* Test fix

* Propagate RequestDetails to everything in JPA server

* More interceptor tweaks

* Fix compile error

* One more tweak to captured SQL

* Ongoing interceptor tweaks

* Ongoing interceptor tweaks

* More interceptor tweaks

* Interceptor tweaks

* Tweaks to tests

* Fix tests

* Test fix

* Raise warnings when encoding extensions with missing values

* Consent service work

* More interceptor tweaks

* Consent interceptor tweaks

* Add logging to test
2019-06-27 16:35:29 -04:00
jamesagnew 95876ec3cb Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-06-22 16:24:07 -04:00
jamesagnew 638cb976fd Fix #1250 - Don't include Bundle.entry.response on search results 2019-06-22 16:23:32 -04:00
James Agnew 4ad1808da3
Propagate RequestDetails to everything in JPA server (#1358) 2019-06-22 15:18:06 -05:00
jamesagnew 989e26fdb4 Fix #1355 - Failed to call access method: java.lang.NullPointerException in case of bundle entry without resource 2019-06-22 15:51:56 -04:00
James Agnew 36ff58a320 Add docs 2019-06-17 17:46:28 -04:00
James Agnew b2e99cf035
Add support for conditional patch (#1348)
* Add support for conditional patch

* Add changelog

* Test fix
2019-06-17 16:12:05 -04:00
Stig Rohde Døssing b56f59542a Move JettyUtil to new module 2019-06-14 18:34:45 -04:00
Stig Rohde Døssing aab7bb6b64 Issue-1325: Let OS assign random ports to servers during testing, and let tests get the port of the running server once the OS has assigned a port. Delete PortUtil and similar utilities. 2019-06-14 18:34:45 -04:00
admin 3b35e6add4 Test Classes 2019-06-14 05:24:11 -05:00
Ken Stevens 2bf680509b
DeleteConflict hook, SearchableHashMapResourceProvider, and in-memory searching (#1341)
* Make IBundle list interface more flexible

* Make matchResourceLinks visible

* Make matchResourceLinks visible

* Pull in-memory matching functionality out of subscription module into dedicated classes in searchparam module

* Added more accessors to version independent resource classes

* improved forcedid matching (needs to be verified by James)
filter out nulls from HashMapProvider.searchAll() (hopefully no tests depend on this)

* add AnyComposition

* cleanup of Any classes

* create searchparam config so people can use that module without using subscriptions

* create searchparam config so people can use that module without using subscriptions

* fix broken test

* added derivedFrom

* renamed daoRegistry.getResourceDaoIfExists to getResourceDaoOrNull
also added method to add a new dao to the registry and retrieve registered types

* TokenParam.equals

* add error check to searchable hashmap resource provider

* added support for R4

* add successor to measure

* delete conflict hook
start with failing test

* test passes.
hook is called.

* added delete conflict hook
all delete conflict tests pass

* added javadoc

* Performance test

* test bad interceptor case

* typo

* rename criteria matcher

* added support for multiple topics

* fix method name

* add effective period

* Temporarily excluding StressTest from build to try to get Travis under time limit

* change log

* review feedback

* review feedback

* review feedback
2019-06-13 13:59:51 -04:00
admin e58224e63b Adding multiformat 2019-06-06 12:22:32 -05:00
James Agnew f2be9f47a0 Add 4.0.0 version enum 2019-05-30 20:59:23 -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 7863393c2c
Merge pull request #1303 from jasmdk/BaseParserFix
Removing not needed "super." when calling preProcessValues()
2019-05-29 21:46:33 -04:00
James Agnew c7a224c99d
Merge branch 'master' into upgrade-25-to-33 2019-05-29 21:33:02 -04:00
Christian Ohr cd8b2feb2f Allow to set additional Http headers directly on the IClientExecutable 2019-05-29 21:17:52 -04:00
admin 69089b81b3 Typo in pom.xml 2019-05-28 10:40:21 -05:00
admin fc27325dbc RDF XML Parser 2019-05-28 10:37:01 -05:00
admin a15c90be6d RDF Parser 0.1 2019-05-24 05:00:29 -05:00
James Agnew b4eecdef38 Test fix 2019-05-22 17:27:49 -04:00
basecade 3bb3c3a383 Preserve contained resource meta when encoding to dao (#1311)
* Preserve contained resource meta when encoding with: parser.setDontEncodeElements(ResourceMetaParams.EXCLUDE_ELEMENTS_IN_ENCODED)

* - Correct so security, lastUpdated and versionId is not encoded
- Added test
2019-05-22 17:11:03 -04:00
James Agnew 9353ea5b06 Enable websockets on public HAPI server 2019-05-04 10:06:10 -04:00
jamesagnew 150a84d52f CLeanup 2019-04-29 21:54:34 -04:00
James Agnew 828df1528f Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-04-26 11:24:00 -04:00
James Agnew 685adf7754 Revert Jetty upgrade, and improve patch error messages 2019-04-26 11:23:22 -04:00
patrick-werner 7f45660a15 changed toListOfResources to send IBaseResource as Type instead of null 2019-04-26 12:55:18 +02:00
patrick-werner a5e7ea16ae added all fetchValueSet Implementations 2019-04-26 10:47:58 +02:00
Jacob Stampe Mikkelsen 1e640718c0 Merge branch 'master' of https://github.com/jasmdk/hapi-fhir into BaseParserFix 2019-04-26 08:33:40 +02:00
jamesagnew abd53c0cbe License header updates 2019-04-24 21:20:11 -04:00
James Agnew 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -04:00
jamesagnew a9cfce3615 Header updates 2019-04-15 12:31:11 -04:00
James Agnew cff79e6aef PortUtil fixes from my working branch to avoid test failures 2019-04-15 10:34:27 -04:00
James Agnew c8f2e4bbc9 Return HTTP 400 for missing body on POST and PUT 2019-04-14 12:32:09 -04:00
ahn 3f15100a45 Removing irrelevant super call to preProcessValues 2019-04-10 12:03:32 +02:00
jamesagnew 8b5143f436 License header updates 2019-04-02 10:44:41 -04:00
jamesagnew 835b89f449 Build fixes 2019-04-01 18:55:55 -04:00
James Agnew 81de6cca32 Add a bit of documentation 2019-04-01 10:28:26 -04:00
James Agnew 3eeca4a8fd Merge branch 'master' into ja_interceptor_jpa_queries 2019-04-01 09:59:03 -04:00
James Agnew 3c18275b3d Make port delays configurable 2019-03-29 17:19:22 -04:00
jamesagnew 8791ed5793 Test tweaks 2019-03-29 17:13:41 -04:00
James Agnew e85bec2858
Ja inline references (#1252)
* Use a single IN clause for OR reference searches

* Add changelog

* One more attempt at getting the free port util to actually work... sigh

* One more tweak to free ports

* Bundle fix
2019-03-26 10:42:42 +01:00
James Agnew 3e98c3a87d Fix a param issue 2019-03-22 01:18:16 +01:00
James Agnew c701de2861 Create a performance interceptor framework for HAPI FHIR 2019-03-22 01:06:03 +01:00
James Agnew d1667487c2 Clean up unique composite search params 2019-03-21 21:57:38 +01:00
James Agnew 715b451d94 Add some javadocs to PortUtil 2019-03-18 15:27:04 +01:00
James Agnew c81c5c2497 One more tweak to the port test 2019-03-17 17:54:48 -04:00
James Agnew 50a8d2fbc8 More updates to port tests 2019-03-17 17:51:54 -04:00
jamesagnew 8818a2479c Try to prevent build failure 2019-03-17 16:14:19 -04:00
jamesagnew 7cbd7a0d50 License header update 2019-03-17 14:22:29 -04:00
jamesagnew 3e57fdb491 Improvements to PortUtil to avoid reusing ports 2019-03-17 14:09:21 -04:00
jamesagnew c482d22cff Improvements to PortUtil 2019-03-17 13:23:48 -04:00
James Agnew e15afbc4f0 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-03-14 13:32:03 -04:00
James Agnew a8c76450e5 Re-enable contains searches on the public HAPI FHIR server and improve
message formatting in HapiLocalizer
2019-03-14 13:19:26 -04:00
jamesagnew 7b1950aeed License headers 2019-03-12 17:45:51 -04:00
James Agnew e3ecf21fa9 One more test fix 2019-03-12 13:24:18 -04:00
James Agnew 00a8f8c759 Fix broken build 2019-03-12 13:13:13 -04:00
James Agnew 71a07c0239 Refactor the way that contexts are used in narrative generator 2019-03-11 16:05:25 -04:00
James Agnew f934f76c96
Several JPA search fixes (#1231)
* Search fixes

* Add some tests

* CHangelog

* Some cleanup of the query tracker

* FIx XML issue in changelog

* Test fixes

* SOme test fixes

* Address review comments

* Fix test breakage
2019-03-11 15:49:34 -04:00
Ken Stevens dcfacfea49
Has param no in (#1232) 2019-03-10 20:50:24 -04:00
jamesagnew 64facdab0a Disabling test logging 2019-03-06 16:14:32 -05:00
James Agnew 9bc0f6784d
Search paging timeout with 1500 < n < 2000 results (#1221)
* Avoid paging links when offset is artificially set very high

* Ongoing fixes

* Adding logging and clean up transaction processing

* Add changelog

* More work on queries

* Keep working on getting tests passing

* More test fixes

* More work on tests

* More test works

* One more test attempt

* Ongoing fixes

* One more change

* FIxes to search algorithm

* Add changelog

* Clean up for review

* Fixed NPE in token matcher when system is not null and value is null

* test opposite (null system not null value)

* added null protection to all matchers

* Address review comments

* Address broken test

* Trying to resolve DB ordering issues
2019-03-06 05:45:05 -05:00
James Agnew 4138832071 Add a test 2019-03-01 14:03:14 -05:00
James Agnew 3972e17e62 Add "is trusted" property to server exceptions 2019-03-01 13:58:13 -05:00
jamesagnew 6e41f90bf9 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-02-27 16:49:20 -05:00
James Agnew 48c10bddc5
Narrative Generator refactoring (#1219)
* Starting work on this

* Working on narrative templates

* Work on new narrative system

* Account for some failing tests due to refactoring of narrative mode

* Another test fix

* More test fixes

* One more test fix

* Work on searches

* Address review comments
2019-02-27 14:59:57 -05:00
jamesagnew aef5989477 Header updates 2019-02-25 20:47:30 -05:00
James Agnew 87ed00a002 Add ability to generate named parametrrs in a version independent way 2019-02-15 16:27:16 -05:00
James Agnew 485335e975 Allow terminology service to work without having Lucene enabled for
simple ValueSet expansions
2019-02-14 20:47:28 -05:00
James Agnew 10c348d44f Tweak to elements parametr support 2019-02-14 19:30:10 -05:00
James Agnew 00636276d3 Add missing version constant 2019-02-07 17:02:42 -05:00
James Agnew 810f1ad969 Improvements to elements parameter as well as adding attributes to
RequestDetails
2019-02-07 16:45:59 -05: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
jamesagnew c7d857df98 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-02-04 16:34:55 -05:00
jamesagnew d4af1ee2a3 Add tests and license headers 2019-02-04 16:34:39 -05:00
James Agnew edb79b8c6a Updates to parser dont encode elements functionality 2019-02-04 16:34:05 -05:00
James Agnew e401ec86e4
Enhanced elements (#1192)
Squashed merge: Add elements exclude mode

* Start working on elements enhancement

* Work on elements projection

* Work on elements filter

* Feature is now working

* Just some cleanup

* Address compile issues
2019-02-03 16:41:33 -05:00
jamesagnew 5f29e4fbf3 Fix #1174 - Prevent serialization exception 2019-01-30 05:49:45 -05:00
Ken Stevens 10c59fceeb
Subscription strategy tag (#1178)
tests pass
2019-01-25 13:01:04 -05:00
jamesagnew cd1e0e881c Add headers 2019-01-19 18:31:17 -05:00
jamesagnew b0cbd52ae9 Interceptor cleanup 2019-01-19 18:01:00 -05:00
James Agnew 3e84173180 Merge branch 'master' into ja-subscription-interceptors 2019-01-18 17:52:23 -05:00
James Agnew 5ce9d444e9 Work on interceptors 2019-01-18 09:04:45 -05:00
James Agnew 4367e340ae Log the version number and commit on startup 2019-01-17 16:05:54 -05:00
James Agnew 93bf2788ec Add subscription narrowing interceptor and refactor RuleBuilder to be a
bit cleaner
2019-01-12 14:23:26 -06:00
James Agnew ee52d6fb31 Add SearchNarrowingInterceptor 2019-01-09 20:20:46 -06:00
James Agnew 8beccab9ab Merge branch 'master' into test-openjdk-11 2019-01-09 10:48:57 -05:00
jpoth 1bd63f4454 Add JKD11 support for Karaf 2019-01-09 11:18:42 +01:00
jamesagnew 3d94761bcb Improve response for transactions 2019-01-06 18:08:32 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -05:00
James Agnew a1275874f8 Correct subscription delivery metadata 2019-01-04 10:56:21 -05:00
James Agnew 1bfa29bbcc Site updates 2018-12-28 11:42:21 -05:00
jamesagnew 4599a10180 Merge branch 'master' into test-openjdk-11 2018-12-23 14:19:59 -05:00
James Agnew a0cb7edd08 Version bump a few dependencies 2018-12-22 20:13:03 -05:00
James Agnew 11b8304cb4 Fix case sensitivity issue 2018-12-13 08:31:35 -05:00
Graham, Gary a01d6cf302 Add init330() to migrate from 2.5 -> 3.3 2018-12-12 21:00:41 -05:00
James Agnew b442982310 Add media interceptor 2018-12-08 18:49:58 -05:00
jamesagnew 3109a269b3 Attempting to get ErrorProne working on JDK11 2018-12-08 18:22:17 -05:00
jamesagnew 3a3b81a6a8 Preparing things for OpenJDK 11 2018-12-08 17:52:48 -05:00
James Agnew c484c69664 Better error message for unqualified search parameter types 2018-12-03 13:14:10 -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 bf8f26bc5f Work on bugfixes 2018-11-19 05:49:05 -05:00
James Agnew 58388bb614 Allow client to return methodoutcome instead of resdource for operation
call
2018-11-19 11:11:49 +01:00
James Agnew 6a6451f694 Reduce number of queries on some DB operations 2018-11-16 12:41:50 +01:00
James Agnew e4f6b3e9a2 Add a warning if an invalid class is scanned 2018-11-16 10:42:21 +01:00
James Agnew 4b099cf057 Fix #944 - NPE when using a custom resource class that has a @Block
child
2018-11-15 16:11:55 +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
James Agnew 023877e09f
Merge pull request #1047 from hdconradi/null-pointer-in-date-range-param
Fix NullPointerExceptions in DateRangeRaram
2018-11-11 17:02:27 -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
James Agnew b32e232eb2 A bit of client tweaking 2018-11-08 17:10:39 -05:00
James Agnew 82ec721c99 Allow client defined parameter style for _format param 2018-11-08 15:27:35 -05:00
James Agnew 80b0f14c4b
Merge pull request #1103 from RuthAlk/own_message_resolver_3.6.6
Allow slotting in own IMessageResolver
2018-11-08 13:22:48 -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
jamesagnew 8c2d868f16 License updates 2018-11-01 16:13:34 -04:00
James Agnew bb59e2d73a Fix broken test 2018-11-01 10:25:13 -04:00
jamesagnew bbce2c69cf Fix typo 2018-11-01 05:51:26 -04:00
jamesagnew 3f6960d82b Add multithreaded migrator tool 2018-11-01 05:42:51 -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 4cd86596f2
Merge branch 'master' into fhirterser-getvalues-enhancements 2018-10-29 09:55:34 -05: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
Ruth Alkema 729bbe04d0 Allow slotting in own IMessageResolver
This is useful in case we want to define our own way of translating
the codes in the thymeleaf templates.
2018-10-26 12:13:58 +02: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
Diederik Muylwyk 21a0390e6e Even more additional work on FhirTerser.getValues(...) enhancements. Almost ready for review. 2018-10-24 11:43:19 -04:00
Diederik Muylwyk 688e159493 Additional work on FhirTerser.getValues(...) enhancements. 2018-10-22 18:22:03 -04:00
Diederik Muylwyk 225007d681 Completed work on FhirTerser.getValues(...) enhancements. 2018-10-19 18:24:26 -04:00
Diederik Muylwyk cd6d4302c3 Incremental work on FhirTerser.getValues(...) enhancements. 2018-10-19 15:13:51 -04:00
James Agnew da2763d8c8 Merge branch 'master' into philips-3.6.0 2018-10-17 22:38:27 -04:00
James Agnew 99cd4ce5f7 Allow for _total parameter 2018-10-17 09:47:35 -04:00
jamesagnew 1c1f601332 License header updates 2018-10-16 19:56:52 -04:00
James Agnew 755060f91e Allow subscription triggering on a block of resources 2018-10-16 15:29:41 -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
jamesagnew 970c48ec37 A bit more test cleanup 2018-10-04 13:29:09 -04:00
James Agnew 95f00e1c94 Fix NPE in tests 2018-10-04 08:33:40 -04:00
James Agnew b265c0281b Expand search range when searching by date 2018-10-03 21:31:01 -04:00
James Agnew 5d5ee78873 API cleanup following JPA search performance enhancements 2018-10-03 07:43:01 -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 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
Heinz-Dieter Conradi ea5cf9f956 Fix the null pointer problems in the DataRangeParam class 2018-09-27 11:25:56 +02:00
Heinz-Dieter Conradi 734835de96 Add some test demonstrating null pointer problems in the DateRangeParam class 2018-09-27 11:25:56 +02:00