Commit Graph

1378 Commits

Author SHA1 Message Date
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
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
James Agnew fa80223d57 Fix invalid xml 2019-06-28 15:25:11 -04:00
James Agnew 8acaafed36 Credit for #1354 2019-06-28 15:24:43 -04:00
James Agnew 05d004803f Credit for #1330 2019-06-28 15:15:51 -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
James Agnew ce0c84db03
JPA server can't use OR list on _tag:not (#1362)
* Add a failing test for :not tags

* Add changelog and fix issue
2019-06-26 08:44:56 -04:00
James Agnew c14f5c1520 Credit for #1361 2019-06-25 18:31:25 -04:00
jamesagnew 3ba194acbe Reject subscriptions in JPA server if status field is not set 2019-06-22 17:03:22 -04:00
jamesagnew 0fbde2a4e5 Fix #1352 - Don't fail to create observation with a value type of
SampledData
2019-06-22 16:43:25 -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
Diederik Muylwyk 266384b536 Evaluation of PartTypeName in LoincRsnaPlaybookHandler is not case insensitive. 2019-06-21 15:36:51 -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 8bef3eddf9 Credit for #1347 2019-06-17 16:50:51 -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
James Agnew f6504ffc44 Credit for #1336 2019-06-14 15:40:28 -07: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 dd203ae28f Credit for #1337 2019-06-10 11:14:52 -04:00
James Agnew c2aec5c1a9 Respect the _total parameter for all JPA searches 2019-06-09 05:44:49 -04:00
James Agnew 9500f6e6fe Roll back derby version for now 2019-06-07 16:27:19 -04:00
James Agnew cab44e9626 One more version bump for dependencies 2019-06-07 09:17:07 -04:00
James Agnew a0fa752eac A number of dependency updates 2019-06-07 09:06:30 -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
Diederik Muylwyk aed5bb8955
Resolve #1320: "import-csv-to-conceptmap is failing unexpectedly." (#1322)
* Reproduced issue in unit test and identified potential solution.

* Fixed using BOMInputStream.

* Added changelog.

* Added a missing word in changelog.

