* Beginning work on converting to hibernate search 6
* replace all out of date properties
* replace all POM references to old versions
* remove the shaded ES jars as HS6 supports 7.9
* Convert "Bridges" to RoutingBinder and RoutingBridge
* Modernize all indexing annotations
* Begin refactoring of search queries (wip)
* Fix spatial API changes, work on BaseTermReadSvcImpl
* Most of the way through the various filter property conversions
* Finished i think with BaseTermReadSvcImpl
* Compiling, but definitely broken
* Start test compilation failures
* All tests compiling (i think)
* remove suggest keywords operation
* Fix bootstrap errors, still have to deal with transient fields
* Rollback CR
* More refactoring, got IDs baked back into docs
* Fix coord util, fix a few more fields which require projection
* merge fixes
* begin refactor of valuesetexpansion tests
* fix another test
* Update tests
* remove todos, add TestContainers
* Fix descendant in
* Add testcontainers, fix another test
* fix more tests, replace embedded es
* Rip out embedded elastic, replace with TestContainer
* merge conflicts for new analyzers
* Bump to CR2 for hibernate search 6. Add forgotten CLI dep. Add backwards compatible codecs
* Remove dead deps, update testcontainer
* Remove java-hamcrest
* Pull asserts up, refactor tests to pass in RP tests
* Update V2 check
* Remove suggest keyword tests
* Split line for testing
* Fix perhaps one of the dumbest programming mistakes in my career so far
* Refactor tests which no longer rely on a strict known order
* Fix up test config, disable log test temporarily
* Remove log4j from being transitively pulled in. re-enable test
* Update log4j exclusions with new bridge. Update test to check for core class
* Move dependency to root pom in dep management section
* Update changelog, add changelog for HS6 with ES requirements. Remove dead comment
* update testst, remove todos
* Add hibernate props provider method, add elastic regexp query
* Add todo for high level client builder
* Modify ElasticsearchRestClientFactory to support HTTPS hosts
* Remove protocol extraction from rest url
* do we even need to index this...?
* remove purge of non-indexed resources
* Add longer timeout to testcontainers
* Add task to add docker CLI to azure pipeline via task, for testcontainers
* WIP remove this
* Dont update version
* Add test for duplicate termconcepts
* Use real hibernate ORM methods
* merge issues
* Add partitionsettigns bean to match master
* Trying to debug testcontainers on azure...
* Trying to debug testcontainers on azure...
* Run even on previous failure
* Fix testcontainer port binds
* Add full text logs attaching, and test reporting
* I love yaml
* Remove comment
* Refactor delta remove to not do a once-over traversal and flatten all children pre-delete. Resolves transaction commit boundary issue
* Modify TX beheaviour
* wip
* Rework to use config and mocked beans for partition-aware lastN
* rework to not use beans and just inject vars i need for test, keps test envs cleaner
* update azure pipeline to only copy test results
* Remove erroneous publish
* Always get test logs
* Make it so indexing works,
* Add todos
* revert deleteByPid
* Work on test fixes
* Test fixes
* Test fixes
* Another test fix
* Test fix
* Work on tests
* Test fixes
* All tests passing locally
* Fix test failure
* FIx build error
* Rename usages of HibernateDialectProvider -> HibernatePropertiesProvider
* Update ngram of token filters
* Tidying
* subvert the purpose of hibernate elastic props builder to inject template
* dead space
* Rename changed class
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
* Partitioning rework
* Work on partition improvements
* Partition updates
* Work on partitiong
* Test fixes
* Add docs
* Add changelog
* Resolve FIXME
* Test fixes
* Test fixes
* Test fixes
* Compile fix
* Fix compile error
* Test fix
* Test fixes
* switched to adding annotations. Just did a test with Token, but the sql looks clean.
* switched to adding annotations. Just did a test with Token, but the sql looks clean.
* added the other six index links
* trying different annotations
* Start testing
* Update resources on package install
* Add changelog
* Join rework
* CLean up SQL builder
* Add docs
* SP rework
* Join work
* Work on params
* Work on refactor
* Work on chains
* Work on joins
* Rework queries
* Work on queries
* Many more tests passing
* Refs test
* Work on sorting
* Work on tests
* More joins work
* Work on tests
* Work on queries
* Tests passing
* More test fixes
* Test fixes
* Work on SQL
* Tests passing
* Add some tests
* Add some tests
* License headers
* Use entity manager to get datasourcd
* One more fix
* Model cleanup
* Ongoing work
* Fixes
* Fixes
* Work on joins
* Ongoing fixes
* Merge conflict
* Cleanup
* clean up unused fields
* Work on join
* COmpile fix
* Rework querying
* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/HibernateDialectProvider.java
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* Address review comments
* Resolve fixmes
* Test fix
* Test fixes
* Test fix
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* Add test
* Fix
* Add changelog
* Test fixes
* Test fix
* Test fixes
* Resolve fixme
* Test fixes
* Remove debug logs
* Try to get CI tests passing again
* Add auto retry of transactions
* Experiment in Maven build
* Transaction autoretry
* Work on transaction retries
* Work on transaction retry
* Work on transaction retry
* Fix tests
* Avoid version conflicts
* Add changelog
* Resolve LGTM issue
* FIx transaction scope error
* Test fixes
* Test fix
* Test fixes
* Test fix
* Test fixes
* Add tests for validation errors
* Work on validation errors
* Bump core version
* Fix validation errors
* Test fixes
* Add changelog
* Test fix
* Test fix
* Test fix
* Work on junit
* Work on junit 5
* Work on junit 5
* Bump errorprone vcersion
* Work on tests
* Junit 5 tweaks
* Fixes
* Work on tests
* Work on junit5
* Work on tests
* Test fixes
* Work on junit5
* Test work
* Get junit5 working
* Test fix
* Work on tests
* WOrk on tests
* Work on tests
* fixes
* Compile fix
* One more tweak
* Compile fix
* Add changelog
* Fix compile error
* Compile fix
* start with failing test
* test passes with fixmes
* javadoc and config
* pre-review cleanup
* generalize encoding
* test passes, but indexing needs to be optimized
* test passes, but indexing needs to be optimized
* step 1 of optimization. big refactor of all predicates
* step 2 of optimization: determine phonetic encoder at time of RuntimeSearchParam creation
* integrated new phonetic encoders into empi
* phonetic search implemented
* IT passes
* pre-review cleanup
* final pre-review cleanup
* final pre-review cleanup
* Fix compile error
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Terser should create correct Enumeration on create
* Start work
* Work on subscriptions
* Work on seed bundles
* Bundle transmission
* Add changelog
* Test fix
* Fix LGTM warning
* 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
* Start working on FHIRPatch
* More work on fhirpatch
* Work on FHIR Patch
* Add patch
* Test fixes
* Test fixes
* Get tests fixed
* Chnage to trigger a build
* Compile fix
* Dependency version fixes
* Test fix
* COmpile fix
* Try to fix build
* Test fix attempt
* Another build attempt
* Another build tweak
* Cleanup
* Add migration tasks for new indexes. Add new indexes to ResourceIndexedSearchParamDate
* fix dates on task, remove redundant index
* Today is not the 20th
* Fix incorrectly named migration indexes
* out of order indexes
* Start work on subscription cleanup
* Work on subscription cleanup
* Work on subscriptions
* Subscription cleanup
* More work on subscriptions
* Queue factory cleanup
* Work on subscription cleanup
* Subscription cleanup
* Work on subscription cleanup
* Work on subscription cleanup
* Work on subscription cleanup
* Ongoing cleanup
* Subscription work
* Tests passing
* Move resource provider factory
* Test fixes
* Address review changes
* One more change
* Test fixes
* 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
* Add forced ID caching
* Work on id optimization
* Test fixes
* More optimization work
* Add some docs
* Work on docs
* Test fixes
* Test fixes
* Test fixes
* Address review comments
* Compile fix
* Fix expunge issue when no tags present
* Add changelog
* Try to clean up POMs that are failing CI
* Rework dependencies
* Roll back change that did not work
* 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
* Start work on refactoring how PIDs work
* Some test fixes
* Test fixes
* Test fixes
* Restore accidentally deleted line
* One more tweak
* Rework resource link extraction
* Test fix
* Split out transaction processor
* Updates
* Test fix
* Test fixes
* Test fixes
* Clean up LGTM warning
* Fix compile failure
* One more test fix
* Fix LGTM issue
* Add spot for metadata
* Add test logging
* Remove testing code
* More test logging
* Add some test logging
* Attempty to fix intermittent test failure
* Improve exception tracking
* Work on simplifying search param registry
* Fix compile
* Fix compile errors
* Fix two test bugs
* Version bumps
* FIx build issues
* Address a few Semmle issues
* Work on tests
* Some test fixes
* Test fix
* Fix deletions
* Test fix
* Fix intermittent test failure
* One more dependency bump
* Add some test logging
* Remove bad import
* Add some tests
* Test updates
* Add some logging
* Add more test logging
* Work on some test logging
* Fix compile error
* Work on codecov
* Work on codecov
* Remove test debug messages
* Start working on subscription processor
* Work on new scheduler
* Test fixes
* Scheduler refactoring
* Fix test failure
* One more test fix
* Updates to scheduler
* More scheduler work
* Tests now all passing
* Ongoing work on export
* Ongoing scheduler work
* Ongoing testing
* Work on export task
* Sync master
* Ongoing work
* Bump xml patch version
* Work on provider
* Work on bulk
* Work on export scheduler
* More test fies
* More test fixes
* Compile fix
* Reduce logging
* Improve logging
* Reuse bulk export jobs
* Export provider
* Improve logging in bulk export
* Work on bulk export service
* One more bugfix
* Ongoing work on Bulk Data
* Add changelog
* Work on indexing source
* Work on tests
* Refactor query count tests
* Unit test fixes
* Add some tests
* DAO fix
* Fix compile error
* Unit test fix
* Cleanup
* Test fix
* Fix compile error
* One more test fix
* Start work on delta operations
* Add changelog
* Some build fixes
* Move upload terminology command to CodeSystem resource
* Updates
* Some test fixes
* Add changelog
* Some test fixes
* More test fixes
* Test fix
* Add additional tests
* Transaction boundary fixes
* 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
* Start working on this
* Ongoing fixes to H2 branch
* Work on fixing tests
* Updated fixes
* Some test fixes
* More work on H2 migration
* Fixes to try and get the H2 migration building
* Test seem to be passing!
* Tweaks to locale randomization
* Add changelog
* Initial consent svc
* Ongoing consent svc work
* Add docs
* Ongoing consent service work
* Work on consent service
* More work on consent svc
* License header updates
* Ongoing consent svc work
* Some test fixes
* Some test fixes
* More work on consent svc
* Tests working
* Test fix
* Propagate RequestDetails to everything in JPA server
* More interceptor tweaks
* Fix compile error
* One more tweak to captured SQL
* Ongoing interceptor tweaks
* Ongoing interceptor tweaks
* More interceptor tweaks
* Interceptor tweaks
* Tweaks to tests
* Fix tests
* Test fix
* Raise warnings when encoding extensions with missing values
* Consent service work
* More interceptor tweaks
* Consent interceptor tweaks
* Add logging to test
* Make IBundle list interface more flexible
* Make matchResourceLinks visible
* Make matchResourceLinks visible
* Pull in-memory matching functionality out of subscription module into dedicated classes in searchparam module
* Added more accessors to version independent resource classes
* improved forcedid matching (needs to be verified by James)
filter out nulls from HashMapProvider.searchAll() (hopefully no tests depend on this)
* add AnyComposition
* cleanup of Any classes
* create searchparam config so people can use that module without using subscriptions
* create searchparam config so people can use that module without using subscriptions
* fix broken test
* added derivedFrom
* renamed daoRegistry.getResourceDaoIfExists to getResourceDaoOrNull
also added method to add a new dao to the registry and retrieve registered types
* TokenParam.equals
* add error check to searchable hashmap resource provider
* added support for R4
* add successor to measure
* delete conflict hook
start with failing test
* test passes.
hook is called.
* added delete conflict hook
all delete conflict tests pass
* added javadoc
* Performance test
* test bad interceptor case
* typo
* rename criteria matcher
* added support for multiple topics
* fix method name
* add effective period
* Temporarily excluding StressTest from build to try to get Travis under time limit
* change log
* review feedback
* review feedback
* review feedback
* move expunge out
* move to prototype
* turns parameters into fields
* cleanup control flow
* moved transactions outside of loops
* add expungeeverything
* moved daos out
* add expungeThreadCount
* add expungeBatchSize
* added partition runner to run in separate threads
* all done. just need to consolidate test code.
* Moar tests
* consolidated pointcutlatch into hapi-fhir-jpaserver-model
* final cleanup
* update javadoc
* change log
* failing test
* added delete
also @Transactional
* remove unused parameter
* fix compile
* race condition
(cherry picked from commit e1940d2fb20838859a205f2b96c833b0ce9f05eb)
# Conflicts:
# hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/dao/expunge/PartitionRunnerTest.java
* ja feedback
* ja feedback
* fix bug in websocket subscription (It wasn't destroying the channel when there are no subscribers)
* add support for removing channel. Also synchronize removal (there was a race condition between sync and queue)
* keep deprecated method for backwards compatibility
* make websocket endpoint configurable
* make websocket context path configurable
* make websocket context path configurable
* trying mvn clean test instead of mvn clean install to see if the build goes faster
* that didn't work at all. reverting.
* change log
* Use a single IN clause for OR reference searches
* Add changelog
* One more attempt at getting the free port util to actually work... sigh
* One more tweak to free ports
* Bundle fix
* fix bug in ResourceIndexSearchParamQuantity
Move transaction boundary around SubscriptionMatcherInterceptor so it can be overridden in subclass
Lots of CRLF changes from a mvn -P DIST
* FIXME
* Avoid paging links when offset is artificially set very high
* Ongoing fixes
* Adding logging and clean up transaction processing
* Add changelog
* More work on queries
* Keep working on getting tests passing
* More test fixes
* More work on tests
* More test works
* One more test attempt
* Ongoing fixes
* One more change
* FIxes to search algorithm
* Add changelog
* Clean up for review
* Fixed NPE in token matcher when system is not null and value is null
* test opposite (null system not null value)
* added null protection to all matchers
* Address review comments
* Address broken test
* Trying to resolve DB ordering issues
* Starting work on this
* Working on narrative templates
* Work on new narrative system
* Account for some failing tests due to refactoring of narrative mode
* Another test fix
* More test fixes
* One more test fix
* Work on searches
* Address review comments
Squashed commit adding subscription debug logger
* Work on subscription debug logger
* Add subscription logging interceptor
* Remove unneeded variables
* A bit of cleanup
* Tweak the output logs a bit
* Address review comments
* Start work on this
* Work on interceptors
* Attempt fix
* Avoid environment dependency
* Test fixes
* One more test fix
* One more build tweak
* Lots of cleanup
* A bit more cleanup
* Still more cleanup
* Some test fixes
* Add legacy methods temporarily
* Don't auto-scan interceptor beans
* One more test fix
* rsolve merge conflicts
* Address review comments
* 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