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>
* 3534 - Added new multi-column Index and removed existing single-column Index.
* 3534 - Added PARTITION_ID to the new Index.
* Change migrations to have no timeout.
Co-authored-by: Michael Buckley <michael.buckley@smilecdr.com>
* Implementation, parameterize test, changelog
* Bump spring framework for a vuln while i'm in here
* Fix number of changelog
* Add IS NOT NULL to query
* Preliminary test work to generate forward-reference data
* Complete implementation
* Permit Practitioner/Organization as forward references in bulk export group params
* Wip
* Fix test
* Add error number
* Address review comments
* Update assert
* Refactor to restore LGTM functionality
* Compile fix
* Work on cleanup
* Attempt to restore LGTM
* Work on tests
* Fixes
* Build fixes
* Build fix
* Test fix
* Test fixes
* Work on build
* License header updates
* Test fixes
* Test fixes
* License header
* Test fix
* Test fix
* Test fixes
* Restore LGTM
* Fix azure
* Disable test
* Test fixes
* Test cleanup
* Build fix
* Build fix
* Test fix
* Test fix
* Test fixes
* markers for new quantity hibernate search support
* Add quantity search
* Add normalized (canonical) quantity search
* Add comment
* Use double values instead of BigDecimal to avoid scaling
* Remove multiple case labels which are not supported until source version 14
* Remove switch rules which are not supported until source version 14
* Use constant for error message used in tests
* A failing test for multiple indexed quantity paths
* Disallow dirtying context for nested classes
* failing test for normalized units
* Make sp.value-quantity.quantity a nested structure to handle correlated queries for code and value.
Save units for canonical case and consider them when querying.
Collapse normalized sub-structure under *.quantity.
* Nest sp.value-quantity instead of sp.value-quantity.quantity for compatibility with other nested types (IE. token)
* Comment out debug statements
* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/search/ExtendedLuceneClauseBuilder.java
Co-authored-by: Olivia You <46392181+oliviayou@users.noreply.github.com>
* Add test for nested correlated quantity query
* Address MR comments
* Add proper handling of or query predicates
* Use positive conditions for better readability
* Add tests to validate behavior of combined and and or clauses, including some making no sense but still syntactically correct.
* Only consider normalized quantity searching if ModelConfig search level is NORMALIZED_QUANTITY_SEARCH_SUPPORTED
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: Olivia You <46392181+oliviayou@users.noreply.github.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>
* added failing tests
* tests pass
* Added changelog and javadocs
* fixed package tests for resources with no active field
* adding jira ticket number
* feedback from code review'
* switching to old style switch statement'
* 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
* Improve batch2 error handling
* Build fixes
* Work on reindexing
* Test fixes
* Account for gzipped contents
* License header updates
* Register VS operations on public server
* Test fix
* Build fix
* Remove animal sniffer plugin
* Compile fix
* Store resource data inline with lucene/es resourcetable index.
* Use fulltextsearch to load resources if resource inlined in ES/Lucene index
Co-authored-by: Jaison Baskaran <jaisonb@gmail.com>
* 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
* Add reindex-terminology batch command
* Handle number of thread throttling and concurrency with other terminology batch operations
* Add required dbcp2 dependency
* Fix test
* Improve ConnectionPoolInfoProvider setup. Handle maximum connections.
* Remove java higher version construction
* Remove unused config
* Add reindex terminology integration test.
Reset termConcept counters before pre-expanding, which otherwise accumulate if it was pre-expanded before.
* Address MR comments
* Adjust test to tested class change
* Adjust test to tested class change
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Add reindex-terminology batch command
* Handle number of thread throttling and concurrency with other terminology batch operations
* Add required dbcp2 dependency
* Fix test
* Improve ConnectionPoolInfoProvider setup. Handle maximum connections.
* Remove java higher version construction
* Remove unused config
* Add reindex terminology integration test.
Reset termConcept counters before pre-expanding, which otherwise accumulate if it was pre-expanded before.
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* New Add Index forced-INCLUDE columns, and Online option
* Remove forced-include. Simpler just to add all columns to index.
* New date index definitions.
* Oops. Remove test for deleted feature.
* Cleanup
* Drop IDX_SP_DATE_UPDATED
* Add online option to drop index
* Update annotations to match and redefine FK
* Push sp->resource FK down to control name
* remove dead end
* Cleanup date tests
* New token query test cases for sql extraction
* New token search param indexing.
* Continue to allow the legacy hibernate names while we update the indexing.
* Fix jpa annotations with overloaded field
* Decide on token sorting - we do it.
* review comments
* fixme
* disable dead data migration too
* review fixups
* Test cases for numeric search
* add ne and ap
* Test for Numeric SP
* start
* finish number
* new indexing for quantity
* Move config
* cleanup
* Added test to verify BUG: #2843 (_include doesn't return canonically referred resource)
* Fix '_include' query search by native query to support canonical url references
* Fixed code review comments
* Restored the res_type condition on join
* 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
* Added log to the create() and valiForUpload() methods in the PackageInstallerSvcImpl class
* Added helper methods to extract URL from SearchParameter.Tested and fixed log entries.
* Changelog entry
* Update 3384-Package-Install-added-logs-for-resources-validation.yaml
Co-authored-by: Kai Liu <kliu@Kais-MacBook-Pro.local>
* 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
* NDJsonParser with one example test.
* Add test for empty NDJson, and fix bug for empty NDJson.
* Adds multi-Patient test, and fixes bug whereby all multi-line NDJSON would be put into the same line.
* Adds test for NDJson with newlines in it.
* Adds test for converting non-Bundle types to NDJSON failing.
* Confirm that we can only extract to Bundle types in test.
* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/context/FhirContext.java
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Documents behavior of the NDJsonParser in FhirContext.
* Attempt to fix failing build by using TestUtil to clear context in the manner of r4 parser tests instead of dstu
Also clean up indentation.
* Adds a BulkDataImportProvider, with a single test. More tests are forthcoming.
* Adds an additional test.
* Enhance tests to include content of job files. Fix a bug whereby the content was never actually being added.
* Adds several tests for BulkImportProvider's polling operation.
* Adds requred Msg.code to errors.
* Apparently I can't duplicate Msg.code even if it's the same issue.
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Refactor ValueSet expansion code to simplify property filtering by using new Hibernate search V6 nested classes capabilities; use generic hibernate search queries where possible (mostly everywhere but regex queries) and add R4 integration tests for both elastic and lucene.
* Refactor ValueSet expansion code to simplify property filtering by using new Hibernate search V6 nested classes capabilities; use generic hibernate search queries where possible (mostly everywhere but regex queries) and add R4 integration tests for both elastic and lucene.
* Add comment for trick
* Add codes to exception messages
* Add test specific for the fix
* Move changelog to current release. Add upgrade notice.
* Improve fail-fast method
* Update upgrade instructions
* Try luck with new exception codes
* Update hapi-fhir-storage/src/test/java/ca/uhn/fhir/jpa/search/ElasticsearchNestedQueryBuilderUtilTest.java
Add missed quote
Co-authored-by: michaelabuckley <michael.buckley@smilecdr.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: michaelabuckley <michael.buckley@smilecdr.com>
* Add FK index to avoid timeout when deleting large ValueSet
* Add exception to allow same name for index and FK
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Start working on graphql Schema
* Start testing
* Work on introspection
* Work on introspection
* Use integers for date ordinals
* Add changelog
* GraphQL updates
* Ongoing wrk
* Cleanup
* Bump core lib
* Add changelog
* Clean up dependencies
* CLeanup
* Add missing message
* Test fix
* Change to force CI
* 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
* Jr 20220210 handle common search params in contained searches (#3377)
* fix handling of common search parameters
* add support for reference search parameters with multiple paths
* Issue 3357
* Version bump
* 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
* Fix broken changelog file
* Can't specify specific resource type permissions for bulk export (#3376)
* deny user from exporting without perms
* add unit tests
* add changelog
Co-authored-by: olivia-you <olivia.you@smilecdr.com>
* Make migration donothing as it was added in error
* Remove ehcache
* Add version.yaml:
* Add to sources/javadocs for dist
* Fix typo
* fix up pom
* wip test removing checkstyle plugin from deployable pom
* remove test pom changes, instead just dont deploy to sonatype
* typo
* Remove ehcache
Co-authored-by: Jason Roberts <jason.roberts@smilecdr.com>
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: Mark Iantorno <markiantorno@gmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Olivia You <46392181+oliviayou@users.noreply.github.com>
Co-authored-by: olivia-you <olivia.you@smilecdr.com>
* New date index definitions.
* Dropped unused indexes.
* Add online option to drop index and add index
* Push sp->resource FK down to control name
* Update annotations to match and redefine FK
* Continue to allow the legacy hibernate names while we update the indexing.
* 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>
* feat: added support for package.zgz uri in the "file:/" format
* added changelog entry
* add error code to thrown message
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* 3354 fixing flakey tests
* must fix code
* updating number again
* fixing test
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* Delete TestR4WithLuceneDisabledConfig
* Split off the ES and ESClient test configs
* move hibernate search config out to add-ins
* Use addIn for all R4
* Finish R4
* Finish R3
* Finish dstu2
* R5
* Remove property override, and docs
* Apply error code to error
* Fix test to match new error code
* Lighten test
* Disabling broken test.
* 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>
* 3156 fix race condition that results in multiple tags being created
* 3156 added changelog
* cleanup
* added smile jira ticket
* 3156 review fixes
* review fixes
* 3156 added an additional integratoin test
* cleanup
* review fix and master merge
* threadsafe stuff
* small change
* upping min threads for tests to pass
* changing test
* test check
* fix
* test testing
* one more update
* using threadpoolutil
* temporary measure
* git push
* all builds
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* failing test
* failing test
* Fixes
* Updated note to self
* Improve pre-caching of resource IDs
* Work on tests
* Test fixes
* Add changelog
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* 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>
* Make RestfulClientFactory.myValidatedServerBaseUrls usage thread safe so capability validation request is sent only once per client-endpoint
* Can't use @GuardedBy for fields which are not always locked by annotation object
* Use same variable when checking and setting
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* base restructuring of query
* fix unit tests
* suppress unnecessary resource type parameter
* pass the resource type used to fetch the search param as part of the chain, so later we do not need to guess what it was
* add query structure tests
* changelog
* fix test failures
* got one of the branches wrong in the 3-reference case
* 3283 delete will not return a 404 if resource is not found
* minor tweaks
* checking if tests fail due to asynchronicity
* 3283 added integration test
* cleanup
* review fixes
* changed id names
* cleanup
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* 3274 throw if url is full url
* 3274 will throw on invalid urls
* 3274 fixing the tests
* 3274 cleanup
* anonymize the data
* review fixes
* 3274 fixed for backward compatibility
* added review fixes
* fixing tests
* some more test fixes
* test fixes
* 3274 fixing the check to only look for resource at begining
* 3274 fixed test
* test fixes
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* Run intended job
* Add test ti validate right method is invoked by inner job
* Add changelog
* Make test fail with proper message instead of crash
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Fix PatientIdPartitionInterceptor for case where patient ID has hashCode equal to Integer.MIN_VALUE
* Fix PatientIdPartitionInterceptor for case where patient ID has hashCode equal to Integer.MIN_VALUE
Co-authored-by: ianmarshall <ian@simpatico.ai>
* 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
* Add flag in DaoConfig to enable storing resources in lucene index
* Update loadResourceByPid to use ElasticSearch for loading observation resource and test added to check it
* Added parsing to elastic search to parse inlined observation resources json to resource object
* Allow Subscription to be configured to send delete messages
* Add tests and implement MR suggestions
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* 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>
* try xml -> json
* Change from xml serialization to json serialization. Also fix a deadlock in how the validation cache is used.
* changelog
* back out logback
change
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3236-change-validation-from-xml-to-java.yaml
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
* 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>
* wip
* The updated changes to the validator that were pulled in from the core dependencies are not backwards compat. Need to bump HAPI version.
* pointing to stable core version
* review feedback
* Add changelog
Co-authored-by: markiantorno <miantorno@pop-os.localdomain>
* 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
* 3136 - Send validate-code requests to an Instance of IValidationSupport instead of directly to the DAO.
* 3136 - Added support for R4 validate-code calls to a Remote Terminology Server.
* Added more Unit Tests.
* Added NULL checks based on code analysis.
* Adding some cleanup code to the Unit Tests since some other unrelated Unit Tests were failing when running in an Azure Pipeline.
* Adding @Ignore to both of my Unit Test classes to try and see if this is the cause of other unrelated Unit Test failures in the Azure Pipeline.
* Commented out ALL CODE in my Unit Tests to see if this fixes the other Unit Tests.
* Added 1 Unit Tester called RemoteTerminologyServiceResourceProviderR4Test to see if it causes other Unit Test failures.
* Added a Unit Tester called ResourceProviderR4RemoteTerminologyTest with the code that creates a RemoteTerminologyServiceValidationSupport instance commented out for now, just to see if this allows all other Unit Tests to pass.
* Added a Unit test back in to verify how the RemoteTerminologyServiceValidationSupport works when inserted into the front of the IValidation chain. Lets see if this will mess up any other Unit Tests in the Azure Pipeline...
* Added an @AfterEach method to remove the RemoteTerminologyServiceValidationSupport instance from the ValidationSupportChain to see if it allows all the other Unit Tests to work as before.
* Added more Unit tests.
* Added more Unit Tests to increase code coverage.
* Added some NULL checks.
* Added a changelog for this feature add.
* Removed the decision logic in the REST APIs and also the isRemoteTerminologyServiceConfigured() method, and letting the ValidationSupportChain figure out how to perform the validate-code Operation.
* Removed a NULL check that was not needed.
* Reverting the previous change where I tried using the IValidationSupportChain for each and every incoming Operation request. Splitting the implementation between local and remote seems to be required at this time.
* Add indexes to foreign keys
* Add new version enum
* Add TermCodeSystem and TermCodeSystemVersion deletion job artifacts
* Add Propagation.NOT_SUPPORTED to allow starting jobs from transactional code
* New jobs artifacts
* Improve comments
* Restructure job configurations to avoid bean name collisions
* Restructure job configurations to avoid bean name collisions
* Use new offline deletion by job
* Test using multiple versions
* Retrieve only Pids
* Revert to master
* Maintain deferred functions synchronization as similar as possible to the way it was
* Bypass validations to allow calling an index same as a foreign key to make SchemaMigrationTest happy as H2 adds FK indexes automatically
* Adjust tests
* Add copyrights
* Add test
* Revert to delete CodeSystemVersions using deferred ITermDeferredStorageSvc
* Allow to wait for jobs tentatively
* Organize imports
* Fix tests
* Increase timeout to cover for possible additional heavy DB activity
* Add indexes to two remaining non-indexed foreign key fields to avoid much longer transactions which produce locks on heavy DB load
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_7_0/3108-terminology-large-code-system-deletion-performance.yaml
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Remove opening stars from logging messages
* Relax index name checking logic to allow for indexes on FK columns to be called same as the FKs, to make SchemaMigrationTest happy even when H2 adds indexes to FKs automatically.
* Use static array to enumerate platforms which doesn't add indexes to foreign keys automatically.
* Cleanup also job executions when performing test artifact cleanup
* Adjust to property name change
* Add ABANDONED status to the list of waited job statuses to avoid test failures due to wait timeouts
* Add also UNKNOWN status to the list of waited job statuses to avoid test failures due to wait timeouts
* Filter job executions to be stopped
* Set trace to debug test problem
* Add STOPPED status to the list of waited job statuses to avoid test failures due to wait timeouts
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Add check before mapping storage ID to resource ID in TransactionDetails.
* Add change log.
* Changed to instead prevent creation of ResourcePersistentId with null ID value.
* Changed to instead prevent ResourcePersistentId being created with null resource ID.
Co-authored-by: ianmarshall <ian@simpatico.ai>
* publish test-jar from hapi-fhir-storage
* Extract BaseDateSearchDaoTests up to hapi-fhir-storage.
Share a date search tests between JPA and Mongo.
* Use ITestDataBuilder for setup
* Move Mongo date cases into common set
* cleanup
* More cleanup
* naming
* 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>
* small change to support change to string length of spring batch execution parameters
* added comment to indicate function is empty on purpose
* added javadoc for this method to note it's for overriding purpose
Co-authored-by: Steven Li <steven@smilecdr.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
* added eq and gt test cases
* added missing gt search param tests
* 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
* Fixed incomplete date issue
* Set to the last millisecond 23:59:59.999
* Disabled 4 failed JVM/TZ related test cases
* Added changelog
Co-authored-by: Long Ma <longma@Longs-MacBook-Pro.local>
Co-authored-by: Frank Tao <frankjtao@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
* code review
* fix broken tests
* added AbstractResourceToFileWriter
* Added AbstractBaseBulkItemReader
* added bulkExportStatusEnum fromBatchStatus test
* Code review name change
Co-authored-by: Long Ma <longma@Longs-MBP.hitronhub.home>
Co-authored-by: Steven Li <steven@smilecdr.com>
* 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
* Remove the unused dependency on net.sf.saxon:Saxon-HE
* Remove Saxon-HE dependency in hapi-fhir-jpaserver-base
* Remove unused comment in hapi-fhir-structures-dstu2.1/pom.xml
* 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
* Work on transaction boundaries
* Test fixes
* Test fixes
* Test fix
* Resolve FIXME
* Test fix
* Test fix
* Test fix
* Test fixes
* Test fix
* Adjust changelog
* Remove unneeded changelog
* Test fix
* Test fixes
* Test fixes
* Test fixes
* Test fixes
* Test fix
* Fixes
* Test fix
* 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
Hibernate search was always configured with a lucene heap engine in all JPA tests.
Added a new config param - hapi_test.enable_lucene - to disable with config params on the NoFt tests.
* 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
* Added allowKnownExtensionsOnly() method such which calls setAnyExtensionsAllowed() to set myAnyExtensionsAllowed to false and modified changelogs to add entry for this ticket.
* Modified docs to remove description for .allowAnyExtensions() and included it within a description for .allowKnownExtensionsOnly() and also added test for .allowKnownExtensionsOnly()
* refactored allowKnownExtensionsOnly() to rejectUnknownExtensions()
* 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