* [dev] Integration of a Jackson serializer and deserializer - first stage
* [fix] Fixed some serializing issues
[improve] Improved the processing, removed the loggers
* [clean] Removed the JacksonSerializer class, replaced all the Gson classes with Jackson classes
* [clean] Small cleanup
* [improve] Throw a ConfigurationException if the JsonGenerator cannot be created
* [improve] Use the ObjectMapper's `readTree` instead of `readValue`
* [dev] Latest fixes and improvements
* [dev] Use the Jackson serializer
* [clean] Removed the ObjectMapper configuration, for now
* [fix] Use the GsonStructure also for the parsing of a FHIR resource
* [clean] Removed the LinkedList usage
* Work on preparing for merge of #1673
* Resolve build errors
* Work on parser integration
* Tests passing
* Resolve fixme
* CLeanup
* Fix dependency
Co-authored-by: Bogdan Solga <bogdan.solga@gmail.com>
* 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
* Added optionality for adding resource fetcher
* Added coverage that proves invocations
* Bumped version of fhir.core to latest version. Added wrapping of AssumeValidRestReferences
* Added optionality for adding resource fetcher
* Added coverage that proves invocations
* Bumped version of fhir.core to latest version. Added wrapping of AssumeValidRestReferences
* Start working on converter
* Account for compile errors
* Test fix
* Work no validator
* Work on getting core working
* Add some test coverage
* Many test fixes
Co-authored-by: Jens Kristian Villadsen <46567685+jvitrifork@users.noreply.github.com>
I ran into an issue trying to use the old .class style property. The validation message was useful, but I spotted some unreachable code investigating which I've removed. I also enhanced the configuration exception to indicate what was wrong with a supplied key and expected extension types.
* Copy identifiers to placeholder resources
* Add tests
* Maven cleanup
* Still messing around with azure
* Adding to logging
* More azure work
* One more attempt
* More messing around with azure
* Test fix
* Another caching attempt
* More work on azure pipeline
* Fix pipeline file
* Keep working on pipeline
* More work on azure
* More azure
* More azure work
* More azure
* 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
* Some CI surefire improvements
* Build tweak
* More tweak
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* One more CI attempt
* Update azure-pipelines.yml for Azure Pipelines
* Tweak command line
* Another build test fixc
* More build cleanup
* 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
* 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
* Start refactoring terminology delta operations
* Work on delta operations
* Work on concept saving
* Split term services into smaller services
* Work on term delta operations
* Work on term svcs
* Work on term operations
* More work on delta uploader
* Add a test
* Wrk on term service
* Fix compile error
* Some refactoring
* Test fix
* Test fix
* Test fixes
* Test fix
* Test fixes
* Test fixes
* Work on delta
* Work on tests#
* Test fixes
* Improve resequencing logic
* Build test
* More testing
* More build testing
* More work on tests
* CHange test logging
* Fix term service PID issue
* Update src/changes/changes.xml
Co-Authored-By: Diederik Muylwyk <diederik.muylwyk@gmail.com>
* Address review comment
* Some cleanup
* Test fix
* Fix some tests
* Work on upload command
* Test fixes
* Work on validation fixes
* Work on validation against pre-expansion
* Work on direct validation
* A bit of cleanup
* Add some javadoc
* Force another build
* Test fixes
* Fix tests
* Fix tests
* Start refactoring terminology delta operations
* Work on delta operations
* Work on concept saving
* Split term services into smaller services
* Work on term delta operations
* Work on term svcs
* Work on term operations
* More work on delta uploader
* Add a test
* Wrk on term service
* Fix compile error
* Some refactoring
* Test fix
* Test fix
* Test fixes
* Test fix
* Test fixes
* Test fixes
* Work on delta
* Work on tests#
* Test fixes
* Improve resequencing logic
* Build test
* More testing
* More build testing
* More work on tests
* CHange test logging
* Fix term service PID issue
* Update src/changes/changes.xml
Co-Authored-By: Diederik Muylwyk <diederik.muylwyk@gmail.com>
* Address review comment
* Some cleanup
* Test fix
* Fix some tests
* Test fixes
* Resolve XXE issue in validator
* Ensure that we're blocking XXE events into validator XML parser
* A bit of cleanup
* Add an LGTM config
* Add one more fix
* Terminology Delta Uploading
* Add delta operations
* Fix up tests
* Improve test coverage a bit
* Improve test coverage reporting
* fix yaml
* A couple of test enhancements
* FIx intermittent test failure
* ElasticSearch work
* Add ElasticSearch properties builder
* Clean up POM
* Remove redundant project
* Try to troubleshoot embedded elasticsearch
* Another test attempt
* Add credentials to elasticsearch config
* Work on lastn
* Address review comments
* A couple of test fixes
* 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
* Handle cascading deletes correctly with circular references
* A bit of cleanup
* Address review comments
* FIx some javadocs
* Fix an incorrect message
* 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
* This should be working now - need to check tests
* Add a changelog and some docs
* One more test fix
* Tests should be passing
* Fix compile
* Test fixes
* Ignore outdated DSTU2 validation test
* 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
* Added experimental implementation for storing expanded ValueSets in terminology tables.
* Minor tweak to log message for consistency.
* Another minor tweak to log message for consistency.
* Renamed test.
* Addressing review comments.
* Added migration tasks.
* Start working on cascading deleets
* WOrk on cascading deletes
* Work on cascading deletes
* Enable cascading deletes
* Cascade deletes almost working
* FIx test
* Test fix
* 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
* Preserve contained resource meta when encoding with: parser.setDontEncodeElements(ResourceMetaParams.EXCLUDE_ELEMENTS_IN_ENCODED)
* - Correct so security, lastUpdated and versionId is not encoded
- Added test
* 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
* Search fixes
* Add some tests
* CHangelog
* Some cleanup of the query tracker
* FIx XML issue in changelog
* Test fixes
* SOme test fixes
* Address review comments
* Fix test breakage
* 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 merge: Add elements exclude mode
* Start working on elements enhancement
* Work on elements projection
* Work on elements filter
* Feature is now working
* Just some cleanup
* Address compile issues
* Initial refactoring to move database matcher out into its own class
* MAJOR REFACTOR: Pulled indexing code out of BaseHapiFhirDao into a new class ResourceIndexedSearchParams
* Moved calculateHashes
* Replaced @Bean definitions in BaseConfig.java with @ComponentScan
Annotated bean classes with either @Service (if it's stateless) or @Component (if it's stateful). It doesn't really matter which annotation is used, but it's helpful to see at a glance whether a bean is stateful or stateless.
* Move services out of BaseHapiFhirDao
Moved services required by ResourceIndexedSearchParams out of BaseHapiFhirDao and into new classes called LogicalReferenceHelper, IdHelperService, MatchUrlService, and DaoProvider.
Converted SearchBuilder into Prototype Bean
Mark Spring components that depend on daos and entitymanagers with @Lazy so they aren't picked up by hapi-fhir-spring-boot-autoconfigure.
* Added SubscriptionMatcherInMemory
Moved static data out of BaseHapiFhirDao into ResourceMetaParams
Moved translateMatchUrl methods out of BaseHapiFhirDao into MatchUrlService bean
Simplified SubscriptionMatcherInMemory to not depend on entity or dao
Turned all subscribers into prototype beans
* Moved searchParam method out to mySearchParamProvider
Also removed dao and contest parameters from of myMatchUrlService methods
Moved code out of SearchBuilder into SearchParameterMap.clean() so it can be used by inMemoryMatcher
Introduced a new composite subscription matcher that tries to match in memory and if it finds a parameter in the criteria it doesn't support, it falls back to the database matcher.
* Added support for references
Also fixed a small bug in SearchParameterMap that was missing the ";" after "_has" when creating a normalized query from search params.
* Finished implementing all tests from FhirResourceDaoR4SearchNoFtTest
* Make in-memory matcher configurable, disabled by default
* Validate Subscription criteria when they're submitted
Send HTTP 422 UnprocessableEntityException if the criteria fail validation.
* fixed Sonar "Blocker" issues.
* Don't reload the resource before sending it out
Since we can always force a reload using restHookDetails.isDeliverLatestVersion
* Added tests to cover Custom Search param.
* Split ResourceIndexedSearchParam into separate state and service classes
* Cleaned up SearchBuilder.
Removed uses of myCallingDao as an injection mechanism.
Left // FIXME KHS cookie crumbs to clean up
* Reduced dependencies on BaseHapiFhirDao
Removed methods from IDao interface that were used for injection
* Updated change log