-
Notifications
You must be signed in to change notification settings - Fork 535
Description
This is a followup issue to #5427
We've discussed some further improvements/safety checks to the DataCite registration process.
For example, it would be more prudent to actually read the response from the DataCite /metadata API and validate it; rather than rely on receiving a 200.
Some limit on the number of retries perhaps?
Review the transaction framework of the publishing process; makes sure nothing is left in a bad state when the publication process goes wrong due to the global id(s) registration.
Some overall cleanup of the code may be beneficial too... I may be missing something - but it's not immediately clear to me why we need the DOIDataCiteServiceBean and the separate DOIDataCiteRegisterService - ? It looks like duplication of code/more places for things to go wrong...
The code that actually talks to DataCite is isolated in DataCiteRESTfullClient.java btw; as of now - with the fixes in the PR #5428 - it is still possible to write some code that will call the DataCiteRESTfullClient.testDOIExists() directly, give it a junk string and get "true".
The above is just to open an issue; if anyone can think of things to further investigate and/or improve, please add.