🔥 HAPI FHIR - Java API for HL7 FHIR Clients and Servers
Go to file
Ken Stevens 3d3242cf9a
Resource change listener (#2191)
* init rev

* fix build

* Tweaked the POM config settings and also added some dependency exclusions (commented out for now).

* More re-factoring of the CQL Unit Tests.

* Removed a LogMessages.html file and a minor Unit Test change.

* Unit Tests.

* added debug logging to troubleshoot the dao that has no name

* added debug logging to troubleshoot the dao that has no name

* workaround to get past null dao resourceName issue

* fix jsons to get test to pass.  Test still fails with library id problem

* gitignore

* gitignore

* test passes!  Woohoo!

* undo troubleshooting logging

* added timer and logging.

* added asserts and time multiple evaluations and measure the average

* readme

* adding explanations

* added more explanatory notes

* measure 2 patients

* move pom to use cqf snapshot

* roughed out cache

* roughed out cache

* Added code to VersionChangeCache class.

* added tests

* added polling test

* wrote init version

* wrote init version

* optimized versioncache

* worked on getting tests to pass

* redesigned interfaces

* all tests pass

* fixmes

* fixmes

* rename param

* Added Unit Tests.

* javadoc

* Fixed the 2-Patient Unit Test.

* More Unit Test work.

* make ResourceVersionMap immutable

* Fixed a Unit Test that was failing intermittently by adding a new way to refresh the cache.

* Use a new method called doRefreshAllCaches(0) to force a refresh and have all Listeners called immediately.

* Cleaned up IVersionChangeListenerRegistry interface to make methods more clear and resolved all Unit Tests.

* disabled tests

* disabled tests

* removed unused test method

* fixed refresh logic and added asserts

* moved cache so it can be used by searchparamregistry

* Updated the Cql Unit Tests to be properly configured for Dstu3 or R4.

* started rewriting SearchParamRegistryImpl to use new cache
added init method to listener interface

* added fixmes

* adding tests

* tests pass

* added tests

* Fixed the way CqlProviderFactory Autowires Beans so it can work with both Dstu3 and R4 contexts.

* moar tests

* fix test

* work tests

* reverting unneccessary refactors

* undo unneccessary import changes to reduce MR size

* undo unneccessary import changes to reduce MR size

* Unit Test fixes...more to come...

* add unregister

* fix tests

* Changed ResourceVersionCache to use a Map of Maps.

* searchparam test

* test passes

* resolved fixme

* fixmies

* strengthen test asserts

* More Unit Test changes and added some FIMXME items.

* changed from long to changeresult

* renamed VersionChange -> ResourceChange

* fixed delete bug

* organize imports

* fix test

* add update test

* add test reset function

* fix stack overflow

* fix startup race condition (might still be intermittent)

* found the problem.  delete doesn't work because we can't look up the deleted resource to find out what its name is

* fixed regression

* abandoned idea of incrementally updating searchparam registry.  Rebuilding every time--it doesn't change that often.

* fix test

* begin with failing test

* test passes

* fixmes and javadoc

* fix test

* fixme

* fix test

* whack-a-mole.  Either subs pass or cql passes.  Something's fishy with the FhirContext

* fix subscription test initialization

* fix method name

* Re-factored the CqlProvider Unit Tests.

* changed ResourceChange API

* add interface

* add interface

* fix test

* add schedule test

* add doc

* init rev

* FIXME

* modify FhirContext change

* change fhirContext.getResourceTypes to lazy load

* converted subscriptions

* converted subscriptions

* begin with failing test

* test passes

* fix test

* test coverage

* test coverage

* test coverage

* test coverage

* good coverage now

* pre-review cleanup.  I think I found a bug.

* moved cache into listener entry
tests pass with fixmes

* fix test

* fix test

* fix test

* fixme

* FIXMEs

* merge cache and registry

* method reorg

* javadoc

* javadoc done.  all FIXMEs resolved.

* change log

* changes needed by cdr

* spring config cleanup

* james feedback

* james feedback

* might not work. Try moving resourcechangeconfig into searchparam config

* merge ResourceChangeListenerRegistryConfig.java into SearchParamConfig

* fix test

* fix SubscriptionLoader

* fix SubscriptionLoader

* create ResourceVersionMap from resources

* added cache handle interface

* fix test

* javadoc

* fix test

* fix test

* James feedback: clone searchparametermap

* fix startup

* fix test

* fix test

* fix intermittent

* pre-review cleanup

* FIXME

* final FIXME yay!

* Address a couple of my own reviw comments

Co-authored-by: Kevin Dougan <kevin.dougan@smilecdr.com>
Co-authored-by: jamesagnew <jamesagnew@gmail.com>
2020-11-29 19:42:40 -05:00
.github Create codeql-analysis.yml 2020-06-30 11:58:29 -04:00
.mvn_/wrapper Bump core to latest versions (#2154) 2020-11-03 15:43:37 -05:00
example-projects Fix TestpageOverlay XSS Vulnerability (#2027) 2020-08-09 07:06:11 -04:00
hapi-deployable-pom Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-android Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-android-realm Work on JPA 2017-02-02 06:23:28 -05:00
hapi-fhir-base Resource change listener (#2191) 2020-11-29 19:42:40 -05:00
hapi-fhir-bom Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-cli Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-client Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-client-okhttp Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-converter Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-dist Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-docs Resource change listener (#2191) 2020-11-29 19:42:40 -05:00
hapi-fhir-elasticsearch-6 Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-igpacks Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jacoco Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jaxrsserver-base Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-jaxrsserver-example Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jpaserver-api Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jpaserver-base Resource change listener (#2191) 2020-11-29 19:42:40 -05:00
hapi-fhir-jpaserver-batch Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jpaserver-empi Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jpaserver-migrate Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jpaserver-model Improve error message on unique constraint violation (#2182) 2020-11-19 21:20:59 -05:00
hapi-fhir-jpaserver-searchparam Resource change listener (#2191) 2020-11-29 19:42:40 -05:00
hapi-fhir-jpaserver-subscription Resource change listener (#2191) 2020-11-29 19:42:40 -05:00
hapi-fhir-jpaserver-test-utilities Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-jpaserver-uhnfhirtest Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-narrativegenerator Migrate to JUnit5 (#1952) 2020-07-04 18:28:16 -04:00
hapi-fhir-oauth2 Migrate to JUnit5 (#1952) 2020-07-04 18:28:16 -04:00
hapi-fhir-server Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-server-empi Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-spring-boot Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-structures-dstu Migrate to JUnit5 (#1952) 2020-07-04 18:28:16 -04:00
hapi-fhir-structures-dstu2 Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-structures-dstu2.1 Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-structures-dstu3 Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-structures-hl7org-dstu2 Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-structures-r4 Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-structures-r5 Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-test-utilities Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-testpage-interceptor remove .settings .project .classpath file of eclipse 2017-01-28 17:13:47 +01:00
hapi-fhir-testpage-overlay Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-validation Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
hapi-fhir-validation-resources-dstu2 Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-validation-resources-dstu2.1 Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-validation-resources-dstu3 Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-validation-resources-r4 Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-fhir-validation-resources-r5 Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-tinder-plugin Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
hapi-tinder-test Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
osgi Migrate to JUnit5 (#1952) 2020-07-04 18:28:16 -04:00
restful-server-example Version bump to 5.3.0-SNAPSHOT 2020-11-18 14:52:43 -05:00
src Validation api changes (#1719) 2020-03-17 13:28:59 -04:00
tests Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
vagrant Update old removed Chef syntax in Vagrant provision 2019-01-31 05:17:22 -05:00
.editorconfig Multitenancy Ticket 2 - #1813 (#1821) 2020-05-05 15:12:15 -04:00
.gitignore Add Spring Boot Starter 2017-09-30 11:20:00 -04:00
HELPWANTED.md Work on custom params 2017-02-02 20:37:58 -05:00
LICENSE.txt Add license and notice files 2015-03-25 22:32:32 -04:00
LOINC_NOTES.txt More work on loinc 2018-03-19 08:51:02 -04:00
NOTICE.txt Add license and notice files 2015-03-25 22:32:32 -04:00
README.md Fix #2042 - Outdated CI link on website 2020-08-16 21:03:27 -04:00
azure-pipelines.yml Avoid version conflicts on current writes (#1971) 2020-07-13 08:51:13 -04:00
check_for_maven_updates.sh Fix up examples 2014-09-03 18:03:44 -04:00
lgtm.yml Correct bugs reported by LGTM (#1533) 2019-10-09 19:26:57 -05:00
list_releases.sh Implement handleException on the server interceptor framework, as well 2014-11-07 14:26:59 -05:00
mvnw Add maven wrapper for easier and more coherent builds https://www.baeldung.com/maven-wrapper 2018-11-15 15:36:57 +02:00
mvnw.cmd Use windows line-endings in mvnw.cmd 2019-01-11 17:11:53 +02:00
pom.xml Bump woodstox version (#2199) 2020-11-27 19:49:06 -05:00
sync.sh Update resource defs 2015-12-01 18:35:24 -05:00
sync_dstu3.sh Merge branch 'master' of github.com:jamesagnew/hapi-fhir 2016-07-01 14:31:25 -04:00
sync_ri.sh Bump to 1.0.2 FHIR definitions 2015-11-15 12:22:56 -05:00
sync_ri3.fish Bring DSTU3 structs up to FHIR R3 2017-04-18 07:48:38 -04:00
sync_ri3.sh Syn RI - Build still failing :( 2016-05-28 12:53:59 -04:00
sync_ri4.sh Squashed commit of the following: 2018-12-27 17:58:47 -05:00
sync_ri5.sh Bump core to latest versions (#2154) 2020-11-03 15:43:37 -05:00
sync_ri21.sh Update model and definitions to latest definitions 2016-01-30 11:08:16 -05:00
tmp2.txt Test fix 2019-08-29 21:02:19 -04:00
update_version.sh Force another travis build 2015-08-05 10:38:38 -04:00

README.md

HAPI FHIR

HAPI FHIR - Java API for HL7 FHIR Clients and Servers

Build Status codecov Maven Central License

Complete project documentation is available here: http://hapifhir.io

A demonstration of this project is available here: http://hapi.fhir.org/

This project is Open Source, licensed under the Apache Software License 2.0.

Please see this wiki page for information on where to get help with HAPI FHIR. Please see Smile CDR for information on commercial support.