* jm wrong bundle entry url (#4213)
* Bug test
* here you go
* Generate relative URIs for bundle entry.request.url, as specified
* Point jira issue in changelog
* Adjust tests to fixes
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* improved logging (#4217)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Rel 6 1 3 mergeback (#4215)
* Bump for CVE (#3856)
* Bump for CVE
* Bump spring-data version
* Fix compile
* Cut over to spring bom
* Bump to RC1
* remove RC
* do not contrain reindex for common SP updates (#3876)
* only fast-track jobs with exactly one chunk (#3879)
* Fix illegalstateexception when an exception is thrown during stream response (#3882)
* Finish up changelog, minor refactor
* reset buffer only
* Hack for some replacements
* Failure handling
* wip
* Fixed the issue (#3845)
* Fixed the issue
* Changelog modification
* Changelog modification
* Implemented seventh character extended code and the corresponding dis… (#3709)
* Implemented seventh character extended code and the corresponding display
* Modifications
* Changes on previous test according to modifications made in ICD10-CM XML file
* Subscription sending delete events being skipped (#3888)
* fixed bug and added test
* refactor
* Update for CVE (#3895)
* updated pointcuts to work as intended (#3903)
* updated pointcuts to work as intended
* added changelog
* review fixes
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* 3904 during $delete expunge job hibernate search indexed documents are left orphaned (#3905)
* Add test and implementation
* Add changelog
* 3899 code in limits (#3901)
* Add implementation, changelog, test
* Update hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4Test.java
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* 3884 overlapping searchparameter undetected rel 6 1 (#3909)
* Applying all changes from previous dev branch to current one pointing to rel_6_1
* Fixing merge conflict related to Msg.code value.
* Fixing Msg.code value.
* Making checkstyle happy.
* Making sure that all tests are passing.
* Passing all tests after fixing Msg.code
* Passing all tests.
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* 3745 - fixed NPE for bundle with duplicate conditional create resourc… (#3746)
* 3745 - fixed NPE for bundle with duplicate conditional create resources and a conditional delete
* created unit test for skip of delete operation while processing duplicating create entries
* moved unit test to FhirSystemDaoR4Test
* 3379 mdm fixes (#3906)
* added MdmLinkCreateSvcimplTest
* fixed creating mdm-link not setting the resource type correctly
* fixed a bug where ResourcePersistenceId was being duplicated instead of passed on
* Update hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/svc/MdmLinkCreateSvcImplTest.java
Change order of tests such that assertEquals takes expected value then actual value
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
* added changelog, also changed a setup function in test to beforeeach
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
* Fix to the issue (#3855)
* Fix to the issue
* Progress
* fixed the issue
* Addressing suggestions
* add response status code to MethodOutcome
* Addressing suggestions
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Fix for caching appearing broken in batch2 for bulkexport jobs (#3912)
* Respect caching in bullk export, fix bug with completed date on empty jobs
* add changelog
* Add impl
* Add breaking test
* Complete failing test
* more broken tests
* Fix more tests'
* Fix paging bug
* Fix another brittle test
* 3915 do not collapse rules with filters (#3916)
* do not attempt to merge compartment permissions with filters
* changelog
* Rename to IT for concurrency problems
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* Version bump
* fix $mdm-submit output (#3917)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Gl3407 bundle offset size (#3918)
* begin with failing test
* fixed
* change log
* rollback default count change and corresponding comments
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Offset interceptor now only works for external calls
* Initialize some beans (esp interceptors) later in the boot process so they don't slow down startup.
* do not reindex searchparam jobs on startup
* Fix oracle non-enterprise attempting online index add (#3925)
* 3922 delete expunge large dataset (#3923)
* lower batchsize of delete requests so that we do not get sql exceptions
* blah
* fix test
* updated tests to not fail
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* add index
* Fix up colun grab
* Revert offset mode change
* Revert fix for null/system request details checks for reindex purposes
* Fix bug and add test for SP Validating Interceptor (#3930)
* wip
* Fix uptests
* Fix index online test
* Fix SP validating interceptor logic
* Updating version to: 6.1.1 post release.
* fix compile error
* Deploy to sonatype (#3934)
* adding sonatype profile to checkstyle module
* adding sonatype profile to tinder module
* adding sonatype profile to base pom
* adding final deployToSonatype profile
* wip
* Revert version enum
* Updating version to: 6.1.1 post release.
* Add test, changelog, and implementation
* Add backport info
* Create failing test
* Implemented the fix, fixed existing unit tests
* added changelog
* added test case for no filter, exclude 1 patient
* wip
* Add backport info
* Add info of new version
* Updating version to: 6.1.2 post release.
* bump info and backport for 6.1.2
* Bump for hapi
* Implement bug fixes, add new tests (#4022)
* Implement bug fixes, add new tests
* tidy
* Tidy
* refactor for cleaning
* More tidying
* Lower logging
* Split into nested tests, rename, add todos
* Typo
* Code review
* add backport info
* Updating version to: 6.1.3 post release.
* Updating version to: 6.1.3 post release.
* removed duplicate mention of ver 6.1.3 in versionEnum
* backport pr 4101
* mdm message key (#4111)
* begin with failing test
* fixed 2 tests
* fix tests
* fix tests
* change log
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* backport 6.1.3 docs changes
* fixed typo on doc backport message
* fix test breaking
* Updating version to: 6.1.4 post release.
* wip
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: Qingyixia <106992634+Qingyixia@users.noreply.github.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: kateryna-mironova <107507153+kateryna-mironova@users.noreply.github.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
* pin okio-jvm for kotlin vuln (#4216)
* Fix UrlUtil.unescape() by not escaping "+" to " " if this is an "application/..." _outputFormat. (#4220)
* First commit: Failing unit test and a TODO with a vague idea of where the bug happens.
* Don't escape "+" in a URL GET parameter if it starts with "application".
* Remove unnecessary TODO.
* Add changelog.
* Code review feedback on naming. Also, make logic more robust by putting plus and should escape boolean && in parens.
* Ks 20221031 migration lock (#4224)
* started design
* complete with tests
* changelog
* cleanup
* tyop
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* 4207-getpagesoffset-set-to-total-number-of-resources-results-in-inconsistent-amount-of-entries-when-requests-are-sent-consecutively (#4209)
* Added test
* Added solution
* Changelog
* Changes made based on comments
* Fix bug with MDM submit
* fix
* Version bump
* 4234 consent in conjunction with versionedapiconverterinterceptor fails (#4236)
* Add constant for interceptor
* add test, changelog
* Allow Batch2 transition from ERRORED to COMPLETE (#4242)
* Allow Batch2 transition from ERRORED to COMPLETE
* Add changelog
* Test fix
Co-authored-by: James Agnew <james@jamess-mbp.lan>
* 3685 When bulk exporting, if no resource type param is provided, defa… (#4233)
* 3685 When bulk exporting, if no resource type param is provided, default to all registered types.
* Update test case.
* Cleaned up changelog.
* Added test case for multiple resource types.
* Added failing test case for not returning Binary resource.
* Refactor solution.
Co-authored-by: kylejule <kyle.jule@smilecdr.com>
* Add next version
* bulk export permanently reusing cached results (#4249)
* Add test, fix bug, add changelog
* minor refactor
* Fix
* Bump HAPI version
* Remove jetbrains
* Fix broken test
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: Qingyixia <106992634+Qingyixia@users.noreply.github.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: kateryna-mironova <107507153+kateryna-mironova@users.noreply.github.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: karneet1212 <112980019+karneet1212@users.noreply.github.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: James Agnew <james@jamess-mbp.lan>
Co-authored-by: KGJ-software <39975592+KGJ-software@users.noreply.github.com>
Co-authored-by: kylejule <kyle.jule@smilecdr.com>
* Make query synchronous
* Use outer joins only for sorting.
* Adjust test
* Add changelog
* Fix changelog typo
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Add r4b stuff
* Work on R4B
* Core version bump
* Revert some changes
* Add R4B
* Docs
* Test fixes
* Work on R4B
* Tests passgin
* Add config
* Work on merging
* Work
* Work
* Work
* Test fix
* Fixes
* Test fixes
* Test fix
* Work
* Work
* Fixes
* Test fixes
* Fixes
* Test fix
* Test fix
* Test fix
* Version bump
* Test fix
* Test fix
* ompile fixes
* Fix
* Resolve build warnings
* Updates
* Test fixes
* Fix docs
* 3052 Changed IBinaryStorageSvc MaximumBinarySize from int to long.
* 3052 Added changelog
* 3052 Bumped version
* 3052 Remove mysterious +1 on maximum binary size causing overflow.
* Bumping version to 6.2.0-PRE16-SNAPSHOT
* Adding + 1L as original implementation.
* Getting all tests to pass dealing with + 1L.
* Getting all tests to pass dealing with + 1L.
* Adding migration definition and removing unnecessary comment.
* Preventing register overflow when setting maxBinaryStorage.
* Mering relevant test.
* Fixing typo in migration script
Co-authored-by: kylejule <kyle.jule@smilecdr.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* Standardize on one Transactional annotation
* Add changelog
* Disable checkstyle rule
* Fix up transactions
* Test fixes
* Test cleanup
* License headers
* One more dep bump
* Resolve commit issue
* Test fixes
* Test fix
* Dep bump
* Fix
* Fix test
* Version bump
* Test fixes
* Add unit tests and supporting classes from gitlab issue.
* Commit with changes thus far to be reviewed. Namely, add savepoint capabilities to HapiTransactionService, inject HapiTransactionService into CascadingDeleteInterceptor, add savepoint capabilities to the TransactionDetails, and catch an Exception in BaseHapiFhirResourceDao.delete() then rollback to the checkpoint.
* Fix compile error.
* hapi transaction service test
* hapi transaction service test
* hapi transaction service test
* First draft of RetryTemplate and flush() logic. Try unit testing with PointcutLatch.
* hapi transaction service test
* Latest changes including moving RetryTemplate, cleaning up unit tests.
* First attempt at correct design. Fix compile errors.
* Add failed rollback savepoint test.
* fix propogation
* interesting test failure in SafeDeleterTest
* Latest code
* move delete
* test passing
* all tests pass
* yay we're done just cleanup
* First round of cleanup: Get rid of all exploratory logging, remove unneeded dependencies, move creation of RetryTemplate to SafeDeleter.
* More cleanup. Add changelog.
* Bump to 6.2.0-PRE13-SNAPSHOT.
* Code review feedback: Refactor SafeDeleter to a service and bean. Add comments.
* Code review feedback: Comments on unit test assertions.
* Code review feedback: Rename SafeDeleterSvc to ThreadSafeResourceDeleterSvc. Add javadoc. Add logger to DelayListener. Remove useless commented out code.
* Fix unit test failure in CascadingDeleteInterceptorTest.
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* removed flyway, started coding persistence
* started wiring up new dao service
* replace jpa with sqlbuilder
* down to 16 failed tests
* remove outOfOrder test. We no longer support validating order.
* Removed noFlyway mode. It is no longer a thing.
* merge migrator
* down to 1 failing test
* cleanup
* removed unused noflyway cli arguments
* cleanup
* cleanup
* cleanup
* cleanup
* create MigrationTaskList to replace the List<BaseTask> that gets passed around a lot. This allows us to add a bunch of behaviour to that as a first-order thing
* fix test
* fix test
* improve migration table detection to use the catalogue
* Msg.code()
* cleanup
* save version in same format as flyway
* cleanup
* add migration result to migration result class
* failed migrations stay in the table and don't really affect anything.
* change log
* docs
* ugh Flyway requires lower-case column names
* integration test fixes
* log
* fix oracle issue
* lowercase tablenames for postgres. fussy fussy!
* Revert "lowercase tablenames for postgres. fussy fussy!"
This reverts commit 92c9cb263b.
* revert to capital table names. surround table name by quotes for Postgres.
* added log message before executing find all query
* changed log message from info to debug
* javadoc
* pom cleanup
* review feedback
* Update hapi-fhir-sql-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/MigrationTaskList.java
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* review feedback
* review feedback. Use prepared statement.
* Change installedOn insert from timestamp to date
* Change installedOn column type from timestamp to date
* bump hapi version
* fix poms
* fix poms and cdr compile
* add exclusions to clean up build
Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* add failing test
* Fix history search bug and add tests for two more scenarios
* Fix history search bug and add tests for two more scenarios
* - added failing test condition
* Fix history search bug and add tests for two more scenarios
* Fix build test failures
* Fix build test failures
* Add extra verifications for scenarios of _since
* Refactor dao.history interface to add overload method and shall come back to remove old method once cdr is refactored.
* Update with new hapi interface
* Add depreciate comment
* Add depreciate comment
* Version bump to mvn 6.2.0-PRE11-SNAPSHOT
Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>
* remove spring batch
it compiles
expect test failures
* fix test transaction manager bean name (wow that was quite the hunt the wumpus!)
* fix test and fix build
* fix test and fix build
* fix test
* remove spring batch schema initialization
* bump hapi version
* fix schema migrator
* bump to PRE-10
* merge master
* change logs
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Rework includes processing for reuse
* Optimize include
* Test fixes
* Bump version down
* Fixed
* Update
* Test fixes
* Start to add javadoc
* Test fixes
* add ability to skip loading package resources that already exists, to avoid reindex when loading IGs
* Add a test for validating no updates or creates are called on anything but binaries
* Add changelog
Co-authored-by: Craig McClendon <craig.mcclendon@accenture.com>
* check for valid resource type
* add test and refactor test class
* refactor auto get method name
* introduce parameter object to patient everything methods
* introduce parameter object to patient everything methods
* change record to class
* add hapi error code
* refactor
* refactor
* change code num
* refactor getmethodname to util method
* add docs and rename fields to conform to fhir standard
* typo
* version bump
* resolving merge conflicts.
* Bumping version
* Bumping version to 6.2.0-PRE5-SNAPSHOT
* Encapsulating parameters in a PatientEverythingParameters object.
Co-authored-by: Justin_Dar <justin.dar@smilecdr.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* consolidated Batch2Helper
check status in assert before running maintenance
ignore illegal job instance state transition
* Fix mock tests
* rename intermittent to IT
* extra logging
* into to debug
* review feedback
* added more logging
* removed fasttracking. replaced with support for triggering a maintenance run
* fixed tests
* fixed tests
* add asserts
* licenses
* snakeyaml cve version bump
* data migration
* merge origin/master
* merge origin/master
* fix test (support triggering jobs when scheduling is disabled)
* add counter to abort potential infinite loop after 100000 calls
* compile error
* move multipartition mdm tests out to a separate IT
update mongo job instance creation with new logic
* fix race condition
* back out infinite loop circuit breaker. it breaks terminology tests that depend on this loop running > 100000 times.
* fix test (triggered job key was missing group)
* revert saveAllDeferred
* Almost finished getting JpaPersistenceR4IT to pass
* testBulkExportDeleteForOnGoingJob still not passing
* testBulkExportDeleteForOnGoingJob still not passing
* Removed method `fetchInstanceAndMarkInProgress`. It was clobbering other state transitions like CANCELLED.
* undo rename of cancelled to cancelRequested. Thymeleaf depends on the old name
* ExpandResourcesStep requires a synchronous search
* Tests are passing but man testBulkExportDeleteForOnGoingJob is a flakey test
* fix test
* fix test
* change log
* allow ERRORED -> FAILED state transition
* add a timeout to saveAllDeferred()
* improve error message on timeout message
* fix tests
* added more logging
* added more logging
* fix semaphore issue
* Msg.code
* fix test
* javadoc
* switch all batch loggers to batch troubleshooting log
* add unit test, improve logging
* move TimeoutManager to its own class. Add tests.
* fix tests
* comment cleanup
* test race condition
* review feedback
Co-authored-by: Ken Stevens <ken@smilecdr.com>
This PR changes the way HAPI is built by Azure pipelines. Instead of a FIFO queue for all tests in the project, the entire project is quickly built and cached without testing, then the individual modules are built and tested in separate jobs which can be run in parallel from each other. Each of these jobs then uploads the test coverage for that module as a build artifact. Finally, a last stage downloads all the archived tests results and aggregates them using jacoco so they can be uploaded to codecov.
This has two key benefits:
If there is a failing test because of an intermittent, the individual failing module can be re-run instead of having to re-run the whole project build.
The build time is decreased substantially (90min -> 45min).
This is the first run at this, I will be iterating to further reduce build times going forward.
* Bump for CVE (#3856)
* Bump for CVE
* Bump spring-data version
* Fix compile
* Cut over to spring bom
* Bump to RC1
* remove RC
* do not contrain reindex for common SP updates (#3876)
* only fast-track jobs with exactly one chunk (#3879)
* Fix illegalstateexception when an exception is thrown during stream response (#3882)
* Finish up changelog, minor refactor
* reset buffer only
* Hack for some replacements
* Failure handling
* wip
* Fixed the issue (#3845)
* Fixed the issue
* Changelog modification
* Changelog modification
* Implemented seventh character extended code and the corresponding dis… (#3709)
* Implemented seventh character extended code and the corresponding display
* Modifications
* Changes on previous test according to modifications made in ICD10-CM XML file
* Subscription sending delete events being skipped (#3888)
* fixed bug and added test
* refactor
* Update for CVE (#3895)
* updated pointcuts to work as intended (#3903)
* updated pointcuts to work as intended
* added changelog
* review fixes
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* 3904 during $delete expunge job hibernate search indexed documents are left orphaned (#3905)
* Add test and implementation
* Add changelog
* 3899 code in limits (#3901)
* Add implementation, changelog, test
* Update hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4Test.java
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* 3884 overlapping searchparameter undetected rel 6 1 (#3909)
* Applying all changes from previous dev branch to current one pointing to rel_6_1
* Fixing merge conflict related to Msg.code value.
* Fixing Msg.code value.
* Making checkstyle happy.
* Making sure that all tests are passing.
* Passing all tests after fixing Msg.code
* Passing all tests.
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* 3745 - fixed NPE for bundle with duplicate conditional create resourc… (#3746)
* 3745 - fixed NPE for bundle with duplicate conditional create resources and a conditional delete
* created unit test for skip of delete operation while processing duplicating create entries
* moved unit test to FhirSystemDaoR4Test
* 3379 mdm fixes (#3906)
* added MdmLinkCreateSvcimplTest
* fixed creating mdm-link not setting the resource type correctly
* fixed a bug where ResourcePersistenceId was being duplicated instead of passed on
* Update hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/svc/MdmLinkCreateSvcImplTest.java
Change order of tests such that assertEquals takes expected value then actual value
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
* added changelog, also changed a setup function in test to beforeeach
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
* Fix to the issue (#3855)
* Fix to the issue
* Progress
* fixed the issue
* Addressing suggestions
* add response status code to MethodOutcome
* Addressing suggestions
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Fix for caching appearing broken in batch2 for bulkexport jobs (#3912)
* Respect caching in bullk export, fix bug with completed date on empty jobs
* add changelog
* Add impl
* Add breaking test
* Complete failing test
* more broken tests
* Fix more tests'
* Fix paging bug
* Fix another brittle test
* 3915 do not collapse rules with filters (#3916)
* do not attempt to merge compartment permissions with filters
* changelog
* Rename to IT for concurrency problems
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* Version bump
* fix $mdm-submit output (#3917)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Gl3407 bundle offset size (#3918)
* begin with failing test
* fixed
* change log
* rollback default count change and corresponding comments
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Offset interceptor now only works for external calls
* Initialize some beans (esp interceptors) later in the boot process so they don't slow down startup.
* do not reindex searchparam jobs on startup
* Fix oracle non-enterprise attempting online index add (#3925)
* 3922 delete expunge large dataset (#3923)
* lower batchsize of delete requests so that we do not get sql exceptions
* blah
* fix test
* updated tests to not fail
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* add index
* Fix up colun grab
* Bump Version for non-breaking purposes
* Fix broken test
* bump error code
* revert internal logic
* Revert offset mode change
* wip
* Revert fix for null/system request details checks for reindex purposes
* Fix bug and add test for SP Validating Interceptor (#3930)
* wip
* Fix uptests
* Fix index online test
* Fix SP validating interceptor logic
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: Qingyixia <106992634+Qingyixia@users.noreply.github.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: kateryna-mironova <107507153+kateryna-mironova@users.noreply.github.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Make sure that direct resource load path is only executed for synchronous searches
* Remove unneeded mockito extension
* Only allow for resource loading from fulltext index when advanced search (indexed parameters) is also enabled
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* wip functional
TODO
- add tests
- look at adding TLS to other RestfulClientFactory classes (FhirwebRestfulClientFactory, JaxRsRestfulClientFactory, OkHttpRestfulClientFactory)
* move BaseRestServerHelper to Hapi-Fhir
* - add TLS support for JaxRsClient and OkHttpClient
- add tests
* - to use resources and files
* - ci fixes
* - ci fixes
* - ci fixes
* - ci fixes
* - refactor and tests
* - ci fixes
* - tests
* - tests
* - tests / refactor
* - clean up
* - changelog
* - remove OkHttpClient HTTPS support
* - ci
* - Ken's code review changes
* - Ken's code review: method renaming
* - Ken's code review: javadoc
* - Code coverage
* - Create HapiFhirCliRestfulClientFactory to encapsulate new HTTPS functionality. Remove modifications to the FhirContext API.
* - version bump
* - fix unable to bind port errors by using Jetty functionality to assign random ports
* Revert "- version bump"
This reverts commit cfce82576a.
* - version bump
Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>
* added a paging api to ijobcoordinator
* adding changelog
* moved location
* added a comment
* Added Sort parameter to JobInstanceFetchRequest
* Bump HAPI-FHIR version
* Updated JPA api to include sort
* Add changelog
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: David Chen <david.chen@smilecdr.com>
* small refactor
* refactored MDM module to use iterface IMDMLink, refactored MDMLink to use ResourcePersistenceId wrapper rather than pid as long
* removing IJpaIdHelperService and refactor IIdHelperService
* fixed bugs for GoldenResourceMergerSvcImpl and FindCandidateByExampleSvc
* changes to IIdHelperService
* move MdmSearchParamSvc and MdmSubmitSvcImpl out of jpaserver-mdm
* moved JpaResourceLoader to hapi-fhir-storage, renamed to ResourceLoaderImpl
* added error Msg code, removed Fixme
* fixed error code, update last used code in Msg.java to 2083
* fixed accidentally throwing unprocessableentityException
* added MdmLinkExpandSvc interface
* build adding license to files
* MdmLinkdao refactor
* fix build
* mdm config refactoring
* MdmStorageInterceptor and IExpungeEverythingService changes
* fix bug where a pid is converted to ResourcePersistenceId twice
* minor refactor to IMdmLink, change id from long to ResourcePersistenceId
* changed PageImpl to Page interface
* refactor MdmSearchExpandingInterceptor to use interface
* fixed missed refactor where the resourcePersistenceId is still assumed to be long
* resolve test failures resulting from merging master
* changed conflicting exception code
* fixed issue with bulk export wrapping resourcePid inside resourcePersistenceId
* added IMdmLinkImpl to MdmSettings
* fixed missing import in IdHelperService from merging master
* fixed MdmLinkDaoSvcTest importing wrong MdmLinkTuple
* restored JpaIdHelperService and added changelog
* modified msg.code to non-duplicate
* code review changes
* refactored some bulk export batch 2 files to accomodate change in beans being exported
* fixed jpa bulk export failing tests
* removed duplicate bean declaration of MdmLinkImplFactory in BaseMdmR4Test
* merged master and bump version to pre25
* extracted expungeEverythingByType to IExpungeEverythingService
* fixed wiring issue
* messed up merging pom with master
* fixed broken changelog
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: Samuel Lee <samuel.lee@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* added a paging api to ijobcoordinator
* adding changelog
* moved location
* added a comment
* blah
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* Revert "test passes with a lot of copy/paste"
This reverts commit f2f28e22ef.
* make translateOutcomeToResults public
* double RAM
* final consolidation. move shared code out to static utility methods
* revert azure memory
disable jacoco on jpaserver test prokect
* bump hapi version
* rebump hapi to PRE-21
* licenses
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* 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>
* 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>
* 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>
* 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>
Implement token :not and fix :not-in in InMemoryMatcher
Both `:not` and `:not-in` require that NONE of the values in an OR-list match, so we need some machinery to do a none-match instead of any-match.
* 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>
* 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>
- 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>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
* add support for in and not-in qualifiers
* fix failing test
* fix broken test
* fix broken tests
* code review comments
* Make dependency on IValidationSupport optional
* create IValidationSupport dependency only if needed
* small design improvements
* changelog
* rework validation support initialization
* Update hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/matcher/InMemoryResourceMatcher.java
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* 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
* adding version.yaml, updating version in pom.xml
* It is possible to write to a resource in a partition the user is not authorized to. (#3397)
* fixed
* remove sout
* add msg.code
* fix failed tests
* fix equal sign
* update msg code
* extract method
* Fix up code numbers
* Clean changelog
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* Revert final artifact version
* add graphql test (#3585)
* added graphql birthdate test
* fix variable name
* typo
* 3506 mdm log enhancement (#3543)
* Providing Fixme's to be reworked at a later time.
* Adding // FIXME Anna to assist our Austrian friend.
* Adding logging test as a first step in addressing issue #2822.
* hapifhir#3506 part 2: enhance logging for (un)successful MDM matching
hapifhir#3506 part 2: enhance logging for (un)successful MDM matching
* Update MdmMatchLinkSvc.java
#3506 move "narrowed down" log to different place
* #3506 added scores and tests
#3506 added scores and tests
* #3506 formatting
#3506 formatting
* #3506 create changelog file
#3506 create changelog file
* #3506 fix typo
#3506 fix typo
* #3506 fix part 3, minor formatting
#3506 fix part 3, minor formatting
* #3506 fix tests
#3506 fix tests
Co-authored-by: Etienne Poirier <etienne.poirier@smilecdr.com>
Co-authored-by: Anna <anna@MacBook-Pro.local>
* mdm matching (#3579)
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter… (#3551)
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/328
* Update HapiFhirJpaMigrationTasks.java
Corrected ordering
* Update HapiFhirJpaMigrationTasks.java
Moving index status to be last operation
* Revert "Update HapiFhirJpaMigrationTasks.java"
This reverts commit 37bfd3e66e.
* Moved to bottom
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
* begin with failing test
* fixed
* changelog
* add jira tag
* Update to 6 1 (#3582)
* added changelog folder, upped version
* version enum
* add a few more unit tests to assert proper NO_MATCH exclusion
* revert merge master doh! bad reflexes
* revert merge origin master
* unrevert revert. ugh what a pain
* merge recovery. fix poms.
* merge recovery. more reverting
* merge recovery. more reverting
* merge recovery. more reverting
* Revert "merge recovery. fix poms."
This reverts commit ae6e0ddb06.
* more revert revert reversions
* more revert revert reversions
* pre-review cleanup
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
Co-authored-by: Mark Iantorno <markiantorno@gmail.com>
* Fix regression of 3411 - _lastUpdated gets clobbered during $reindex job (#3586)
* When chunking for the reindex job, don't clobber the lastUpdated if provided by the caller.
* License
* Ks 20220508 log colour (#3592)
* don't use colours when output is redirected to a file
* change log
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter… (#3551) (#3594)
* Added fix for https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/328
* Update HapiFhirJpaMigrationTasks.java
Corrected ordering
* Update HapiFhirJpaMigrationTasks.java
Moving index status to be last operation
* Revert "Update HapiFhirJpaMigrationTasks.java"
This reverts commit 37bfd3e66e.
* Moved to bottom
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
* 3584 case sensitive string elasticsearch (#3596)
* Fix for case-sensitive search with newer elasticsearch
* Test and fix ascii normalization too
* more test cases
* comments
* Docs update empi usecase (#3598)
* Update diagram for use case 5
* Add new page for database support
* Licnese
* Mb norm fix (#3604)
* Normalize query since wildcard searches aren't normalized in elastic
* Handle batch2 job cancellation (#3603)
* Handle batch2 job cancellation
* Add CANCELLED status
* Remove unuseful test
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Add batch2 interfaces to obtain recent instances (#3601)
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* changelog folder
* Documentation change, added warning log and change log for ticket (#3609)
Co-authored-by: Steven Li <steven@smilecdr.com>
* fix ne for lastUpdated search param (#3589)
* init/wip
* add implementation, add tests
* add checks and some refactoring
* refactor and simplify tests
* refactor
* get rid of some of the warnings
* add changelog
* remove my todos
* redo ne logic to account for less precise dates
* add tests
* refactoring
* rename to follow convention
Co-authored-by: Justin_Dar <justin.dar@smilecdr.com>
* Version bump
Co-authored-by: markiantorno <markiantorno@gmail.com>
Co-authored-by: katiesmilecdr <88786813+katiesmilecdr@users.noreply.github.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: alackerbauer <33912849+alackerbauer@users.noreply.github.com>
Co-authored-by: Etienne Poirier <etienne.poirier@smilecdr.com>
Co-authored-by: Anna <anna@MacBook-Pro.local>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Jens Kristian Villadsen <jvi@trifork.com>
Co-authored-by: michaelabuckley <michael.buckley@smilecdr.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: Justin_Dar <justin.dar@smilecdr.com>
Add support for _total, _count, and _offset to Lucene backend.
Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* 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>
* 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
* 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
* Rely on context refresh event instead of postconstruct. Load bean lazily.
* Remove parent autowire
* Break termcodesystem circular dependency with new bean
* Break cycle between BaseTermReadSvcImpl and TermCodeSystemStorageSvcImpl
* move back into helper method
* Rip out scheduling and submission to spring batch away from BulkDataExportSvcImpl
* wip
* Fix bean naming
* Revert
* re-add autowiring
* Reformat
* docs and reformat
* Back out change
* feedback from review
* merge conflicts
* 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
* 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
* fix handling of common search parameters
* Revert "fix handling of common search parameters"
This reverts commit 89c45eebdc.
* Fix implementation, add test (#3378)
* Fix implementation, add test
* Tighten test
* Rip out dead modules
* Add changelog
Co-authored-by: Jason Roberts <jason.roberts@smilecdr.com>
* 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>
* Change token and reference search params to 'keyword' field type
* remove normalizer for keyword field
* WIP - refactor lastN operation to use hibernate search generated ES index.
* Add ES native aggregation builder for lastN
* added date search param support for searching resourcetable ES index
* * Added DateSearch parameterized tests to ElasticSearch test suite
* Added more tests cases for Date searches
* WIP refactor LastN test data to central generator class and use it for both hibernate-search and elastic search implementations.
* WIP fix lastNDataGenerator to avoid assertion errors.
* Fixed tests to run test suite on both existing lastN search implementation and newer extended lucene index based search.
* Cleanup json string to avoid carriage return noise
* Fix checkstyle issues
* Fix checkstyle Msg code issues
* Fix checkstyle Msg code issues
* Add more test case for GT, SA precision modifier
* Fix date precision test cases
* Fix Msg Code conflicts
* Add more logging
* Add way more loggging
* even more logging
* fix msg code conflicts
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* 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>
* 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
* 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>
* 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
* 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>
* 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
* 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>
* 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>
* Add failing test
* Tidy test for new tokenparam style
* Add removeByQualifier to SearchParameterMap
* Add new property binder for search terms
* Member move, add test for new parser
* whoops missed an add
* Passing test.
Introduced SearchParamTextWrapper to give a type for the binder.
Enhance FulltextSearchSvcImpl to understand TokenParams as well as StringParams.
* Add more to test, change analyzer for template
* Optimize imports
* Minor refactoring
* added eq and gt test cases
* added missing gt search param tests
* Search all CodeableConcepts
* Extract new LuceneRuntimeSearchParam to mediate indexing and searching.
* Fix up broken test with mock
* Add support for identifier type
* Bump for special maven package
* fix-me to todo
* Prevent version check
* FIx version for test
* DSTU2 does not support fluent path
* Don't accidentally strip SPs in DSTU2
* added lt tests
* Add some high-bound test cases
* More test cases and new compressed format
* More test cases
* More test cases
* Re-order columns for easier reading
* Comments
* Cleanup and comments
* Make support :text for all token SPs
* Make support :text for all token SPs
* Fixed incomplete date issue
* Set to the last millisecond 23:59:59.999
* Disabled 4 failed JVM/TZ related test cases
* add test for failing batch bug, remove bounding on queue
* remove parallelism from non-get batch operations
* Fix count for test
* New index layout
* Notes and cleanup
* Notes and cleanup
* remove the jetbrains
* Demote FIXME to WIP
* Change :text search to be lucene simple search and use standardAnalyzer.
* Change :text to require * for prefix match.
* add prefix negative test
* Bump version
* Added changelog
* Add more search parameters to lucene indexing (#3000)
* dirty the branch
* Add oversight to changelog
* Start using jpa indexing for es
* Correct negative search test
* Update templates, index tokens, write new test. TODO gotta modify SB
* Add test for code token search
* add comment
* Flesh out token search
* minor cleanup and comments
* Extract index handling from FulltextSearchSvcImpl
* D'oh. Actually use elastic to search.
* Move supported query check closer to query builder
* String search test before activating lucene
* Add string:exact to hibernate search.
* Add string:contains search
* cleanup
* demote fixmes to allow build to run.
* Add unmodified string search.
* empty stubs for quantity and reference
* Ignore magic search params in lucene index
* Support full-text on all FHIR releases
* Include reference lookups in ES
* Fix and/or logic in _text
* Test for string with space
* Cherry-pick the NoFT fix
* Disable advanced indexing in a bunch of tests of emitted sql.
* Stub changelog
* Fix :missing flag
* Move DaoConfig up to BaseJpaTest to share teardown
* Disable new indexing for partition test
* Add a different analyzer and field for default string search vs text
* checkstyle for a pre-build
* Index full prefix for string search when using Lucene
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_6_0/3000-Extend-lucene-indexing.yaml
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/HibernateSearchQueryBuilder.java
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* Review feedback.
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* Remove double-check
* Version bump
* Fix typo
Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
Co-authored-by: Long Ma <longma@Longs-MacBook-Pro.local>
Co-authored-by: Frank Tao <frankjtao@gmail.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* Create index entries for outbound references of contained resources
* build query for chained reference
* fix case where the contained reference is an explicit id rather than a continued chain
* fix contained index to use path names not search param names
* make qualified search work
* cleanup and changelog
* recurse while creating indexes on contained resources
* double link both contained
* longer contained subchains
* adding some failing test cases to illustrate the limitations of qualified searches
* clean up merge cruft
* changelog
* create recursive resource links
* add test coverage for a more complicated case
* changelog
* remove unnecessary check for _contained flag
* fix broken tests
* Create index entries for outbound references of contained resources
* build query for chained reference
* fix case where the contained reference is an explicit id rather than a continued chain
* fix contained index to use path names not search param names
* make qualified search work
* cleanup and changelog
* recurse while creating indexes on contained resources
* double link both contained
* longer contained subchains
* adding some failing test cases to illustrate the limitations of qualified searches
* clean up merge cruft
* changelog
* Create index entries for outbound references of contained resources
* build query for chained reference
* fix case where the contained reference is an explicit id rather than a continued chain
* fix contained index to use path names not search param names
* make qualified search work
* cleanup and changelog
* code review
* fix broken tests
* 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
* 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
* Add failling test, works on #2843
* Partial hack to get this working
* Move implementation into pre-processing
* Add changelog
* Move implementation
* Minify Test
* Remove fixmes
* Tidying
* Ensure this only operates on STU versions which support canonical
* Add test
* Test fixes
* Work on expansion errors
* Fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Work on fix
* Test fixes
* Test fixes
* Test fix
* Cleanup
* Test fixes
* Remove accidental commit
* Test fixes
* Version bump
* Add changelog
* Fixes
* Test fix
* Fix conflicts
* Try commenting out clearAllStaticFieldsForUnitTest to see what happens
* Rename clearAllStaticFieldsForUnitTest to randomizeLocaleAndTimezone and only do that
* 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
* failed attempt to get it to work
* Use simplified FhirContext.forCached methods
* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* 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
* 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>
* Start work on nonunique combo search params
* Work on SQL
* Version bump
* A fix
* Test fixes
* Fixes
* Undo version bump
* Test fixes
* Resolve fixme
* 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
* 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>
* 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
* 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
* Add support for revincludes to CapabilotyStatement generator
* Add changelog
* Fixes
* Test fix
* Test fixes
* Test fix
* Test fix
* More fixes to CS cache
* Test fix
* Test fix
* Test fix
* Start work
* Work on testing
* Version bump
* Test fix
* Compile fix
* Test Fixes
* Test fix
* Test fix
* Compile fix
* Tst fix
* Test fix
* Test fix
* Test fix
* Performance tweaks
* Work on processing speed
* Disable no longer relevant tests
* Work on performance
* Work on tests
* Work on large transaction performance
* Add changelog
* Perf tweaks
* Test fixes
* Resolve FIXME
* Fixes
* Test cleanup
* Fix broken changelog entry
* POC for indexing on contained resource - test case may failed
* Test contained url
* Add a spt to handle contained flag
* Added search option for contained resource
* Impl contained resource search
* fixed typo
* Reworked on creating index based on the review comments
* Added changelog
* Added more test cases
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
* Automatic reference versions
* Auto reference versions
* resolve fixmes
* Add changelog
* Test fixes
* Test fixes
* Resolve fixmes
* Work on versioning
* Add support for _includes
* Update headers
* Change visibility
* One more tweak
* One more API tweak
* Fixes
* Account for review comments
* Fix errorprone reported issue
* Test fix
* Test fixes
* Test fixes
* 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
* Beginning work on converting to hibernate search 6
* replace all out of date properties
* replace all POM references to old versions
* remove the shaded ES jars as HS6 supports 7.9
* Convert "Bridges" to RoutingBinder and RoutingBridge
* Modernize all indexing annotations
* Begin refactoring of search queries (wip)
* Fix spatial API changes, work on BaseTermReadSvcImpl
* Most of the way through the various filter property conversions
* Finished i think with BaseTermReadSvcImpl
* Compiling, but definitely broken
* Start test compilation failures
* All tests compiling (i think)
* remove suggest keywords operation
* Fix bootstrap errors, still have to deal with transient fields
* Rollback CR
* More refactoring, got IDs baked back into docs
* Fix coord util, fix a few more fields which require projection
* merge fixes
* begin refactor of valuesetexpansion tests
* fix another test
* Update tests
* remove todos, add TestContainers
* Fix descendant in
* Add testcontainers, fix another test
* fix more tests, replace embedded es
* Rip out embedded elastic, replace with TestContainer
* merge conflicts for new analyzers
* Bump to CR2 for hibernate search 6. Add forgotten CLI dep. Add backwards compatible codecs
* Remove dead deps, update testcontainer
* Remove java-hamcrest
* Pull asserts up, refactor tests to pass in RP tests
* Update V2 check
* Remove suggest keyword tests
* Split line for testing
* Fix perhaps one of the dumbest programming mistakes in my career so far
* Refactor tests which no longer rely on a strict known order
* Fix up test config, disable log test temporarily
* Remove log4j from being transitively pulled in. re-enable test
* Update log4j exclusions with new bridge. Update test to check for core class
* Move dependency to root pom in dep management section
* Update changelog, add changelog for HS6 with ES requirements. Remove dead comment
* update testst, remove todos
* Add hibernate props provider method, add elastic regexp query
* Add todo for high level client builder
* Modify ElasticsearchRestClientFactory to support HTTPS hosts
* Remove protocol extraction from rest url
* do we even need to index this...?
* remove purge of non-indexed resources
* Add longer timeout to testcontainers
* Add task to add docker CLI to azure pipeline via task, for testcontainers
* WIP remove this
* Dont update version
* Add test for duplicate termconcepts
* Use real hibernate ORM methods
* merge issues
* Add partitionsettigns bean to match master
* Trying to debug testcontainers on azure...
* Trying to debug testcontainers on azure...
* Run even on previous failure
* Fix testcontainer port binds
* Add full text logs attaching, and test reporting
* I love yaml
* Remove comment
* Refactor delta remove to not do a once-over traversal and flatten all children pre-delete. Resolves transaction commit boundary issue
* Modify TX beheaviour
* wip
* Rework to use config and mocked beans for partition-aware lastN
* rework to not use beans and just inject vars i need for test, keps test envs cleaner
* update azure pipeline to only copy test results
* Remove erroneous publish
* Always get test logs
* Make it so indexing works,
* Add todos
* revert deleteByPid
* Work on test fixes
* Test fixes
* Test fixes
* Another test fix
* Test fix
* Work on tests
* Test fixes
* All tests passing locally
* Fix test failure
* FIx build error
* Rename usages of HibernateDialectProvider -> HibernatePropertiesProvider
* Update ngram of token filters
* Tidying
* subvert the purpose of hibernate elastic props builder to inject template
* dead space
* Rename changed class
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
* 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>
* switched to adding annotations. Just did a test with Token, but the sql looks clean.
* switched to adding annotations. Just did a test with Token, but the sql looks clean.
* added the other six index links
* trying different annotations
* Start testing
* Update resources on package install
* Add changelog
* Join rework
* CLean up SQL builder
* Add docs
* SP rework
* Join work
* Work on params
* Work on refactor
* Work on chains
* Work on joins
* Rework queries
* Work on queries
* Many more tests passing
* Refs test
* Work on sorting
* Work on tests
* More joins work
* Work on tests
* Work on queries
* Tests passing
* More test fixes
* Test fixes
* Work on SQL
* Tests passing
* Add some tests
* Add some tests
* License headers
* Use entity manager to get datasourcd
* One more fix
* Model cleanup
* Ongoing work
* Fixes
* Fixes
* Work on joins
* Ongoing fixes
* Merge conflict
* Cleanup
* clean up unused fields
* Work on join
* COmpile fix
* Rework querying
* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/HibernateDialectProvider.java
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* Address review comments
* Resolve fixmes
* Test fix
* Test fixes
* Test fix
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* Improve synchronous searching by providing offset & limit support
Add support for offset querying which leverages paging at the query level
Add configuration for search default page size and search maximum page size
If using offset, always use synchronous searching to avoid extra database insert/update etc.
When using offset, only calculate count if it's wanted
Validate params closer to provider and handle size if search returned "all" (or last)
* Review and test fixes
Comment _offset as nonstandard parameter
Make synchronous search always count the total value (for now)
Fix issue with FulltextSearchSvcImpl mutating param map
Dirty fix for BaseJpaTest (not sure how to fix the including resources issue)
* Remove temporary count querying fix for synchronous loads
* Fix offsetting of everything operations, do not drop zero offset
* Fix jpa test default and maximum page size, add some fixmes to tests before resolved
* Ignore one failing test, fix others
* Fix Dereferenced variable may be null
* Fix everything paging in R4 by adding DISTINCT if synchronous load is used
Also fix assertion of size when hitting fetchSizeDefaultMaximum
* Add documentation about offset annotation and paging
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Add test
* Fix
* Add changelog
* Test fixes
* Test fix
* Test fixes
* Resolve fixme
* Test fixes
* Remove debug logs
* Try to get CI tests passing again