* 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
* 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>
* 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.
* 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>
* 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>
* 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
* 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
* 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
* 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>
* 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
* Try commenting out clearAllStaticFieldsForUnitTest to see what happens
* Rename clearAllStaticFieldsForUnitTest to randomizeLocaleAndTimezone and only do that
* 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
* 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
* Work on changes
* Work on perf
* Work on testing
* Work on perf
* Work on perf
* Work on fix
* Work on perf
* Ongoing work
* Add changelog
* Additional docs
* Test fixes
* Address review comments
* Test fix