Commit Graph

257 Commits

Author SHA1 Message Date
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
James Agnew 58388bb614 Allow client to return methodoutcome instead of resdource for operation
call
2018-11-19 11:11:49 +01: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 0d0f67b299 Add GraphQL support to public server 2018-11-16 11:41:39 +01:00
James Agnew 02b23d74fd
Merge pull request #1117 from magnuswatn/logformatfix
Fixed small log formatting error in ExceptionHandlingInterceptor.java
2018-11-15 13:38:07 +01:00
Magnus Watn 52265d248f Fixed log formatting error 2018-11-15 12:14:33 +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 a3e79b5759 License updates only 2018-11-08 15:28:09 -05:00
James Agnew 17a7fd4285
Merge pull request #1071 from volsch/master
Multiple values of a HTTP header are reduced to one value.
2018-11-08 13:27:36 -05:00
James Agnew 4b790eddb6 Add additional authorization test 2018-11-07 11:01:29 +01: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
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
James Agnew 6b1ea5b989 Add tests for operation method binding 2018-10-30 15:22:39 -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 aa177c1421 Authorize batch operation in AuthorizationInterceptor 2018-10-19 09:45:56 -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
James Agnew 4e252063b8 Allow transactions and batches with transaction permission in
AuthorizationInterceptor
2018-10-16 19:54:55 -04:00
James Agnew 796b12e33e Fix bug in $everything processing 2018-10-15 05:44:53 -04:00
James Agnew 51a69f0dc9 Fixes to migrator and count logic 2018-10-13 12:02:19 -04:00
James Agnew ca54409ce3 Add some null checks to the RestfulServer 2018-10-05 08:33:00 -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
James Agnew 706e004b9d Bump to 3.6.0-SNAPSHOT 2018-09-19 10:24:48 -04:00
jamesagnew 321e88c811 License header updates 2018-09-14 05:25:07 -04:00
James Agnew ce6a9dbc36 Fix regression from new jetty version 2018-09-11 08:27:34 -04:00
James Agnew daef975734 Version bump to 3.5.0 2018-09-08 07:22:21 +08:00
Volker Schmidt b183bed52f Multiple values for one HTTP header were reduced to the last value. 2018-09-06 19:33:34 +08:00
James Agnew 54c07263b6 Increase code lengths 2018-08-26 12:32:35 -04:00
jamesagnew df651c830e Remove dynamic mode 2018-08-19 17:35:08 -04:00
James Agnew 78a7d64d2c
Merge pull request #1022 from alinleonard/master
Patch operation on OperationsWhichAllowPreferHeader
2018-08-12 17:55:16 -04:00
jamesagnew 7eb36c3392 Work on subscription 2018-08-11 16:14:53 -04:00
jamesagnew 159377ac16 Add details to ResponseHighlighterInterceptor 2018-08-11 13:46:34 -04:00
jamesagnew 20b1f883ba Add extendible methods to RestfulServer 2018-08-08 17:21:25 -04:00
jamesagnew d9296b8e42 Add hook for error message 2018-08-08 15:14:39 -04:00
jamesagnew 6586fc438d Fix concurrency issue in hashmap 2018-08-03 13:00:57 -04:00
James Agnew 4eb3281fa6 Merge branch 'client_enhancements' 2018-07-30 18:34:49 -04:00
James Agnew d6293cf9b3 Merge branch 'client_enhancements' 2018-07-30 09:42:38 -04:00
James Agnew db0f082222
Merge pull request #996 from anamariaradu10/master
Changes regarding behavior for Prefer header
2018-07-30 09:16:20 -04:00
James Agnew d50dda19ae
Merge pull request #912 from InfiniteLoop90/911-contains-modifier
Fixes #911 - Adds support for :contains modifier
2018-07-30 05:39:27 -04:00
jamesagnew fc9f2ec0fb FIx test issue 2018-07-29 18:20:09 -04:00
James Agnew 518092cbd4 More updates 2018-07-29 17:10:26 -04:00
anamariaradu10 3a5556006b
Merge branch 'master' into master 2018-07-27 16:59:52 +03:00
Ana Maria Radu 9c39733aff Fixed issues 2018-07-27 16:48:44 +03:00
James Agnew f03d6b7c22 Allow configuration of default page size in SimpleBundleProvider 2018-07-27 18:34:12 +07:00