Commit Graph

1743 Commits

Author SHA1 Message Date
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 ee52d6fb31 Add SearchNarrowingInterceptor 2019-01-09 20:20:46 -06:00
James Agnew 8beccab9ab Merge branch 'master' into test-openjdk-11 2019-01-09 10:48:57 -05:00
jpoth 1bd63f4454 Add JKD11 support for Karaf 2019-01-09 11:18:42 +01:00
jamesagnew 3d94761bcb Improve response for transactions 2019-01-06 18:08:32 -05:00
jamesagnew 98d93df12a License header updates 2019-01-04 16:22:15 -05:00
James Agnew a1275874f8 Correct subscription delivery metadata 2019-01-04 10:56:21 -05:00
James Agnew 1bfa29bbcc Site updates 2018-12-28 11:42:21 -05:00
jamesagnew 4599a10180 Merge branch 'master' into test-openjdk-11 2018-12-23 14:19:59 -05:00
James Agnew a0cb7edd08 Version bump a few dependencies 2018-12-22 20:13:03 -05:00
James Agnew 11b8304cb4 Fix case sensitivity issue 2018-12-13 08:31:35 -05:00
James Agnew b442982310 Add media interceptor 2018-12-08 18:49:58 -05:00
jamesagnew 3109a269b3 Attempting to get ErrorProne working on JDK11 2018-12-08 18:22:17 -05:00
jamesagnew 3a3b81a6a8 Preparing things for OpenJDK 11 2018-12-08 17:52:48 -05:00
James Agnew c484c69664 Better error message for unqualified search parameter types 2018-12-03 13:14:10 -05:00
Ken Stevens 6baee4dc3f
Standalone subscription (#1125) 2018-11-30 17:19:16 -05:00
Ken Stevens 03ebcafdf5
In-memory matcher (#1116)
* Initial refactoring to move database matcher out into its own class

* MAJOR REFACTOR: Pulled indexing code out of BaseHapiFhirDao into a new class ResourceIndexedSearchParams

* Moved calculateHashes

* Replaced @Bean definitions in BaseConfig.java with @ComponentScan

Annotated bean classes with either @Service (if it's stateless) or @Component (if it's stateful).  It doesn't really matter which annotation is used, but it's helpful to see at a glance whether a bean is stateful or stateless.

* Move services out of BaseHapiFhirDao

Moved services required by ResourceIndexedSearchParams out of BaseHapiFhirDao and into new classes called LogicalReferenceHelper, IdHelperService, MatchUrlService, and DaoProvider.

Converted SearchBuilder into Prototype Bean

Mark Spring components that depend on daos and entitymanagers with @Lazy so they aren't picked up by hapi-fhir-spring-boot-autoconfigure.

* Added SubscriptionMatcherInMemory

Moved static data out of BaseHapiFhirDao into ResourceMetaParams

Moved translateMatchUrl methods out of BaseHapiFhirDao into MatchUrlService bean

Simplified SubscriptionMatcherInMemory to not depend on entity or dao

Turned all subscribers into prototype beans

* Moved searchParam method out to mySearchParamProvider

Also removed dao and contest parameters from of myMatchUrlService methods

Moved code out of SearchBuilder into SearchParameterMap.clean() so it can be used by inMemoryMatcher

Introduced a new composite subscription matcher that tries to match in memory and if it finds a parameter in the criteria it doesn't support, it falls back to the database matcher.

* Added support for references

Also fixed a small bug in SearchParameterMap that was missing the ";" after "_has" when creating a normalized query from search params.

* Finished implementing all tests from FhirResourceDaoR4SearchNoFtTest

* Make in-memory matcher configurable, disabled by default

* Validate Subscription criteria when they're submitted

Send HTTP 422 UnprocessableEntityException if the criteria fail validation.

* fixed Sonar "Blocker" issues.

*  Don't reload the resource before sending it out

Since we can always force a reload using restHookDetails.isDeliverLatestVersion

* Added tests to cover Custom Search param.

* Split ResourceIndexedSearchParam into separate state and service classes

* Cleaned up SearchBuilder.

Removed uses of myCallingDao as an injection mechanism.
Left // FIXME KHS cookie crumbs to clean up

* Reduced dependencies on BaseHapiFhirDao

Removed methods from IDao interface that were used for injection

* Updated change log
2018-11-19 16:19:52 -05:00
jamesagnew bf8f26bc5f Work on bugfixes 2018-11-19 05:49:05 -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 6a6451f694 Reduce number of queries on some DB operations 2018-11-16 12:41:50 +01:00
James Agnew e4f6b3e9a2 Add a warning if an invalid class is scanned 2018-11-16 10:42:21 +01:00
James Agnew 4b099cf057 Fix #944 - NPE when using a custom resource class that has a @Block
child
2018-11-15 16:11:55 +01:00
James Agnew 75210d614b Bump to 3.7.0-SNAPSHOT 2018-11-12 22:37:52 -05:00
James Agnew 63af04a7b4 Prepare for 3.6.0 release 2018-11-12 05:40:55 -05:00
James Agnew 023877e09f
Merge pull request #1047 from hdconradi/null-pointer-in-date-range-param
Fix NullPointerExceptions in DateRangeRaram
2018-11-11 17:02:27 -05:00
jamesagnew 3942f1bb29 License header updates 2018-11-09 14:41:57 -05:00
James Agnew f61df5c3fe Use FHIRPath expression parser for custom SP validation 2018-11-09 14:41:20 -05:00
James Agnew b32e232eb2 A bit of client tweaking 2018-11-08 17:10:39 -05:00
James Agnew 82ec721c99 Allow client defined parameter style for _format param 2018-11-08 15:27:35 -05:00
James Agnew 80b0f14c4b
Merge pull request #1103 from RuthAlk/own_message_resolver_3.6.6
Allow slotting in own IMessageResolver
2018-11-08 13:22:48 -05:00
James Agnew 76cd3f6b47 Allow client assigned IDs to be purely numeric in JPA server if
configured to do so
2018-11-07 18:25:50 -05:00
jamesagnew 8c2d868f16 License updates 2018-11-01 16:13:34 -04:00
James Agnew bb59e2d73a Fix broken test 2018-11-01 10:25:13 -04:00
jamesagnew bbce2c69cf Fix typo 2018-11-01 05:51:26 -04:00
jamesagnew 3f6960d82b Add multithreaded migrator tool 2018-11-01 05:42:51 -04:00
jamesagnew 31ef4c68e1 Merge branch 'philips-3.6.0' of github.com:jamesagnew/hapi-fhir into philips-3.6.0 2018-10-31 05:51:13 -04:00
jamesagnew 8955a9e54d Add threading to migrator 2018-10-31 05:50:50 -04:00
James Agnew 4cd86596f2
Merge branch 'master' into fhirterser-getvalues-enhancements 2018-10-29 09:55:34 -05:00
James Agnew b66e01ce65 Allow plain server @Operation methods to declare a wildcard so that any
opeeration invocations will be direected to them
2018-10-29 10:36:32 -04:00
Ruth Alkema 729bbe04d0 Allow slotting in own IMessageResolver
This is useful in case we want to define our own way of translating
the codes in the thymeleaf templates.
2018-10-26 12:13:58 +02:00
James Agnew 794d9145e9 Move query count tests to consolidate them, and avoid an accidental
rewrite of existing indexes in some conditions
2018-10-24 17:54:58 -03:00
Diederik Muylwyk 21a0390e6e Even more additional work on FhirTerser.getValues(...) enhancements. Almost ready for review. 2018-10-24 11:43:19 -04:00
Diederik Muylwyk 688e159493 Additional work on FhirTerser.getValues(...) enhancements. 2018-10-22 18:22:03 -04:00
Diederik Muylwyk 225007d681 Completed work on FhirTerser.getValues(...) enhancements. 2018-10-19 18:24:26 -04:00
Diederik Muylwyk cd6d4302c3 Incremental work on FhirTerser.getValues(...) enhancements. 2018-10-19 15:13:51 -04:00
James Agnew da2763d8c8 Merge branch 'master' into philips-3.6.0 2018-10-17 22:38:27 -04:00
James Agnew 99cd4ce5f7 Allow for _total parameter 2018-10-17 09:47:35 -04:00
jamesagnew 1c1f601332 License header updates 2018-10-16 19:56:52 -04:00
James Agnew 755060f91e Allow subscription triggering on a block of resources 2018-10-16 15:29:41 -04:00
James Agnew 34bb70af65 Add validator test and allow migrator to be used for 3_3_0 2018-10-08 21:04:17 -04:00