Commit Graph

307 Commits

Author SHA1 Message Date
James Agnew 6e98c02862 Fix #1495 - Avoid NPE in RuleBuilder 2019-09-20 08:57:01 -04:00
James Agnew eddb98084d Move PreferReturnEnum back to original location to avoid regressions 2019-09-19 15:48:58 -04:00
James Agnew 4a751cbfc5
Integrate Bulk Export (#1487)
* Start working on subscription processor

* Work on new scheduler

* Test fixes

* Scheduler refactoring

* Fix test failure

* One more test fix

* Updates to scheduler

* More scheduler work

* Tests now all passing

* Ongoing work on export

* Ongoing scheduler work

* Ongoing testing

* Work on export task

* Sync master

* Ongoing work

* Bump xml patch version

* Work on provider

* Work on bulk

* Work on export scheduler

* More test fies

* More test fixes

* Compile fix

* Reduce logging

* Improve logging

* Reuse bulk export jobs

* Export provider

* Improve logging in bulk export

* Work on bulk export service

* One more bugfix

* Ongoing work on Bulk Data

* Add changelog
2019-09-17 16:01:35 -04:00
Tuomo Ala-Vannesluoma 2c3283fd34
Add test for search method binding matching 2019-09-12 13:36:56 +03:00
James Agnew 0843a2b02d Avoid leaking details when canSeeReource rejects a resource from consent
service
2019-09-10 11:14:44 -04:00
James Agnew 7e41951508 Create utility method for accessing the reqyest detail 2019-09-09 15:02:12 -04:00
James Agnew 7d162c50db Don't guess content type for create/put 2019-09-05 14:47:04 -04:00
James Agnew 9428430822
Add support for Resource.meta.source (#1438)
* Work on indexing source

* Work on tests

* Refactor query count tests

* Unit test fixes

* Add some tests

* DAO fix

* Fix compile error

* Unit test fix

* Cleanup

* Test fix

* Fix compile error

* One more test fix
2019-08-21 11:17:43 -04:00
James Agnew afb682dfe9 Handle AuthorizationInterceptor rejection of by-type reads on the wrong type earlier in the process 2019-08-15 09:16:45 -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 b127867ef7 Fix responsehighlighterinterceptor to work with graphql 2019-08-13 18:00:30 -04:00
James Agnew 94c498a744 A but more tweaking to the graphql interceptor 2019-08-13 16:05:33 -04:00
James Agnew 01a6aa8f5b Test fix 2019-08-13 14:54:35 -04:00
James Agnew b4fece0ae9 Add interceptor hook for graphql calls 2019-08-13 14:46:50 -04:00
Stig Rohde Døssing bb20c2134b Issue-1387: Read version from resource meta when deciding whether to return 304 on read 2019-08-13 05:28:03 -04:00
James Agnew 0c9e5ec1ea
Support GraphQL for R3/4/5 (#1424)
* Work on grpahql enhanbcements

* Add some more chars to the sanitizer function

* Add changelog
2019-08-12 08:24:32 -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
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
James Agnew 5bf4fa22e7 Allow patching in tranactions 2019-07-18 16:41:07 -04:00
James Agnew 87ab796309 Updates to validating interceptor 2019-07-18 12:57:30 -04:00
James Agnew 9fc10242b7 Convert validating intercwptors to use new framework 2019-07-18 08:25:35 -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
James Agnew 0fb8db11a2 Add new pointcut: PROCESSING_COMPLETED 2019-07-09 14:32:11 -04:00
James Agnew 9e7cabd464 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-07 14:59:57 -04:00
James Agnew 44a97f3621 Still fire appropriate interceptor methods if the cached
capabiliotystatement is being returned
2019-07-07 14:59:26 -04:00
jamesagnew 9fcbdb0cdc License header updates 2019-07-07 14:41:57 -04:00
James Agnew 73daec633f Test fix 2019-07-07 13:07:27 -04:00
James Agnew 34f7d4ddbd Refactor ServerConformanceProvider so that it no longer keeps any state 2019-07-07 12:57:31 -04:00
James Agnew 24536941c2 Test the new isEmpty() method on IBundleProvider 2019-07-05 17:15:02 -04:00
James Agnew 1c7c83cd8e Add an isEmpty() method to IBundleProvider 2019-07-05 16:16:39 -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 e762ac9d10 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-04 09:01:35 -04:00
jamesagnew b3cb533ada Store details in RequestDetails 2019-07-04 09:01:17 -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
jamesagnew 742389642d Add tests for delete conflicts and authorizationinterceptor 2019-07-01 10:49:38 -04:00
jamesagnew 5c0e54fb86 Improve processing of deletes in AuthorizationInterceptor 2019-06-29 14:40:51 -04:00
jamesagnew ccf491b3ae Add parent pom to BOM 2019-06-29 13:50:43 -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 6d8465abe6 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-06-27 18:23:54 -04:00
jamesagnew 5910131319 License header updates 2019-06-27 18:23:45 -04:00
James Agnew 53b47ed580 Ensure that parsed reesource is available to interceptors 2019-06-27 18:23:10 -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 e76b1dacb3 License header updates 2019-06-22 18:31:16 -04:00
James Agnew 4ad1808da3
Propagate RequestDetails to everything in JPA server (#1358) 2019-06-22 15:18:06 -05:00
James Agnew 2543f27697 Add a test 2019-06-21 15:38:16 -04:00
jamesagnew c7798fee48 Test fix 2019-06-18 05:40:00 -04:00
James Agnew 6724fd0348
Implement the $subsumes operation (#1344)
* Implement the $subsumes operation

* Fix #976
2019-06-17 17:31:24 -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
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
Ken Stevens 5752a6e2b3 reported issue with proposed fix that breaks tests (#1243)
* reported issue with proposed fix that breaks tests

* Fix spelling

* Merge my changes into this

* Correctly check referential integrity on deletes

* Add one more test
2019-06-04 20:40:20 -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 86aa71d570
Merge branch 'master' into deprecated 2019-05-29 21:42:02 -04:00
James Agnew 66a669949d Add docs - Fix #1309 2019-05-29 21:16:33 -04:00
James Agnew cb8634f26f
Ja interceptor callback fix (#1308)
* Interceptor callback fix

* Ensure that interceptor methods are called after a transaction
2019-05-14 18:47:11 -04:00
James Agnew 2e50bf6bb0 Un-deprecate a method that should not have been deprecated 2019-05-04 09:49:18 -04:00
James Agnew f3f5c570b1 A couple of compile glitches 2019-04-24 21:35:49 -04:00
James Agnew 5a9fa4e549 Interceptor tweaks 2019-04-24 21:19:47 -04:00
James Agnew 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -04:00
James Agnew c8f2e4bbc9 Return HTTP 400 for missing body on POST and PUT 2019-04-14 12:32:09 -04:00
Drew Mitchell ce44c35afc Add @Deprecated annotation to IServerInterceptor::outgoingResponse(RequestDetails, IBaseResource, HttpServletRequest, HttpServletResponse) to match comment. 2019-03-18 21:35:36 -04:00
jamesagnew 64facdab0a Disabling test logging 2019-03-06 16:14:32 -05:00
James Agnew 3972e17e62 Add "is trusted" property to server exceptions 2019-03-01 13:58:13 -05:00
James Agnew 94f9ffa977 Avoid paging links when offset is artificially set very high 2019-02-25 20:44:22 -05:00
James Agnew c6fcb4fcbf Allow canonical subscription to hold multiple extensions with the same
URL
2019-02-16 15:28:39 -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 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
James Agnew 4498335ae5 Elements query cleanup 2019-02-05 14:16:47 -05:00
jamesagnew d4af1ee2a3 Add tests and license headers 2019-02-04 16:34:39 -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
James Agnew 9cf64f78d0 Deprecate a bad setter on RetfulServer, fix a paging issue, and add a
disabled unit test to the subscription matcher
2019-01-21 14:46:17 -05:00
jamesagnew cd1e0e881c Add headers 2019-01-19 18:31:17 -05:00
James Agnew b8755615b2 Allow AuthorizationInterceptor to read patients if the user has read
access to the individual instance
2019-01-14 13:53:08 -06: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 aee7b2b882 Make sure that sub-request transaction searches and reads preserve HTTP
headers
2019-01-10 07:26:04 -07:00
James Agnew ee52d6fb31 Add SearchNarrowingInterceptor 2019-01-09 20:20:46 -06:00
Stig Rohde Døssing f8b232bb67 Issue 430: Generate OperationDefinitions for named queries, fix minor errors in generation of OperationDefinition for operations. Closes #430. 2019-01-09 05:41:08 -05:00
James Agnew 62ae71c1c6 Allow authorizing delete operations via a transaction in
AuthorizationInterceptor
2019-01-07 15:43:36 -05:00
jamesagnew a8a97ae6b2 Two test fixes 2019-01-07 09:18:11 -05:00
jamesagnew 3d94761bcb Improve response for transactions 2019-01-06 18:08:32 -05:00
jamesagnew b2c7a2003e Prevent a nullpointerexception in AuthorizationInterceptor 2019-01-06 16:42:29 -05:00
jamesagnew 39f2062802 FIx errorprone detected issues 2019-01-05 13:43:55 -05:00
jamesagnew 8f8385627f Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-01-05 11:33:08 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -05:00
James Agnew 5b8fee869e Add config options for default Prefer header and _total param on server 2019-01-04 16:12:45 -05:00
Corina Dalaban 3a3d503772 head operation should return 200OK response code instead of 400
BadRequest
2018-12-21 05:40:35 -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
jamesagnew 81e8131ffc Fix broken test 2018-12-09 19:36:03 -05:00
James Agnew 67f5ba6aa0 Also allow ServeMediaResourceRawInterceptor to handle vread requests 2018-12-09 14:29:40 -05:00
James Agnew 19954fa252 Resolve failing test 2018-12-09 14:09:12 -05:00
James Agnew b442982310 Add media interceptor 2018-12-08 18:49:58 -05:00
James Agnew b2179b1696 Syntax fixes for the JPA migrator 2018-11-30 12:39:37 -05:00
James Agnew b41c222880 Require explicit declaration of authorizationinterceptor operation rules
on whether the response is authorized or not
2018-11-23 14:25:46 -05:00
James Agnew ce3b7c82ce Avoid issues when using subscription delivery in a serializing/queuing
environment
2018-11-22 17:53:42 -05:00
James Agnew 2e030eebaa Make sure that reindexing happens correctly 2018-11-21 12:06:10 -05:00