Commit Graph

74 Commits

Author SHA1 Message Date
James Agnew 909d9f742c
Enable Auto-reference versions in JPA (#2323)
* Automatic reference versions

* Auto reference versions

* resolve fixmes

* Add changelog

* Test fixes

* Test fixes

* Resolve fixmes

* Work on versioning

* Add support for _includes

* Update headers

* Change visibility

* One more tweak

* One more API tweak

* Fixes

* Account for review comments

* Fix errorprone reported issue

* Test fix

* Test fixes

* Test fixes
2021-01-27 14:49:10 -05:00
dependabot[bot] feff734736
Bump jaxb-runtime from 2.3.1 to 3.0.0 (#2289)
* Bump jaxb-runtime from 2.3.1 to 3.0.0

Bumps jaxb-runtime from 2.3.1 to 3.0.0.

Signed-off-by: dependabot[bot] <support@github.com>

* Bump jaxb-runtime from 2.3.1 to 3.0.0

Bumps jaxb-runtime from 2.3.1 to 3.0.0.

Signed-off-by: dependabot[bot] <support@github.com>

* Add jakarta bindings

* Dependency cleanup

* More depndency cleanup

* Work on deps

* Replace transaction annotation

* Cleanup

* Another fix

* Build fix

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2021-01-22 11:24:23 -05:00
Tadgh efc6809ea6
Replacing Hibernate Search 5 with Hibernate Search 6 (#2190)
* 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>
2021-01-05 17:56:59 -05:00
jamesagnew d20b07c78e Update license headers 2021-01-01 15:50:24 -05:00
jamesagnew f30999b053 License header updates 2021-01-01 15:07:23 -05:00
James Agnew d958764d49
Partition data leaks across searches (#2220)
* Partition data leaks across searches

* Add changelog

* Resolve FIXME

* Add test logging

* Test fix

* Test fix
2020-12-06 16:32:07 -05:00
jamesagnew 0c31741eec Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
jamesagnew 4d441ad7f2 Version bump to 5.2.0 2020-11-18 06:30:20 -05:00
James Agnew 8000d2d0cf
SQL Join Rework (#2086)
* 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>
2020-10-26 05:24:26 -04:00
Ken Stevens 3b91873b7c
delete expunge (#2131)
Added delete _expunge=true
2020-10-20 17:21:50 -04:00
Tuomo Ala-Vannesluoma 1435540320
Improve synchronous searching by providing offset & limit support (#2059)
* 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>
2020-10-12 17:42:03 -04:00
James Agnew d2aae361bf
Rewrite deferred interceptor callback framework (#2121)
* Rewrite deferred interceptor callback framework

* Improve deferred handling

* Null guard

* Test fix
2020-10-07 20:08:18 -04:00
IanMMarshall f1710fd0be
Merge pull request #2081 from jamesagnew/feature_2020_09_02_term_multi_version_support
Feature 2020 09 02 term multi version support
2020-10-01 12:24:40 -04:00
ianmarshall dc3443665c Changes per code review. 2020-09-29 21:12:27 -04:00
Ken Stevens 09d09233ff
empi bugfixes and enhancements (#2104) 2020-09-29 17:27:43 -04:00
ianmarshall 1dc4a533d6 Fixes to terminology loader. 2020-09-25 21:43:15 -04:00
ianmarshall 47244c54dc Merge remote-tracking branch 'origin/feature_2020_09_02_term_multi_version_support' into im_20200728_term_multi_version_support
# Conflicts:
#	hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/dao/IFhirResourceDaoCodeSystem.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/BaseTermReadSvcImpl.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/loinc/BaseLoincHandler.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/loinc/LoincIeeeMedicalDeviceCodeHandler.java
#	hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java
#	hapi-fhir-validation/src/main/java/org/hl7/fhir/common/hapi/validation/support/CommonCodeSystemsTerminologyService.java
2020-09-25 09:10:07 -04:00
ianmarshall 6f9874468a Merge remote-tracking branch 'origin/master' into feature_2020_09_02_term_multi_version_support 2020-09-25 08:54:17 -04:00
James Agnew ef4f3df945
Don't install draft package contents (#2099)
* Don't install draft package contents

* Add changelog

* Add changelog
2020-09-22 09:44:36 -04:00
Frank Tao 64f2bae2e7 Impl CodeSystem $validate-code for R4 with basic test cases 2020-09-18 22:30:59 -04:00
Ken Stevens 3189819dd5
limit transaction size config (#2087) 2020-09-16 14:13:03 -04:00
ianmarshall 7b15f85fa1 Merge remote-tracking branch 'remotes/origin/feature_20200830_term_multi_version_support' into feature_2020_09_02_term_multi_version_support 2020-09-15 12:35:31 -04:00
Frank Tao d019dee786 Added url/conceptMapVersion for ConceptMap to support translate 2020-09-06 16:11:09 -04:00
James Agnew c6777578a8
Avoid DB binary storage deadlock (#2062)
* Avoid DB binary storage deadlock

* Add changelog

* Rework
2020-09-01 09:52:38 -04:00
ianmarshall 4db00fa604 Fix broken test and cleanup. 2020-08-17 18:14:37 -04:00
ianmarshall bd94ff96cc Merge remote-tracking branch 'remotes/origin/master' into im_20200728_term_multi_version_support 2020-08-16 21:38:41 -04:00
Ken Stevens 7dd7f2b923
resource pid userdata fix (#2044)
* fixed resource UserData RESOURCE_PID for expunge hook (was incorrectly pointing to ResourceHistoryTable pid instead of ResourceTable pid.

* fix merge
2020-08-16 20:48:39 -04:00
jamesagnew 92718c7ef2 Version bump to 5.2.0-SNAPSHOT 2020-08-12 10:23:46 -04:00
jamesagnew 5fb7bd5156 Version bump to 5.1.0 2020-08-11 17:43:24 -04:00
ianmarshall d39348d7bd Initial changes to support multiple versions for code system. 2020-08-09 11:49:04 -04:00
James Agnew 8e0023c385
Disable referential integrity for some paths (#2025)
* Disable referential integrity for some paths

* Add changelog

* Remove unneeded file
2020-08-09 07:09:37 -04:00
Tadgh ad887428b3 Add removeAll function to DeleteConflictList 2020-08-01 13:15:22 -07:00
Tadgh e82451533f Move provider logic. Fix tests to reflect. Remove now-dead methods 2020-07-21 07:52:51 -07:00
Tadgh 62b5221c3f Move Empi Batch work to the BaseHapiResourceProvider, allowing manual EMPI runs on a server/type/ID basis. 2020-07-18 13:36:14 -07:00
James Agnew 077ee02771
Fix validation for enumerated ValueSets (#1982)
* Allow code validation against enumerated VS

* Work on validation

* Work on this

* Work on tests

* Work on validation

* Work on tests

* Work on validation

* Test fixes

* Add changelog

* For a change

* Test fixes
2020-07-15 13:38:14 -04:00
jamesagnew d6f6ec2d66 License headers 2020-07-13 16:57:24 -04:00
James Agnew baba4cc240
Avoid version conflicts on current writes (#1971)
* 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
2020-07-13 08:51:13 -04:00
jamesagnew 2cdef055aa Missed commit on #1951
Squashed commit of the following:

commit f820135996
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 14:29:24 2020 -0400

    Address review comments

commit 11c4f9defb
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 09:38:16 2020 -0400

    Fix LGTM warning

commit b650fdb9ea
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Tue Jun 30 09:20:52 2020 -0400

    Test fix

commit 6ebcceeb5c
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 18:49:01 2020 -0400

    Add changelog

commit 4a1d7383b0
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 18:46:52 2020 -0400

    Bundle transmission

commit 88bd4abf0c
Merge: 7cde945281 25fc747b9f
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 17:31:23 2020 -0400

    Merge branch 'master' into ja_20200617_subscription_send_bundles

commit 7cde945281
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 17:10:33 2020 -0400

    Work on seed bundles

commit ed2e62752e
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Mon Jun 29 09:39:10 2020 -0400

    Work on subscriptions

commit 52addcff59
Merge: 64a9eaa4de bf8de84801
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Sat Jun 27 18:09:23 2020 -0400

    Merge branch 'master' into ja_20200617_subscription_send_bundles

commit 64a9eaa4de
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Wed Jun 17 18:32:17 2020 -0400

    Start work

commit f74eba5397
Author: jamesagnew <jamesagnew@gmail.com>
Date:   Wed Jun 17 18:28:18 2020 -0400

    Terser should create correct Enumeration on create
2020-06-30 14:31:40 -04:00
James Agnew b8da4f0140
Add package support (#1911)
* 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
2020-06-10 05:30:20 -04:00
ianmarshall 64aa0feb5d Fix for issue of persisting blob data types to MS SQL databases. 2020-06-09 11:06:01 -04:00
James Agnew 21330a0a22
Transaction create performance improvement (#1899)
* Work on perf issue

* Improve write performance for large bundles with tags

* Add changelog

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/5_1_0/1899-improve-write-xact-perf-with-tags.yaml

Co-authored-by: IanMMarshall <49525404+IanMMarshall@users.noreply.github.com>

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util/MemoryCacheService.java

Co-authored-by: IanMMarshall <49525404+IanMMarshall@users.noreply.github.com>

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/util/MemoryCacheService.java

Co-authored-by: IanMMarshall <49525404+IanMMarshall@users.noreply.github.com>

* Test fix

* Test fixes

* Test fixes

Co-authored-by: IanMMarshall <49525404+IanMMarshall@users.noreply.github.com>
2020-06-05 05:26:06 -04:00
jamesagnew 75a74bdd38 License headers 2020-06-02 18:20:56 -04:00
ianmarshall f48214deda Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java
2020-05-29 23:54:11 -04:00
ianmarshall a4811f1508 Changes per code review. 2020-05-29 23:47:44 -04:00
James Agnew 22af36ae7b
Conditional update on Partitioned Server fails (#1870)
* Fix #1869

* Remove FIXME

* Test fix

* Test fix
2020-05-27 10:40:29 -04:00
ianmarshall 4d378ee0ed Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java
#	hapi-fhir-jpaserver-base/pom.xml
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/BaseSearchParamExtractor.java
#	hapi-fhir-jpaserver-searchparam/src/main/java/ca/uhn/fhir/jpa/searchparam/extractor/ISearchParamExtractor.java
2020-05-22 17:04:01 -04:00
IanMMarshall a1a3d9de38
Merge branch 'master' into im_20200520_cascade_delete 2020-05-22 16:11:38 -04:00
Tadgh d1b963321a
MVP EMPI implementation (#1857)
EMPI Initial Implementation (still plenty of known gaps)
2020-05-22 15:03:20 -04:00
IanMMarshall 612fb215d6
Update hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java
Co-authored-by: James Agnew <jamesagnew@gmail.com>
2020-05-22 13:50:42 -04:00
IanMMarshall 51604dab2c
Update hapi-fhir-jpaserver-api/src/main/java/ca/uhn/fhir/jpa/api/config/DaoConfig.java
Co-authored-by: James Agnew <jamesagnew@gmail.com>
2020-05-22 13:50:35 -04:00