Commit Graph

271 Commits

Author SHA1 Message Date
James Agnew b2d2346228 Work on multitenancy 2020-02-07 15:18:06 -05:00
ianmarshall 5d5b3d7639 Changes to schema to loosen dependencies between Forced ID table and the Resource and Resource History tables. 2020-01-31 11:16:01 -05:00
James Agnew 201ec34db4
Fix expunge issue when no tags present (#1671)
* Fix expunge issue when no tags present

* Add changelog

* Try to clean up POMs that are failing CI

* Rework dependencies

* Roll back change that did not work
2020-01-15 14:47:22 +08:00
James Agnew 1390ea3c06
Update FHIR R5 structures to 4.2.0 version (#1665)
* Work on upgrading core

* Work on R5 updates

* Work on core updates

* Test fix

* Update model version properties file for R5

* Bump core version

* Test fixes

* Add 4.2.0-SNAPSHOT version to versions page in docs
2020-01-14 10:27:01 +08:00
jamesagnew 9c7f5e1b9b License header updates 2020-01-12 10:15:08 -05:00
jamesagnew 6fc0bdb88f Add licene headers 2019-12-16 11:14:17 -05:00
Ken Stevens 2f89f10c64 allow users to set default group 2019-12-04 17:23:51 -05:00
Ken Stevens f29118fa9c move clustered quartz from cm db to pers db 2019-12-02 14:32:34 -05:00
Ken Stevens 993d8220d1 review feedback 2019-12-02 11:18:52 -05:00
Ken Stevens 959dba7611 pre review cleanup 2019-12-01 16:51:01 -05:00
Ken Stevens 321790f6bf standardized job names and how they're scheduled 2019-11-29 10:12:13 -05:00
Ken Stevens a0e363171d replace FireAtInterval class with an interface for now 2019-11-29 09:21:20 -05:00
Ken Stevens f450cea9a5 disable gap time for now 2019-11-28 17:57:52 -05:00
Ken Stevens 6f9cd56c81 moved scheduler up to hapi-server 2019-11-20 14:30:24 -05:00
Ken Stevens 8fca468e1f remove boolean from scheduling API 2019-11-19 10:13:22 -05:00
James Agnew 74159dcb26
Work on refactoring how PIDs work (#1580)
* Start work on refactoring how PIDs work

* Some test fixes

* Test fixes

* Test fixes

* Restore accidentally deleted line

* One more tweak

* Rework resource link extraction

* Test fix

* Split out transaction processor

* Updates

* Test fix

* Test fixes

* Test fixes

* Clean up LGTM warning

* Fix compile failure

* One more test fix

* Fix LGTM issue

* Add spot for metadata

* Add test logging

* Remove testing code

* More test logging

* Add some test logging

* Attempty to fix intermittent test failure

* Improve exception tracking

* Work on simplifying search param registry

* Fix compile

* Fix compile errors

* Fix two test bugs
2019-11-17 14:35:19 -05:00
James Agnew 497a96ae68 Version bump for next round of development 2019-11-12 22:09:21 -05:00
jamesagnew f99ad981b5 Version bump to 4.1.0 2019-11-12 16:08:20 -05:00
James Agnew b90f285218 Merge branch 'master' into ja_20190928_rationalize_search_param_extractor 2019-10-30 08:41:14 -04:00
James Agnew 007cfaf00e
Don't error out on missing CS (#1570)
* Don't error out on mi9ssing CS

* Add tests

* Add a bit of test coverage

* One more test
2019-10-30 08:38:39 -04:00
James Agnew 817f9ae36e Merge branch 'master' into ja_20190928_rationalize_search_param_extractor 2019-10-27 17:25:20 -04:00
James Agnew 6580c98ed7 Work on extractor 2019-10-26 16:56:12 -04:00
James Agnew 385a885abf Add ability for resource source to be specified by header 2019-10-24 08:32:52 -04:00
James Agnew 464c6c5b45
Upgrade dependencies and addess Semmle issues (#1554)
* Version bumps

* FIx build issues

* Address a few Semmle issues

* Work on tests

* Some test fixes

* Test fix

* Fix deletions

* Test fix

* Fix intermittent test failure

* One more dependency bump

* Add some test logging

* Remove bad import

* Add some tests

* Test updates
2019-10-22 17:10:58 -04:00
James Agnew 8b2ab51bc6
Handle canonical questionnaire refs in validator (#1544)
* Handle canonical questionnaire refs in validator

* FIx changelog

* Fix canonical reference

* Build tweak

* Change to trigger a build
2019-10-15 20:27:53 -04:00
James Agnew bf476b9c32 Handle null returns from search cache methods 2019-10-15 16:25:21 -05:00
James Agnew e656863a73
Correct bugs reported by LGTM (#1533)
* Correct bugs reported by LGTM

* Add some tests

* A few more updates

* YAML update

* Test fixes

* One more test fix

* Test fix
2019-10-09 19:26:57 -05:00
James Agnew a3b9db1363 Clean up a few unused methods and move test classes into test project 2019-10-03 14:58:02 -04:00
James Agnew ac08f632ae Increase visibility of constant 2019-10-03 12:31:31 -04:00
James Agnew b5e7e305c1 Remove a few unused methods 2019-10-03 08:35:11 -04:00
James Agnew 260cee023a Account for longer resource type names 2019-10-02 10:00:45 -04:00
James Agnew a1bf50685d Work on cleanup 2019-09-30 21:40:41 -04:00
James Agnew 8657afb01e
Fix intermittent test failures regarding search (#1509)
* Add some logging

* Add more test logging

* Work on some test logging

* Fix compile error

* Work on codecov

* Work on codecov

* Remove test debug messages
2019-09-25 20:15:21 -04:00
jamesagnew 473fa3456e Work on adding codecov 2019-09-25 14:12:42 -04:00
jamesagnew 6475146bc9 Add license headers 2019-09-19 18:08:21 -04:00
James Agnew 2be63a1650 Test fixes 2019-09-19 09:45:07 -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
Ken Stevens 1ca0e7bd53 anylist r5 support
also added another accessor
2019-09-04 21:15:08 -04:00
jamesagnew 8b09b3f3eb Rename config enum for consistency 2019-09-03 07:01:36 -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
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
jamesagnew 3e95ff3ca0 Licence header updates 2019-08-08 16:22:08 -04:00
James Agnew 2518d4e0be Add some tests 2019-08-08 15:23:55 -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 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
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 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 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
James Agnew 4bd60a8447 Roll back one dependency 2019-07-07 11:02:08 -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 cdb0006a5b Correct version of license plugin 2019-07-05 09:38:31 -04:00
James Agnew 2a473d1825 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-05 09:03:23 -04:00
James Agnew 2a6436af23 Rename columns in code mapping 2019-07-05 09:03:03 -04:00
jamesagnew aff88d3ebb License header updates 2019-07-05 07:27:18 -04:00
Ken Stevens 2b1ed16f68 Apply the same fix we used for Dstu3 2019-07-04 13:58:20 -04:00
James Agnew 886f3f442b Moving testloggingutil into test utilities 2019-07-04 09:00:30 -04:00
James Agnew 60e2063e9a Defend against ConcurrentModificationException in PointcutLatch test
util
2019-07-03 09:11:55 -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 087c53286c License header updates 2019-06-14 18:43:55 -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
Stig Døssing f032916776 Issue-1337: Fix unstable concurrent code in PointcutLatch, fix subscription tests getting latch exceptions due to missing expectations, make hapi-fhir-jpaserver-subscription tests load StructureDefinitions outside latch timers, as this can be slow on busy machines (#1338) 2019-06-10 11:05:05 -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
Mathieu Roullet 4429741c15 Renaming package name of test classes 2019-05-23 15:08:23 +02:00
jamesagnew c1bf6d0b3c License headers 2019-04-28 10:46:52 -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 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -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
James Agnew 767a84bddb Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-04-02 10:56:43 -04:00
James Agnew 8065f0f5fc Revert one accidental change 2019-04-02 10:56:26 -04:00
jamesagnew 8b5143f436 License header updates 2019-04-02 10:44:41 -04:00
James Agnew 7359b77d99 Address review comments 2019-04-02 09:33:01 -04:00
James Agnew 3eeca4a8fd Merge branch 'master' into ja_interceptor_jpa_queries 2019-04-01 09:59:03 -04:00
Ken Stevens 60cf426bf4 fix test 2019-03-29 15:17:55 -04:00
Ken Stevens b1d41a8211 named interceptor registries 2019-03-29 14:29:36 -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 87c0b3778b More work on threadlocal interceptors 2019-03-22 09:54:02 -04:00
James Agnew c701de2861 Create a performance interceptor framework for HAPI FHIR 2019-03-22 01:06:03 +01: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
Ken Stevens be4863133e
Pointcut parameters and Retrier log (#1236)
* Fixed a pointcut parameter list and log an exception that was being swallowed by Retrier

* Documentation clarification
2019-03-11 17:31:03 -04:00
Ken Stevens a2d4c93922 Subscription matcher transactions (#1229)
* fix bug in ResourceIndexSearchParamQuantity
Move transaction boundary around SubscriptionMatcherInterceptor so it can be overridden in subclass
Lots of CRLF changes from a mvn -P DIST

* FIXME
2019-03-06 16:12:04 -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 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
Ken Stevens 435f57335d sonar 2019-02-13 20:50:04 -05:00
James Agnew a5e10740c0
Merge pull request #1194 from jamesagnew/ja_more_subscription_logger
More subscription logger work
2019-02-09 11:45:25 -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 d4af1ee2a3 Add tests and license headers 2019-02-04 16:34:39 -05:00
James Agnew 88eb2c424e formatting 2019-02-04 13:50:47 -05:00
James Agnew 87a6c24bde More subscription logger work 2019-02-04 13:49:10 -05:00
James Agnew 447c394cac
Ja subscription debug logger (#1190)
Squashed commit adding subscription debug logger

* Work on subscription debug logger

* Add subscription logging interceptor

* Remove unneeded variables

* A bit of cleanup

* Tweak the output logs a bit

* Address review comments
2019-02-03 16:33:54 -05:00
jamesagnew 503d1d8aff Subscription NPE fix 2019-01-26 18:42:01 -05:00
Ken Stevens 10c59fceeb
Subscription strategy tag (#1178)
tests pass
2019-01-25 13:01:04 -05:00
James Agnew 38d03ea99a
Invalid ids in subscription queue (#1175)
* Start work on this

* Work on interceptors

* Attempt fix

* Avoid environment dependency

* Test fixes

* One more test fix

* One more build tweak

* Lots of cleanup

* A bit more cleanup

* Still more cleanup

* Some test fixes

* Add legacy methods temporarily

* Don't auto-scan interceptor beans

* One more test fix

* rsolve merge conflicts

* Address review comments
2019-01-23 21:17:47 -05:00
Ken Stevens 707bf07099 optimistic the windows tests will now finally pass! 2019-01-23 11:57:59 -05:00
James Agnew 17f03ac843 Allow null return type for interceptors 2019-01-20 19:44:18 -05:00
jamesagnew 690af1c7ff Add interceptor example 2019-01-20 19:43:08 -05:00
James Agnew af9153d64e Interceptor API tweak 2019-01-20 14:37:16 -05:00
James Agnew c22aeaa2e5 Tweaks to interceptor registry 2019-01-20 12:09:19 -05:00
James Agnew c3c7d156e9 Interceptor cleanup 2019-01-20 10:16:18 -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
Ken Stevens 19afcb7e09 all tests pass 2019-01-15 18:22:08 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -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 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 31f6a0b22b One more bit of logic for the reindexer 2018-12-04 20:29:20 -05:00
jamesagnew 82f40f0423 License header updates 2018-12-03 05:22:10 -05:00
Ken Stevens 6baee4dc3f
Standalone subscription (#1125) 2018-11-30 17:19:16 -05:00