* Standardize on one Transactional annotation
* Add changelog
* Disable checkstyle rule
* Fix up transactions
* Test fixes
* Test cleanup
* License headers
* One more dep bump
* Resolve commit issue
* Test fixes
* Test fix
* Dep bump
* Fix
* Fix test
* Version bump
* Test fixes
* Add unit tests and supporting classes from gitlab issue.
* Commit with changes thus far to be reviewed. Namely, add savepoint capabilities to HapiTransactionService, inject HapiTransactionService into CascadingDeleteInterceptor, add savepoint capabilities to the TransactionDetails, and catch an Exception in BaseHapiFhirResourceDao.delete() then rollback to the checkpoint.
* Fix compile error.
* hapi transaction service test
* hapi transaction service test
* hapi transaction service test
* First draft of RetryTemplate and flush() logic. Try unit testing with PointcutLatch.
* hapi transaction service test
* Latest changes including moving RetryTemplate, cleaning up unit tests.
* First attempt at correct design. Fix compile errors.
* Add failed rollback savepoint test.
* fix propogation
* interesting test failure in SafeDeleterTest
* Latest code
* move delete
* test passing
* all tests pass
* yay we're done just cleanup
* First round of cleanup: Get rid of all exploratory logging, remove unneeded dependencies, move creation of RetryTemplate to SafeDeleter.
* More cleanup. Add changelog.
* Bump to 6.2.0-PRE13-SNAPSHOT.
* Code review feedback: Refactor SafeDeleter to a service and bean. Add comments.
* Code review feedback: Comments on unit test assertions.
* Code review feedback: Rename SafeDeleterSvc to ThreadSafeResourceDeleterSvc. Add javadoc. Add logger to DelayListener. Remove useless commented out code.
* Fix unit test failure in CascadingDeleteInterceptorTest.
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* removed flyway, started coding persistence
* started wiring up new dao service
* replace jpa with sqlbuilder
* down to 16 failed tests
* remove outOfOrder test. We no longer support validating order.
* Removed noFlyway mode. It is no longer a thing.
* merge migrator
* down to 1 failing test
* cleanup
* removed unused noflyway cli arguments
* cleanup
* cleanup
* cleanup
* cleanup
* create MigrationTaskList to replace the List<BaseTask> that gets passed around a lot. This allows us to add a bunch of behaviour to that as a first-order thing
* fix test
* fix test
* improve migration table detection to use the catalogue
* Msg.code()
* cleanup
* save version in same format as flyway
* cleanup
* add migration result to migration result class
* failed migrations stay in the table and don't really affect anything.
* change log
* docs
* ugh Flyway requires lower-case column names
* integration test fixes
* log
* fix oracle issue
* lowercase tablenames for postgres. fussy fussy!
* Revert "lowercase tablenames for postgres. fussy fussy!"
This reverts commit 92c9cb263b.
* revert to capital table names. surround table name by quotes for Postgres.
* added log message before executing find all query
* changed log message from info to debug
* javadoc
* pom cleanup
* review feedback
* Update hapi-fhir-sql-migrate/src/main/java/ca/uhn/fhir/jpa/migrate/MigrationTaskList.java
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* review feedback
* review feedback. Use prepared statement.
* Change installedOn insert from timestamp to date
* Change installedOn column type from timestamp to date
* bump hapi version
* fix poms
* fix poms and cdr compile
* add exclusions to clean up build
Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* add failing test
* Fix history search bug and add tests for two more scenarios
* Fix history search bug and add tests for two more scenarios
* - added failing test condition
* Fix history search bug and add tests for two more scenarios
* Fix build test failures
* Fix build test failures
* Add extra verifications for scenarios of _since
* Refactor dao.history interface to add overload method and shall come back to remove old method once cdr is refactored.
* Update with new hapi interface
* Add depreciate comment
* Add depreciate comment
* Version bump to mvn 6.2.0-PRE11-SNAPSHOT
Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>
* remove spring batch
it compiles
expect test failures
* fix test transaction manager bean name (wow that was quite the hunt the wumpus!)
* fix test and fix build
* fix test and fix build
* fix test
* remove spring batch schema initialization
* bump hapi version
* fix schema migrator
* bump to PRE-10
* merge master
* change logs
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* check for valid resource type
* add test and refactor test class
* refactor auto get method name
* introduce parameter object to patient everything methods
* introduce parameter object to patient everything methods
* change record to class
* add hapi error code
* refactor
* refactor
* change code num
* refactor getmethodname to util method
* add docs and rename fields to conform to fhir standard
* typo
* version bump
* resolving merge conflicts.
* Bumping version
* Bumping version to 6.2.0-PRE5-SNAPSHOT
* Encapsulating parameters in a PatientEverythingParameters object.
Co-authored-by: Justin_Dar <justin.dar@smilecdr.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* consolidated Batch2Helper
check status in assert before running maintenance
ignore illegal job instance state transition
* Fix mock tests
* rename intermittent to IT
* extra logging
* into to debug
* review feedback
* added more logging
* removed fasttracking. replaced with support for triggering a maintenance run
* fixed tests
* fixed tests
* add asserts
* licenses
* snakeyaml cve version bump
* data migration
* merge origin/master
* merge origin/master
* fix test (support triggering jobs when scheduling is disabled)
* add counter to abort potential infinite loop after 100000 calls
* compile error
* move multipartition mdm tests out to a separate IT
update mongo job instance creation with new logic
* fix race condition
* back out infinite loop circuit breaker. it breaks terminology tests that depend on this loop running > 100000 times.
* fix test (triggered job key was missing group)
* revert saveAllDeferred
* Almost finished getting JpaPersistenceR4IT to pass
* testBulkExportDeleteForOnGoingJob still not passing
* testBulkExportDeleteForOnGoingJob still not passing
* Removed method `fetchInstanceAndMarkInProgress`. It was clobbering other state transitions like CANCELLED.
* undo rename of cancelled to cancelRequested. Thymeleaf depends on the old name
* ExpandResourcesStep requires a synchronous search
* Tests are passing but man testBulkExportDeleteForOnGoingJob is a flakey test
* fix test
* fix test
* change log
* allow ERRORED -> FAILED state transition
* add a timeout to saveAllDeferred()
* improve error message on timeout message
* fix tests
* added more logging
* added more logging
* fix semaphore issue
* Msg.code
* fix test
* javadoc
* switch all batch loggers to batch troubleshooting log
* add unit test, improve logging
* move TimeoutManager to its own class. Add tests.
* fix tests
* comment cleanup
* test race condition
* review feedback
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Bump for CVE (#3856)
* Bump for CVE
* Bump spring-data version
* Fix compile
* Cut over to spring bom
* Bump to RC1
* remove RC
* do not contrain reindex for common SP updates (#3876)
* only fast-track jobs with exactly one chunk (#3879)
* Fix illegalstateexception when an exception is thrown during stream response (#3882)
* Finish up changelog, minor refactor
* reset buffer only
* Hack for some replacements
* Failure handling
* wip
* Fixed the issue (#3845)
* Fixed the issue
* Changelog modification
* Changelog modification
* Implemented seventh character extended code and the corresponding dis… (#3709)
* Implemented seventh character extended code and the corresponding display
* Modifications
* Changes on previous test according to modifications made in ICD10-CM XML file
* Subscription sending delete events being skipped (#3888)
* fixed bug and added test
* refactor
* Update for CVE (#3895)
* updated pointcuts to work as intended (#3903)
* updated pointcuts to work as intended
* added changelog
* review fixes
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* 3904 during $delete expunge job hibernate search indexed documents are left orphaned (#3905)
* Add test and implementation
* Add changelog
* 3899 code in limits (#3901)
* Add implementation, changelog, test
* Update hapi-fhir-jpaserver-test-utilities/src/test/java/ca/uhn/fhir/jpa/provider/r4/ResourceProviderR4Test.java
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* 3884 overlapping searchparameter undetected rel 6 1 (#3909)
* Applying all changes from previous dev branch to current one pointing to rel_6_1
* Fixing merge conflict related to Msg.code value.
* Fixing Msg.code value.
* Making checkstyle happy.
* Making sure that all tests are passing.
* Passing all tests after fixing Msg.code
* Passing all tests.
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* 3745 - fixed NPE for bundle with duplicate conditional create resourc… (#3746)
* 3745 - fixed NPE for bundle with duplicate conditional create resources and a conditional delete
* created unit test for skip of delete operation while processing duplicating create entries
* moved unit test to FhirSystemDaoR4Test
* 3379 mdm fixes (#3906)
* added MdmLinkCreateSvcimplTest
* fixed creating mdm-link not setting the resource type correctly
* fixed a bug where ResourcePersistenceId was being duplicated instead of passed on
* Update hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/svc/MdmLinkCreateSvcImplTest.java
Change order of tests such that assertEquals takes expected value then actual value
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
* added changelog, also changed a setup function in test to beforeeach
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
* Fix to the issue (#3855)
* Fix to the issue
* Progress
* fixed the issue
* Addressing suggestions
* add response status code to MethodOutcome
* Addressing suggestions
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Fix for caching appearing broken in batch2 for bulkexport jobs (#3912)
* Respect caching in bullk export, fix bug with completed date on empty jobs
* add changelog
* Add impl
* Add breaking test
* Complete failing test
* more broken tests
* Fix more tests'
* Fix paging bug
* Fix another brittle test
* 3915 do not collapse rules with filters (#3916)
* do not attempt to merge compartment permissions with filters
* changelog
* Rename to IT for concurrency problems
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* Version bump
* fix $mdm-submit output (#3917)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Gl3407 bundle offset size (#3918)
* begin with failing test
* fixed
* change log
* rollback default count change and corresponding comments
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Offset interceptor now only works for external calls
* Initialize some beans (esp interceptors) later in the boot process so they don't slow down startup.
* do not reindex searchparam jobs on startup
* Fix oracle non-enterprise attempting online index add (#3925)
* 3922 delete expunge large dataset (#3923)
* lower batchsize of delete requests so that we do not get sql exceptions
* blah
* fix test
* updated tests to not fail
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* add index
* Fix up colun grab
* Bump Version for non-breaking purposes
* Fix broken test
* bump error code
* revert internal logic
* Revert offset mode change
* wip
* Revert fix for null/system request details checks for reindex purposes
* Fix bug and add test for SP Validating Interceptor (#3930)
* wip
* Fix uptests
* Fix index online test
* Fix SP validating interceptor logic
Co-authored-by: JasonRoberts-smile <85363818+JasonRoberts-smile@users.noreply.github.com>
Co-authored-by: Qingyixia <106992634+Qingyixia@users.noreply.github.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Etienne Poirier <33007955+epeartree@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: kateryna-mironova <107507153+kateryna-mironova@users.noreply.github.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* wip functional
TODO
- add tests
- look at adding TLS to other RestfulClientFactory classes (FhirwebRestfulClientFactory, JaxRsRestfulClientFactory, OkHttpRestfulClientFactory)
* move BaseRestServerHelper to Hapi-Fhir
* - add TLS support for JaxRsClient and OkHttpClient
- add tests
* - to use resources and files
* - ci fixes
* - ci fixes
* - ci fixes
* - ci fixes
* - refactor and tests
* - ci fixes
* - tests
* - tests
* - tests / refactor
* - clean up
* - changelog
* - remove OkHttpClient HTTPS support
* - ci
* - Ken's code review changes
* - Ken's code review: method renaming
* - Ken's code review: javadoc
* - Code coverage
* - Create HapiFhirCliRestfulClientFactory to encapsulate new HTTPS functionality. Remove modifications to the FhirContext API.
* - version bump
* - fix unable to bind port errors by using Jetty functionality to assign random ports
* Revert "- version bump"
This reverts commit cfce82576a.
* - version bump
Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>
* added a paging api to ijobcoordinator
* adding changelog
* moved location
* added a comment
* Added Sort parameter to JobInstanceFetchRequest
* Bump HAPI-FHIR version
* Updated JPA api to include sort
* Add changelog
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: David Chen <david.chen@smilecdr.com>
* small refactor
* refactored MDM module to use iterface IMDMLink, refactored MDMLink to use ResourcePersistenceId wrapper rather than pid as long
* removing IJpaIdHelperService and refactor IIdHelperService
* fixed bugs for GoldenResourceMergerSvcImpl and FindCandidateByExampleSvc
* changes to IIdHelperService
* move MdmSearchParamSvc and MdmSubmitSvcImpl out of jpaserver-mdm
* moved JpaResourceLoader to hapi-fhir-storage, renamed to ResourceLoaderImpl
* added error Msg code, removed Fixme
* fixed error code, update last used code in Msg.java to 2083
* fixed accidentally throwing unprocessableentityException
* added MdmLinkExpandSvc interface
* build adding license to files
* MdmLinkdao refactor
* fix build
* mdm config refactoring
* MdmStorageInterceptor and IExpungeEverythingService changes
* fix bug where a pid is converted to ResourcePersistenceId twice
* minor refactor to IMdmLink, change id from long to ResourcePersistenceId
* changed PageImpl to Page interface
* refactor MdmSearchExpandingInterceptor to use interface
* fixed missed refactor where the resourcePersistenceId is still assumed to be long
* resolve test failures resulting from merging master
* changed conflicting exception code
* fixed issue with bulk export wrapping resourcePid inside resourcePersistenceId
* added IMdmLinkImpl to MdmSettings
* fixed missing import in IdHelperService from merging master
* fixed MdmLinkDaoSvcTest importing wrong MdmLinkTuple
* restored JpaIdHelperService and added changelog
* modified msg.code to non-duplicate
* code review changes
* refactored some bulk export batch 2 files to accomodate change in beans being exported
* fixed jpa bulk export failing tests
* removed duplicate bean declaration of MdmLinkImplFactory in BaseMdmR4Test
* merged master and bump version to pre25
* extracted expungeEverythingByType to IExpungeEverythingService
* fixed wiring issue
* messed up merging pom with master
* fixed broken changelog
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: Samuel Lee <samuel.lee@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* added a paging api to ijobcoordinator
* adding changelog
* moved location
* added a comment
* blah
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* Revert "test passes with a lot of copy/paste"
This reverts commit f2f28e22ef.
* make translateOutcomeToResults public
* double RAM
* final consolidation. move shared code out to static utility methods
* revert azure memory
disable jacoco on jpaserver test prokect
* bump hapi version
* rebump hapi to PRE-21
* licenses
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Creating an exception to be raised when searching for _tag/_provide/_security where the associated tokenParam is not properly formatted.
* Adding changelogs.
* Adding integration test.
* Rewording ChangeLog.
* Rewording exception message.
* Addressing code review comments.
* Addressing code review comments.
* Bumping hapi-fhir version to 6.1.0-PRE20-SNAPSHOT
* Modifications to pass checkstyle.
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* Not the final version
* Support PATCH operation
* minor modifications
* minor modifications
* Final version
* Final version
* Version Bump
* bump version again
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* base batch2 bulk export steps - unimplemented
* added the basic steps
* adding tests
* we have added the tests
* added tests for bulk export stages
* implementing jpa
* 3531 adding the jpabukexportprocessorimplementation
* 3531 first step for mongo bulk export
* jpa stuff updated
* 3531 hapi fhir stuff
* trying to fix up tests
* fixing test
* fixed most tests in batch export
* deprecate
* need some more guidance here
* fixing some tests
* some steps taken
* blah
* stashing
* test
* fixing tests round 1
* many a changes
* updating version
* small updates
* merging in mster again
* fixing up serialization
* added the permission checkers
* cleanup and sonarkube crap
* some more tests
* updating adding tests
* crimes
* blah
* updatingmsg number again
* removal of commented code
* cleanup
* merge confflicts
* fixing msg
* review fixes round 1
* more review fixes
* merging in master
* fixing poms
* review points
* test fix
* test fix
* fix test race condition
* truncate error
* add stack trace to error
* rename to IT
* fix race condition in test
* finally fixed race condition in test. this time I'm optimistic hapi ci will finally pass
* fix mock test. not a fan of mock tests like this.
* any job definition with a reducer step must be gated.
* fixed common batch bean wiring
* fix test
* lazy init ResponseTerminologyTranslationSvc
* change the way we lazy init ResponseTerminologyTranslationSvc
* change the way we lazy init ResponseTerminologyTranslationSvc (for the third time. this is super tricky!)
* disabling testGoldenResourceWithCircularReferenceCanBeCleared for now
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* 3770 fixing error handling
* some updates to error handling
* changelog
* blah
* bumping version
* fix test failures
* code review points
* review points
* add retry test
* assert counts in the test
* test fixes
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* added failing test for Map Response Terminology for bulk export
* moved logic for terminology translation out of the interceptor to svc, added translation logic to bulk export file writer, added more tests
* added changelog
* Wip refactor dependency fix
* wip terminology translation code refactor
* terminology translation code refactor
* refactor clean up
* Remove circular dependency
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/6_1_0/3719-enable-map-response-terminology-for-bulk-export.yaml
* bump version of hapi to 6.1.0-PRE7-SNAPSHOT
* doc update
* fix issue when search param registry doesn't contain search param for the resource type
* fix beans
* hapi version bump from PRE7 to PRE10
* doc update
* add ResponseTerminologyTranslationSvc as a constructor variable to the interceptor
* fixed ResponseTerminologyInterceptorLoaderTest, added IT for cdr side
* version bump to PRE13
* removed unused import
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* begin with failing test
* begin with failing test
* remove unused Spring Batch classes.
convert service classes
* move provider
* just one test left to fix
* fix test
* msg.code
* change log
* bumping hapi to PRE12
* fix test
* review feedback
* license update
* fix intermittent and status update atomicity
* restore url-level partition selection
* fix tests
Co-authored-by: Ken Stevens <ken@smilecdr.com>
- Added functionality to optionally filter out deleted resources when resolving forced ids to persistent ids
- Bumps version
Co-authored-by: nathaniel.doef <nathaniel.doef@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* rename field that drives everything includes
* discovered design flaw in completion
* fix intermittent
* ensure batch2 completion handler can't be called twice
* changelog
* changelog
* javadoc
* bump hapi version
* licences
* Batch2 job definitions can now optionally provide an error handler callback that will be called when a job
instance fails, errors or is cancelled.
* Changed error handler and completion handler to take a "read-only" copy of an instance instead of just certain fields.
* comment
* javadoc
* fix test
* change step execution context from taking instance id to instance
* review feedback
* fix test
* replace 20 or so jetbrains annotations
* fixed a few incorrect @NotNull annotations
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* first test passes. onto the next one
* two down two to go
* three down one to go
* licenses
* basic admin-json plumbing confirmed with IT
* FIXME
* FIXME
* FIXME
* FIXME
* changelog
* bump hapi version to 6.1.0-PRE6-SNAPSHOT
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Initial implementation
* Implement job cancellation
* Works for date and token. Cleanup required.
* Works for string and quantity.Cleanup pending.
* Works for reference and perform cleanup.
* Cleanup configuration and add missing tests
* Eliminate sort property registry (no go for a cluster) for a static property map.
* Missed in previous commit
* Implement HSearch number parameter
* Implement HSearch number sorting
* Unify different hibernate search names (HibernateSearch, Freetext and Lucene) to HSearch
* Move analysis configures for lucene and elastic to same file to enforce the need to keep them in synch
* Use new defined constant
* Rename package too
* Rename additional elastic references
* bump version to 6.1.0-PRE5-SNAPSHOT
* Restore Hap prefix to hapi configurers
* fixing hapi version of new maven module
* fix pom
* fix pom
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* begin with failing test
* continue building out
* continue building out
* reworking chunk api
* replace ChunkId zippers with proper iterator
* progressing test
* yay test passes!
* switch to idchunk interface
* fixmes
* compiles
* fixme
* fixme
* rename classes
* rename json classes with json suffix
* work towards homogeneous chunks
* fixme
* fixme
* unit test
* fixme
* fixme
* pull out builder
* moar tests
* moar tests
* preserve order
* moar test
* moar test
* fixme
* fixme -> wip to start ci
* msg code
* msg code fix test
* fixme
* change provider implementation
* final WIPs
* IT failing
* IT passes
* java 11
* fix test
* fix test
* fix test
* changelog
* use batch size if provided
* last WIP
* fix test
* fix test
* fix test
* whitespace change to trigger new build
* fix test
* bumping hapi version
* bumping hapi version
* fix test
* review feedback
Co-authored-by: Ken Stevens <ken@Kens-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* adding a bunch of stuff
* most of the steps are working now
* writing more tests
* adding more tests
* updated the batch2 coordinators
* updating version
* some minor test tweaks
* added a new test
* adding more tests
* blah
* blah
* review fixes 1
* fixing tests and refactoring
* review points
* updated for code review
* review fixes
* updated
* step 1 on review step 5
* final touches
* blah
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* fix config settings for system-level expunge
* clean up expunge everything interface
* extract common system provider
* changelog
* version bump
* touch changelog to force a fresh pipeline
* re-enable publishing of checkstyle
* back out Gary's Sonatype change entirely
* Refactor to restore LGTM functionality
* Compile fix
* Work on cleanup
* Attempt to restore LGTM
* Work on tests
* Fixes
* Build fixes
* Build fix
* Test fix
* Test fixes
* Work on build
* License header updates
* Test fixes
* Test fixes
* License header
* Test fix
* Test fix
* Test fixes
* Restore LGTM
* Fix azure
* Disable test
* Test fixes
* Test cleanup
* Build fix
* Build fix
* Test fix
* Test fix
* Test fixes