Commit Graph

609 Commits

Author SHA1 Message Date
Nick Goupinets ddd7c0f267
Merge pull request #2397 from hapifhir/ng_codepoint_fix
UTF-16 characters might cause errors when calculating hash values
2021-02-19 17:22:20 -05:00
James Agnew 3eda19c65a
Version bump (#2400)
* Version bump

* Docs changes

* Docs tweaks

* Docs tweak

* Spelling fixes

* Docs tweaks
2021-02-18 11:07:49 -05:00
jamesagnew 919c1dbddc Version bump to 5.3.0 2021-02-17 07:10:13 -05:00
Nick Goupinets c4daefc9fb Initial implementation 2021-02-16 17:19:57 -05:00
James Agnew e195bdc065
Try to avoid codecov fluctuations (#2344)
* Try to avoid codecov fluctuations

* Less slowdown

* Another build tweak

* Build tweak

* Container bump

* Another build attempt

* One more test
2021-02-03 09:44:57 -05:00
James Agnew 0f31d106e5
Allow empty request details in JPA (#2343)
* Allow empty request details in JPA

* Test fixes
2021-02-02 11:00:14 -05:00
Frank Tao 1d835d82d6
Fixed Ucum Conversion NullPointerException issue (#2331)
* Fixed Ucum Conversion NullPointerException issue

* Revoke:save value to the original table if it can't be normalized
2021-01-30 19:30:12 -05:00
Kevin Dougan SmileCDR 2308d8f44b
Merge CQL Initial Implementation Into master (#2330)
* CQL initial implementation
2021-01-29 16:35:38 -05:00
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
Frank Tao 66e6cab21f
Fixed xml.bind conflict between jakakax and javax (#2320) 2021-01-24 09:56:45 -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
James Agnew 1dc4fb2206
Make quantity indexes use double datatype (#2290)
* Make quantity indexes use double datatype

* Add changelog

* Test fixes

* Test fixes

* Disable test
2021-01-16 18:44:15 -05:00
jamesagnew 5b5023e6ac License headers 2021-01-11 21:00:12 -05:00
Frank Tao f6d4a40388
UCUM Service Support (#2261)
* 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
2021-01-10 21:05:24 -05:00
jamesagnew 12d366c86e License header updates 2021-01-05 18:13:14 -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 1eae5db374
autoCreatePlaceholderReferenceTargets true breaks multitenancy (#2215)
* Fix #2209 - autoCreatePlaceholderReferenceTargets true breaks multi-tenancy

* Add changelog

* Address fixme
2020-12-03 08:53:37 -05:00
James Agnew c309737166
Allow reading from multiple partitions (#2198)
* 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
2020-11-30 17:59:52 -05:00
James Agnew 8b65db0c98
Improve error message on unique constraint violation (#2182)
* Improve error message on unique constraint violation

* Add changelog

* Test fixes

* Test fix
2020-11-19 21:20:59 -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
IanMMarshall bf9e02bc16
Merge pull request #2164 from jamesagnew/im_20201029_ig_package_long_description
Truncate package descriptions that are longer than 200 characters.
2020-11-10 12:01:53 -05:00
James Agnew 63b7b379c2
Improve ValueSet filtering (#2162)
* Improve filter search

* Filter improvements

* Tests passing

* Test fixes

* Fix transaction filter

* Add changelog

* Test fix

* Update hapi-fhir-base/src/main/resources/ca/uhn/fhir/i18n/hapi-messages.properties

Co-authored-by: Diederik Muylwyk <diederik.muylwyk@gmail.com>

* Update hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/term/BaseTermReadSvcImpl.java

Co-authored-by: Diederik Muylwyk <diederik.muylwyk@gmail.com>

* Resolve FIXME

* Test fix

* Update hapi-fhir-jpaserver-base/src/test/java/ca/uhn/fhir/jpa/term/ValueSetExpansionR4Test.java

Co-authored-by: Diederik Muylwyk <diederik.muylwyk@gmail.com>

Co-authored-by: Diederik Muylwyk <diederik.muylwyk@gmail.com>
2020-11-10 11:01:13 -05:00
ianmarshall 881193cf24 Truncate package descriptions that are longer than 200 characters. 2020-11-09 16:19:05 -05:00
jamesagnew 53c23b8d9b Add method to stringutil 2020-10-27 11:29:16 -04: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
jamesagnew 3ba80de717 Add to date equals comparison 2020-10-11 15:35:28 -04:00
James Agnew 2134d40f1c
Account for timezones in lastUpdated search (#2113)
* 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
2020-10-09 07:52:46 -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
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
James Agnew 3098affccb
Update path when updating resource links (#2007)
* fix resource link index reuse bug

* Resolve merge conflicts

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2020-07-28 21:40:56 -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
James Agnew 6fb6675b1e
Resolve validation errors to ValueSet with UCUM (#1948)
* 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
2020-07-05 19:59:21 -04:00
James Agnew f356c7c385
Migrate to JUnit5 (#1952)
* 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
2020-07-04 18:28:16 -04:00
Ken Stevens 714bd6216e
Empi 70 phonetic indexing (#1941)
* 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>
2020-06-30 17:36:54 -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 fa4bbe3685
Allow search criteria as subscription delivery mechanism (#1951)
* 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
2020-06-30 14:29:09 -04:00
James Agnew 6825d2fcf0
Reduce DB roundtrips for revincludes (#1937)
* Reduce DB roundtrips for revincludes

* Add changelog
2020-06-23 16:26:04 -04:00
jamesagnew 05df4f0827 Migration task updates 2020-06-10 09:56:49 -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 9696af5dc0 Changed observation indexing to bypass hibernate search and removed Observation index tables. 2020-06-04 13:20:42 -04:00
ianmarshall 6e507bf642 Changed observation indexing to bypass hibernate search and removed Observation indexing tables. 2020-06-04 13:10:06 -04:00
jamesagnew 0487727fb1 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2020-06-02 18:21:12 -04:00
jamesagnew 75a74bdd38 License headers 2020-06-02 18:20:56 -04:00
jamesagnew 201c3a6187 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2020-06-02 07:47:06 -04:00
jamesagnew 760d19cf89 Prep for 5.0.2 2020-06-02 07:46:57 -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 7f72305f57
Improve Period range indexing (#1873)
* Fix #1871 - Handle period range searches better

* Add changelog

* FIx tests

* Add test logging

* Address review comments
2020-05-28 08:56:43 -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 1e554731bb Additional cleanup and test fixes. 2020-05-25 18:25:25 -04:00
ianmarshall 816f409a8a Re-factor lastn entities to locate them is same package as other Search Parameter entities. 2020-05-25 11:37:01 -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
Tadgh d1b963321a
MVP EMPI implementation (#1857)
EMPI Initial Implementation (still plenty of known gaps)
2020-05-22 15:03:20 -04:00
James Agnew 5b2181a563
Implement FHIR Patch (#1850)
* 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
2020-05-20 19:43:55 -04:00
ianmarshall d2b54d6203 Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/SearchBuilder.java
2020-05-19 15:20:06 -04:00
jamesagnew 52c8e3551c Version bump to 5.1.0-SNAPSHOT 2020-05-15 14:43:32 -04:00
jamesagnew fe0e07a313 Bump to 5.0.1 2020-05-15 05:47:01 -04:00
Tadgh 9fec726b0e
Add missing indexes on ResourceIndexedSearchParamDate (#1847)
* 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
2020-05-15 05:38:16 -04:00
ianmarshall 529e1e1f5e Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch 2020-05-14 12:09:24 -04:00
ianmarshall eb1d1c2b27 Changes to better support chunking of queries and paging of results for lastn operation and to monitor performance. 2020-05-14 12:08:55 -04:00
jamesagnew 1d13e29ac0 Version bump to 5.1.0-SNAPSHOT 2020-05-12 20:04:20 -04:00
jamesagnew d631ecff4a Prepare for 5.0.0 2020-05-12 11:49:18 -04:00
ianmarshall e56cb049f7 Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch 2020-05-08 09:19:44 -04:00
James Agnew 6cc07b6689
Make binary storage work for bulk export (#1836)
* Make binary storage work for bulk export

* Add changelog

* Build fixes

* Test fix

* Test fix

* Test fix
2020-05-07 19:20:22 -04:00
James Agnew b67509d7ff
Transaction write performance fix (#1832)
* Performance fix for transactions

* Test fix

* Fixes

* Add docs

* Test fixes
2020-05-07 10:56:41 -04:00
ianmarshall 4cced40b54 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-05 17:19:32 -04:00
James Agnew a77aa6a28e
Multitenancy Ticket 2 - #1813 (#1821)
* Work on multitenancy

* Second ticket started

* More multitenancy work

* Work on tenancy security

* Work on multitenancy

* Test fixes

* Add docs

* cs tweak

* Multitenancy fixes

* Add debug log

* Fix build

* Add headers

* Add partition selection interceptor hook

* Update hapi-fhir-base/src/main/java/ca/uhn/fhir/rest/api/Constants.java

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Account for review comments

* Resolve FIXMES

* Work on tests

* Test fixes

* A bit more cleanup

* Work on multitenancy

* Update hapi-fhir-docs/src/main/java/ca/uhn/hapi/fhir/docs/ClientExamples.java

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/client/examples.md

Co-authored-by: Ken Stevens <khstevens@gmail.com>

* Address review comments

* Allow disabling text modifier indexing

* Add changelog

* Docs fixes

* Address review comment

* Resolve merge conflicts

* Merge master

* Compile fix

* Test fix

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2020-05-05 15:12:15 -04:00
James Agnew 35c2b7a2c1
Allow disabling text modifier indexing (#1831)
* Allow disabling text modifier indexing

* Add changelog

* Address review comment

* Resolve merge conflicts
2020-05-05 12:16:55 -04:00
James Agnew dada217966
Clean up hash code calculation (#1830)
* Clean up hash code calculation

* Test fixes

* Test fix

* Test fixes

* Compile fix

* Test fix
2020-05-05 11:11:24 -04:00
Tadgh f94f2fde65
Add delegating setters and getters to DaoConfig (#1825) 2020-04-30 14:32:22 -04:00
Tadgh 8f8a8a3dc2 Merge branch 'master' into date-match-bug 2020-04-29 16:17:50 -07:00
ianmarshall 3e49e5615f Fixing merge conflicts after merge from Master. 2020-04-25 22:14:55 -04:00
ianmarshall dd749791db 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-04-24 16:55:45 -04:00
jamesagnew af43c4377a Roll back a change that was causing test failures 2020-04-22 14:11:01 -04:00
jamesagnew fc6642e150 Add one more constant 2020-04-22 12:25:17 -04:00
jamesagnew 06ae9bc64a Update operation name 2020-04-22 12:08:10 -04:00
jamesagnew c7de85339c Work on review comments 2020-04-21 20:18:06 -04:00
jamesagnew e6c806283e Merge branch 'ja_20200206_multitenancy' of github.com:jamesagnew/hapi-fhir into ja_20200206_multitenancy 2020-04-20 16:58:59 -04:00
jamesagnew 544d9fbc6c Add migration tasks 2020-04-20 16:58:48 -04:00
jamesagnew bbab016ca6 Rename config 2020-04-20 12:38:04 -04:00
jamesagnew 7248b4e18e Finish docs 2020-04-20 11:02:27 -04:00
jamesagnew cd3e1c5e72 Tenancy docs 2020-04-19 10:15:51 -04:00
jamesagnew 2ddeea37c2 Work on multitenancy 2020-04-18 17:27:06 -04:00
jamesagnew 25cdbb15c2 Work on multitenancy 2020-04-16 15:33:48 -04:00
jamesagnew cd06137745 Work on multitenancy 2020-04-15 22:12:28 -04:00
ianmarshall 925bbbbcdc Merge remote-tracking branch 'remotes/origin/master' into im_20200316_lastn_operation_elasticsearch
# Conflicts:
#	hapi-fhir-cli/hapi-fhir-cli-api/src/main/java/ca/uhn/fhir/cli/RunServerCommand.java
#	hapi-fhir-cli/hapi-fhir-cli-jpaserver/src/main/java/ca/uhn/fhir/jpa/demo/CommonConfig.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/dstu3/BaseDstu3Config.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/r4/BaseR4Config.java
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/config/r5/BaseR5Config.java
#	pom.xml
2020-04-13 18:35:15 -04:00
jamesagnew 982b54df57 Work on multitenancy 2020-04-13 11:50:49 -04:00
jamesagnew c26a5553e9 Multitenancy work 2020-04-12 20:47:32 -04:00
jamesagnew e55ccf88fc Work on multitenancy 2020-04-10 20:01:59 -04:00
ianmarshall e64d67f429 Consolidate changes to Command Line Tool and add/improve tests. 2020-04-10 16:58:00 -04:00
jamesagnew 219332e9e3 Work on multitenancy 2020-04-10 11:11:29 -04:00
jamesagnew e0fcbe1df2 Merge branch 'master' into ja_20200206_multitenancy 2020-04-09 11:52:27 -04:00
James Agnew 8cdc3a72ce
Fix #1794 - Client ID and Server ID mode clash (#1795)
* Fix #1794 - Client ID and Server ID mode clash

* Try to track down intermittent test failure
2020-04-09 09:31:13 -04:00
James Agnew 1c738b903d
Decouple subscription submission / matching (#1790)
* 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
2020-04-08 18:08:27 -04:00
jamesagnew a5b5e344ca Test fixes 2020-04-07 19:54:45 -04:00
jamesagnew edc30568f2 Address review changes 2020-04-07 19:07:07 -04:00
jamesagnew c2e00bb73b Bugfix on #1772 2020-04-07 14:21:42 -04:00
jamesagnew fef447afee Work on subscription cleanup 2020-04-04 16:07:01 -04:00
jamesagnew 6baf1995c9 Work on subscription cleanup 2020-04-02 20:30:19 -04:00
ianmarshall f819c91530 Initial implementation of lastn operation. 2020-03-31 21:55:57 -04:00
jamesagnew ea1f35beaa Work on multitenancy 2020-03-31 10:33:47 -04:00
jamesagnew 2e43c57032 Work on multitenancy 2020-03-30 09:49:17 -04:00
jamesagnew 8e714b6b14 Work on uniques 2020-03-30 05:36:24 -04:00
jamesagnew 62d867902f Work on multitenancy 2020-03-29 18:16:04 -04:00
jamesagnew 691f2c4e9a Work on muiltitenancy 2020-03-29 13:35:20 -04:00
jamesagnew 9df4c58122 Work on multitenancy 2020-03-27 09:22:00 -04:00
jamesagnew ec6fe70acb Merge branch 'master' into ja_20200206_multitenancy 2020-03-27 05:50:08 -04:00
James Agnew 22413911bf
Validation api changes (#1719)
* 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
2020-03-17 13:28:59 -04:00
jamesagnew 72b9d9a350 FIx spelling mistake 2020-03-13 09:19:45 -04:00
James Agnew 1dc5d89013
Optmize forced ID resolution (#1754)
* 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
2020-03-12 17:12:50 -04:00
James Agnew 9f725892d3
Drop anyresource classes (#1755)
* Drop anyresource classes

* Drop invalid test
2020-03-09 14:25:30 -04:00
James Agnew 4bd2d1f2f9 Add columns 2020-03-04 13:49:36 -05:00
Tadgh 8b223a1fd9 Rework selection generation of calculator. Add null check for empty dates 2020-03-03 16:07:25 -08:00
James Agnew 4a160a2df3 Merge branch 'master' into ja_20200206_multitenancy 2020-03-03 09:25:19 -05:00
Gary Graham b1d7072c42 Add precision checker for ordinal date returning on DateRangeParam 2020-02-26 22:22:42 -05:00
Gary Graham f86a4c9fa1 Add date ordinals to subscription matching checker 2020-02-26 17:05:23 -05:00
Gary Graham 2dc94de6bb roll back change to inmemory matcher test 2020-02-26 14:31:35 -05:00
Gary Graham 165f5fd808 fix bugs in calculating ordinal date 2020-02-26 09:32:20 -05:00
James Agnew cb9906580e
Index canonical references (#1728)
* Index canonical references

* Add changelog

* Fix compile error

* Add whitespace
2020-02-25 21:45:46 -05:00
Gary Graham a1b6e37395 Fix bug with Period bounds not counting as first value 2020-02-25 17:03:50 -05:00
Gary Graham f56e38148b Add flag to DaoConfig controlling behaviour 2020-02-25 16:43:17 -05:00
Gary Graham 97c98254d0 Extract Common functionality out of CalculateHashesTask, build CalculateOrdinalDatesTask based on it 2020-02-25 16:09:08 -05:00
Gary Graham 3ec772b527 rework ResourceIndexedSearchParamDate constructor to support incoming string values 2020-02-25 14:06:36 -05:00
Gary Graham 3b41b5b960 Type migration to boxed integer to avoid int defaulting to 0 2020-02-25 11:18:39 -05:00
Gary Graham 7f5b3394e0 Hacky first-pass of adding ordinal date field to ResourceIndexedSearchParamDate and using it for search 2020-02-24 19:34:16 -05:00
IanMMarshall fba28950ec
Merge pull request #1693 from jamesagnew/im_20200131_remove_circular_dependency_forcedid
Changes to schema to loosen dependencies involving Forced ID table
2020-02-18 14:16:09 -05:00
James Agnew 64f07e4dc0
Includes performance enhancement (#1702)
* Includes performance enhancement

* Add changelog

* Test fix

* Fix typo

* A few coverage cleanups

* Test fix

* Fix changelog
2020-02-18 14:11:48 -05:00
ianmarshall f7db280099 Merge remote-tracking branch 'remotes/origin/master' into im_20200131_remove_circular_dependency_forcedid
# Conflicts:
#	hapi-fhir-jpaserver-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/tasks/HapiFhirJpaMigrationTasks.java
2020-02-18 12:13:00 -05:00
jamesagnew ddc7b601ee Version bump to 4.3.0-SNAPSHOT 2020-02-16 19:23:22 -05:00
jamesagnew 4fd80cfca7 Bump to 4.2.0 2020-02-16 19:00:15 -05:00
jamesagnew 1d1aadb813 Work on multitenancy 2020-02-09 20:57:50 -05:00
jamesagnew f7ec41ffc5 Work on multitenancy 2020-02-09 08:40:15 -05:00
James Agnew c5c1e3196b Resolve FIXMEs (#1705)
* Resolve FIXMEs

* Test fixes

* Test fixes

* Clean up unused code

* Add some test coverage

* Test fix

* Test fix

* Avoid intermittent
2020-02-09 08:39:46 -05:00
James Agnew b2d2346228 Work on multitenancy 2020-02-07 15:18:06 -05:00
ianmarshall 5d5b3d7639 Changes to schema to loosen dependencies between Forced ID table and the Resource and Resource History tables. 2020-01-31 11:16:01 -05:00
James Agnew 201ec34db4
Fix expunge issue when no tags present (#1671)
* 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
2020-01-15 14:47:22 +08:00
James Agnew 1390ea3c06
Update FHIR R5 structures to 4.2.0 version (#1665)
* 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
2020-01-14 10:27:01 +08:00
jamesagnew 9c7f5e1b9b License header updates 2020-01-12 10:15:08 -05:00
jamesagnew 6fc0bdb88f Add licene headers 2019-12-16 11:14:17 -05:00
Ken Stevens 2f89f10c64 allow users to set default group 2019-12-04 17:23:51 -05:00
Ken Stevens f29118fa9c move clustered quartz from cm db to pers db 2019-12-02 14:32:34 -05:00
Ken Stevens 993d8220d1 review feedback 2019-12-02 11:18:52 -05:00
Ken Stevens 959dba7611 pre review cleanup 2019-12-01 16:51:01 -05:00
Ken Stevens 321790f6bf standardized job names and how they're scheduled 2019-11-29 10:12:13 -05:00
Ken Stevens a0e363171d replace FireAtInterval class with an interface for now 2019-11-29 09:21:20 -05:00
Ken Stevens f450cea9a5 disable gap time for now 2019-11-28 17:57:52 -05:00
Ken Stevens 6f9cd56c81 moved scheduler up to hapi-server 2019-11-20 14:30:24 -05:00
Ken Stevens 8fca468e1f remove boolean from scheduling API 2019-11-19 10:13:22 -05:00
James Agnew 74159dcb26
Work on refactoring how PIDs work (#1580)
* 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
2019-11-17 14:35:19 -05:00
James Agnew 497a96ae68 Version bump for next round of development 2019-11-12 22:09:21 -05:00
jamesagnew f99ad981b5 Version bump to 4.1.0 2019-11-12 16:08:20 -05:00
James Agnew b90f285218 Merge branch 'master' into ja_20190928_rationalize_search_param_extractor 2019-10-30 08:41:14 -04:00
James Agnew 007cfaf00e
Don't error out on missing CS (#1570)
* Don't error out on mi9ssing CS

* Add tests

* Add a bit of test coverage

* One more test
2019-10-30 08:38:39 -04:00
James Agnew 817f9ae36e Merge branch 'master' into ja_20190928_rationalize_search_param_extractor 2019-10-27 17:25:20 -04:00
James Agnew 6580c98ed7 Work on extractor 2019-10-26 16:56:12 -04:00
James Agnew 385a885abf Add ability for resource source to be specified by header 2019-10-24 08:32:52 -04:00
James Agnew 464c6c5b45
Upgrade dependencies and addess Semmle issues (#1554)
* 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
2019-10-22 17:10:58 -04:00
James Agnew 8b2ab51bc6
Handle canonical questionnaire refs in validator (#1544)
* Handle canonical questionnaire refs in validator

* FIx changelog

* Fix canonical reference

* Build tweak

* Change to trigger a build
2019-10-15 20:27:53 -04:00
James Agnew bf476b9c32 Handle null returns from search cache methods 2019-10-15 16:25:21 -05:00
James Agnew e656863a73
Correct bugs reported by LGTM (#1533)
* Correct bugs reported by LGTM

* Add some tests

* A few more updates

* YAML update

* Test fixes

* One more test fix

* Test fix
2019-10-09 19:26:57 -05:00
James Agnew a3b9db1363 Clean up a few unused methods and move test classes into test project 2019-10-03 14:58:02 -04:00
James Agnew ac08f632ae Increase visibility of constant 2019-10-03 12:31:31 -04:00
James Agnew b5e7e305c1 Remove a few unused methods 2019-10-03 08:35:11 -04:00
James Agnew 260cee023a Account for longer resource type names 2019-10-02 10:00:45 -04:00
James Agnew a1bf50685d Work on cleanup 2019-09-30 21:40:41 -04:00
James Agnew 8657afb01e
Fix intermittent test failures regarding search (#1509)
* 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
2019-09-25 20:15:21 -04:00
jamesagnew 473fa3456e Work on adding codecov 2019-09-25 14:12:42 -04:00
jamesagnew 6475146bc9 Add license headers 2019-09-19 18:08:21 -04:00
James Agnew 2be63a1650 Test fixes 2019-09-19 09:45:07 -04:00
James Agnew 4a751cbfc5
Integrate Bulk Export (#1487)
* 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
2019-09-17 16:01:35 -04:00
Ken Stevens 1ca0e7bd53 anylist r5 support
also added another accessor
2019-09-04 21:15:08 -04:00
jamesagnew 8b09b3f3eb Rename config enum for consistency 2019-09-03 07:01:36 -04:00
James Agnew 9428430822
Add support for Resource.meta.source (#1438)
* 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
2019-08-21 11:17:43 -04:00
jamesagnew e1b43d811f Version bump to 4.1.0-SNAPSHOT 2019-08-14 14:06:06 -04:00
jamesagnew 3f22456b0f Bump version to 4.0.0 2019-08-14 11:06:26 -04:00
jamesagnew 3e95ff3ca0 Licence header updates 2019-08-08 16:22:08 -04:00
James Agnew 2518d4e0be Add some tests 2019-08-08 15:23:55 -04:00
Ken Stevens f1d3fc2307 Changed Stopwatch getThroughput param from int to long
Added FhirVersion accessor to AnyListResource
2019-08-01 06:32:09 -04:00
James Agnew a4ca5374ec
Add terminology delta operations (#1401)
* 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
2019-07-29 17:46:42 -04:00
Ken Stevens 8d86e34bcf Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook
# Conflicts:
#	hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/dao/expunge/ResourceExpungeService.java
2019-07-23 09:12:08 -04:00
jamesagnew 60ea922e8d Add license headers 2019-07-23 05:38:10 -04:00
James Agnew 7e3d062d15
Switch default client to JSON (#1392)
* 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
2019-07-22 21:27:10 -04:00
Ken Stevens 72aa4932d6 Merge remote-tracking branch 'remotes/origin/master' into expunge-resource-hook 2019-07-18 10:12:15 -04:00
jamesagnew 7488047686 Add license headers 2019-07-17 18:53:23 -04:00
James Agnew 55c0d5b604
Add binary storage for Attachments (#1386)
* Have this working now

* Add utility method

* Build fixes

* Add changelog
2019-07-17 18:31:17 -04:00
Ken Stevens fe21dba4a6 Added Pointcut.STORAGE_PRESTORAGE_EXPUNGE_RESOURCE.
Also added a couple of tests.
2019-07-17 13:26:50 -04:00
James Agnew 120b93f204
Use HL7 FHIR Core Structures (#1382)
* 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
2019-07-14 10:16:40 -04:00
James Agnew ba4bb005bc
Switch JPA unit tests to use H2 (#1381)
* 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
2019-07-13 17:22:43 -04:00
James Agnew 4bd60a8447 Roll back one dependency 2019-07-07 11:02:08 -04:00
jamesagnew dff2fdd3cf GET RID OF TRAILING LICENSE HEADER SPACES ONCE AND FOR ALL
YESSSSSSSSSSSSS
2019-07-05 11:19:51 -04:00
jamesagnew cdb0006a5b Correct version of license plugin 2019-07-05 09:38:31 -04:00
James Agnew 2a473d1825 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-05 09:03:23 -04:00
James Agnew 2a6436af23 Rename columns in code mapping 2019-07-05 09:03:03 -04:00
jamesagnew aff88d3ebb License header updates 2019-07-05 07:27:18 -04:00
Ken Stevens 2b1ed16f68 Apply the same fix we used for Dstu3 2019-07-04 13:58:20 -04:00
James Agnew 886f3f442b Moving testloggingutil into test utilities 2019-07-04 09:00:30 -04:00
James Agnew 60e2063e9a Defend against ConcurrentModificationException in PointcutLatch test
util
2019-07-03 09:11:55 -04:00
jamesagnew 5910131319 License header updates 2019-06-27 18:23:45 -04:00
James Agnew 10d969c514
Add Consent Service (#1359)
* 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
2019-06-27 16:35:29 -04:00
jamesagnew 087c53286c License header updates 2019-06-14 18:43:55 -04:00
Ken Stevens 2bf680509b
DeleteConflict hook, SearchableHashMapResourceProvider, and in-memory searching (#1341)
* 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
2019-06-13 13:59:51 -04:00
Stig Døssing f032916776 Issue-1337: Fix unstable concurrent code in PointcutLatch, fix subscription tests getting latch exceptions due to missing expectations, make hapi-fhir-jpaserver-subscription tests load StructureDefinitions outside latch timers, as this can be slow on busy machines (#1338) 2019-06-10 11:05:05 -04:00
James Agnew 50a8c66bf5 Version bump to 4.0.0-SNAPSHOT 2019-05-30 17:13:03 -04:00
jamesagnew 73aa53be8f Release 3.8.0 2019-05-30 16:50:04 -04:00
Mathieu Roullet 4429741c15 Renaming package name of test classes 2019-05-23 15:08:23 +02:00
jamesagnew c1bf6d0b3c License headers 2019-04-28 10:46:52 -04:00
Ken Stevens 130e879d04
Delete performance (#1286)
* 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
2019-04-25 15:38:37 -04:00
James Agnew 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -04:00
Ken Stevens a57e50317d
Websocket cleanup (#1275)
* 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
2019-04-17 15:03:35 -04:00
James Agnew 767a84bddb Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-04-02 10:56:43 -04:00
James Agnew 8065f0f5fc Revert one accidental change 2019-04-02 10:56:26 -04:00
jamesagnew 8b5143f436 License header updates 2019-04-02 10:44:41 -04:00
James Agnew 7359b77d99 Address review comments 2019-04-02 09:33:01 -04:00
James Agnew 3eeca4a8fd Merge branch 'master' into ja_interceptor_jpa_queries 2019-04-01 09:59:03 -04:00
Ken Stevens 60cf426bf4 fix test 2019-03-29 15:17:55 -04:00
Ken Stevens b1d41a8211 named interceptor registries 2019-03-29 14:29:36 -04:00
James Agnew e85bec2858
Ja inline references (#1252)
* 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
2019-03-26 10:42:42 +01:00
James Agnew 87c0b3778b More work on threadlocal interceptors 2019-03-22 09:54:02 -04:00
James Agnew c701de2861 Create a performance interceptor framework for HAPI FHIR 2019-03-22 01:06:03 +01:00
James Agnew a8c76450e5 Re-enable contains searches on the public HAPI FHIR server and improve
message formatting in HapiLocalizer
2019-03-14 13:19:26 -04:00
Ken Stevens be4863133e
Pointcut parameters and Retrier log (#1236)
* Fixed a pointcut parameter list and log an exception that was being swallowed by Retrier

* Documentation clarification
2019-03-11 17:31:03 -04:00
Ken Stevens a2d4c93922 Subscription matcher transactions (#1229)
* 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
2019-03-06 16:12:04 -05:00
James Agnew 9bc0f6784d
Search paging timeout with 1500 < n < 2000 results (#1221)
* 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
2019-03-06 05:45:05 -05:00
James Agnew 48c10bddc5
Narrative Generator refactoring (#1219)
* 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
2019-02-27 14:59:57 -05:00
Ken Stevens 435f57335d sonar 2019-02-13 20:50:04 -05:00
James Agnew a5e10740c0
Merge pull request #1194 from jamesagnew/ja_more_subscription_logger
More subscription logger work
2019-02-09 11:45:25 -05:00
James Agnew 0f8c8d18e2 Bump version to 3.8.0-SNAPSHOT 2019-02-06 20:02:28 -05:00
jamesagnew 207015c3af Version bump to 3.7.0 2019-02-05 21:36:38 -05:00
jamesagnew d4af1ee2a3 Add tests and license headers 2019-02-04 16:34:39 -05:00
James Agnew 88eb2c424e formatting 2019-02-04 13:50:47 -05:00
James Agnew 87a6c24bde More subscription logger work 2019-02-04 13:49:10 -05:00
James Agnew 447c394cac
Ja subscription debug logger (#1190)
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
2019-02-03 16:33:54 -05:00
jamesagnew 503d1d8aff Subscription NPE fix 2019-01-26 18:42:01 -05:00
Ken Stevens 10c59fceeb
Subscription strategy tag (#1178)
tests pass
2019-01-25 13:01:04 -05:00
James Agnew 38d03ea99a
Invalid ids in subscription queue (#1175)
* 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
2019-01-23 21:17:47 -05:00
Ken Stevens 707bf07099 optimistic the windows tests will now finally pass! 2019-01-23 11:57:59 -05:00
James Agnew 17f03ac843 Allow null return type for interceptors 2019-01-20 19:44:18 -05:00
jamesagnew 690af1c7ff Add interceptor example 2019-01-20 19:43:08 -05:00
James Agnew af9153d64e Interceptor API tweak 2019-01-20 14:37:16 -05:00
James Agnew c22aeaa2e5 Tweaks to interceptor registry 2019-01-20 12:09:19 -05:00
James Agnew c3c7d156e9 Interceptor cleanup 2019-01-20 10:16:18 -05:00
jamesagnew cd1e0e881c Add headers 2019-01-19 18:31:17 -05:00
jamesagnew b0cbd52ae9 Interceptor cleanup 2019-01-19 18:01:00 -05:00
James Agnew 3e84173180 Merge branch 'master' into ja-subscription-interceptors 2019-01-18 17:52:23 -05:00
Ken Stevens 19afcb7e09 all tests pass 2019-01-15 18:22:08 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -05:00
Ken Stevens 84a34eb3c9
Subscription module support (#1147)
* 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
2018-12-18 13:09:06 -05:00
jamesagnew 81e8131ffc Fix broken test 2018-12-09 19:36:03 -05:00
James Agnew b442982310 Add media interceptor 2018-12-08 18:49:58 -05:00
James Agnew 5a80e70d93 Correctly reindex string indexes 2018-12-06 14:44:42 -05:00
James Agnew cbaa39fd63
Try to reuse index rows in JPA server (#1133)
* Try to reuse index rows in JPA server

* Address review comments

* One more test fix

* One more test
2018-12-05 19:25:59 -05:00
James Agnew 31f6a0b22b One more bit of logic for the reindexer 2018-12-04 20:29:20 -05:00
jamesagnew 82f40f0423 License header updates 2018-12-03 05:22:10 -05:00
Ken Stevens 6baee4dc3f
Standalone subscription (#1125) 2018-11-30 17:19:16 -05:00