* Added a missing word in changelog. Take two.
2019-06-03 10:53:04 -04:00
James Agnew be06c2ee19 Correctly index timing events 2019-05-31 16:42:45 -04:00
James Agnew f6c7ff1dbb Modify expunge everything to use small batches of deletes 2019-05-31 11:05:17 -04:00
James Agnew f2467e5356 Add release notes 2019-05-30 16:36:26 -04:00
James Agnew 5e181fb214 Credit for #1303 2019-05-29 21:47:57 -04:00
James Agnew 13f3c02b2b Credit for #1244 2019-05-29 21:44:30 -04:00
James Agnew 8734af8451 Credit for #1141 2019-05-29 21:34:35 -04:00
James Agnew 96c70f6093 Credit for #1213 2019-05-29 21:22:54 -04:00
James Agnew 15a962aae7 Credit for #1152 2019-05-29 21:19:03 -04:00
James Agnew 78f12b4397 Credit for #1228 2019-05-29 20:49:15 -04:00
James Agnew f17fc4ce82 Credit for #1305 2019-05-23 09:09:44 -04:00
jamesagnew aa88816d9a Credit for #1311 2019-05-22 17:13:33 -04:00
James Agnew 202c798fcd Restore R4 server support in CLI 2019-05-16 11:56:34 +02:00
James Agnew 702ffd631d Fix #1299 - Return an HTTP 201 when creating a previously deleted
resource
2019-05-06 16:33:23 -04:00
James Agnew 8f41159eb1 Fix a potential security vulneability in the testpage overlay 2019-05-02 08:13:22 -04:00
James Agnew 5132f1f4ed COnfirm validation support comntains codesystem 2019-05-02 07:50:59 -04:00
James Agnew 8c7f065440 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-04-29 14:49:56 -04:00
James Agnew 37b9e1a42c Improve validation of enableWhen questionnaires 2019-04-29 14:43:42 -04:00
Ken Stevens 3a736924f1 fixed delete reference error message 2019-04-29 10:49:32 -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
Ken Stevens 130e879d04
Delete performance (#1286)
* move expunge out

* move to prototype

* turns parameters into fields

* cleanup control flow

* moved transactions outside of loops

* add expungeeverything

* moved daos out

* add expungeThreadCount

* add expungeBatchSize

* added partition runner to run in separate threads

* all done.  just need to consolidate test code.

* Moar tests

* consolidated pointcutlatch into hapi-fhir-jpaserver-model

* final cleanup

* update javadoc

* change log

* failing test

* added delete
also @Transactional

* remove unused parameter

* fix compile

* race condition

(cherry picked from commit e1940d2fb20838859a205f2b96c833b0ce9f05eb)

# Conflicts:
#	hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/expunge/PartitionRunnerTest.java

* ja feedback

* ja feedback
2019-04-25 15:38:37 -04:00
James Agnew da962b8c10 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-04-24 14:33:28 -04:00
James Agnew 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -04:00
James Agnew f2e382a132 Swap JSON Patch provider 2019-04-24 14:10:21 -04:00
James Agnew 349b16786a Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-04-17 16:51:47 -04:00
James Agnew 210d99d121 Correct validation of questionnaire enableWhen 2019-04-17 16:50:37 -04:00
Ken Stevens a57e50317d
Websocket cleanup (#1275)
* fix bug in websocket subscription (It wasn't destroying the channel when there are no subscribers)

* add support for removing channel.  Also synchronize removal (there was a race condition between sync and queue)

* keep deprecated method for backwards compatibility

* make websocket endpoint configurable

* make websocket context path configurable

* make websocket context path configurable

* trying mvn clean test instead of mvn clean install to see if the build goes faster

* that didn't work at all.  reverting.

* change log
2019-04-17 15:03:35 -04:00
jamesagnew 08a9844066 Work on #1280 2019-04-17 09:10:17 -04:00
Ken Stevens 38dd7f0687 missing tag 2019-04-16 13:28:54 -04:00
Ken Stevens 36f81731be Merge remote-tracking branch 'origin/master' 2019-04-16 12:01:34 -04:00
Ken Stevens dfcdb2b53e updating downloads page 2019-04-16 12:01:17 -04:00
James Agnew 4512c3d895 Credit for #1255 2019-04-15 17:05:56 -04:00
James Agnew c8f2e4bbc9 Return HTTP 400 for missing body on POST and PUT 2019-04-14 12:32:09 -04:00
James Agnew 706af5d579 Don't update modified time when performing NOOP update in JPA 2019-04-05 14:36:18 -04:00
Ken Stevens 081ae89a46 changelog 2019-04-03 13:42:24 -04:00
James Agnew 3eeca4a8fd Merge branch 'master' into ja_interceptor_jpa_queries 2019-04-01 09:59:03 -04:00
James Agnew e6a6c22783 Bump a few project dependencies 2019-03-31 13:57:02 -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 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 08c7afb804 Reduce logging in JPA server 2019-03-14 17:42:13 -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
James Agnew ed4da7c414 Add setting to disable resource type target validation in JPA 2019-03-12 17:45:19 -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
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 43c07077be Automatically remove duplicate conditional creates in JPA 2019-02-22 12:57:07 -05:00
James Agnew 89b08cd627
Improve SQL IN(..) queries (#1214)
* First attempt, probably has compile issues

* Fix qualified searches

* Another test fix

* More test fixes

* Add changelog

* Two more fixes

* Revert SQL logging
2019-02-20 16:38:51 -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 a35f30b18e
Merge pull request #1208 from jamesagnew/reuse-subscription-channels
Reuse subscription channels
2019-02-15 13:42:54 -05:00
James Agnew 514ace5981 Changelog for #1209 2019-02-15 09:58:53 -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
Ken Stevens ffc5966aa3 Merge branch 'master' into reuse-subscription-channels
# Conflicts:
#	src/changes/changes.xml
2019-02-14 19:42:00 -05:00
Ken Stevens badbde7e4a SubscriptionRegistry re-uses channel and handlers if channel type didn't change when subscription is updated 2019-02-14 19:38:31 -05:00
James Agnew 10c348d44f Tweak to elements parametr support 2019-02-14 19:30:10 -05:00
James Agnew 96ad875d3a Credit for #1204 2019-02-11 09:04:57 -05:00
James Agnew 37fc432fed Credit for https://github.com/hapifhir/hapi-fhir-jpaserver-starter/pull/3/ 2019-02-07 20:20:32 -05:00
jamesagnew c01b9ef5ab Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-02-07 16:47:27 -05:00
jamesagnew dc35e500a7 Add additional files to distribution 2019-02-07 16:47:14 -05:00
James Agnew 810f1ad969 Improvements to elements parameter as well as adding attributes to
RequestDetails
2019-02-07 16:45:59 -05:00
jamesagnew 207015c3af Version bump to 3.7.0 2019-02-05 21:36:38 -05:00
James Agnew c6dfbacd7a Credit for #1148 2019-02-05 20:31:28 -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 86a12bcf2a Credit for #1114 2019-02-02 11:33:08 -05:00
jamesagnew ea84f2c377 Version bump hibernate search 2019-02-02 11:26:19 -05:00
jamesagnew b46b60798a Credit for #1130 2019-01-31 05:26:14 -05:00
jamesagnew db42609ca7 Credit for #1135 2019-01-31 05:20:43 -05:00
jamesagnew 5f29e4fbf3 Fix #1174 - Prevent serialization exception 2019-01-30 05:49:45 -05:00
jamesagnew 5d540d9208 Query optimization in JPA 2019-01-27 20:03:48 -05:00
Ken Stevens 10c59fceeb
Subscription strategy tag (#1178)
tests pass
2019-01-25 13:01:04 -05:00
Ken Stevens 5a08593abd
_id support (#1176)
* added support for _id in in-memory matcher
2019-01-23 14:37:34 -05:00
James Agnew 68fae08f20 Fix casing in base64Binary type 2019-01-23 08:34:09 -05:00
jamesagnew eee4c75300 Version bump hibernate 2019-01-23 05:57:20 -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 6c4d4e43a1 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-01-18 07:17:04 -05:00
jamesagnew 3d941ed7e3 Credit for #1084 2019-01-18 05:50:30 -05:00
James Agnew 4367e340ae Log the version number and commit on startup 2019-01-17 16:05:54 -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 38bade0429 Credit for #1118 2019-01-13 17:22:29 -06:00
James Agnew 63b8a70e8a Allow storing ConceptMap with StructureDefinition as a source or target 2019-01-13 12:24:51 -06:00
James Agnew fc09ed6966 Fix #1163 - Correctly handle invalid CapabilityStatement 2019-01-11 08:01:48 -07: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 b8f200f897 Correctly expose chains in DSTU2 server conformance statmeent 2019-01-10 06:15:31 -07:00
James Agnew ee52d6fb31 Add SearchNarrowingInterceptor 2019-01-09 20:20:46 -06:00
James Agnew bef3b956d8 Add changelog entry 2019-01-09 13:48:31 -05:00
Ken Stevens 66dd6dc96c updated documentation 2019-01-09 13:39:32 -05:00
jamesagnew b3c9b32db4 Credit for #1065 and forward-port fix to R4 provider 2019-01-09 07:19:55 -05:00
James Agnew 62ae71c1c6 Allow authorizing delete operations via a transaction in
AuthorizationInterceptor
2019-01-07 15:43:36 -05:00
jamesagnew 3d94761bcb Improve response for transactions 2019-01-06 18:08:32 -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
James Agnew a1275874f8 Correct subscription delivery metadata 2019-01-04 10:56:21 -05:00
James Agnew 7ba07d9f02 Avoid search failure on Oracle when performing very large includes 2019-01-04 09:11:11 -05:00
James Agnew 1bfa29bbcc Site updates 2018-12-28 11:42:21 -05:00
James Agnew 14a132a937 Squashed commit of the following:
commit 9659655830
Author: James Agnew <jamesagnew@gmail.com>
Date:   Thu Dec 27 17:54:25 2018 -0500

    Finish sync

commit 70da25b76f
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Thu Dec 27 10:32:51 2018 -0500

    Work on RI4 sync
2018-12-27 17:58:47 -05:00
Ken Stevens fedc59a8d6 Subscription module startup changes (#1154)
* Reorganizing packages and dependencies to support standalone subscription running within a CDR container where all hapi modules are on the classpath.

* EXPERIMENTAL: Moved Subscription registry out of interceptor and introduced ISubscriptionLoader that will be either a Database or FhirClient loader.

5 tests fail.  Looks like we're getting too many matches--likely because there is now just one list of subscriptions instead of one list per interceptor.

* Created ActiveSubscription and moved cache bits into it

* Compiles.  Next step is get app context to load.

* Application context loads.  Now fix NullPointer.

* All subscription tests pass

* FIXME cleanup

* jpa-subscription tests

* fixed config so other module tests work

* MAJOR MILESTONE: All hapi-fhir tests pass.

updated READMEs in example projects

* Moved ExecutorQueue stuff out into its own class

* Organize Imports

* FIXME cleanup

* Null check -> Optional

* Add test and supporting code to validate SubscriptionConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION behaviour

* Added SubscriptionCheckingSubscriber test that works without a database

* Moved a few beans to @ComponentScan

* Replaced use of beanFactory with concrete factory classes

* Switched test to use subscribablechannel

* Added SubscriptionLoaderFhirClientTest

* Undid changes that caused SearchParamProviderFhirClientTest to revert to the Database version.  It's now calling the FhirClient version again.  (oops)

* Confirm that our SubscriptionProviderFhirClient works with a live fhir client

* Organize imports

* Organize imports

* Register interceptors with DaoConfig instead of RestServer.
Also, Rename @VisibleForTesting methods with ForUnitTest

* Ready to go

* organize imports

* add processing queue

* Fixed interface implementation names

* Fix triggering service so it uses new subscriptionmatcherinterceptor

* fixed example

* Renamed "Database" classes to "Dao"

* Tightened up StoppableSubscriber API

* final code review

* processing -> matching naming change

* fix required by CDR

* oops

* Updated changes.xml

* Renamed subscriptioncheckingsubscriber to subscriptionmatchingsubscriber

* Renamed subscriptioncheckingsubscriber to subscriptionmatchingsubscriber

* CDR integration now works

* Changing subscribable channel abstraction layer in preparation for supporting more types of subscribable channels

* Add interface over both types of messages put on queues

* cosmetic change

* added subscription support for r4

* fixed again

* oops

* self code-review
2018-12-23 13:52:26 -05:00
James Agnew 9d3904ef3e Fix #1142 - Upgrade Spring Boot to latest version 2018-12-23 13:10:03 -05:00
James Agnew a0cb7edd08 Version bump a few dependencies 2018-12-22 20:13:03 -05:00
jamesagnew ea80d03a74 Credit for #1051 2018-12-21 05:42:39 -05:00
jamesagnew 54bb1508db Changelog for #980 2018-12-20 06:08:10 -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
James Agnew f978bc3039 Always apply new search params to any resource reindexing 2018-12-14 13:43:25 -05:00
James Agnew 11b8304cb4 Fix case sensitivity issue 2018-12-13 08:31:35 -05:00
jamesagnew 8d195aedf0 Credit for #917 2018-12-13 05:36:19 -05:00
James Agnew b442982310 Add media interceptor 2018-12-08 18:49:58 -05:00
James Agnew 5a80e70d93 Correctly reindex string indexes 2018-12-06 14:44:42 -05:00
James Agnew cbaa39fd63
Try to reuse index rows in JPA server (#1133)
* Try to reuse index rows in JPA server

* Address review comments

* One more test fix

* One more test
2018-12-05 19:25:59 -05:00
James Agnew 8c7f249a21 Migrator enhancements and adjust reindexer to account for missing
versions
2018-12-04 17:33:29 -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
James Agnew 650872cd3e Address SQL syntax issue 2018-11-29 08:37:50 -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 d0b194f9d7 Fix two test failures 2018-11-22 08:41:12 -05:00
James Agnew 2e030eebaa Make sure that reindexing happens correctly 2018-11-21 12:06:10 -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 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 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 e75d2e1f10 Credit for #1117 2018-11-15 13:37:32 +01:00
James Agnew 84acafe3af Streamline expunge operation 2018-11-15 11:37:16 +01:00
jamesagnew 31bd2186ce Update changelog 2018-11-12 09:47:17 -05:00
jamesagnew cbc6f22329 Documentation updates 2018-11-12 09:21:09 -05:00
James Agnew 63af04a7b4 Prepare for 3.6.0 release 2018-11-12 05:40:55 -05:00
James Agnew cb00512522 Credit for #1047 2018-11-11 17:08:30 -05:00
James Agnew e5b04710ea Version bump a few dependencies 2018-11-11 17:06:40 -05:00
James Agnew f61df5c3fe Use FHIRPath expression parser for custom SP validation 2018-11-09 14:41:20 -05:00
James Agnew 82ec721c99 Allow client defined parameter style for _format param 2018-11-08 15:27:35 -05:00
James Agnew 7e2e53a354 Credit for #1071 2018-11-08 13:33:25 -05:00
James Agnew 9fee827398 Credit for #1103 2018-11-08 13:24:24 -05:00
jamesagnew 3121334bfd Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-11-07 18:28:28 -05:00
jamesagnew ca9268970e Site updates 2018-11-07 18:27:08 -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 8796c1c5d2 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-11-04 14:01:17 -05:00
jamesagnew 053f4c3be7 Fix bad tag in file 2018-11-04 14:01:06 -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 3f6960d82b Add multithreaded migrator tool 2018-11-01 05:42:51 -04:00
jamesagnew 5849960a14 Add changelog 2018-10-31 05:52:15 -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 600f4585d1 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2018-10-30 15:23:00 -04:00
James Agnew 6b1ea5b989 Add tests for operation method binding 2018-10-30 15:22:39 -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
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 c669bba4bd FhirTerser.getValues(...) enhancements are completed. Added changelog entry. 2018-10-24 12:08:17 -04: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 aa177c1421 Authorize batch operation in AuthorizationInterceptor 2018-10-19 09:45:56 -04:00
James Agnew 4e252063b8 Allow transactions and batches with transaction permission in
AuthorizationInterceptor
2018-10-16 19:54:55 -04:00
James Agnew ba6df6d55a Handle unqualified ID in delete box for testpage overlay 2018-10-15 10:23:21 -04:00
James Agnew 9894980fe0 Changelog for #1093 2018-10-15 08:43:08 -04:00
James Agnew 16daa80afc Add changelog entry 2018-10-15 08:38:16 -04:00
James Agnew b44e96a5cd Merge branch 'philips-3.6.0' 2018-10-15 08:37:00 -04:00
James Agnew 8b46257423 Add warm cache module 2018-10-14 09:32:07 -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 b265c0281b Expand search range when searching by date 2018-10-03 21:31:01 -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
James Agnew 87f90fec47 Correctly handle password promnpt in CLI 2018-10-01 11:59:47 -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 dc4c0809a4 Automatically detect suitable database drivers 2018-09-25 09:58:08 -04:00
James Agnew 706e004b9d Bump to 3.6.0-SNAPSHOT 2018-09-19 10:24:48 -04:00
James Agnew 6e0a1dddd4 Fix formatting in changelog 2018-09-18 09:21:53 -04:00
James Agnew 942dfedbff Doc updates for 3.5.0 2018-09-18 08:10:38 -04:00
James Agnew a26779de81 FIx compile error 2018-09-11 08:42:46 -04:00
James Agnew 4852b0b60f Work on migration 2018-09-08 07:14:43 +08:00
James Agnew f5d567cd00 Work on migrator 2018-09-08 03:30:35 +08:00
James Agnew 8e91600746 Add changelog1 2018-09-01 14:40:31 +08:00
James Agnew 54c07263b6 Increase code lengths 2018-08-26 12:32:35 -04:00
James Agnew b2741dab0d Fix crash in mapping 2018-08-23 16:51:35 -04:00