mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 10:04:21 +00:00
More information about failed DOI registrations.
This commit is contained in:
@@ -577,7 +577,8 @@ public class DOIOrganiser {
|
||||
}
|
||||
} catch (IdentifierException ex) {
|
||||
if (!(ex instanceof DOIIdentifierException)) {
|
||||
LOG.error("It wasn't possible to register the identifier online. ", ex);
|
||||
LOG.error("Registering DOI {} for object {}: the registrar returned an error.",
|
||||
doiRow.getDoi(), dso.getID(), ex);
|
||||
}
|
||||
|
||||
DOIIdentifierException doiIdentifierException = (DOIIdentifierException) ex;
|
||||
|
@@ -461,6 +461,10 @@ public class DataCiteConnector
|
||||
log.warn("While reserving the DOI {}, we got a http status code "
|
||||
+ "{} and the message \"{}\".",
|
||||
doi, Integer.toString(resp.statusCode), resp.getContent());
|
||||
Format format = Format.getCompactFormat();
|
||||
format.setEncoding("UTF-8");
|
||||
XMLOutputter xout = new XMLOutputter(format);
|
||||
log.info("We send the following XML:\n{}", xout.outputString(root));
|
||||
throw new DOIIdentifierException("Unable to parse an answer from "
|
||||
+ "DataCite API. Please have a look into DSpace logs.",
|
||||
DOIIdentifierException.BAD_ANSWER);
|
||||
@@ -632,6 +636,14 @@ public class DataCiteConnector
|
||||
return sendHttpRequest(httpget, doi);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a DataCite metadata document to the registrar.
|
||||
*
|
||||
* @param doi identify the object.
|
||||
* @param metadataRoot describe the object. The root element of the document.
|
||||
* @return the registrar's response.
|
||||
* @throws DOIIdentifierException passed through.
|
||||
*/
|
||||
protected DataCiteResponse sendMetadataPostRequest(String doi, Element metadataRoot)
|
||||
throws DOIIdentifierException {
|
||||
Format format = Format.getCompactFormat();
|
||||
@@ -640,6 +652,14 @@ public class DataCiteConnector
|
||||
return sendMetadataPostRequest(doi, xout.outputString(new Document(metadataRoot)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a DataCite metadata document to the registrar.
|
||||
*
|
||||
* @param doi identify the object.
|
||||
* @param metadata describe the object.
|
||||
* @return the registrar's response.
|
||||
* @throws DOIIdentifierException passed through.
|
||||
*/
|
||||
protected DataCiteResponse sendMetadataPostRequest(String doi, String metadata)
|
||||
throws DOIIdentifierException {
|
||||
// post mds/metadata/
|
||||
@@ -687,7 +707,7 @@ public class DataCiteConnector
|
||||
* properties such as request URI and method type.
|
||||
* @param doi DOI string to operate on
|
||||
* @return response from DataCite
|
||||
* @throws DOIIdentifierException if DOI error
|
||||
* @throws DOIIdentifierException if registrar returns an error.
|
||||
*/
|
||||
protected DataCiteResponse sendHttpRequest(HttpUriRequest req, String doi)
|
||||
throws DOIIdentifierException {
|
||||
|
Reference in New Issue
Block a user