Commit Graph

600 Commits

Author SHA1 Message Date
Josh Collins 844624b6dd
RDF Support in HAPI FHIR (#2118)
* RDF Support in HAPI FHIR

* Ability to read/write FHIR resources as RDF (turtle serialization)
* Test suite to test roundtrip-ability of RDF parser

* Add null checks to appease LGTM

* Correct null check logic
2020-10-12 17:16:00 -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
jamesagnew edbd089092 Docs update 2020-10-06 05:52:22 -04:00
Tadgh 66a0115340 Missed a space 2020-09-30 11:13:40 -04:00
Tadgh ca52268249 Rename accessors, fix whitespace 2020-09-30 11:11:56 -04:00
Ken Stevens 09d09233ff
empi bugfixes and enhancements (#2104) 2020-09-29 17:27:43 -04:00
James Agnew 072e63be5a
Avoid a crash on double date chains (#2097)
* Avoid a crash on double date chains

* Add changelog

* Address coverage warning
2020-09-21 15:43:07 -04:00
Tadgh 45775c8660 Reuse constant 2020-09-16 15:29:04 -04:00
Tadgh ddfac72e8d Clean spacing 2020-09-16 15:27:03 -04:00
Tadgh 9d3a97a46f Default for int 2020-09-16 15:24:09 -04:00
Tadgh 558f7a5ccf Minor cleanup 2020-09-16 15:21:49 -04:00
Tadgh 4c5051a5d9 More refactor for custom headers and top level attributes 2020-09-16 15:05:44 -04:00
Tadgh 666113696b add attributes to HapiHeaders. Turns out deserialization makes a best guess, and doesnt respect types in Map<String,Object> 2020-09-16 14:06:54 -04:00
Tadgh cdc195bd0b Change to use long type for failure timestamps 2020-09-16 13:13:43 -04:00
Tadgh 74bba9dbcc Rename to ResourceOperationMessage 2020-09-15 18:57:55 -04:00
Tadgh ea64bea1b0 Refactor to use concrete class instead of parent 2020-09-15 15:27:21 -04:00
Tadgh a9fb849d49 Moved more into parent class, added javadocs for transactionId 2020-09-14 16:44:50 -04:00
Tadgh 6e0ef035e9 Rename constants. Remove dead comment 2020-09-14 15:35:58 -04:00
Tadgh f20c42a8bd Remove license claims, remove dead class 2020-09-14 13:48:44 -04:00
Tadgh 9a09a8abf3 Update todos 2020-09-14 13:41:11 -04:00
Tadgh 3e324355f2 Add javadocs 2020-09-14 13:28:36 -04:00
Tadgh 2e1f2a662a Move class to top level, add tests 2020-09-14 13:20:01 -04:00
Tadgh c3ddf59d6f Add HapiMessageHeaders to BaseJsonMessage class 2020-09-14 13:02:32 -04:00
Tadgh 28a9a53917 Rework to keep several things in subscription 2020-09-10 16:05:56 -04:00
Tadgh 2229233749 Move subscription models to legacy, except the ones that are subscription specific 2020-09-09 15:58:41 -04:00
jamesagnew 190f0ccb22 Add test for #2063 2020-09-01 14:12:57 -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 63ef2ce006
Fix #2012 - Always filter total from search results when consent interceptor in use (#2020)
* consent bug test

* Fix #2012 - Always filter total from search results when consent
interceptor in use

* Add changelog

* Address coverage issues

Co-authored-by: Jens Kristian Villadsen <46567685+jvitrifork@users.noreply.github.com>
Co-authored-by: jvi <jvi@trifork.com>
2020-08-07 09:16:02 -04:00
Tadgh 3b9f9e6cc3 Rename operation 2020-08-03 21:35:12 -07:00
Tadgh da30772a01 Remove dead methods, constants, and add a javadoc 2020-08-01 13:19:52 -07:00
Tadgh e67ee36492 Renamed and modified reset constant for better naming 2020-08-01 11:36:14 -07:00
Tadgh 90e96c1fb4 Fix bug caused by Persons with >1 historical version 2020-07-23 14:35:28 -07:00
Tadgh 9491a3e499 Add DSTU3 clear operation 2020-07-23 09:37:11 -07:00
Tadgh de9621602b Update provider and create test skeletons for empi batch run 2020-07-18 18:18:21 -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
Tadgh 6bb92717f5 Merge branch 'master' into batch-empi-job 2020-07-16 11:00:32 -07:00
Tadgh 31e9f140ad Fix operation name. Remove unnecessary beans 2020-07-16 09:48:58 -07:00
Ibrohim Kholilul Islam 5a79304893
Implement GraphQLQueryBodyParameter and GraphQLQueryBody annotation (#1896)
* implement GraphQLQueryBodyParameter and GraphQLQueryBody annotation

* GraphQLQueryBodyParameter to recognize application/graphql

* fix 500 error on method without @GraphQLQueryBody

* refactor to processGraphQlGetRequest and processGraphQlPostRequest

* add testGraphPostContentTypeJson and testGraphPostContentTypeGraphql to GraphQLR4RawTest

* fix imports
2020-07-16 09:25:26 -04:00
Tadgh c3b89b4ad5 Get basic tests running 2020-07-09 15:56:41 -07:00
Tadgh f82a53e6f9 Merge branch 'master' into batch-empi-job 2020-07-06 13:12:20 -07: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
Tadgh 25d8668f55 Add Basic provider method, skeleton of tests 2020-07-03 15:21:32 -07: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
jamesagnew 34c68e15af Add license headers 2020-06-14 19:10:36 -04:00
Ken Stevens d164e2d450
Empi 28 matchers (#1918)
* adding matchers

* reorganize resource matching api

* added precision sensitive date matcher

* stricter rules validation

* validate thresholds

* validate paths.  with FIXMES

* validate searchparams

* fix merge compile error

* add soundex, validate no duplicate names

* add normalize substring

* add exact field to matcher

* EXACT -> STRING, exact=true

* cleanup test method

* match test passes with fixmes

* fixed vector matching

* fixed vector matching

* updating documentation and fixing tests

* updated rules documentation with latest matchers

* updated rules documentation with latest matchers

* created eid page

* eid documentation

* pre-review cleanup

* clean up beans

* disentangling beans

* checkstyle

* noop to trigger CI

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_details.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa_empi/empi_rules.md

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>

* review feedback

* review feedback

* review feedback

* review feedback

* review feedback

Co-authored-by: Tadgh <tadgh@cs.toronto.edu>
2020-06-14 17:15:56 -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
Ken Stevens 558f419955
Empi 54 not duplicate (#1900)
add operation to unduplicate persons
2020-06-05 12:21:09 -04:00
Ken Stevens 33753881e2
Empi 55 deactivate merged (#1883) 2020-06-03 13:12:01 -04:00
James Agnew 86ef0ec0e2
Correct transaction processing in multitenant server (#1884)
* Correct transaction processing in multitenant server

* # d codethe npm registry for updates every day (weekdays)
2020-06-03 10:37:47 -04:00
James Agnew c374383b37
Allow AuthorizationInterceptor to properly authorize GraphQL statements (#1864)
* Allow AuthorizationInterceptor to properly authorize GraphQL statements

* Add changelog
2020-05-22 20:40:37 -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 63ff0ede9c
Make diff operation work securely (#1859)
* Make diff operation work securely

* Build tweak

* FIx tests
2020-05-21 19:20:48 -04:00
James Agnew ce5ade53d9
Fix #1855 - StructureDefinition search not working (#1858) 2020-05-21 09:35:37 -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
jamesagnew cc92bd7b07 Revert "Start working on FHIRPatch"
This reverts commit b3f6e7d521.
2020-05-17 11:56:50 -04:00
jamesagnew b3f6e7d521 Start working on FHIRPatch 2020-05-17 11:44: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
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
jamesagnew 78fa296f1f License header updates 2020-05-07 19:37:16 -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 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
gematik FuE 9ace4889bc
enhance constructor, so an existing InterceptorService could be passed in (#1749) 2020-05-01 07:36:45 -04:00
jamesagnew e439891ea2 Add test 2020-04-29 15:21:54 -04:00
Thomas Papke ea817de68a
Extend support for additional forwared headers x-forwarded-port and (#1788)
x-forwarded-prefix
2020-04-29 09:01:39 -04:00
jamesagnew 6226381595 Merge branch 'master' into ja_20200206_multitenancy 2020-04-21 20:54:56 -04:00
jamesagnew c7de85339c Work on review comments 2020-04-21 20:18:06 -04:00
James Agnew c716216b34
Adjust return type for fluent delete() operation (#1805)
* Add cascading delete to client

* Add changelog

* Client delete should return MethodOutcome

* Rerturn more appropriate type for delete operations

* Refactor cascade detection to be reusable
2020-04-21 15:23:11 -04:00
jamesagnew 4abebf2247 Docs cleanup 2020-04-21 09:28:52 -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 e0b419354f Bump up hamcrest version and force the use of the latest version 2020-04-17 13:59:22 -04:00
jamesagnew 68f437177d Add license header 2020-04-17 09:49:03 -04:00
James Agnew 497757501b
Improve search method binding priority (#1802)
* Work on search method binding priority

* Work on method priority

* Work on binding priority

* Test fixes

* Add changelog

* Test fixes

* compile fix

* One more comple fix

* Test cleanup

* Test fix
2020-04-17 09:28:33 -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
jamesagnew b78205c218 Ongoing cleanup 2020-04-06 17:00:45 -04:00
jamesagnew 40d0c27ae3 Work on subscription cleanup 2020-04-05 18:43:27 -04:00
jamesagnew e1142f4043 Start work on subscription cleanup 2020-04-02 05:31:12 -04:00
Jafer Khan 0021561fb1 Raise an error on including invalid query string parameter(s) in read operations 2020-03-31 20:05:05 -04:00
James Agnew fe48313100
Add response size capturing interceptor (#1776)
* Work on capturing repsonse sizes

* Interceptor complete

* Add changelog

* Test fix
2020-03-30 11:24:10 -04:00
James Agnew eaaddaf7ca
Fix #1763 - Include bundle type in summary=count responses (#1773)
* Fix #1763 - Include bundle type in summary=count responses

* Test fix
2020-03-24 16:24:41 -04:00
jamesagnew 14316147c5 Resolve some docs issues 2020-03-23 10:34:12 -04:00
James Agnew c2ae5a8326
Add FHIRPath evaluation interceptor (#1769)
* Add FHIRPath evaluation interceptor

* Add changelog
2020-03-22 12:57:24 -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
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
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
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
ttn 785997aade Resource methods in interfaces (default implementations) are now picked up when registering providers 2020-02-04 17:23:22 -05:00
James Agnew aad5a30a3d
Support count=0 (#1670)
* Support count=0

* Fix LGTM issue
2020-01-15 14:52:32 +08:00
jamesagnew 9c7f5e1b9b License header updates 2020-01-12 10:15:08 -05:00
Jennifer Chan e935c75025 Changed BaseResourceReturningMethodBinding to accept IBaseBundle as a bundle resource. 2020-01-02 14:39:29 -05:00
Jennifer Chan 0c83c1ce44 Changed BaseresourceReturningMethodBinding to accept IBaseBundle as a bundle resource. 2020-01-02 14:15:48 -05:00
James Agnew dfc14f5002 Fix compile 2019-12-18 18:35:27 -05:00
James Agnew e9811c6377 One more trim 2019-12-18 17:50:30 -05:00
James Agnew f2b7846973 Trim subrequest 2019-12-18 17:21:47 -05:00
James Agnew d277d3fed5 Docs updates 2019-12-10 16:10:09 -05:00
Jafer Khan 976740955c Make constructor of 'Verdict' public. Fixes gh-1621 2019-12-07 18:08:45 +05:00
James Agnew f58fba6f04
Some test cleanup (#1616)
* Some test cleanup

* Add test

* More test logging

* More docs cleanup

* Add test logging
2019-12-02 11:00:18 -05:00
James Agnew 5f803f7e68 Documentation updates 2019-11-26 02:00:22 -03:00
James Agnew 51b608188b
Some CI surefire improvements (#1602)
* 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
2019-11-23 19:51:02 +01:00
James Agnew a2f77b23d2
Fix #1583 - Index local refs in canonical types (#1593)
* Fix #1583 - Index local refs in canonical types

* Add fix to pre-expansion

* Test fix

* Rework ID handling

* Test fixes

* Fix test
2019-11-23 16:32:37 +01: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
jamesagnew 89b25ce828 License updates 2019-11-02 17:34:05 -04:00
Stig Rohde Døssing 80bfb9af37 Issue-1077: Make CapabilityStatementProvider use the closest common superclass of provided resources when generating rest.resource.profile, instead of always using the base definition. 2019-11-01 10:20:16 -04:00
jamesagnew 9d4df3e470 Add a test 2019-10-30 05:40:32 -04:00
jamesagnew ffb15682de Update license headers 2019-10-26 14:48:08 -04:00
James Agnew 2b3c775b77 Some cleanup and fix a test 2019-10-26 12:45:57 -04:00
James Agnew 9cc945b5bd Merge branch 'osgi-server-work' of https://github.com/bdenton/hapi-fhir into bdenton-osgi-server-work 2019-10-25 17:05:09 -04:00
James Agnew 74c03b5bb7 Add a test 2019-10-24 08:32:52 -04:00
James Agnew 91ec0a6922 Test fix 2019-10-24 08:32:52 -04:00
James Agnew 385a885abf Add ability for resource source to be specified by header 2019-10-24 08:32:52 -04:00
Anthony Sute 306b02e147 Additional tracing statements. 2019-10-22 20:41:52 -04:00
James Agnew 9e44049847 Allow for improved overriding of RestfulServer#newRequestDetails 2019-10-22 18:09:21 -04:00
James Agnew 9b94e4e26d
Allow uploading term deltas using CS resource (#1555)
* Work on accepting codesystem reources for delta operations

* Ongoing work on term uploader

* Restore the ability to use CodeSystem resources for the delta

* Add tests

* Fix NPE

* Test fixes
2019-10-22 17:11:39 -04:00
James Agnew 73961072a6
Handle invalid chains on custom search params (#1553)
* Handle invalid chains on custom search params

* Add some more tests

* One more test fix
2019-10-21 21:21:33 -04:00
James Agnew 5dcbed0438 Fix foreign key handling when dropping tables 2019-10-17 15:52:35 -04:00
James Agnew 9a050461a8 Make cache timeout configurable 2019-10-15 09:34:48 -04:00
jvi 82a6221e5b Provided unit test for cache controlled metadata 2019-10-15 07:58:20 -05:00
jvi 6a2242656f Added evaluation of Cache-Control HTTP header 2019-10-15 07:58:20 -05:00
James Agnew 2725797610
Implement Terminology Delta Operations (#1536)
* 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
2019-10-14 19:14:41 -04:00
bdenton f81aaa7f00 refactor "split" packages; create osgi bundle for server framework 2019-10-12 14:08:41 -07:00
jamesagnew 92c6b88964 Add test 2019-10-10 07:16:18 -04: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 861ed36f00
Allow patches to be authorized for DSTU3 transactions (#1529)
* Allow patches to be authorized for DSTU3 transactions

* Add changelog
2019-10-08 14:29:27 -05:00
James Agnew 3c4c6f7925 Don't allow Content-Location header to dictate version for updates 2019-10-04 09:55:14 -04:00
jamesagnew 150c865f68 License header updates 2019-10-03 21:20:08 -04:00
Ken Stevens 94b8d6f84d FIXME 2019-10-03 12:17:37 -04:00
Ken Stevens d1deedf247 pre-review cleanup 2019-10-03 12:14:11 -04:00
Ken Stevens 566443d0fe move BundleUtil back 2019-10-03 12:05:26 -04:00
Ken Stevens 98c76a4d49 Test passes 2019-10-03 12:03:38 -04:00
Ken Stevens 29e7cdc476 Added ability to modify URLs in BundleUtil 2019-10-03 09:46:32 -04:00
Petro Mykhaylyshyn 8e9b7b590c [(servermethodbinding)] Fix method binding to handle special search names(_id:[modifier], _language:[modifier]) 2019-10-02 05:51:15 -04:00
James Agnew 066c9a7fb7 Improvements to AutohrizationInterceptor create handling 2019-09-30 15:07:23 -04:00
jamesagnew 5509478566 License header update 2019-09-30 10:13:09 -04:00
James Agnew 557a8ccc66
Add top level support for ElasticSearch (#1514)
* 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
2019-09-30 09:30:39 -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
James Agnew 57377f5557 Fix #1483 - Don't let RP methods handle a request with includes if the
method doesn't understand them
2019-09-25 10:54:37 -04:00
James Agnew 0b630f6851 Merge branch 'searchmethodbinding_test' of https://github.com/tuomoa/hapi-fhir into tuomoa-searchmethodbinding_test 2019-09-25 09:01:38 -04:00
James Agnew a989a746b0 Fix #1494 - Upgrade to new :recurse syntax for R4 include/revinclude
statements
2019-09-20 09:38:29 -04:00
James Agnew 6e98c02862 Fix #1495 - Avoid NPE in RuleBuilder 2019-09-20 08:57:01 -04:00
James Agnew eddb98084d Move PreferReturnEnum back to original location to avoid regressions 2019-09-19 15:48:58 -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
Tuomo Ala-Vannesluoma 2c3283fd34
Add test for search method binding matching 2019-09-12 13:36:56 +03:00
James Agnew 0843a2b02d Avoid leaking details when canSeeReource rejects a resource from consent
service
2019-09-10 11:14:44 -04:00
James Agnew 7e41951508 Create utility method for accessing the reqyest detail 2019-09-09 15:02:12 -04:00
James Agnew 7d162c50db Don't guess content type for create/put 2019-09-05 14:47:04 -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
James Agnew afb682dfe9 Handle AuthorizationInterceptor rejection of by-type reads on the wrong type earlier in the process 2019-08-15 09:16:45 -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
James Agnew b127867ef7 Fix responsehighlighterinterceptor to work with graphql 2019-08-13 18:00:30 -04:00
James Agnew 94c498a744 A but more tweaking to the graphql interceptor 2019-08-13 16:05:33 -04:00
James Agnew 01a6aa8f5b Test fix 2019-08-13 14:54:35 -04:00
James Agnew b4fece0ae9 Add interceptor hook for graphql calls 2019-08-13 14:46:50 -04:00
Stig Rohde Døssing bb20c2134b Issue-1387: Read version from resource meta when deciding whether to return 304 on read 2019-08-13 05:28:03 -04:00
James Agnew 0c9e5ec1ea
Support GraphQL for R3/4/5 (#1424)
* Work on grpahql enhanbcements

* Add some more chars to the sanitizer function

* Add changelog
2019-08-12 08:24:32 -04:00
James Agnew dd0cb10dbb
validate operation ignores parameter profile (#1417)
* 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
2019-08-07 15:31:59 -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
jamesagnew 8158292665 Allow operations to better work across multiple versions of FHIR 2019-07-26 05:46:37 -04:00
James Agnew 5bf4fa22e7 Allow patching in tranactions 2019-07-18 16:41:07 -04:00
James Agnew 87ab796309 Updates to validating interceptor 2019-07-18 12:57:30 -04:00
James Agnew 9fc10242b7 Convert validating intercwptors to use new framework 2019-07-18 08:25:35 -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
James Agnew 0fb8db11a2 Add new pointcut: PROCESSING_COMPLETED 2019-07-09 14:32:11 -04:00
James Agnew 9e7cabd464 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-07 14:59:57 -04:00
James Agnew 44a97f3621 Still fire appropriate interceptor methods if the cached
capabiliotystatement is being returned
2019-07-07 14:59:26 -04:00
jamesagnew 9fcbdb0cdc License header updates 2019-07-07 14:41:57 -04:00
James Agnew 73daec633f Test fix 2019-07-07 13:07:27 -04:00
James Agnew 34f7d4ddbd Refactor ServerConformanceProvider so that it no longer keeps any state 2019-07-07 12:57:31 -04:00
James Agnew 24536941c2 Test the new isEmpty() method on IBundleProvider 2019-07-05 17:15:02 -04:00
James Agnew 1c7c83cd8e Add an isEmpty() method to IBundleProvider 2019-07-05 16:16:39 -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 e762ac9d10 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-07-04 09:01:35 -04:00
jamesagnew b3cb533ada Store details in RequestDetails 2019-07-04 09:01:17 -04:00
James Agnew f1848fb1ad Include version ID in response for deleted resource 2019-07-03 14:44:12 -04:00
James Agnew 56aaef641c Add request ID 2019-07-02 21:32:28 -04:00
jamesagnew 742389642d Add tests for delete conflicts and authorizationinterceptor 2019-07-01 10:49:38 -04:00
jamesagnew 5c0e54fb86 Improve processing of deletes in AuthorizationInterceptor 2019-06-29 14:40:51 -04:00
jamesagnew ccf491b3ae Add parent pom to BOM 2019-06-29 13:50:43 -04:00
James Agnew 1fd99dac63
Enable optional cascading deletes on JPA server (#1363)
* Start working on cascading deleets

* WOrk on cascading deletes

* Work on cascading deletes

* Enable cascading deletes

* Cascade deletes almost working

* FIx test

* Test fix
2019-06-28 17:32:39 -04:00
jamesagnew 6d8465abe6 Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-06-27 18:23:54 -04:00
jamesagnew 5910131319 License header updates 2019-06-27 18:23:45 -04:00
James Agnew 53b47ed580 Ensure that parsed reesource is available to interceptors 2019-06-27 18:23:10 -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 e76b1dacb3 License header updates 2019-06-22 18:31:16 -04:00
James Agnew 4ad1808da3
Propagate RequestDetails to everything in JPA server (#1358) 2019-06-22 15:18:06 -05:00
James Agnew 2543f27697 Add a test 2019-06-21 15:38:16 -04:00
jamesagnew c7798fee48 Test fix 2019-06-18 05:40:00 -04:00
James Agnew 6724fd0348
Implement the $subsumes operation (#1344)
* Implement the $subsumes operation

* Fix #976
2019-06-17 17:31:24 -04:00
James Agnew b2e99cf035
Add support for conditional patch (#1348)
* Add support for conditional patch

* Add changelog

* Test fix
2019-06-17 16:12:05 -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
Ken Stevens 5752a6e2b3 reported issue with proposed fix that breaks tests (#1243)
* reported issue with proposed fix that breaks tests

* Fix spelling

* Merge my changes into this

* Correctly check referential integrity on deletes

* Add one more test
2019-06-04 20:40:20 -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
James Agnew 86aa71d570
Merge branch 'master' into deprecated 2019-05-29 21:42:02 -04:00
James Agnew 66a669949d Add docs - Fix #1309 2019-05-29 21:16:33 -04:00
James Agnew cb8634f26f
Ja interceptor callback fix (#1308)
* Interceptor callback fix

* Ensure that interceptor methods are called after a transaction
2019-05-14 18:47:11 -04:00
James Agnew 2e50bf6bb0 Un-deprecate a method that should not have been deprecated 2019-05-04 09:49:18 -04:00
James Agnew f3f5c570b1 A couple of compile glitches 2019-04-24 21:35:49 -04:00
James Agnew 5a9fa4e549 Interceptor tweaks 2019-04-24 21:19:47 -04:00
James Agnew 738c2c1797
Interceptor framework refactoring (#1287)
Interceptor framework overhaul
2019-04-24 14:32:30 -04:00
James Agnew c8f2e4bbc9 Return HTTP 400 for missing body on POST and PUT 2019-04-14 12:32:09 -04:00
Drew Mitchell ce44c35afc Add @Deprecated annotation to IServerInterceptor::outgoingResponse(RequestDetails, IBaseResource, HttpServletRequest, HttpServletResponse) to match comment. 2019-03-18 21:35:36 -04:00
jamesagnew 64facdab0a Disabling test logging 2019-03-06 16:14:32 -05:00
James Agnew 3972e17e62 Add "is trusted" property to server exceptions 2019-03-01 13:58:13 -05:00
James Agnew 94f9ffa977 Avoid paging links when offset is artificially set very high 2019-02-25 20:44:22 -05:00
James Agnew c6fcb4fcbf Allow canonical subscription to hold multiple extensions with the same
URL
2019-02-16 15:28:39 -05:00
James Agnew 485335e975 Allow terminology service to work without having Lucene enabled for
simple ValueSet expansions
2019-02-14 20:47:28 -05:00
James Agnew 810f1ad969 Improvements to elements parameter as well as adding attributes to
RequestDetails
2019-02-07 16:45:59 -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
James Agnew 4498335ae5 Elements query cleanup 2019-02-05 14:16:47 -05:00
jamesagnew d4af1ee2a3 Add tests and license headers 2019-02-04 16:34:39 -05:00
James Agnew e401ec86e4
Enhanced elements (#1192)
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
2019-02-03 16:41:33 -05:00
James Agnew 9cf64f78d0 Deprecate a bad setter on RetfulServer, fix a paging issue, and add a
disabled unit test to the subscription matcher
2019-01-21 14:46:17 -05:00
jamesagnew cd1e0e881c Add headers 2019-01-19 18:31:17 -05:00
James Agnew b8755615b2 Allow AuthorizationInterceptor to read patients if the user has read
access to the individual instance
2019-01-14 13:53:08 -06:00
James Agnew 93bf2788ec Add subscription narrowing interceptor and refactor RuleBuilder to be a
bit cleaner
2019-01-12 14:23:26 -06:00
James Agnew aee7b2b882 Make sure that sub-request transaction searches and reads preserve HTTP
headers
2019-01-10 07:26:04 -07:00
James Agnew ee52d6fb31 Add SearchNarrowingInterceptor 2019-01-09 20:20:46 -06:00
Stig Rohde Døssing f8b232bb67 Issue 430: Generate OperationDefinitions for named queries, fix minor errors in generation of OperationDefinition for operations. Closes #430. 2019-01-09 05:41:08 -05:00
James Agnew 62ae71c1c6 Allow authorizing delete operations via a transaction in
AuthorizationInterceptor
2019-01-07 15:43:36 -05:00
jamesagnew a8a97ae6b2 Two test fixes 2019-01-07 09:18:11 -05:00
jamesagnew 3d94761bcb Improve response for transactions 2019-01-06 18:08:32 -05:00
jamesagnew b2c7a2003e Prevent a nullpointerexception in AuthorizationInterceptor 2019-01-06 16:42:29 -05:00
jamesagnew 39f2062802 FIx errorprone detected issues 2019-01-05 13:43:55 -05:00
jamesagnew 8f8385627f Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2019-01-05 11:33:08 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -05:00
James Agnew 5b8fee869e Add config options for default Prefer header and _total param on server 2019-01-04 16:12:45 -05:00
Corina Dalaban 3a3d503772 head operation should return 200OK response code instead of 400
BadRequest
2018-12-21 05:40:35 -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 67f5ba6aa0 Also allow ServeMediaResourceRawInterceptor to handle vread requests 2018-12-09 14:29:40 -05:00
James Agnew 19954fa252 Resolve failing test 2018-12-09 14:09:12 -05:00
James Agnew b442982310 Add media interceptor 2018-12-08 18:49:58 -05:00
James Agnew b2179b1696 Syntax fixes for the JPA migrator 2018-11-30 12:39:37 -05:00
James Agnew b41c222880 Require explicit declaration of authorizationinterceptor operation rules
on whether the response is authorized or not
2018-11-23 14:25:46 -05:00
James Agnew ce3b7c82ce Avoid issues when using subscription delivery in a serializing/queuing
environment
2018-11-22 17:53:42 -05:00
James Agnew 2e030eebaa Make sure that reindexing happens correctly 2018-11-21 12:06:10 -05:00
James Agnew 58388bb614 Allow client to return methodoutcome instead of resdource for operation
call
2018-11-19 11:11:49 +01:00
James Agnew 67dbc802be Better detection of binary content in ResponseHighlighterInterceptor 2018-11-18 14:32:54 +01:00
James Agnew fad53c6669 Fix a test 2018-11-16 13:15:14 +01:00
James Agnew 0d0f67b299 Add GraphQL support to public server 2018-11-16 11:41:39 +01:00
James Agnew 02b23d74fd
Merge pull request #1117 from magnuswatn/logformatfix
Fixed small log formatting error in ExceptionHandlingInterceptor.java
2018-11-15 13:38:07 +01:00
Magnus Watn 52265d248f Fixed log formatting error 2018-11-15 12:14:33 +01:00
James Agnew 75210d614b Bump to 3.7.0-SNAPSHOT 2018-11-12 22:37:52 -05:00