* 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
* 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
* Start work on validation rules interceptor
* Work on interceptor
* Add tests
* Work on validation interceptor
* Work on interceptor
* Test fix
* Documentation tweaks
* 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>