Commit Graph

4228 Commits

Author SHA1 Message Date
Tadgh bce0313458
6034 poor index generation on sql server (#6035)
* Changelog

* Remove uniqueness

* spotless

* Add migrations

* spotless

* make some space

* Handle fancier upgrade

* spotless

* Fix up where clause generation to be a bit more readable

* spotless
2024-06-22 00:36:00 +00:00
volodymyr-korzh 0397b9ddc8
Reduce storage required for indexing - stop writing sp_name, res_type, and sp_updated to hfj_spidx_* tables (#5941)
* Reduce storage required for indexing - implementation
2024-06-20 14:10:40 -06:00
TipzCM 5799c6b42b
hibernate search cannot be used for count query if non-active parameters are present (#6027)
fixing count query with fulltextsearch bug
2024-06-19 22:21:20 +00:00
TipzCM 60f456c655
mdm multidelete golden resource final resource pair throws (#6001)
* fixed a bug with mdm and multidelete
2024-06-19 21:00:37 +00:00
James Agnew 47d6e357b6
Fix JPA nullable primitive columns (#5926)
* Fix JPA nullable primitive columns

* Add changelog

* Spotless

* License headers

* Migration fix

* Spotless

* Cleanup

* Cleanup

* Add task skipping

* Update docs

* CLeanup

* Spotless

* Address review comments

* Test fix

* HAPI FHIR version bump
2024-06-18 13:05:29 -04:00
James Agnew ec0021cd40
Add error checker for duplicate codesystem codes (#6014)
* Add error checker

* Add changelog

* Address review comment
2024-06-18 14:25:07 +00:00
James Agnew 8947706af3
Handle Versioned Canonical Refs (#6003)
* Work on versioned canonidal refs

* Merge

* Tests working

* Working without version support

* CLean refactor

* Targets

* Remove redundant parameter

* Fix up tests

* Remove fixme

* Add changelog

* Improve changelog

* Update version

* Test fixes
2024-06-17 08:14:24 -04:00
Tadgh 73a6a8ef82
Add tests to checkstyle (#6006)
* Add tests to checkstyle

* Add includede test dirs in execution

* wip

* wip

* bump checkstyle deps

* bump checkstyle deps

* wip50

* wip

* Handle upgrade

* triple-wip

* wip

* Wip replacement of prints

* All checkstyle now passing

* wip

* Reset checkstyle

* spotless

* reset checkstyle

* Add checkstyle to pipeline

* Tidy

* Tidy

* wip

* Cut over to not empty for correct behaviour

* imports
2024-06-15 17:15:46 -07:00
Ken Stevens 57d1815b46
Extract Subscription Settings from Storage Settings (#5887)
* first cut

* first cut

* cleanup

* that took way too long

* fix test

* licenses

* merge master

* merge master

* changelog

* review feedback

* bump version
2024-06-15 00:31:55 +00:00
dotasek 0abbb1a4f4
Core library bump 6.3.11 (#5772)
* Bump to core 6.2.6 + fix compilation errors

* Fix signature error

* Error ordering

* WIP 1 Fixing failing tests

* Fix FhirInstanceValidatorR4Test

* Fix FhirInstanceValidatorR5Test

* Fix FhirInstanceValidatorR4BTest

* Fix FhirInstanceValidatorDstu3Test.testValidateBuiltInProfiles()

* WIP Fix FhirInstanceValidatorDstu3Test

* Fix isPrimitiveType

* Add placeholder narratives to ServerCapabilityStatement

* Fix QuestionnaireResponseValidatorR4Test

* Newline cleanup

* Fix QuestionnaireResponseValidatorDstu3Test

* Fix QuestionnaireResponseValidatorR5Test

* Increase expected error messages by two because VALIDATION_HL7_WG_NEEDED

New validation requirement as of 2023-09-16

* Add placeholder fix for Balp narrative

* Fix expected validation messages

* Fix more expected validation messages

* Don't generate a master IPS narrative

* Fix IPS generation tests expecting old composition narrative

* Update fhir core and clinical-reasoning

* Remove commented code

* Bump to core 6.2.16-SNAPSHOT

* Add missing methods

* Add missing methods 2

* Fix error codes

* Fix error code

* Fix failing tests for Unsupported method 2488

* Fix error text

* Fix another expected error message

* Apply spotless

* Fix error strings

* Add minimal implementation to fix failing test

* Fix error message

* Fix some validation tests (r4)

* Fix more R5 tests

* Update for changing API

* Fix some R4B test failures

* Fix android incompatibility

* Fix more tests

* Switch back to LF

* Fix more tests 2

* Fix R4 IPS generation use of relative references, switch to random UUID

* Fix missing codes and patient ID in IPS test

* Fix missing codes in IPS R4 Test 2

* Fix display value

* Fix display value

* Reorg wrapper issue collection; fixes errors with Balp and others

* Update for API changes

* Fix code set typo causing test failure

* Fix DiffProviderR4Test

* Fix RepositoryValidatingInterceptorHttpR4Test fails

due to stricter code validation

* More code fixes

* Don't expect an extra error.

* Use more specific logic for details tx code

* Catch expected error

* Clean up

* Account for HAPI isEnabledValidationForCodingsLogicalAnd cases

* Apply spotless

* Change outputs for en_US single code test

* Add missing system from code to pass validation

* Account for DSTU3 and R4 including different code systems for race

* Add expected loinc codes to test dao

* Add some codesystem support for test

* Bump core version

* WIP pass on a list of CodeValidationIssue from CodeValidationResults

* Re-use v2 and v3 data from r4 in r4b

* CodeSystems can be supported, but not have a resource

* Remove hack around unitsofmeasure + return false LookupCodeResult

* Clean up chatter.

* Update test cases, remove FIXME

* Stop returning before adding all issues to ValidationResults

* Update for changes in core API

* Add severity to code issues + return to unknown system support

* Use new CollectionUtils

* Fix more issue messages and orders + null in TermReadSvcImpl

* After checking valueSet, also check codeSystem

* On second thought, always check the codesystem

* Improve validation message

* Refactor

* Add error consistent with core validator results

* Decrement query counts for validation

* Improve code validation messages + don't miss invalid display on cs

* Fix expected messages (added code details)

* More expected message fixes

* Remove redundant text from diagnostics + match core exception handling

* Explicitly send tx passthrough messages no longer managed in core

* Apply spotless

* Add issue to code validation in TermReadSvcImpl

* Adjust indexes of expected errors now that TermReadSvc is reporting

* Bump to released core version

* Code cleanup: commented code

* More commented code cleanup

* Fix parameter names

* Use Set.of and List.of + fix duplicate values in set

* Revert animal sniffed breakage, make field private

* Add comments to describe disabled test

* Remove System.out chatter

* Fix javadoc generation for r5 structures module

* More comments and move disabled annotation

It was working when it left the shop.

* Move older changelog into 7.4.0 and create core update changelog

* Switch changelog type to change

* Bump HAPI version

* Add validation utils for FATAL issue severity

* Handle FATAL codeValidationIssue severity

* Fix test (validation throws more warnings)

* Bump to version 7.3.4-SNAPSHOT

* Bump to SNAPSHOT version of core + add necessary method implementations

* Add comments to explain R4 terminology resources in R4B

* Add test for Observation vital signs profile validation

* Try using default validatorPolicyAdvisor

* Return an empty set for fetchCanonicalResourceVersions

* Profile now gives more explicit error instead of valueSet

* Revert commit

* Add CodeValidationIssues and additional error info

* Do not return first successful match from codings. Check all.

+ adjust for extra errors.

* apply spotless

* Fix failing test, add comments re: invocations

* Fix test to expect more informative error

* Fix stray compilation errors from merge.

* Fix merge overwrite of validation messages and indices

* Fix merge overwrite of new validation results

* Use core release 6.3.11

* Update HAPI version to 7.3.5-SNAPSHOT

* Fix changelog

* Remove commented code

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: volodymyr <volodymyr.korzh@smilecdr.com>
2024-06-12 11:24:26 -06:00
TipzCM b39e2f8909
do not throw exceptions on valueset expansion (#5997)
* fixing throwing of expcetion for unsupported filter

* updating comment

* spotless

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-06-10 20:20:16 +00:00
Tadgh 432167011d
Fix a regression in Valueset Expansion (#5993)
* Add forgotten ISA

* revert non-standard property behaviour on is-a match type

* Changelog
2024-06-07 22:57:10 -06:00
Justin McKelvy 590fe26a76
5914 clinical reasoning v3.6.0 bump (#5964)
* version bump clinical reasoning wip

* cr release 3.6.0 bump

* versio bum hapi to 7.3.4-snapshot

* cve dependency removed

* fix merge back issues on pom

* jackson update missed
2024-06-07 09:43:19 -07:00
TipzCM 1437c356ae
fixed mdmjsonlink serialization issues (#5987)
* fixed mdmjsonlink serialization issues

* spotless

* test fixing

* spotless

* review fixes

* spotless

* fixing

* spotless

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-06-07 08:45:39 -07:00
TipzCM 5b75639718
fixing value expansion filtered by url (#5969)
* test

* adding support for expansion based on filters and properties

* added changelog

* adding test cases

* spotless

* fixed some warnings

* spotless

* merge conflict resolution

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-06-06 11:41:38 -07:00
Martha Mitran 00a6591586
Merge pull request #5978
* Fix authorization handling for Bundle resources in the output. When t…

* Merge remote-tracking branch 'origin/master' into mm-20240529-test-se…

* Add test case for the described scenario

* Merge remote-tracking branch 'origin/master'

* Add Bundle search test with custom search parameters.

* Update test to simpler one to illustrate the problem

* SearchParameter for Bundle document referencing resource through comp…

* Merge remote-tracking branch 'origin/master' into mm-20240605-search-…

* Merge another test into the new class

* Remove unused json file. Small formatting fix in a test.

* Add more use cases and adjust an existing one
2024-06-06 10:09:30 -07:00
TipzCM 5302a7da52
updating field to make it nullable (#5982)
* updating field to make it nullable

* review fixes and test fixes

* review fixes

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-06-06 09:35:29 -04:00
Ken Stevens cdf5b602c1
Replace hamcrest with assertj (#5911)
* optimize imports

* optimize imports

* Hamcrest replacement

* Hamcrest replacement

* Test failures

* migrate hapi-fhir-base

* docs

* Few more cutovers

* Full rewrite of all assert cases

* Full rewrite of all assert cases

* Partial cutover

* assert library conversion

* wip

* fix imports

* remove equalto

* once-over again

* minor cutover

* wip

* wip

* wip

* wip

* wip

* Remove hamcrest asserts replace with assertj

* wip

* Partial hamcrest rip-out

* More hamcrest stripping

* wip

* Partial completion

* spotless

* it compiles now

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fixing compile issues

* fix compile issues

* fix compile issues

* hapi-fhir now compiles

* fix test

* fix test

* fix test

* fix tests

* fix tests

* fix tests

* fix test

* fix test

* fix tests

* fix tests

* fix tests

* yay all tests pass now!

* revert assertEquals change

* revert assertEquals change

* organize imports

* organize imports

* organize imports

* post merge cleanup

* organize imports

* more cleanup

* more cleanup

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* removing hamcrest stragglers

* organize imports

* organize imports

* remove final hamcrest stuff

* remove final hamcrest usages

* remove final hamcrest usages

* Revert "remove final hamcrest usages"

This reverts commit eaf5107396.

* fix compile issues from a hacky search/replace

* compiles with fixmes

* fix tests

* fix test

* fix test

* fix post merge compile issues

* fix post merge compile issues

* fix post merge compile issues

* fix post merge compile issues

* fix post merge compile issues

* fix post merge test issues

* fix test

* fix test

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* replace hamcrest with assertj

* all but mdm tests

* final hamcrest removed from hapi-fhir yay!

* revert mdm changes. it's too hard for now

* revert cdr breaking change

* revert cdr breaking changes

* revert cdr breaking changes

* revert cdr breaking changes

* revert cdr breaking changes

* revert changes that break cdr

* merge master with compile errors

* review feedback

* review feedback

* review feedback: revert bad regexp change

* fix test

* fix test

* convert new hamcrest entries

* convert new hamcrest entries

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>
2024-06-05 16:02:46 -04:00
James Agnew ab0b62706a
Configurable summary mode (#5944)
* Fix #5871 - Configurable summary mode

* Add docs

* Spotless

* Add javadoc
2024-05-30 15:47:48 +00:00
TipzCM 357802bfe8
rebuilding golden resources with survivorship in partitions (#5957)
* fixing a regression that prevented rebuilding golden resources with survivorship in a partitioned system

* spotless

* update var usage

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-05-27 13:27:20 -07:00
TipzCM f199a3ee4e
added workchunk to step execution details (#5932)
* added workchunk to step execution details

* versino bump

* added deprecated constructor

* spotless

* review fixes

* spotless

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-05-26 21:59:17 -04:00
Luke deGruchy 7f91f1fbf3
Fix queries with chained sort with Lucene by checking supported SortSpecs (#5958)
* First commit with very rough solution.

* Solidify solutions for both requirements.  Add new tests.  Enhance others.

* Spotless.

* Add new chained sort spec algorithm.  Add new Msg.codes.  Finalize tests.  Update docs.  Add changelog.
2024-05-24 14:30:07 -04:00
James Agnew 93e101973e
Remove verbose log (#5959)
* Fix #5955 - Remove verbose log
2024-05-24 14:01:21 +00:00
Luke deGruchy 0fe3380c4a
Ensure Delete Expunge removes corresponding HFJ_RES_SEARCH_URL records for affected resources (#5940)
* Delete HFJ_RES_SEARCH_URL record when delete expunging a resource.  Add a new foreign key on RES_ID to HFJ_RESOURCE to HFJ_RES_SEARCH_URL.  Add a migration task to set up the new FK.

* Cleanup logging.

* Fix unit test failures and ensure ResourceSearchUrlEntity is created with a ResourceTable.

* Remove TODO.

* Fix more unit tests.

* Add more unit test assertions.

* Add changelog.

* Code review feedback.

* Fix unit test failures due to lazy loading lack of session.

* Reverse original code review feedback changes.
2024-05-22 18:54:40 +00:00
Luke deGruchy 9b5673e240
Bulk export: SearchParameters evaluation for patient compartment. If non-R4 evaluation would have failed, extract using R4 FHIR path (#5931)
* Proposed change to make DSTU3 find the same patient path as R4.

* Update logic based on conversation.

* Update logic based on conversation with R4 gating.

* Update logic again.

* Tweak logic again with an even narrower code path and add a new unit test.

* Add changelog.  Tweak javadoc.

* Code review feedback.
2024-05-14 20:52:30 +00:00
longma1 078e87a4aa
7 2 mergeback may 10 v2 (#5928)
* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* 6051 bulk export security errors (#5915)

* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* refactor bulk export rule, add concept of appliestoallpatients, fix tests

* spotless

* Cahgnelog, tests

* more tests

* refactor style checks

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>

* Convert a few nulls to aggressive denies

* Change chain sort syntax for MS SQL (#5917)

* Change sort type on chains

* Change sort type on chains

* Test for MS SQL

* Comments

* Version bump

* version bump to 7.3.1-SNAPSHOT

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
2024-05-13 15:51:03 -07:00
Tadgh 3572d593c1
Revert "7_2 branch mergeback (#5922)" (#5927)
This reverts commit 125513a100.
2024-05-12 16:04:43 -07:00
longma1 125513a100
7_2 branch mergeback (#5922)
* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* 6051 bulk export security errors (#5915)

* Enhance RuleBuilder code to support multiple instances (#5852)

* Overhaul bulk export permissions.

* Overhaul bulk export permissions.

* Small tweak to rule builder.

* Cleanup validation.

* Cleanup validation.

* Code review feedback.

* Postgres terminology service hard coded column names migration (#5866)

* updating parent pids column name

* updating name of the fullTestField Search

* updating name of the fullTestField Search

* fixing typo.

* failing test.

* - Moving FullTextField annotation from getter method and adding it to the newly added VC property of the entity;

- reverting the name of the FullTextField entity to its previous name of 'myParentPids';

- reverting the name of the lucene index to search on in the terminology service.

- updating the changelog;

* making spotless happy

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* 5879 back porting fix for issue 5877 (attempting to update a tokenparam with a value greater than 200 characters raises an sqlexception) to release rel_7_2 (#5881)

* initial failing test.

* solution

* adding changelog

* spotless

* moving changelog from 7_4_0 to 7_2_0 and deleting 7_4_0 folder.

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>

* Expose BaseRequestPartitionHelperSvc validateAndNormalize methods (#5811)

* Expose BaseRequestPartitionHelperSvc validate and normalize methods

* Compilation errors

* change mock test to jpa test

* change mock test to jpa test

* validateAndNormalizePartitionIds

* validateAndNormalizePartitionNames

* validateAndNormalizePartitionIds validation + bug fix

* validateAndNormalizePartitionNames validation

* fix test

* version bump

* Ensure a non-numeric FHIR ID doesn't result in a NumberFormatException when processing survivorship rules (#5883)

* Add failing test as well as commented out potential solution.

* Fix for NumberFormatException.

* Add conditional test for survivorship rules.

* Spotless.

* Add changelog.

* Code review feedback.

* updating documentation (#5889)

* Ensure temp file ends with "." and then suffix. (#5894)

* bugfix to https://github.com/hapifhir/hapi-fhir-jpaserver-starter/issues/675 (#5892)

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Enhance mdm interceptor (#5899)

* Add MDM Transaction Context for further downstream processing giving interceptors a better chance of figuring out what happened.

* Added javadoc

* Cahngelog

* spotless

---------

Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>

* Fix BaseHapiFhirResourceDao $meta method to use HapiTransactionService instead of @Transaction (#5896)

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Try making ResourceTable.myTags EAGER instead of LAZY and see if it breaks anything.

* Ensure BaseHapiFhirResourceDao#metaGetOperation uses HapiTransactionService instead of @Transactional in order to resolve megascale $meta bug.

* Add changelog.

* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/7_2_0/5898-ld-megascale-meta-operation-fails-hapi-0389.yaml

Commit code reviewer suggestion.

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Fix query chained on sort bug where we over-filter results (#5903)

* Failing test.

* Ensure test cleanup doesn't fail by deleting Patients before Practitioners.

* Implement fix.

* Spotless.

* Clean up unit test and add changelog.  Fix unit test.

* Fix changelog file.

* Apply suggestions from code review

Apply code review suggestions.

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* Spotless

---------

Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>

* cve fix (#5906)

Co-authored-by: Long Ma <long@smilecdr.com>

* Fixing issues with postgres LOB migration. (#5895)

* Fixing issues with postgres LOB migration.

* addressing code review comments for audit/transaction logs.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for BinaryStorageEntity migration post code review.

* test and implementation for TermConcept
 migration post code review.

* applying spotless

* test and implementation for TermConceptProperty
 migration post code review.

* test and implementation for TermValueSetConcept
 migration post code review.

* fixing migration version

* fixing migration task

* changelog

* fixing changelog

* Minor renames

* addressing comments and suggestions from second code review.

* passing tests

* fixing more tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* refactor bulk export rule, add concept of appliestoallpatients, fix tests

* spotless

* Cahgnelog, tests

* more tests

* refactor style checks

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>

* Convert a few nulls to aggressive denies

* Change chain sort syntax for MS SQL (#5917)

* Change sort type on chains

* Change sort type on chains

* Test for MS SQL

* Comments

---------

Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: Nathan Doef <n.doef@protonmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: dotasek <david.otasek@smilecdr.com>
Co-authored-by: Jens Kristian Villadsen <jenskristianvilladsen@gmail.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: Long Ma <long@smilecdr.com>
2024-05-10 14:52:43 -07:00
TipzCM ae67e7b55e
Batch2 workchunk states hapi (#5851)
* step 1

* updated batch 2 framework with READY state

* spotless

* remove entity manager

* spotless

* fixing up more tests for batch2

* updating documentation

* cleanup

* removing checkstyle violation

* code review points

* review points continued

* review poitns finished

* updating tests

* updates

* spotless

* updated

* step 1

* updated

* sketch out test cases

* basic state transition shell work

* typos

* spotless

* adding spy override

* fixing tests

* spotless

* changing comment to complete build

* fixing some tests and adding a view

* adding different paging mechanism

* spotless

* waiting step 1

* commit changes

* remove text

* review fixes

* spotless

* some tweaks

* updating documentation and adding change log

* spotless

* added documentation

* review comments 1

* more review fixes

* spotless

* fixing bug

* fixing path

* spotless

* update state diagram

* review points round 1

* revert

* updating diag

* review fixes round 2

* spotless

* - Implemented GATE_WAITING state for the batch2 state machine.
- This will be the initial status for all workchunks of a gated job.
- made compatible with the equivalent "fake QUEUED" state in the Old batch2 implementation.
- Updated corresponding docs.
- added corresponding tests and changelog

* Revert "- Implemented GATE_WAITING state for the batch2 state machine."

This reverts commit 32a00f4b81.

* - Implemented GATE_WAITING state for the batch2 state machine.
- This will be the initial status for all workchunks of a gated job.
- made compatible with the equivalent "fake QUEUED" state in the Old batch2 implementation.
- Updated corresponding docs.
- added corresponding tests and changelog

* fixing a bug

* spotless

* fixing

* - fix merges conflicts
- set first chunk to be always created in READY

* - have only one path through the equeueReady method
- fixed tests

* - hid the over-powered transition function behind a proper state action

* spotless

* resolved review comments

* fixing tests

* resolved review comments

* resolved review comments

* resolved review comments

* resolved review comments

* resolved review comments

* updating migration script number

* fixed bugs

* spotless

* fix test high concurrency

* fixing a test

* code fix

* fixing tests in bulkexportit

* fixing tests

* fixing tests

* cleanup

* completed instance will not be sent to the reduction step service

* Revert "completed instance will not be sent to the reduction step service"

This reverts commit aa149b6691.

* Revert "Revert "completed instance will not be sent to the reduction step service""

This reverts commit e18f5796a1.

* removing dead code

* changed db query for step advance to take statuses as parameter instead

* test fixes

* spotless

* test fix

* spotless

* fixing tests

* migration fix

* fixing test

* testing pipeline with `testGroupBulkExportNotInGroup_DoesNotShowUp` disabled

* fixing some tests

* Add new race test for simultaneous queue/dequeue

* re-enabling `testGroupBulkExportNotInGroup_DoesNotShowUp`

* cascade tag deletes

* test fixes

* some logging

* a test case

* adding job id

* more test code

* marking purge checks

* test fix

* testing

* pausing schedulers on cleanup

* adding a wait

* max thread count guarantee

* fixing the tests again

* removing dead code

* spotless

* checking

* msg codes:

* Fixing a test

* review points

* spotless

* required pom values

* step 1 of reduction ready

* update

* reductoin ready

* annother test

* spotless

* cleanup

* cleanup

* simplifying check in reduction step

* review fixes

* updating version

* using 7.3.1

* adding check

* test finessing

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: tyner <tyner.guo@smilecdr.com>
2024-05-07 18:23:03 -04:00
holly-smile b555498c9b
Remove unnecessary call to deleteAllSearchParams (#5901)
* Remove unnecessary call to deleteAllSearchParams. Fixes #5900.

* Regression test

* Run spotless
2024-05-03 04:15:43 -04:00
Gijs 22d7731d41
3986: Remove validation of max parameter lastn and add tests (#5737)
* 3986: Remove validation of max parameter lastn and add tests

* 3986: Add bug fix to changelog

* 3986: Re-add removed import

* Prepare for merge

* Spotless

---------

Co-authored-by: James Agnew <jamesagnew@gmail.com>
2024-05-02 14:42:27 -04:00
kateryna-mironova 90201095c4
fixed golden resource tag bug (#5868) 2024-04-23 10:08:32 -04:00
Tadgh 8a37223106 Version bump 2024-04-21 13:20:55 -07:00
Etienne Poirier aeb4299864
Postgres migrate from lob datatypes (#5837)
* wip - before moving JpaEmbeddedDatabase to test-utilities

* failing test

* BinaryStorageEntity migration with associated test.

* BinaryStorageEntity migration with associated test - fix finger fumble.

* TermConceptProperty Entity migration with associated test.

* TermValueSetConcept Entity migration with associated test.

* TermConcept Entity migration

* fixing merge issue

* spotless

* adding error code 2513 for exception

* adding tests.

* spotless

* adding unique message code for exceptions.

* fixing test failure - 1

* fixing test failure - 2

* fixing test failure - 3

* fixing test failure - 4

* fixing test failure - 5

* troubleshooting test failure

* migration for audit/transaction logs.

* spotless

* preparation for initial code review.

* adding changelog.

* files headers

* addressing comments from first code review.

* modifying RenameTableTask to drop table with newTableName if configured to do so.

* modifications to pass tests.

* passing all tests

---------

Co-authored-by: peartree <etienne.poirier@smilecdr.com>
2024-04-18 22:21:29 -07:00
Justin McKelvy e400db5fb8
collect-data and data-requirements operations and tests (#5854)
* collect-data and data-requirements operations and tests

* remove unused imports

* additional test coverage

* move assertions out of method to pass static code analysis

* camelCase test names

* remove underscore on test methods

* requested edits to changelog

* version bump to 7.1.10-SNAPSHOT

* condense unit tests to prevent pipeline timeout

* method camel case naming
2024-04-18 15:34:26 -07:00
TipzCM 80d382d8cd
5845 add new bulk export hook for parameter massaging (#5846)
* added an additional pointcut

* spotless

* version bump

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-04-15 19:36:27 -04:00
Emre Dincturk 6e5c6fa33c
disabled old migration step that fails on fresh mssql db (#5841) 2024-04-11 15:50:04 -04:00
TipzCM 5d55594a73
Batch2 test refactor only (#5823)
* refactoring

* test refactor only

* spotless

* bumping version

---------

Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-mbp.home>
2024-04-05 21:39:03 -04:00
Michael Buckley bdea4b6900
Merge history table prefetch with resource table. (#5825) 2024-04-04 23:53:35 +00:00
Michael Buckley fcf0a85584
Stop writing to hfj_forced_id (#5817)
Stop writing to hfj_forced_id
Stop reading ForcedId
Cleanup client-id assignment
Fix query counts in tests
Drop the unused indexes and fk
2024-04-03 18:25:23 +00:00
JasonRoberts-smile 1736dadfcf
Jr 20240325 concept map unmatched codes (#5809)
* update model

* convert results

* migration

* extend test coverage in cli

* fix broken test

* change log

* code review feedback

* spotless
2024-04-02 16:46:03 -04:00
Emre Dincturk 70843cdf45
fixed resource fullUrl in _history bundles (#5815) 2024-04-01 15:21:18 -04:00
Brenin Rhodes 9ddd8bf4d9
Update CR Operation Providers to latest version of CR release (#5751)
* Add support for latest version of CR and new $questionnaire operation

* Fix formatting in javadoc causing warning

* Update to 3.0.0 CR release

* Add support for expected parameter names from updated IG's

* Update Clinical Reasoning documentation

* Update pom.xml

* Create 5750-update-cr-operations.yaml

* fix doc

* Update to latest CR version

* Update pom.xml

* In version

* Update changelog

* Remove commented code
2024-03-28 11:44:29 -07:00
James Agnew 6175807f58
Reduce use of LOB columns (#5799)
* Reducer LOB usage in Batch2 and Search (#5748)

* Reducer LOB usage in Batch2 and Search

* Add changelog

* Rework a number of LOB columns

* Test fix

* Test fix

* Column fixes

* Test fix

* Formatting

* Fixes

* patching bad oracle test

* Apply spotless

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>

* Clean up

* Revert change

* One more revert

* Resolve compile issue

---------

Co-authored-by: Tadgh <garygrantgraham@gmail.com>
2024-03-27 18:19:07 +00:00
TynerGjs 4a726dd2d1
Resolve 5790 Prefix a unit test log for hibernate exception in HapiFhirHibernateJpaDialect (#5791)
* prefixed the log message with "Unit test: "

* resolved review comments
2024-03-20 13:36:21 -04:00
Michael Buckley d6bc8f2e1b
Sort by Bundle chained composition SPs (#5785)
Add support for sorting by special Bundle chained composition SPs
2024-03-15 18:50:50 +00:00
TynerGjs df047a9dea
Resolve 5758-completion-handler-for-reduction-steps-are-not-called-with-the-up-to-date-job-instance-status (#5759)
* updated instance status after run is called.

* added changelog

* version bump
2024-03-06 11:01:42 -05:00
Luke deGruchy 4570c28cb6
Fix _has then chain then _has searches (#5735)
* Add SQL logging:  Attempt to add test.

* Small fix.

* moar tests

* Tweak unit tests to be parameterized.

* Enhance tests and more logging.

* Better tests.  More logging.  More TODOs.

* Better tests.  More logging.  More TODOs.

* Changes

* Changes

* Updates to tests.  More logging and experimental code.

* Introduce fix along with more logging and TODOs and tweaks to tests.

* Cleanup solution.  Get rid of logs and todos.  Rename test class, test methods and clean up unnecessary code.

* Add changelog.

* Implement simpler chain algorithm without conditional logic and leave a long comment explaining why.

* Implement simpler chain algorithm without conditional logic and leave a long comment explaining why.

* Fix comment.

---------

Co-authored-by: Ken Stevens <khstevens@gmail.com>
2024-03-04 15:52:04 +00:00
Tadgh 3a1a0418a0
Readd migration (#5747)
* Re-add removed migration

* spotless
2024-02-29 21:07:24 +00:00
Tadgh 28b8662637
Rel 6 4 mb update (#5741)
* Add backport and folder

* Add missing changelog

* Cherry p icking

* Update upgrade.md

* added new version version.yaml

* Provide default update time to batch2 entities (#4630)

* Data migration - default value for batch2 UPDATE_TIME

* fixed changelog, added 6.4.3 changelog folder

* Spotless

---------

Co-authored-by: Kevin Dougan SmileCDR <72025369+KevinDougan-SmileCDR@users.noreply.github.com>
Co-authored-by: longma1 <long@smilecdr.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
2024-02-27 17:50:01 +00:00