* 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
* 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>
* 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 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
* 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
* 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>
* 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
* 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>
Bumps ant from 1.7.0 to 1.10.8.
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Begin rework of package management
* Work on NPM
* Work on package management
* Work on NPM
* NPM rework
* Work on NPM
* NPM package rework
* Updates
* Updates
* Add license
* Work on package server
* Work on package importing
* Work on package management
* Package rework
* Work on packages
* Work on package manager
* Work on pkgs
* NPM work
* NPM rework
* Work on package cache
* Work on NPM
* Work on NPM
* Package fixes
* Add tests
* Tweaks
* Test fixes
* Add changelog
* Avoid snapshot dep
* Validation enhancements
* Work on validation api reworking
* Keep working on validation API
* Keep working on new term API
* Work on validation api
* Ongoing work on validation
* Work on integrating validation
* Work on validation API
* Add to validation API
* Work on validation
* Work on API
* Work on validation
* Work on validation API
* Work on validation API
* Work on validation api
* Work on validation API
* Work on validation api
* Validation API changes
* Work on API
* More work on validationo API
* Work on validation API
* FIxes
* WOrk on validation api
* Work on validation API
* Tests passing!
* More cleanup
* More validation API changes
* Fix intermittent test failure
* Package reorg
* Validation API work
* Work on doocumentation
* Work on API
* More work on new validation API
* Fix errorprone-reported error
* Test fixes
* Documentation updates
* Documentation tweaks
* Work on API
* Bean name adjustments
* Build fixes
* Some test fixes
* Work on upgrading core
* Work on R5 updates
* Work on core updates
* Test fix
* Update model version properties file for R5
* Bump core version
* Test fixes
* Add 4.2.0-SNAPSHOT version to versions page in docs
* Don't succeed validation on unknown codesystem
* Test fixes
* Work on error messages
* Work on code validation API
* work on tests
* Work on validation
* Test fix
* Update DSTU3 validation reources
* Upgrade structures
* Test fixes
Added missing @Override annotations so that if/when methods in superclasses change
there will be a compile-time error if subclasses haven't been changed accordingly.
This was done using IntelliJ IDEA's "Missing @Override annotation" inspection.
* Initial commit of _filter keyword implementation.
* - Completed all search parameter types for _filter.
- Implemented handling for _has, _id, _security, language, _profile, _security, and _tag.
* - Changes to support "ne" matching on resource ID for _filter
* Implemented language
* Commit/push before creation of pull request
* Ongoing merge work
* Ongoing merge work
* Merge master in
* Test fix
* Start work on changing over
* Update tests
* More test fixes
* Work on generalizing binary access provider a bit
* Add expunge capability to binary storage, and also support actual binary
resources
* Work on binary provider
* Get the DB bound binary storage service working
* Test fixes
* Compile fix
* Fix compile error
* Test fix
* Test tweak
* Trying to figure out an intermittent failure
* Work on tests
* More work on tests
* Another test fix
* Ongoing work on core structures suport
* Ongoing work on this merge
* Ongoing work to clean up structures
* Credit for #1179
* Address compile issues
* Latest changes
* Work on parallel execution
* Work on getting tests passing
* Add H2 to migrator
* Test fix
* Reorganizing packages and dependencies to support standalone subscription running within a CDR container where all hapi modules are on the classpath.
Moved Subscription registry out of interceptor and introduced SubscriptionLoader
* Created ActiveSubscription and moved cache bits into it
* Moved ExecutorQueue stuff out into its own class
* Add test and supporting code to validate SubscriptionConstants.EXT_SUBSCRIPTION_RESTHOOK_DELIVER_LATEST_VERSION behaviour
* Added SubscriptionCheckingSubscriber
* Moved a few beans to @ComponentScan
* Replaced use of beanFactory with concrete factory classes
* Switched test to use subscribablechannel
* Added SubscriptionLoaderFhirClientTest
* Confirm that our SubscriptionProviderFhirClient works with a live fhir client
* Register interceptors with DaoConfig instead of RestServer.
Also, Rename @VisibleForTesting methods with ForUnitTest
* Fix triggering service so it uses new subscriptionmatcherinterceptor
* Renamed "Database" classes to "Dao"
* processing -> matching naming change