Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
IQSS/3623 - Multiple PID Provider support (#10234)
* Switch to per-pid-provider settings * partial refactor towards non-bean providers * ~auto refactor name/package, remove bean status * remove Util class * rename * add factories for all, fix providers, etc. * unmanaged providers * add getters * add name to cnstr, add cnstr for unmanaged, add auth/shoulder checks * update permalinks, add separator setting * no arg constructor * add unmanaged providers * check canManagePid instead * replace getBean(), compiles except for tests * update tests, comment out ones that are TBD * add clear method for testing * bugs - remove dup authority, fix name, add auth/sep/shoulder tests * make managed/excluded lists optional * fix name in generated pids * move setup to berforeall, add test of second permaprovider * provider name->id * adding label, more name->id * providerName->providerId * add factory map, lookups, add factory, perma parsing tests * first datacite parsing test/fix id in pid * rename class * move auth/shoulder check to lower level method * fix ids, fix managed list optional in fake * add effective pid generator logic * add effective pid generator tests * fix param order * fix perma handling of managed/excluded entries * add managed/excluded tests, cleanup * update pidprovider discovery to get effective one when necessary * replace all refs to global protocol/auth/shoulder settings xcept one keeping the new PidProviderFactoryBean.getDefaultPidGenerator() for now as a possible way to stay ~backward comaptible All the rest - tried to find the appropriate PidProvider to supply the values * first UI for setting Pid generator * typo * flyway script to add pid spec column * @autoservice and public class for loader discovery * minor cleanup/refactor * verify protocol/auth are set/match the provider plus cleanup * only call getGlobalId() when one should exist * force all calls to create identifier to set protocol/auth as well * move template to match refactor * require superuser to change PidProvider * cleanup * check can create method * make fake provider create file pids * typo - fix UI * return default instead of null for UI * unrelated - logic fix * partial support for legacy config - FAKE and DatCite - for testing * cleanup * style fail * fix test - don't reset list of providers * allow old aliases * reverse logic in datacite legacy creator, add null check * fix lookups, update test, test DataCite legacy * missing if! * disable obsolete test * updated docs * add test urls as default * cleanup -remove unused imports * unrelated link fix * fix for #10251 - sync terms popup required code * API calls for getting provider info and changing PID Generators * api docs * change level for entries to fix build error * typo in refs * fix indents * more bad refs * support for legacy hdl, perma, ezid * new packages for everyone! (refactor) * unused imports * fix cut/paste issues * add deprecation info * Apply suggestions from code review Co-authored-by: Oliver Bertuch <[email protected]> * reorg/update imports * revert 2e41b9e * deprecate old settings * Change error handling and warnings per review * Add testing for a valid PID generator as a config test * formatting, switch if /else logic per review * add deprecation * move pid provider's dir setting to spi scope * change flyway name, tweak release note, delete unused test class * temporary flyway change * use new settings in install * Revert "temporary flyway change" This reverts commit 7106ef6. * fix rest api setting * handle spaces in the pidproviders setting * add note in Harvard setup * refactoring/cleaning DataCite provider, drop cache * moving XmlMetadataTemplate to doi package * missing import * move xml file to match package * minor fixes, make getPidStatus visible in test * disabled test of DPI lifecycle * update installer/docs to not talk about a partial DataCite test setup * remove legacy setting * indent issue * missing ) * fix setting name * remove obsolete settings * add defaults * add valid fake pid setup for docker * also adding pid config to the -dev yml * Update docker-compose-dev.yml Co-authored-by: Steven Winship <[email protected]> * Update docker/compose/demo/compose.yml Co-authored-by: Steven Winship <[email protected]> * Update docker-compose-dev.yml Co-authored-by: Steven Winship <[email protected]> * Update docker/compose/demo/compose.yml Co-authored-by: Steven Winship <[email protected]> --------- Co-authored-by: Oliver Bertuch <[email protected]> Co-authored-by: qqmye <qqmye@BOOK-2CB3G91HHU> Co-authored-by: Steven Winship <[email protected]>
- Loading branch information