Commit Graph

444 Commits

Author SHA1 Message Date
Ken Stevens 611c1d9d2c
enable partition-aware subscription activation (#3844)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-25 06:59:49 +00:00
Nathan Doef cbcf3f1942
3829 Fix Subscriptions created with package installer and partitioning enabled bug (#3830)
* - failing test + increase existing code coverage

* - fix: use RequestPartitionId.defaultPartition() to handle malformed default partitions

* - changelog

* - typo
2022-07-22 13:12:07 -04:00
Etienne Poirier d2fd0989c3
3820 Providing an exception for search request with invalid or incomplete tokenParam (#3825)
* Creating an exception to be raised when searching for _tag/_provide/_security where the associated tokenParam is not properly formatted.

* Adding changelogs.

* Adding integration test.

* Rewording ChangeLog.

* Rewording exception message.

* Addressing code review comments.

* Addressing code review comments.

* Bumping hapi-fhir version to 6.1.0-PRE20-SNAPSHOT

* Modifications to pass checkstyle.

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2022-07-22 11:55:44 -04:00
Tadgh 0a1e782a8e
3817 enhance subscription before message delivery (#3824)
* Add changelog

* implementation and changes

* collection implementation

* tidy
2022-07-22 01:56:27 +00:00
Qingyixia 592190701c
Implement patch in mongo db (#3781)
* Not the final version

* Support PATCH operation

* minor modifications

* minor modifications

* Final version

* Final version

* Version Bump

* bump version again

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-17 21:26:34 -04:00
TipzCM 8ed0a18ef4
3531 implement bulk processors (#3566)
* base batch2 bulk export steps - unimplemented

* added the basic steps

* adding tests

* we have added the tests

* added tests for bulk export stages

* implementing jpa

* 3531 adding the jpabukexportprocessorimplementation

* 3531 first step for mongo bulk export

* jpa stuff updated

* 3531 hapi fhir stuff

* trying to fix up tests

* fixing test

* fixed most tests in batch export

* deprecate

* need some more guidance here

* fixing some tests

* some steps taken

* blah

* stashing

* test

* fixing tests round 1

* many a changes

* updating version

* small updates

* merging in mster again

* fixing up serialization

* added the permission checkers

* cleanup and sonarkube crap

* some more tests

* updating adding tests

* crimes

* blah

* updatingmsg number again

* removal of commented code

* cleanup

* merge confflicts

* fixing msg

* review fixes round 1

* more review fixes

* merging in master

* fixing poms

* review points

* test fix

* test fix

* fix test race condition

* truncate error

* add stack trace to error

* rename to IT

* fix race condition in test

* finally fixed race condition in test.  this time I'm optimistic hapi ci will finally pass

* fix mock test.  not a fan of mock tests like this.

* any job definition with a reducer step must be gated.

* fixed common batch bean wiring

* fix test

* lazy init ResponseTerminologyTranslationSvc

* change the way we lazy init ResponseTerminologyTranslationSvc

* change the way we lazy init ResponseTerminologyTranslationSvc (for the third time.  this is super tricky!)

* disabling testGoldenResourceWithCircularReferenceCanBeCleared for now

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-17 17:49:03 -04:00
TipzCM 0c644271ce
3770 fix batch2 failure loop (#3779)
* 3770 fixing error handling

* some updates to error handling

* changelog

* blah

* bumping version

* fix test failures

* code review points

* review points

* add retry test

* assert counts in the test

* test fixes

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-15 12:42:46 -04:00
StevenXLi 2bc6c91153
3719 enable map response terminology for bulk export (#3735)
* added failing test for Map Response Terminology for bulk export

* moved logic for terminology translation out of the interceptor to svc, added translation logic to bulk export file writer, added more tests

* added changelog

* Wip refactor dependency fix

* wip terminology translation code refactor

* terminology translation code refactor

* refactor clean up

* Remove circular dependency

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/6_1_0/3719-enable-map-response-terminology-for-bulk-export.yaml

* bump version of hapi to 6.1.0-PRE7-SNAPSHOT

* doc update

* fix issue when search param registry doesn't contain search param for the resource type

* fix beans

* hapi version bump from PRE7 to PRE10

* doc update

* add ResponseTerminologyTranslationSvc as a constructor variable to the interceptor

* fixed ResponseTerminologyInterceptorLoaderTest, added IT for cdr side

* version bump to PRE13

* removed unused import

Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-12 12:24:15 -04:00
Ken Stevens 0526da080b
3757 move delete expunge to batch2 (#3759)
* begin with failing test

* begin with failing test

* remove unused Spring Batch classes.
convert service classes

* move provider

* just one test left to fix

* fix test

* msg.code

* change log

* bumping hapi to PRE12

* fix test

* review feedback

* license update

* fix intermittent and status update atomicity

* restore url-level partition selection

* fix tests

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-09 17:25:55 -04:00
Nathan Doef b68ccb373a
3693 Search by id is returning a deleted resource with a client-generated id (#3694)
- Added functionality to optionally filter out deleted resources when resolving forced ids to persistent ids
- Bumps version

Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-05 12:37:25 -04:00
Ken Stevens 3a28920ea7
Add error-handler callback and ensure batch2 completion handler can't be called twice (#3752)
* rename field that drives everything includes

* discovered design flaw in completion

* fix intermittent

* ensure batch2 completion handler can't be called twice

* changelog

* changelog

* javadoc

* bump hapi version

* licences

* Batch2 job definitions can now optionally provide an error handler callback that will be called when a job
instance fails, errors or is cancelled.

* Changed error handler and completion handler to take a "read-only" copy of an instance instead of just certain fields.

* comment

* javadoc

* fix test

* change step execution context from taking instance id to instance

* review feedback

* fix test

* replace 20 or so jetbrains annotations

* fixed a few incorrect @NotNull annotations

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-07-04 23:27:58 -04:00
michaelabuckley 9aac4f9ba8
Introduce memory-matcher based rules (#3677)
Extend rules with filters.

New rule extension, and consent service for post-query filtering.

Co-authored-by: josie <josie.vandewetering@smilecdr.com>
Co-authored-by: Jason Roberts <jason.roberts@smilecdr.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
2022-06-29 18:23:12 +00:00
Ken Stevens 069f20a5f7
batch2 management operations api (#3742)
* first test passes.  onto the next one

* two down two to go

* three down one to go

* licenses

* basic admin-json plumbing confirmed with IT

* FIXME

* FIXME

* FIXME

* FIXME

* changelog

* bump hapi version to 6.1.0-PRE6-SNAPSHOT

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-06-28 23:02:17 -04:00
jmarchionatto 84fe58cc86
Hsearch namespace consolidation (#3733)
* Initial implementation

* Implement job cancellation

* Works for date and token. Cleanup required.

* Works for string and quantity.Cleanup pending.

* Works for reference and perform cleanup.

* Cleanup configuration and add missing tests

* Eliminate sort property registry (no go for a cluster) for a static property map.

* Missed in previous commit

* Implement HSearch number parameter

* Implement HSearch number sorting

* Unify different hibernate search names (HibernateSearch, Freetext and Lucene) to HSearch

* Move analysis configures for lucene and elastic to same file to enforce the need to keep them in synch

* Use new defined constant

* Rename package too

* Rename additional elastic references

* bump version to 6.1.0-PRE5-SNAPSHOT

* Restore Hap prefix to hapi configurers

* fixing hapi version of new maven module

* fix pom

* fix pom

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-06-28 18:38:05 -04:00
Ken Stevens 49d298dba1
mdm clear move to batch2 (#3671)
* begin with failing test

* continue building out

* continue building out

* reworking chunk api

* replace ChunkId zippers with proper iterator

* progressing test

* yay test passes!

* switch to idchunk interface

* fixmes

* compiles

* fixme

* fixme

* rename classes

* rename json classes with json suffix

* work towards homogeneous chunks

* fixme

* fixme

* unit test

* fixme

* fixme

* pull out builder

* moar tests

* moar tests

* preserve order

* moar test

* moar test

* fixme

* fixme -> wip to start ci

* msg code

* msg code fix test

* fixme

* change provider implementation

* final WIPs

* IT failing

* IT passes

* java 11

* fix test

* fix test

* fix test

* changelog

* use batch size if provided

* last WIP

* fix test

* fix test

* fix test

* whitespace change to trigger new build

* fix test

* bumping hapi version

* bumping hapi version

* fix test

* review feedback

Co-authored-by: Ken Stevens <ken@Kens-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-06-25 20:26:44 -04:00
TipzCM 48c28997e6
3662 batch2 reduction step (#3681)
* adding a bunch of stuff

* most of the steps are working now

* writing more tests

* adding more tests

* updated the batch2 coordinators

* updating version

* some minor test tweaks

* added a new test

* adding more tests

* blah

* blah

* review fixes 1

* fixing tests and refactoring

* review points

* updated for code review

* review fixes

* updated

* step 1 on review step 5

* final touches

* blah

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-06-20 18:59:01 +00:00
Tadgh 4fbbf4366c
Add impl test and changelog (#3713) 2022-06-16 21:11:15 -04:00
Etienne Poirier 868a7e5c40
3637 encapsulation of synchronous query execution capabilities into a new service for reuse (#3638)
* Adding test reproducing the issue.

* Providing implementation fixing the issue and strengthening integrated test.

* Cleaning up commended code.

* Preparing code for review.

* Adding test class SynchronousSearchSvcImplTest.

* Addressing first code review comments.

* Addressing first code review comments.

* Forcing one extra processing step to ensure exit condition is met.

* Adding tests

* Clean up in preparation of second code review.

* Addition of setting page size if required.

* Grouping synch test in nested test class.

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2022-06-05 20:38:53 -04:00
longma1 1a90c7e9ce
added fix for subscription in default partition when default partitio… (#3670)
* added fix for subscription in default partition when default partition's id is null

* added changelog

Co-authored-by: Long Ma <long@smilecdr.com>
2022-06-03 18:54:54 +00:00
JasonRoberts-smile b9579313ef
Jr 20220519 expunge config params (#3627)
* fix config settings for system-level expunge

* clean up expunge everything interface

* extract common system provider

* changelog

* version bump

* touch changelog to force a fresh pipeline

* re-enable publishing of checkstyle

* back out Gary's Sonatype change entirely
2022-05-23 18:55:42 -04:00
Ken Stevens 27024067b0
Batch 2 documentation and SRP cleanup (#3616)
* begin writing documentation.  minor refactor.

* document submitting a job

* single responsibility principle

* single responsibility principle

* single responsibility principle

* reduce method parameter count

* reduce method parameter count

* fix test mocks

* reduce method arguments

* update documentation

* add tests
resolve warnings

* resolve warnings

* moar test

* moar test

* Add @Nonnull and @Nullable annotation to construction parameters

* pre-review cleanup

* pre-review cleanup

* review feedback

* review feedback.  added FIXME

* started writing IT with FIXMES

* started writing IT with FIXMES

* added batch 2 state transition integration tests

* FIXME

* improve readability of test

* improve readability of test

* fix race condition

* pre-merge cleanup
2022-05-17 21:25:43 +00:00
Mark Iantorno 544ef3de1b
Update to 6 1 (#3582)
* added changelog folder, upped version

* version enum
2022-05-03 20:34:25 +00:00
Tadgh 581f40f373
Upgrade Hibernate Search (#3572)
* wip

* updated rest high level for lucene mismatch

* Remove custom JNA

* Bump to 13

* License files

* Changelog
2022-05-02 13:38:56 -04:00
JasonRoberts-smile 1114c72f03
Further expunge refactoring (#3550)
* convert expunge public interfaces to use ResourcePersistentId instead of Long

* changelog

* version bump
2022-04-21 09:51:19 -04:00
longma1 01d6e15f90
2579 partitioned support for mdm (#3485)
* committed changes discussed at tasking

* Changed the subscription message to store the request partition

* modified mdm subscription loader to create a cross partition subscription in the default partition if multitenancy is enabled

* Fix errors when running Multitenant IT for mdm

* Added partition id to mdm golden resource search and creating/updating golden resource

* added partition id column to the mdm link table

* Added partition id of the source resource to partition id column of the mdm link table

* broken build

* working -links, missing hapi tests

* Fixed the mdm link db table due to feedback

* added IT for create link mdm operation, also added changes to pass the IT

* Fixed test for create mdm links, added test for update mdm link on partitioned server

* changed mdmLink search from searchbyExample to criteriaBuilder, added partitionHelperSvc to determine partition

* added test for merge golden resource and search golden resource on partitioned server

* added unit test for not duplicate on partitioned and non-partitioned server

* added criteriabuilder search and tests

* code cleanup

* added partition support to -merge-golden-resources operation

* test cleanup

* fixed  operations with multitenancy

* added test for mdm clear operation

* added waiting for batch job to finish in mdm clear operation test

* added query to dao to support partitioned server for mdm clear operation

* resolve mistake from merge conflict

* added mdm-submit operations, also fixed paging for -query

* added partitionIds constant

* fixed build issue where there was no Code.msg in mdm partition exceptions

* code review fixes

* fix broken test, also fix a bug where query link could not query by linkSource properly

* fix test stubbing

* bump hapi version to 6.0.0-PRE10-SNAPSHOT

Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Long Ma <long@smilecdr.com>
2022-04-06 15:48:30 -04:00
Tadgh 5b413a9135
Package move-around (#3488)
* moved classes

* Bump version

* licensing

* Repackage, fix messages

* reject empty streams

* Remove dead import

* Version bump

* Fix up test to actually return a data stream

* Move null binary svc to storage
2022-03-26 22:43:41 +00:00
James Agnew f82534ca51
Convert Reindex into Batch2 Job (#3458)
* Start working on reindex job

* Updates

* Ongoing work

* Ongoing work

* Work on reindex

* Reindex work

* Add logging

* Fix typo

* Test fix

* Test fix

* Address fixme

* Liocense header

* Resolve fixme

* Add logging

* Update logs

* Address review comments

* License header

* Test fixes

* Test fix

* Test fixes

* Test fix

* Version bump

* Version bump
2022-03-19 16:07:58 -04:00
Ken Stevens dfd99c5471
improve search parameter registry logging (#3452)
* Startup log cleanup.  Use cached fhir contexts.

* improve logging

* improve logging

* add full comparator

* wrap resource search param map

* rename wrapped map methods

* add fixmes

* further searchparam encapsulation

* fix regression found by test

* improve logging

* pre-review cleanup

* pre-review cleanup

* bump hapi version

* license

* since I'm bumping hapi-fhir now, improve the api dependency

* licenses
2022-03-09 19:57:38 -05:00
James Agnew 2cba62b4e8
Enable search narrowing on large ValueSets (#3405)
* Enable search narrowing on large ValueSets

* ValueSet improvements

* Work on narrowing

* Work on narrowing

* Work on narrowing

* Work on narrowing

* Add test

* Work on narrowing interceptor

* Work on narrowing

* License headers

* Refactor code narrowing

* Add docs

* Version bump

* Test fix

* Test fixes

* Build fix

* Fixes

* Version bump

* Test fix

* License header updates

* Build fix

* Test fixes

* Test fix

* Test fix

* Docs fix

* Test fix

* Test fix

* Resolve fixme

* Bump

* Force a CI build

* Make CI happen again
2022-03-01 09:16:31 -05:00
James Agnew b7d1ae217d
New batch framework / Bulk Import (#3387)
* Work on new batch framework

* Work on new batch framework

* Work on new batch framework

* Work on batch

* Compile working

* Work on bulk import

* Adjust import

* Work

* Work on batch

* Bump version

* WOrk on new batch processes

* Work on bath

* Bump to PRE4

* Build fixes

* CLeanup

* Small tweak

* Add exception code

* Test fixes

* Test fixes

* Test fix

* Additional synchronization

* Add license headers

* Test fixes

* Test fixes

* Add changelogs

* Address PG

* Test fix

* Test fix

* Test fixes

* Review notes

* Work on tests

* Test fixes

* Test fix

* Work on tests

* Tets fix

* Test fixes

* Test fixes

* Add missing exception codes

* Test fix

* Test fixes

* More test fixing

* License headers

* Test fix

* Add new test logging

* Work on tests

* Test fixes

* Test fix

* Resolve fixme

* Try to avoid test failure

* Add import command

* Work on storage

* Fix error codes

* Fixes

* License header

* Build fix

* Build fixes

* Fix dep
2022-02-27 16:04:49 -05:00
Ken Stevens 6968cdfcfc
Subscription cleanup (#3422)
* fix log message

* improve unit test coverage

* make js subscription delivery handler a separate kind of handler so executor is automatically destroyed when handler is destroyed

* Significant Overhaul.  Return everything to the handler.

* test passes
cleaned up rest hook subscriber

* ensure deleting subscription destroys JavaScript engine

* add permission

* pre-review cleanup.  remove unneccesary api-breaking changes.

* pre-review cleanup.  remove unneccesary api-breaking changes.

* pre-review cleanup.

* review feedback

* review feedback
2022-02-24 18:55:16 +00:00
Ken Stevens 631391819b
remove hapi jpa spring config hierarchy (#3390)
* initial refactor to remove hapi jpa spring config hierarchy

* fix poms

* fix batch config

* dependency rearrangement arising from further testing

* fix searchDao bean name

* fixed dstu2 tests

* consolidate validation config

* dstu2 validation regression (man dstu2 support is expensive)

* fix test (with WIP comment)

* restore poms

* fix demo projects

* fix build

* bumping version

* rename generated config class
2022-02-16 20:44:03 -05:00
StevenXLi 7841e578ab
2789 nullpointerexception rest hook subscription is not being triggered when cross partition is (#3370)
* Fixed null pointer exception for re-loading subscription on cdr restart and when there's no partition id in the request, and added tests

* added changelogs for this fix

Co-authored-by: Steven Li <steven@smilecdr.com>
2022-02-10 14:14:41 -05:00
James Agnew 0f2fc7a882
Allow search narrowing and auth interceptor by `token:in` (#3360)
* Optmize valueset expansion

* Working

* Version bump

* Add documentation

* Add test

* Checkstyle message cleanup

* Add reverse rule

* Test ficx

* Test fix

* Test fix

* Test fixes

* Test fixes

* Test fix

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/security/search_narrowing_interceptor.md

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/security/search_narrowing_interceptor.md

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Test fixes

* Fix conflict

* Add setter

* Test fixes

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2022-02-09 14:27:14 -05:00
Tadgh 6982c4d680
bump version to 6.0.0-PRE1-SNAPSHOT (#3353)
* bump version

* Add new version enum

* Bumped to 6.0.0
2022-02-02 12:11:31 -08:00
Johnson Lu c42ecc5c08
Add error codes to all exceptions (#3278)
* Initial design of adding exception codes to exceptions

* Initial design of adding exception codes to exceptions

* change int module name to string

* add comment

* shorten message

* shorten message

* added checkstyle

* developing checker

* completed checkstyle plugin and unit test for it

* fix NPE

* fix checker so it ignores throws on exceptions that aren't new

* change parameter order in InvalidResponseException

* accept Msg.code() in any parameter since some exceptions like MessageException have the message string as the second parameter

* exclude generated files

* BIG COMMIT added error codes to all exception throws

* example test fix

* Modified tests such that the assert statements would better match the message responses.

* Modified additional tests such that the assert statements would better match the message responses.

* fix test

* merge master

* merge master

* Fourth commit of modified tests such that the assert statements would better match the message response

* Changes made to modify assert statements such that they match the new errors which now use error codes. Also changed ResourceNotFoundException to include error codes in its messages.

* Modified assert messages to better match new error codes

* Time Zone changes DRAFT. Certain tests pass in intellij and fail during mvn install

* Modified assert messages to better match new error codes

* Added comments for time zone fixes. Previous commit comment on time zone fixes was incorrect. By invaliding caches, all tests on both intellij and mvn install passed.

* Reverted changes on azure-pipelines.yml

* updated hapi-fhir version for checkstyle module

* changes to azure-pipelines.yml

* changes to azure-pipelines.yml

* change to pom.xml to include hapi-fhir-checkstyle in ALLMODULES

* changes to azure-piplines (these changes are to be reverted after testing)

* reverted changes to azure-piplines

* reverted change where hapi-fhir-checkstyle was added to pom.xml (hapi-fhir)

* Attempted fix on checkstyle build error

* modified azure-piplines.yml to change maven repository for checkstyle build

* Attempted fix on checkstyle build error

* checkstyle config location change for hapi-depoloyable-pom. (will be reverted if it does not work)

* attempted dependency add for hapi-depoloyable-pom. (will be reverted if it does not work)

* reverted changes for hapi-deployable-pom

* add javadoc

* update last code

* Attempted fix on checkstyle build error

* Finished adding in missing error codes to pass Checkstyle checks

* Test pipelining

* Fixing errors and bumping version (as suggested by Gary)

* Merge

* Fixing Checkstyle error

* Attempted fix for date error

* Add error code onto assert statement

* Add in a couple more error codes

* Fixing assert statements

* Bump to static version for dependency

* Adding error code to message

* Adding error codes to exceptions

* Adding error codes to exceptions

* Change to work with cdr branch

* Update to faulty error message

* Merge changes

* allow checkstyle pom to deploy

Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Simon Zuccherato <simon.zuccherato@smilecdr.com>
Co-authored-by: Predap <simon.zuccherato@gmail.com>
Co-authored-by: Predap <46201929+Predap@users.noreply.github.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
2022-01-31 13:10:15 -08:00
longma1 ab22fd6e82
2718 cross partition support for subscription (#3298)
* added settings for cross-partition to Dao and Model config

* modified subscription validator to validate cross partition subscriptions

* modify subscription matcher to allow matching on all partitions when subscription is set to cross partition

* added cross partition to canonicalSubscription

* end of day commit, changed how we are checking if default partition in subscription validator

* fixed issue with i memory matching for cross partition subscriptions

* added test for parsing legacy CanonicalSubscription

* added changelog and doc changes

* addressed comments in pr

* added assertdoesnotthrow

* test fixes, added new mocks

* added check for if resource can have extension before checking for extensions

* removed unnecessary semicolon

Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Long Ma <long@smilecdr.com>
2022-01-21 15:04:39 -07:00
StevenXLi 3062430bc5
2720 rest hook subscription with payload search criteria is not getting triggered (#3308)
* Added IT for Payload Search REST HOOK subscription, fixed issue with null pointer exception

* removed todo comment, added changelog

Co-authored-by: Steven Li <steven@smilecdr.com>
2022-01-18 14:56:10 -05:00
jamesagnew aafc42fdd8 License header updates 2022-01-04 13:37:10 -05:00
James Agnew d610d33ac3
Dependency bumps (#3264)
* Bump a number of versions

* Fixes

* Work on version bump

* Bump

* Test fix

* More version bumps

* Build fixes

* Test fixes

* Fixes

* Fixes

* Test fix

* Bump jacoco

* Test fix

* Test fix

* Test fix

* Build fix

* Build fix

* Remove versioned H2

* Build fix

* Avoid memory issue in validation tests

* JDK bump

* Restore compile with errorprone

* Force coloured output

* Force jansi

* Try again to force jansi

* Fix for hardcoded date that just passed

* Fixes to JPA

* Improve changelog

* Work on failing test

* Test fix

* Compile fix

* One more version bump

* Test fixes
2022-01-04 13:21:14 -05:00
Ken Stevens a078306a7d merge master 2021-12-16 14:58:50 -05:00
TipzCM f3c17865d7
2521 delete subscription resource (#3235)
* 2521 will set subscriptionst hat cant be initialized to error state to prevent infinite retries

* 2521 add changelog

* cleanup

* fix issue in merge

* fix bad merge

* bad merge

* 2521 review fixes and test fixes

* 2521 review fixes

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
2021-12-15 16:17:03 +00:00
jmarchionatto ef83777115
Allow Subscription to be configured to send delete messages (#3245)
* Allow Subscription to be configured to send delete messages

* Add tests and implement MR suggestions

Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
2021-12-14 16:32:56 -05:00
Tadgh 50a3005c23
Fix flag name (#3247)
* Fix flag name

* Bump hapi version
2021-12-14 19:20:03 +00:00
longma1 a56603daa2
2480 partition aware subscription (#3218)
* some fixmes to start

* Added some FIXMEs

* added RequestPartitionId to reosurceDelivryMessage and ResourceModifiedMessage

* ResourceDeliveryMessage and ResourceModifiedMessage tests

* fixed issue with test missing partitionHelperSvc mocked bean

* Added tests and implemented SubscriptionMatchingSubscriber for partition aware subscription

* modified implementation of partitionId in CanonicalSubscription

* Moved PartitionablePartitionId, and refactored all calls to getUserData(Constants.RESOURCE_PARTITION_ID) and setUserData(Constants.RESOURCE_PARTITION_ID)

* Revert "Moved PartitionablePartitionId, and refactored all calls to getUserData(Constants.RESOURCE_PARTITION_ID) and setUserData(Constants.RESOURCE_PARTITION_ID)"

This reverts commit fe40fb9733.

* Got added partitionId to subscriptions, added changes to make SubscriptionMatchingSubscriberTest work

* added SubscriptionTriggering test, also added partition support to subscriptionLoader

* Changed implementation for storing partition id of subscriptions from messages, refactored tests to new implementation

* added all subscription systemRequestDetails with all partition to subscription reader

* refactored a generic system request details with default all partition request

* Added test for dao subscriptions, fixes to get the test working

* added partition support for latest version delivery

* added doc changes and changelog for multitenancy subscription

* cleanup and added partitioned subscription manually trigger test

* fixed mocked subscriptionDao

* added package-info for subscription module

* some code review changes

* removed AllPartitionSystemRequestDetail, added new text for multitenant subscription

* renamed method for code review

* version bump to 5.7.0PRE7

Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
2021-12-13 08:45:30 -07:00
VK-SMILECDR bd89cf022b
Improve mail service (#3230)
* move mail config to mail service constructor

* update subscription email sender

* added license text

* [2669] bump HAPI version to 5.7.0-PRE6-SNAPSHOT

* add changelog
2021-12-09 17:05:42 -05:00
Ken Stevens 9753b66610
2564 contained resource validation flag (#3225)
* First cut at multithreading bundle validation

* javadoc

* change test to a red-green test

* add daoconfig

* move bundle concurrency config from validationsupport to request validator

* Moved concurrent details from ValidationOptions to FhirValidator

* Remove bundleValidationThreadCount (it's set by creating an appropriate executor)

* validate threadpool prefixes

* FIXME cleanup

* reassign FIXMEs to JB

* only create the threadpool if it will be used

* Add the MdcTaskDectorator to all threadpools

* Add bundle path to concurrently validated bundle resource validation messages.

* Add test to check bundle entry path being added to validation messages

* Threaded validation of contained resources initial checkin

* FHIR validator refactored to maintain correct bundle path and async validation task

* Refactored to use validation complete invoke callback to support raw string resource or resource object

* switch from XML to JSON

* # Conflicts:
#	hapi-fhir-base/src/main/java/ca/uhn/fhir/validation/FhirValidator.java
#	hapi-fhir-validation/src/test/java/org/hl7/fhir/r4/validation/FhirInstanceValidatorR4Test.java

* Updated to use new HAPI-FHIR version

* merge 'validate_contains_change' into issue-3144-multi-threaded-bundle-validation

* Updated to use new HAPI-FHIR version

* Revert "Updated to use new HAPI-FHIR version"

This reverts commit 910b7f676b.

* Revert "merge 'validate_contains_change' into issue-3144-multi-threaded-bundle-validation"

This reverts commit c7d60fc3e6.

* Revert "Updated to use new HAPI-FHIR version"

This reverts commit aa8a7af455.

# Conflicts:
#	hapi-fhir-validation/src/test/java/org/hl7/fhir/r4/validation/FhirInstanceValidatorR4Test.java

* Fix Test dependencies after reverting changes.

* merge 'validate_contains_change' to 2564-contained-resource-validation-flag

* Disable threadpool prefix name validate check.

* merge master

* fix thread regexp

* pre-review cleanup

* change log

* fix test

* revert to XML as default validation serialization

* fix test

* fix test

Co-authored-by: Jaison B <jaisonb@gmail.com>
2021-12-08 15:18:54 -05:00
James Agnew d072357c2a
Move graphql provider (#3214)
* Move graphql provider

* Version bump
2021-12-05 17:22:20 -05:00
jamesagnew 76685ad691 Refactor uitlity method for reuse 2021-11-29 09:58:12 -05:00
James Agnew aae53d6ec7
Improve loading performance (#3197)
* Synthea perf work

* Cleanup

* Work on performance

* Ongoing perf work

* More perf work

* Perf work

* Test fixes

* Updates

* Test fix

* Test fixes

* Clean up tests

* Test cleanup

* Cleanup

* Add test

* One more perf tweak

* Fixes

* Add changelog

* Add changelog

* License header update

* License header updates
2021-11-28 10:47:30 -05:00
Tadgh 41ef7cf961
Support multiple EID systems for MDM. (#3178)
* Add implementation, changelog, docs, and tests

* Fix potential NPE

* Use constant instead of *
2021-11-24 06:05:13 +00:00
TipzCM 25c025cdee
3153 update unknowncodesystemwarningvallidationsupport to have configurable severities (#3155)
* 3153 updating the unknowncodesystemwarningvalidationsupport class

* 3153 updating version for smile

* 3153 update broken tests

* 3153 adding log

* 3153 cleanup

* 3153 cleanup

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
2021-11-10 16:06:09 -05:00
TipzCM 59bf8b836f
Issue 3120 support adding retry extension (#3137)
* issue-1134 initial work on adding retry handler

* issue-1134 subdscription creation fixes

* issue-1134 update the test

* issue-1134 retry policy off canonicalsubscription

* issue 1134 base subscription changes

* add failing test

* issue 1134 retry configs on base parameters

* issue 1134 passing forward params

* issue-1134 added more tests for making sure subscriptions create their channels correctly

* issue-1134 updates to get the retry to channels

* issue-1134 updating channel factory

* issue-1134 remove the dlq since it's not defineable

* issue-3120 changelog added

* issue-3120 cleaning up

* issue-3120 test fix

* issue-3120 review fixes

* issue-3120 fixed bad master merge

* issue-3120 updates for new release

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
2021-11-03 18:21:10 -04:00
Tadgh a10c58e839
Bump version, add version to versionenum (#3135) 2021-11-02 09:40:56 -04:00
Tadgh 7c63441663
Revert "Issue 1134 retry mechanic on subscriptions (#3121)" (#3128)
This reverts commit 9b23e9e825.
2021-10-30 19:46:42 +00:00
TipzCM 9b23e9e825
Issue 1134 retry mechanic on subscriptions (#3121)
* issue-1134 initial work on adding retry handler

* issue-1134 subdscription creation fixes

* issue-1134 update the test

* issue-1134 retry policy off canonicalsubscription

* issue 1134 base subscription changes

* add failing test

* issue 1134 retry configs on base parameters

* issue 1134 passing forward params

* issue-1134 added more tests for making sure subscriptions create their channels correctly

* issue-1134 updates to get the retry to channels

* issue-1134 updating channel factory

* issue-1134 remove the dlq since it's not defineable

* issue-3120 changelog added

* issue-3120 cleaning up

* issue-3120 test fix

* issue-3120 review fixes

* issue-3120 fixed bad master merge

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
2021-10-29 11:21:43 -04:00
James Agnew 5f672bc9e8
Deprecate redundant BaseResourceModifiedMessage myId (#3116)
* Deprecate redundant BaseResourceModifiedMessage myId

* Add changelog

* Test fix

* Test fix
2021-10-28 07:55:46 -04:00
jamesagnew ccd0d106dc License header updates 2021-10-27 05:57:38 -04:00
James Agnew 9e057574a6
Allow multi-resource Subscription criteria (#3110)
* Allow start criteria subscriptions

* Rework subscription tests

* Subscription cleanup

* Add changelog

* Test fixes

* Test fix
2021-10-26 16:48:13 -04:00
Tadgh b427135b04
Patient/$everything _id parameter (#3077)
* Add tests. Add implementation in R4. Add changelog

* Wip partial fixup of other STU versions

* Updated usages of new patient type everything api

* Partial commit of incomplete documentation

* Remove docs

* Cut to token instead of string

* Bump hapi version due to breaking api changes
2021-10-17 14:34:33 +00:00
James Agnew 310a4cdb58
Migrate CLOB columns to LOB (SMILE-3072) (#3016)
* Migration finished

* Work on LOBS

* Add to ClobMigrated annotation

* Deal with lobs

* Work on new approach

* HAPI FHIR version bump

* Add changelog

* Add license header

* Fix intermittent

* CLeanup

* Cleanup
2021-10-11 16:47:37 -04:00
Ken Stevens 53c7476dae
hapi storage (#3024)
* first pass moving core storage classes to storage-api

* move term service apis

* nearly done

* rename hapi-fhir-storage-api to hapi-fhir-storage and move transaction processor

* rename hapi-fhir-storage-api to hapi-fhir-storage and move transaction processor

* create new SearchConstants class to store platform independent search constants

* move a couple of subscription services

* move transaction processor adapter to storage

* version bump

* move searchparam

* fix test

* fix compile includes

* fix text

* fix docs
2021-09-23 22:04:46 -04:00
Ken Stevens 060791aeb4
hapi-fhir-storage-api (#3006)
* rename hapi-fhir-jpaserver-migrate to hapi-fhir-sql-migrate and move hapi-tasks into jpaserver-persistence

* rename hapi-fhir-jpaserver-api to hapi-fhir-storage-api

* move bulk import apis

* create hapi-fhir-jpa

* create hapi-fhir-jpa

* move CircularQueueCaptureQueriesListener to japi-fhir-jpa

* move mdm logs to storage-api

* move gziputil to storage-api

* move quartz scheduling to hapi-fhir-jpa

* move default subscription channel factory to storage-api

* consolidated batch constants

* correct accidental Logs change

* remove dependency of cdr-api on cdr-persistence

* fix javadoc

* pom descriptions

* review feedback
2021-09-21 15:36:08 +00:00
James Agnew 5554431146
Avoid dead SearchParameter links in CapabilityStatement (#2790)
* Avoid dead SearchParameter links in CapabilityStatement

* Resolve fixmes

* Build fix

* Test fix

* Test fix

* Test fix

* Work on metadata

* Fixes

* Test fixes

* Test fix

* Test fix

* Test fixes

* Test fix

* Work on test fixes

* Test fixes

* Test fixes

* Test fixes

* Test fix

* Fix params

* Resolve fixme

* Adjust changelogs

* Version bump to 5.6.0-PRE7

* Add license header

* Bump version to 5.6.0-PRE5-SNAPSHOT
2021-09-11 18:27:18 -04:00
Tadgh 3ec47cb0ba Bump version as we break the localcontainerentitymanagerfactory bean constructors args 2021-09-07 13:58:22 -04:00
Ken Stevens 346e29920a
Issue 2927 convert mdm clear to spring batch (#2929)
* initial roughout of mdm clear batch job

* still roughing out classes

* finished first draft of reader

* most tests passing now

* all tests pass.  now FIXMEs

* FIXMEs done.  Time for regression.

* fix test

* changelog and docs

* fix test

* pre-review cleanup

* version bump

* move spring autowire deps for cdr

* move spring autowire deps for cdr

* finally got beans working phew

* rearrange method calls so persistence module can perform clear operation on its own

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_mdm/mdm_operations.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* review feedback

* review feedback

* Remove inheritance

* fix beans

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
2021-09-03 14:58:19 -04:00
Tadgh 37ad73a422 Bump PRE version so we don't conflict downstream 2021-08-23 15:42:18 -04:00
VK-SMILECDR 1e0f843d6c
2852 - Simplify java mail code (#2874)
* testing

* [2852] adding SimpleJavaEmail

* [2852] refactor email sender code

* [2852] dependency cleanup

* [2852] add missing dependency

* [2852] add missing spring framework test dependency

* [2852] add change log

* [2852] add change log

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_5_0/2852-simplify-java-mail-code.yaml

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* [2852] minor test code cleanup

* [2852] add more tests

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
2021-08-09 15:59:47 -04:00
Tadgh 4fadc62066 Bump Hapi Version 2021-08-06 13:44:04 -04:00
Ken Stevens f5dfc3a5ed
New reindex spring batch operation (#2845)
* first sweep to add new $reindex job

* first cut done.  next up integration test.

* start roughing out reindex everything

* Failing test

* test passes

* add BundleUtil helper method

* rough in processEverything

* rough in processEverything

* fix mock test

* merge master

* Make BaseJpaTest.mySrd lenient.

* fix test

* reindex everything works with FIXMEs

* reindex everything more tests

* moar tests

* moar tests

* fix test

* fix test

* fix regression and fix test

* fix test cycle

* fixme

* fix test

* test provider layer

* reindex everything partition aware

* yay last fixme!

* run reindex in partitioned threads

* add fixmes for areas that require extra testing

* added transaction and log message

* manual integration testing

* changelog

* reindex all partitions

* bump hapi version

* fix test

* moar test

* pre-review cleanup

* fix javadoc

* review feedback

* review feedback

* review feedback

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_5_0/2845-reindex-operation.yaml

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* review feedback

* review feedback

* Update hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/delete/job/ReindexJobTest.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* Update hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/delete/job/ReindexJobTest.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* Update hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/MultitenantBatchOperationR4Test.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* Update hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/provider/r4/MultitenantBatchOperationR4Test.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* Update hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/ResourceSearch.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

* Update hapi-fhir-server/src/main/java/ca/uhn/fhir/rest/api/server/storage/IDeleteExpungeJobSubmitter.java

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>

Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
2021-07-29 19:18:49 -04:00
jamesagnew a5e6674e84 Version bump to 5.5.0-PRE7-SNAPSHOT 2021-07-22 08:41:16 -04:00
Tadgh f66f9b992e Bump pre-version as this will break downstream implementations 2021-06-30 15:37:19 -04:00
Ken Stevens 0b05c730fb
don't create a channel if subscriptions are disabled. (#2733)
* don't create a channel if subscriptions are disabled.

* review feedback

* fix test

* fix intermittent

* fix intermittent
2021-06-19 00:00:16 -04:00
James Agnew 8b205b23d0
Fix history paging (#2741)
* Fix history paging

* Add changelog

* Add license header
2021-06-18 17:47:51 -04:00
Ken Stevens 134631fdee
Convert delete expunge to use Spring Batch (#2697)
* prepare to add $delete-expunge operation that will create a spring batch job

* Add operation

* Wire up jpa provider.  Begin with failing test.

* Copy/paste bulk import job as a starting point.
FIXME with proposed design

* delete expunge job parameter validation with test

* implemented reader
stubbed processor, writer

* wip for master merge

* started implementing reader

* started implementing reader

* working with stubs

* happy path batch delete expunge is done

* Provider done but test not passing.  Guessing batch infrastructure not running in that test.

* IT test works now

* add reader test

* Converted delete _expunge=true to use new batch job

* DeleteExpungeDaoTest passes

* Fix test

* Change batch size to integer

* rename search count to batch size

* Make delete expunge partition aware

* updated docs

* pre-review cleanup

* change log

* add partition id to SystemRequestDetails

* Make RequestPartitionId serializable

* Change delete expunge provider to use partition id instead of tenant name

* fix tests

* test pointcut gets called

* assert on pointcut calls

* Add resource type to STORAGE_PARTITION_SELECTED pointcut

* bump hapi-fhir version
move expunge provider parameters from JpaConstants to ProviderConstants

* bump hapi-fhir version

* copyrights

* restore deleteexpungeservice for mdm

* restore deleteexpungeservice for mdm

* fix test

* public constants

* convert instant to date

* Moved expunge constants to ProviderConstants

* final review

* disabling InMemoryResourceMatcherR5Test.testNowNextMinute() to see if I can get a clean test run

* fix tests

* fix tests

* fix tests

* fix tests

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

* improve logging

* bump version

* version bump

* recovering from failed merge

* unzip RequestListJson per Gary's suggestion.  I didn't want to do it at first, but as usual Gary was right.

* fix serialization
2021-06-15 10:36:05 -04:00
jamesagnew 376a84d213 Version bump 2021-06-14 13:12:34 -04:00
James Agnew dc627dc019
Add bulk export authorization layer (#2712)
* Add bulk export authorization layer

* Add docs

* Version bump

* Authorize any

* Add bulk export - all

* Address lgtm issue
2021-06-06 20:47:43 -04:00
James Agnew c8c596aff4
Fix date search on period with no end (#2676)
* Add test

* Working test

* Update test

* Account for date fixes

* Add changelog

* Add setting

* Test fixes

* Test fix
2021-05-26 21:03:53 -04:00
James Agnew 7a83c76e65
Add validation suppression mode (#2675)
* Add validation suppression mode

* Add changelog

* Compile fix
2021-05-26 17:41:48 -04:00
jamesagnew e359b6d823 Handle missing contained subscription 2021-05-19 09:45:04 -04:00
jamesagnew ff2698d4d1 Merge branch 'rel_5_4' 2021-05-19 09:22:11 -04:00
jamesagnew de56f440cb Version bump 2021-05-18 17:14:14 -04:00
jamesagnew 2068372998 Version bump 2021-05-07 17:43:54 -04:00
jamesagnew 63c4b22cd3 Undo bump 2021-05-07 17:42:50 -04:00
jamesagnew 17e41520a4 Version bump 2021-05-07 17:41:39 -04:00
Ken Stevens a4856bba17
fix iBundleProvider.getResources(from,to) throwing a NPE (#2632)
* fix iBundleProvider.getResources(from,to) throwing a NPE

* change log

* review feedback

* rename test to IT that has concurrency failures
2021-05-05 21:50:51 -04:00
James Agnew 970a9884f0
Avoid tag definition constraint (#2620)
* Avoid tag definition constraint failure

* Version bumps

* Add changelog

* Avoid guava issue

* Test fix

* Test fix

* Bump pom
2021-05-01 17:16:15 -04:00
James Agnew 95d7ba6fa8
Streamline Search SQLs (#2576)
* Streamline SQL queries

* SQL query tidying

* Add changelog

* Test fixes

* Tests passing

* Ongoing work

* Test fixes

* Test fixes

* Build fix

* Cleanup

* Fixes
2021-04-28 10:29:09 -04:00
James Agnew 2ba1005762
OpenAPI Support (#2560)
* Start work on OpenAPI

* Fixes

* Work on OpenAPI

* Cleanup

* Cleanup

* More swagger work

* Build fix

* More work

* More work

* Add documentation

* Docs fixes

* Add changelog

* License updates

* Add API

* Cleanup

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_plain/openapi.md

Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>

* Work on scripts

* Add docs

* Compile fix

* Work on fixes

* Fix tests

* Test fix

* Test fix

* Build fix

* Tests

* Build fix

* Work on pipeline

* Version bump

* Test fix

* Version bump

* Test fix attempts

* Test fix

* Test fix

* Remove accidentally committed files

* Fixes

* Tets fixes

* Test fix

* Test fix

* Test fix

* Test fixes

* Test fixes

* Test fixes

* License header updates

* test fix

* Test fixes

* Test fix

* Test fixes

* Test fix

* Checkstyle bump

Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>
2021-04-25 15:40:50 -04:00
Nick Goupinets 4e266462ec Bumped up version due to breaking changes 2021-04-20 16:17:27 -04:00
James Agnew ca2088f3ad
Add framework for Bulk Import (#2538)
* Start work on bul;k import

* Work on bulk import

* Have batch working

* Working

* Working

* More work

* More work on bulk export

* Address fixmes

* License header updates

* Test fixes

* License header updates

* Test fix

* Test fix

* Version bumps

* Work on config

* Test cleanup

* One more version bump

* Version bump

* CLeanup

* A few additions

* Test fixes

* Test fix

* Test fix

* Migration fix

* Test fix

* Test fix
2021-04-14 17:41:32 -04:00
James Agnew a6cbf7eebd
Add support for hierarchycal valueset expansion (#2525)
* Add support for hierarchycal valueset expansion

* Add changelog

* Add tests

* Cleanup

* Test fix

* Test fixes
2021-04-06 17:36:54 -04:00
James Agnew b617c7690d
Search Parameter Infrastructure Cleanup (#2522)
* Search param service cleanup

* Work on collapsing search param

* Search param cleanup

* Work on build

* Test fix

* Test fixes

* Ongoing work

* Test fix

* Compile fix

* Test fixes

* Test fix

* Test fix

* License header updates

* Remove fixme

* Cleanup

* Cleanup
2021-04-05 17:40:10 -04:00
Diederik Muylwyk b720c32c1d Version bump 2021-03-29 18:23:16 -04:00
James Agnew dc41d5ad61
Add terminology mapping and display population interceptors (#2488)
* Start work on code mapping interceptors

* Work on generation

* Add terminology mapping and display population interceptors

* Add changelog

* License header updates

* Test fixes

* Fix typo

* Interceptor fixes

* License header update

* Test fixes

* Mapping fixes

* Version bump

* License header updates

* Add null tests

* Add null guard

* Intermittent fix
2021-03-21 12:03:57 -04:00
James Agnew 3eda19c65a
Version bump (#2400)
* Version bump

* Docs changes

* Docs tweaks

* Docs tweak

* Spelling fixes

* Docs tweaks
2021-02-18 11:07:49 -05:00
jamesagnew 919c1dbddc Version bump to 5.3.0 2021-02-17 07:10:13 -05:00
Frank Tao f6d4a40388
UCUM Service Support (#2261)
* Added UcumServiceUtil

* Removed ucum-essense.xml

* Added ucum service existing test cases passed

* Added more test cases

* Merge branch 'master' into ft-ucum-support

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.

* Added back extractReferenceParamsAsQueryTokens

* Added changelog and migration script

* Added length for the string type

* Moved UCUM util to hapi-fhir-jpaserver-model

* Renamed UCUM support to Normalized Quantity Search Support

* Moved setNormalizedQuantitySearchNotSupported to AfterEach

* Changed migrate task to 530

* Removed comments

* Fixed in memory search issue and added more test cases

* Fixed the version order

* License header updates

* Updated based on review comments

* Updated the migration task based on review comments

* Fixed RES_TYPE with type String and length 100

* Changed myParamsQuantityNormalizedPopulated type to Boolean class
2021-01-10 21:05:24 -05:00
jamesagnew 57347ddb63 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2021-01-01 15:52:06 -05:00
jamesagnew d20b07c78e Update license headers 2021-01-01 15:50:24 -05:00
jamesagnew ec712e086c Version bump mockito 2021-01-01 15:50:00 -05:00
jamesagnew f30999b053 License header updates 2021-01-01 15:07:23 -05:00
James Agnew 8f8c5c31f1
Add validation rules interceptor (#2264)
* Start work on validation rules interceptor

* Work on interceptor

* Add tests

* Work on validation interceptor

* Work on interceptor

* Test fix

* Documentation tweaks
2021-01-01 14:29:10 -05:00
Tadgh e79114e2ec
Un-revert the MDM changes, now that issues have been addressed (#2226)
* Backward compatibility changes

* Revert "Revert "Remove all references to Person from EMPI.""

* Updated docs

* Removed mdm channel references

* Initial implementation

* fix coarseness bug. Fix tests. reinitialize silly bean

* Add forgotten json file

* Generic provider PoC

* Refactored provider to use BundleBuilder

* Removed version-specific MDM providers

* Addressed code review comments

* Fixed after merge

* Fixed docs

* MDM SVG for Update Use Cases

* Removed obsolete docs

Co-authored-by: Nick <nick.goupinets@smilecdr.com>
Co-authored-by: Nick Goupinets <73255752+nvg-smile@users.noreply.github.com>
2020-12-17 10:12:53 -05:00
James Agnew d958764d49
Partition data leaks across searches (#2220)
* Partition data leaks across searches

* Add changelog

* Resolve FIXME

* Add test logging

* Test fix

* Test fix
2020-12-06 16:32:07 -05:00
Ken Stevens 3d3242cf9a
Resource change listener (#2191)
* init rev

* fix build

* Tweaked the POM config settings and also added some dependency exclusions (commented out for now).

* More re-factoring of the CQL Unit Tests.

* Removed a LogMessages.html file and a minor Unit Test change.

* Unit Tests.

* added debug logging to troubleshoot the dao that has no name

* added debug logging to troubleshoot the dao that has no name

* workaround to get past null dao resourceName issue

* fix jsons to get test to pass.  Test still fails with library id problem

* gitignore

* gitignore

* test passes!  Woohoo!

* undo troubleshooting logging

* added timer and logging.

* added asserts and time multiple evaluations and measure the average

* readme

* adding explanations

* added more explanatory notes

* measure 2 patients

* move pom to use cqf snapshot

* roughed out cache

* roughed out cache

* Added code to VersionChangeCache class.

* added tests

* added polling test

* wrote init version

* wrote init version

* optimized versioncache

* worked on getting tests to pass

* redesigned interfaces

* all tests pass

* fixmes

* fixmes

* rename param

* Added Unit Tests.

* javadoc

* Fixed the 2-Patient Unit Test.

* More Unit Test work.

* make ResourceVersionMap immutable

* Fixed a Unit Test that was failing intermittently by adding a new way to refresh the cache.

* Use a new method called doRefreshAllCaches(0) to force a refresh and have all Listeners called immediately.

* Cleaned up IVersionChangeListenerRegistry interface to make methods more clear and resolved all Unit Tests.

* disabled tests

* disabled tests

* removed unused test method

* fixed refresh logic and added asserts

* moved cache so it can be used by searchparamregistry

* Updated the Cql Unit Tests to be properly configured for Dstu3 or R4.

* started rewriting SearchParamRegistryImpl to use new cache
added init method to listener interface

* added fixmes

* adding tests

* tests pass

* added tests

* Fixed the way CqlProviderFactory Autowires Beans so it can work with both Dstu3 and R4 contexts.

* moar tests

* fix test

* work tests

* reverting unneccessary refactors

* undo unneccessary import changes to reduce MR size

* undo unneccessary import changes to reduce MR size

* Unit Test fixes...more to come...

* add unregister

* fix tests

* Changed ResourceVersionCache to use a Map of Maps.

* searchparam test

* test passes

* resolved fixme

* fixmies

* strengthen test asserts

* More Unit Test changes and added some FIMXME items.

* changed from long to changeresult

* renamed VersionChange -> ResourceChange

* fixed delete bug

* organize imports

* fix test

* add update test

* add test reset function

* fix stack overflow

* fix startup race condition (might still be intermittent)

* found the problem.  delete doesn't work because we can't look up the deleted resource to find out what its name is

* fixed regression

* abandoned idea of incrementally updating searchparam registry.  Rebuilding every time--it doesn't change that often.

* fix test

* begin with failing test

* test passes

* fixmes and javadoc

* fix test

* fixme

* fix test

* whack-a-mole.  Either subs pass or cql passes.  Something's fishy with the FhirContext

* fix subscription test initialization

* fix method name

* Re-factored the CqlProvider Unit Tests.

* changed ResourceChange API

* add interface

* add interface

* fix test

* add schedule test

* add doc

* init rev

* FIXME

* modify FhirContext change

* change fhirContext.getResourceTypes to lazy load

* converted subscriptions

* converted subscriptions

* begin with failing test

* test passes

* fix test

* test coverage

* test coverage

* test coverage

* test coverage

* good coverage now

* pre-review cleanup.  I think I found a bug.

* moved cache into listener entry
tests pass with fixmes

* fix test

* fix test

* fix test

* fixme

* FIXMEs

* merge cache and registry

* method reorg

* javadoc

* javadoc done.  all FIXMEs resolved.

* change log

* changes needed by cdr

* spring config cleanup

* james feedback

* james feedback

* might not work. Try moving resourcechangeconfig into searchparam config

* merge ResourceChangeListenerRegistryConfig.java into SearchParamConfig

* fix test

* fix SubscriptionLoader

* fix SubscriptionLoader

* create ResourceVersionMap from resources

* added cache handle interface

* fix test

* javadoc

* fix test

* fix test

* James feedback: clone searchparametermap

* fix startup

* fix test

* fix test

* fix intermittent

* pre-review cleanup

* FIXME

* final FIXME yay!

* Address a couple of my own reviw comments

Co-authored-by: Kevin Dougan <kevin.dougan@smilecdr.com>
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2020-11-29 19:42:40 -05:00
jamesagnew 0c31741eec Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
jamesagnew 4d441ad7f2 Version bump to 5.2.0 2020-11-18 06:30:20 -05:00
James Agnew 5e8ec8d6f3
Resolve crash in InMemory SP resolver for empty source (#2150)
* Resolve crash in InMemory SP resolver for empty source

* Add changelog
2020-10-28 14:30:32 -04:00
Tadgh ea64bea1b0 Refactor to use concrete class instead of parent 2020-09-15 15:27:21 -04:00
Tadgh 5744f7035f Rename to match names across classes 2020-09-14 16:54:09 -04:00
Tadgh a9fb849d49 Moved more into parent class, added javadocs for transactionId 2020-09-14 16:44:50 -04:00
Tadgh 6e0ef035e9 Rename constants. Remove dead comment 2020-09-14 15:35:58 -04:00
Tadgh 9a09a8abf3 Update todos 2020-09-14 13:41:11 -04:00
Tadgh c3ddf59d6f Add HapiMessageHeaders to BaseJsonMessage class 2020-09-14 13:02:32 -04:00
Tadgh 28a9a53917 Rework to keep several things in subscription 2020-09-10 16:05:56 -04:00
Tadgh 2229233749 Move subscription models to legacy, except the ones that are subscription specific 2020-09-09 15:58:41 -04:00
Tadgh df20a04b53 Add test to ensure Messageheaders are serializable 2020-09-09 12:07:22 -04:00
jamesagnew 92718c7ef2 Version bump to 5.2.0-SNAPSHOT 2020-08-12 10:23:46 -04:00
jamesagnew 5fb7bd5156 Version bump to 5.1.0 2020-08-11 17:43:24 -04:00
Tadgh 4ec2be4ff5 Merge branch 'master' into batch-empi-job 2020-07-21 07:54:18 -07:00
James Agnew 05735900fd
Fixes to interceptor in order to prevent zombie listeners on restart (#1988)
* Fixes to interceptor in order to prevent zombie listeners on restart

* Add test

* Add license header

* Test fixes
2020-07-20 14:03:46 -04:00
Tadgh 6bb92717f5 Merge branch 'master' into batch-empi-job 2020-07-16 11:00:32 -07:00
James Agnew baba4cc240
Avoid version conflicts on current writes (#1971)
* Add auto retry of transactions

* Experiment in Maven build

* Transaction autoretry

* Work on transaction retries

* Work on transaction retry

* Work on transaction retry

* Fix tests

* Avoid version conflicts

* Add changelog

* Resolve LGTM issue

* FIx transaction scope error

* Test fixes

* Test fix

* Test fixes

* Test fix

* Test fixes
2020-07-13 08:51:13 -04:00
Tadgh c3b89b4ad5 Get basic tests running 2020-07-09 15:56:41 -07:00
James Agnew f356c7c385
Migrate to JUnit5 (#1952)
* Work on junit

* Work on junit 5

* Work on junit 5

* Bump errorprone vcersion

* Work on tests

* Junit 5 tweaks

* Fixes

* Work on tests

* Work on junit5

* Work on tests

* Test fixes

* Work on junit5

* Test work

* Get junit5 working

* Test fix

* Work on tests

* WOrk on tests

* Work on tests

* fixes

* Compile fix

* One more tweak

* Compile fix

* Add changelog

* Fix compile error

* Compile fix
2020-07-04 18:28:16 -04:00
jamesagnew 2cdef055aa Missed commit on #1951
Squashed commit of the following:

commit f820135996
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 14:29:24 2020 -0400

    Address review comments

commit 11c4f9defb
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 09:38:16 2020 -0400

    Fix LGTM warning

commit b650fdb9ea
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 09:20:52 2020 -0400

    Test fix

commit 6ebcceeb5c
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 18:49:01 2020 -0400

    Add changelog

commit 4a1d7383b0
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 18:46:52 2020 -0400

    Bundle transmission

commit 88bd4abf0c
Merge: 7cde945281 25fc747b9f
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 17:31:23 2020 -0400

    Merge branch 'master' into ja_20200617_subscription_send_bundles

commit 7cde945281
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 17:10:33 2020 -0400

    Work on seed bundles

commit ed2e62752e
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 09:39:10 2020 -0400

    Work on subscriptions

commit 52addcff59
Merge: 64a9eaa4de bf8de84801
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Sat Jun 27 18:09:23 2020 -0400

    Merge branch 'master' into ja_20200617_subscription_send_bundles

commit 64a9eaa4de
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Wed Jun 17 18:32:17 2020 -0400

    Start work

commit f74eba5397
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Wed Jun 17 18:28:18 2020 -0400

    Terser should create correct Enumeration on create
2020-06-30 14:31:40 -04:00
James Agnew fa4bbe3685
Allow search criteria as subscription delivery mechanism (#1951)
* Terser should create correct Enumeration on create

* Start work

* Work on subscriptions

* Work on seed bundles

* Bundle transmission

* Add changelog

* Test fix

* Fix LGTM warning
2020-06-30 14:29:09 -04:00
Ken Stevens 97a1bd40a1
Added TLS parameters to Java Mail Sender (#1666)
* Added TLS parameters to Java Mail Sender

* changelog
2020-05-27 19:17:01 -04:00
jamesagnew 056721829d License header updates 2020-05-22 15:56:14 -04:00
Tadgh d1b963321a
MVP EMPI implementation (#1857)
EMPI Initial Implementation (still plenty of known gaps)
2020-05-22 15:03:20 -04:00
James Agnew e07e071130
Avoid deserialization issues in subscription delivery (#1856)
* Avoid deserialization issues in subscription delivery

* Add changelog
2020-05-21 05:47:39 -04:00
James Agnew 5b2181a563
Implement FHIR Patch (#1850)
* Start working on FHIRPatch

* More work on fhirpatch

* Work on FHIR Patch

* Add patch

* Test fixes

* Test fixes

* Get tests fixed

* Chnage to trigger a build

* Compile fix

* Dependency version fixes

* Test fix

* COmpile fix

* Try to fix build

* Test fix attempt

* Another build attempt

* Another build tweak

* Cleanup
2020-05-20 19:43:55 -04:00
jamesagnew 52c8e3551c Version bump to 5.1.0-SNAPSHOT 2020-05-15 14:43:32 -04:00
jamesagnew fe0e07a313 Bump to 5.0.1 2020-05-15 05:47:01 -04:00
jamesagnew 1d13e29ac0 Version bump to 5.1.0-SNAPSHOT 2020-05-12 20:04:20 -04:00
jamesagnew d631ecff4a Prepare for 5.0.0 2020-05-12 11:49:18 -04:00
James Agnew 0c13a65871
Bump to latest Core version (#1841)
* Start working on bumping core

* Work on tests

* Work on tests

* Bump core definitions

* Bump R5 defs

* Tweak changelog

* Test fix
2020-05-11 12:37:16 -04:00
James Agnew 6cc07b6689
Make binary storage work for bulk export (#1836)
* Make binary storage work for bulk export

* Add changelog

* Build fixes

* Test fix

* Test fix

* Test fix
2020-05-07 19:20:22 -04:00
James Agnew a77aa6a28e
Multitenancy Ticket 2 - #1813 (#1821)
* Work on multitenancy

* Second ticket started

* More multitenancy work

* Work on tenancy security

* Work on multitenancy

* Test fixes

* Add docs

* cs tweak

* Multitenancy fixes

* Add debug log

* Fix build

* Add headers

* Add partition selection interceptor hook

* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/api/Constants.java

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Account for review comments

* Resolve FIXMES

* Work on tests

* Test fixes

* A bit more cleanup

* Work on multitenancy

* Update hapi-fhir-docs/src/main/java/ca/uhn/hapi/fhir/docs/ClientExamples.java

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/client/examples.md

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Address review comments

* Allow disabling text modifier indexing

* Add changelog

* Docs fixes

* Address review comment

* Resolve merge conflicts

* Merge master

* Compile fix

* Test fix

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2020-05-05 15:12:15 -04:00
James Agnew ededcc18d2
Add Partitioning / Multitenancy (#1807)
* Work on multitenancy

* Work on multitenancy

* Work on multitenancy

* Add columns

* Work on multitenancy

* Work on muiltitenancy

* Work on multitenancy

* Work on uniques

* Work on multitenancy

* Work on multitenancy

* Work on multitenancy

* More work on multitenancy

* Work on multitenancy

* Multitenancy work

* Work on multitenancy

* Work on multitenancy

* Work on multitenancy

* Work on multitenancy

* Work on docs

* Work on multitenancy

* Work on docs

* DOcs work

* Tenancy docs

* Work on docs

* Finish docs

* Add changelog

* Rename config

* Add migration tasks

* Fix typo

* Migration fix

* One more migration fix

* A couple more migration fixes

* Docs cleanup

* Work on docs

* Bump boot version

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Work on review comments

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/partitioning.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/schema.md

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/index/IdHelperService.java

Co-Authored-By: Ken Stevens <khstevens@gmail.com>

* Address review comments

* Compile fx

* Test fixes

* One more bugfix

* Update operation name

* Add one more constant

* Roll back a change that was causing test failures

* Test fixes

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2020-04-24 05:45:11 -04:00
jamesagnew ccda668d0c Restore subscription loading at startup 2020-04-23 05:28:56 -04:00
jamesagnew 1f37cdd8cf Address review comments 2020-04-21 20:53:10 -04:00
jamesagnew 998c1f7751 Work on docs 2020-04-21 14:32:41 -04:00
jamesagnew bbab016ca6 Rename config 2020-04-20 12:38:04 -04:00
jamesagnew 982b54df57 Work on multitenancy 2020-04-13 11:50:49 -04:00
jamesagnew 8a77d839c3 One more change 2020-04-07 19:09:44 -04:00
jamesagnew edc30568f2 Address review changes 2020-04-07 19:07:07 -04:00
jamesagnew 47786660d5 Test fixes 2020-04-07 13:58:24 -04:00
jamesagnew 347ecc7d51 Tests passing 2020-04-07 09:39:14 -04:00