Commit Graph

151 Commits

Author SHA1 Message Date
Ken Stevens 590e6ba88f
use ClasspathUtil (#5263) 2023-08-31 13:23:00 -04:00
William Denton a0c8593ad0
fix split-package conflicts with org.hl7.fhir.*.model packages in FHIR (#5109)
Core projects
2023-07-20 11:54:43 -07:00
Tadgh 52f3ef5992
New formatting rules and pre-commit hooks (#5027)
* pre-apply spotless

* New pre-format checkpoint

* Once-over the repository

* Add pre-commit hook

* New github action

* excludes

* Revert "Once-over the repository"

This reverts commit 89334ba8d1.

* Once-over the repo

* do not inherit

* Revert "Once-over the repo"

This reverts commit 31ed8731ad.

* Add baisc license support to spotless

* Move license

* Fix inclusions

* Fix inclusions

* Fix licensing

* license fixes

* Remove dead file that is only a license

* Remove dead class

* remove dead file

* Tighten licensing

* Tighten licensing

* Tighten licensing

* Tighten licensing

* Remove specific package

* Make the precommit hook executable

* Fix ordering

* rollback license

* wip

* Add to deployable pom

* remove file

* Fix location

* Remove dead comment

* wipP

* Fix ratchet

* Fix up error

* Add pre-commit

* precommit fixes

* wip

* wip

* Autoformat

* remove dead pom parts

* replace internal hook with pre-commit

* Fix fetch-depth for checker action

* Remove ratchet and filter

* fix up

* rename

* Add comment check

* rework message

* First once-over of the repo

* wip

* format
2023-07-11 17:36:44 -07:00
Max Bureck 648d14c52c
Parser: Reporting unexpected repeating element for choice (#4574) (#4590)
* Parser: Reporting unexpected repeating element for choice (#4574)

IParserErrorHandler.unexpectedRepeatingElement is now also called for
unexpected repeating elements of type choice, where concrete names
may be different based on the choice's data type.

* setting test-utilities java version to the test version

* added changelog

* added Max to the developer liss

* removed unneeded dependency

---------

Co-authored-by: patrick-werner <pa.f.werner@gmail.com>
2023-05-08 20:42:25 +00:00
Isaac Wen 14be0553d0
Moving all license comments to the first line (#4656)
* changes for GL-4023

* changes for GL-4023

* changes for GL-4023

* changes for GL-4023

* changes for GL-4023

* changes for GL-4023

---------

Co-authored-by: isaacwen <isaac.wen@smilecdr.com>
2023-03-20 10:04:26 -04:00
michaelabuckley 21b1820294
Demote PHI logging to debug or lower (#4430)
Ensure resource bodies are only logged at debug or lower.

* Drop possible-phi logs to debug.
* Demote request/response log bodies to debug since they may contain PHI.
* Demote job-param logging to debug.
* Add startup hook to App for test injection.
* Change terminology cli logging to avoid logging whole resource.
2023-01-13 15:34:29 +00:00
James Agnew d0a77f4322
Clean up ResourceMetadataKeyEnum (#4425)
* Clean up ResourceMetadataKeyEnum

* Compile fix

* Test fix

* Test fix

* Change

* Test fixes
2023-01-12 11:22:40 -05:00
Luke deGruchy fd94e16ee0
Enable or disable support for JSON fhir_comments depending on the release. Move HapiFhirStorageResponseCode.json to the module in which it's used (#4374)
* First draft of disabling JsonParser "fhir_comment" code.  Unit test assertion that JSON is not generated with "fhir_comment" in the resulting resource String.

* Surround fhir_comments logic with conditional logic.  Set this to false while awaiting final word from stakeholders.  Add unit tests for STU3 and STU2 proving that fhir_comments do not get generated.

* Add conditional logic for JsonParser and fhir_comments and adjust unit tests accordingly.  Also, move the HapiFhirStorageResponseCode.json file to the same module as DefaultProfileValidationSupport, namely, the code that actually reads it.

* Add changelog.

* Add missing change to JsonParser that I thought I had pushed.   Fix changelog.  Fix unit tests assertions to be clearer.

* JsonParser:  Cache value of isSupportsFhirComment.

* Support version DSTU2_1 as well and add a new unit test.

* Fix pipeline unit test failures.
2022-12-19 12:31:21 -05:00
Ken Stevens d8d8c5fa44
Consolidate all System Properties into a single class (#4252)
* started converting System.setProperty to HapiSystem

* added a couple more.  renamed class

* all the setProperty calls done

* finished System.getProperty()

* Split HapiSystemProperties into HapiSystemProperties and HapiTestSystemProperties

* Javadoc

* Javadoc

* review feedback

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-11-14 18:51:03 +00:00
James Agnew 3935b78083
Add operation blocking interceptor (#4057)
* Add operation blocking interceptor

* Work on interceptor

* Work on interceptor

* FIx up docs

* Address CVE

* Tweak changelog

* Address review comments
2022-09-25 14:19:17 -04:00
Ken Stevens 26ca950bce
Checkstyle Abstract Class Name (#3966)
* init rev

* checkstyle enforce abstract classes start with "Base" (and vice versa)

* checkstyle enforce abstract classes start with "Base" (and vice versa)

Co-authored-by: Ken Stevens <ken@smilecdr.com>
2022-08-30 22:15:32 -04:00
Patrick Werner 0c5d868f44
encode narratives of contained resources (#3402)
* encode narratives of contained resources
fixes #1466

* encode narratives of contained resources
fixes #1466
2022-02-17 18:54:03 +00:00
Johnson Lu c42ecc5c08
Add error codes to all exceptions (#3278)
* Initial design of adding exception codes to exceptions

* Initial design of adding exception codes to exceptions

* change int module name to string

* add comment

* shorten message

* shorten message

* added checkstyle

* developing checker

* completed checkstyle plugin and unit test for it

* fix NPE

* fix checker so it ignores throws on exceptions that aren't new

* change parameter order in InvalidResponseException

* accept Msg.code() in any parameter since some exceptions like MessageException have the message string as the second parameter

* exclude generated files

* BIG COMMIT added error codes to all exception throws

* example test fix

* Modified tests such that the assert statements would better match the message responses.

* Modified additional tests such that the assert statements would better match the message responses.

* fix test

* merge master

* merge master

* Fourth commit of modified tests such that the assert statements would better match the message response

* Changes made to modify assert statements such that they match the new errors which now use error codes. Also changed ResourceNotFoundException to include error codes in its messages.

* Modified assert messages to better match new error codes

* Time Zone changes DRAFT. Certain tests pass in intellij and fail during mvn install

* Modified assert messages to better match new error codes

* Added comments for time zone fixes. Previous commit comment on time zone fixes was incorrect. By invaliding caches, all tests on both intellij and mvn install passed.

* Reverted changes on azure-pipelines.yml

* updated hapi-fhir version for checkstyle module

* changes to azure-pipelines.yml

* changes to azure-pipelines.yml

* change to pom.xml to include hapi-fhir-checkstyle in ALLMODULES

* changes to azure-piplines (these changes are to be reverted after testing)

* reverted changes to azure-piplines

* reverted change where hapi-fhir-checkstyle was added to pom.xml (hapi-fhir)

* Attempted fix on checkstyle build error

* modified azure-piplines.yml to change maven repository for checkstyle build

* Attempted fix on checkstyle build error

* checkstyle config location change for hapi-depoloyable-pom. (will be reverted if it does not work)

* attempted dependency add for hapi-depoloyable-pom. (will be reverted if it does not work)

* reverted changes for hapi-deployable-pom

* add javadoc

* update last code

* Attempted fix on checkstyle build error

* Finished adding in missing error codes to pass Checkstyle checks

* Test pipelining

* Fixing errors and bumping version (as suggested by Gary)

* Merge

* Fixing Checkstyle error

* Attempted fix for date error

* Add error code onto assert statement

* Add in a couple more error codes

* Fixing assert statements

* Bump to static version for dependency

* Adding error code to message

* Adding error codes to exceptions

* Adding error codes to exceptions

* Change to work with cdr branch

* Update to faulty error message

* Merge changes

* allow checkstyle pom to deploy

Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Simon Zuccherato <simon.zuccherato@smilecdr.com>
Co-authored-by: Predap <simon.zuccherato@gmail.com>
Co-authored-by: Predap <46201929+Predap@users.noreply.github.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
2022-01-31 13:10:15 -08:00
James Agnew d610d33ac3
Dependency bumps (#3264)
* Bump a number of versions

* Fixes

* Work on version bump

* Bump

* Test fix

* More version bumps

* Build fixes

* Test fixes

* Fixes

* Fixes

* Test fix

* Bump jacoco

* Test fix

* Test fix

* Test fix

* Build fix

* Build fix

* Remove versioned H2

* Build fix

* Avoid memory issue in validation tests

* JDK bump

* Restore compile with errorprone

* Force coloured output

* Force jansi

* Try again to force jansi

* Fix for hardcoded date that just passed

* Fixes to JPA

* Improve changelog

* Work on failing test

* Test fix

* Compile fix

* One more version bump

* Test fixes
2022-01-04 13:21:14 -05:00
Ken Stevens b1dd40fdba
Try commenting out clearAllStaticFieldsForUnitTest to see what happens (#3034)
* Try commenting out clearAllStaticFieldsForUnitTest to see what happens

* Rename clearAllStaticFieldsForUnitTest to randomizeLocaleAndTimezone and only do that
2021-09-24 16:01:28 -04:00
James Agnew 2ba1005762
OpenAPI Support (#2560)
* Start work on OpenAPI

* Fixes

* Work on OpenAPI

* Cleanup

* Cleanup

* More swagger work

* Build fix

* More work

* More work

* Add documentation

* Docs fixes

* Add changelog

* License updates

* Add API

* Cleanup

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_plain/openapi.md

Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>

* Work on scripts

* Add docs

* Compile fix

* Work on fixes

* Fix tests

* Test fix

* Test fix

* Build fix

* Tests

* Build fix

* Work on pipeline

* Version bump

* Test fix

* Version bump

* Test fix attempts

* Test fix

* Test fix

* Remove accidentally committed files

* Fixes

* Tets fixes

* Test fix

* Test fix

* Test fix

* Test fixes

* Test fixes

* Test fixes

* License header updates

* test fix

* Test fixes

* Test fix

* Test fixes

* Test fix

* Checkstyle bump

Co-authored-by: patrick-vachon-smilecdr <81274188+patrick-vachon-smilecdr@users.noreply.github.com>
2021-04-25 15:40:50 -04:00
Ken Stevens 520400d6ea
added IPagingProvider.canSearchByOffset() (#2281)
* init rev

* added IPagingProvider.canSearchByOffset()
consolidated parameters in bundle link methods

* fix refactoring error

* add @Nonnull to BundleLinks parameter

* null check

* fix test

* cleanup

* fix refactoring

* final cleanup

* review feedback

* review feedback

* review feedback
2021-01-11 20:42:41 -05:00
James Agnew 7627a86176
Improve version logging (#2213)
* Improve version logging

* Add changelog

* Test fixes
2020-12-02 21:19:04 -05: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
James Agnew e780a8402e
Use R5 snapshot generator (#1862)
* Use R5 snapshot generator

* Snapshot generator reworking
2020-05-23 12:54:19 -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 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 e0b419354f Bump up hamcrest version and force the use of the latest version 2020-04-17 13:59:22 -04:00
jamesagnew 879fbb0bf8 Test fixes 2020-04-09 10:34:18 -04:00
James Agnew f89661526c Missed noe rename in #1769 2020-03-22 13:27:04 -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 bde7c356fe
Implement Jackson parser/serializer (#1733)
* [dev] Integration of a Jackson serializer and deserializer - first stage

* [fix] Fixed some serializing issues
[improve] Improved the processing, removed the loggers

* [clean] Removed the JacksonSerializer class, replaced all the Gson classes with Jackson classes

* [clean] Small cleanup

* [improve] Throw a ConfigurationException if the JsonGenerator cannot be created

* [improve] Use the ObjectMapper's `readTree` instead of `readValue`

* [dev] Latest fixes and improvements

* [dev] Use the Jackson serializer

* [clean] Removed the ObjectMapper configuration, for now

* [fix] Use the GsonStructure also for the parsing of a FHIR resource

* [clean] Removed the LinkedList usage

* Work on preparing for merge of #1673

* Resolve build errors

* Work on parser integration

* Tests passing

* Resolve fixme

* CLeanup

* Fix dependency

Co-authored-by: Bogdan Solga <bogdan.solga@gmail.com>
2020-03-17 17:27:26 -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 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 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
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 aa0301084b
Don't succeed validation on unknown codesystem (#1575)
* Don't succeed validation on unknown codesystem

* Test fixes

* Work on error messages

* Work on code validation API

* work on tests

* Work on validation

* Test fix

* Update DSTU3 validation reources

* Upgrade structures

* Test fixes
2019-11-12 14:35:49 -05:00
James Agnew df4376606d
Validation cleanup (#1561)
* Validation cleanup

* Test fix

* Fix build

* Test tweaks
2019-10-24 13:09:18 -05:00
James Agnew 12a74e6cbc
Fix term uploads and validate against valueset recalculation (#1540)
* Start refactoring terminology delta operations

* Work on delta operations

* Work on concept saving

* Split term services into smaller services

* Work on term delta operations

* Work on term svcs

* Work on term operations

* More work on delta uploader

* Add a test

* Wrk on term service

* Fix compile error

* Some refactoring

* Test fix

* Test fix

* Test fixes

* Test fix

* Test fixes

* Test fixes

* Work on delta

* Work on tests#

* Test fixes

* Improve resequencing logic

* Build test

* More testing

* More build testing

* More work on tests

* CHange test logging

* Fix term service PID issue

* Update src/changes/changes.xml

Co-Authored-By: Diederik Muylwyk <diederik.muylwyk@gmail.com>

* Address review comment

* Some cleanup

* Test fix

* Fix some tests

* Work on upload command

* Test fixes

* Work on validation fixes

* Work on validation against pre-expansion

* Work on direct validation

* A bit of cleanup

* Add some javadoc

* Force another build

* Test fixes

* Fix tests

* Fix tests
2019-10-15 21:31:29 -04:00
James Agnew 1f1b94a566
Resolve XXE issue in validator (#1530)
* Resolve XXE issue in validator

* Ensure that we're blocking XXE events into validator XML parser

* A bit of cleanup

* Add an LGTM config

* Add one more fix
2019-10-08 13:06:03 -05:00
Clayton Bodendein 08825a81d9 Add missing @Override annotations
Added missing @Override annotations so that if/when methods in superclasses change
there will be a compile-time error if subclasses haven't been changed accordingly.

This was done using IntelliJ IDEA's "Missing @Override annotation" inspection.
2019-10-02 05:45:59 -04:00
James Agnew 066c9a7fb7 Improvements to AutohrizationInterceptor create handling 2019-09-30 15:07:23 -04:00
James Agnew 0bee7a7b53 Test fix 2019-09-30 10:12:49 -04:00
James Agnew c8ce07c40e Deprecate redundant IVersionSpecificBundleProvider method 2019-09-30 09:45:31 -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
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
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
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 34f7d4ddbd Refactor ServerConformanceProvider so that it no longer keeps any state 2019-07-07 12:57:31 -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
Stig Rohde Døssing b56f59542a Move JettyUtil to new module 2019-06-14 18:34:45 -04:00
Stig Rohde Døssing aab7bb6b64 Issue-1325: Let OS assign random ports to servers during testing, and let tests get the port of the running server once the OS has assigned a port. Delete PortUtil and similar utilities. 2019-06-14 18:34:45 -04:00