Revision: 5700
Author:
fabio.bo...@gmail.com
Date: Tue Sep 18 09:50:27 2012
Log: Fixing: unable to delete items
http://code.google.com/p/dryad/source/detail?r=5700
Modified:
/trunk/dryad/dspace/modules/doi/dspace-doi-api/src/main/java/org/dspace/doi/Minter.java
=======================================
---
/trunk/dryad/dspace/modules/doi/dspace-doi-api/src/main/java/org/dspace/doi/Minter.java
Wed Aug 8 15:38:52 2012
+++
/trunk/dryad/dspace/modules/doi/dspace-doi-api/src/main/java/org/dspace/doi/Minter.java
Tue Sep 18 09:50:27 2012
@@ -36,58 +36,61 @@
*/
public Minter() {}
- public DOI register(DOI aDOI, Map<String, String> metadata) throws
IOException {
- log.debug("Entering register(DOI) method");
-
- try {
- String target = aDOI.getTargetURL().toString();
- String doi = aDOI.toID();
- log.debug("doi to register: " + doi + ", target: " + target);
+ public DOI register(DOI aDOI, Map<String, String> metadata) throws
IOException
+ {
+ log.debug("Entering register(DOI) method");
- // open connection to the DOI URL
- URL url = aDOI.toURL();
- HttpURLConnection http = (HttpURLConnection) url.openConnection();
- http.connect();
+ try{
+ String target = aDOI.getTargetURL().toString();
+ String doi = aDOI.toID();
- // if the URL issues a redirect, the DOI is already registered, so try
to update it
- if (http.getResponseCode() == 303) {
- if (!http.getHeaderField("Location").equals(target)) {
- if (myDataCiteConnectionIsLive) {
- String response = myDoiService.update(doi, target, metadata);
- log.debug("Response from DOI service: " + response);
- } else {
-
log.info("Dryad URL updated: " + aDOI + " = " + target);
- }
- } else {
- log.debug("Ignored: URL " + target + " already registered");
- }
- } else {
- // DOI is not registered, create a new registration
- if (myDataCiteConnectionIsLive) {
- String response = myDoiService.registerDOI(doi, target, metadata);
- response = response.toUpperCase();
-
- if(!response.contains("OK") &&
- !response.contains("CREATED") &&
- !response.contains("SUCCESS")) {
- log.error("DOI Service reports problem: " + response);
- myDoiService.emailException(response, doi, "registration");
- } else {
- log.debug("DOI registered: " + response);
- }
- } else {
-
log.info("DOI service not connected, registration skipped.");
- }
- }
+ if (myDataCiteConnectionIsLive){
+ log.debug("doi to register: " + doi + ", target: " +
target);
- http.disconnect();
- } catch (MalformedURLException details) {
- log.error("Malformed URL", details);
- throw new RuntimeException(details);
- }
-
- return aDOI;
- }
+ // open connection to the DOI URL
+ URL url = aDOI.toURL();
+ HttpURLConnection http = (HttpURLConnection)
url.openConnection();
+ http.connect();
+
+ // if the URL issues a redirect, the DOI is already
registered, so try to update it
+ if (http.getResponseCode() == 303){
+ if (!http.getHeaderField("Location").equals(target))
+ {
+ String response = myDoiService.update(doi, target,
metadata);
+ log.debug("Response from DOI service: " +
response);
+ }
+ else{
+ log.debug("Ignored: URL " + target + " already
registered");
+ }
+ }
+ else{
+ String response = myDoiService.registerDOI(doi,
target, metadata);
+ response = response.toUpperCase();
+
+ if (!response.contains("OK") &&
+ !response.contains("CREATED") &&
+ !response.contains("SUCCESS"))
+ {
+ log.error("DOI Service reports problem: " +
response);
+ myDoiService.emailException(response,
doi, "registration");
+ }
+ else{
+ log.debug("DOI registered: " + response);
+ }
+ }
+ http.disconnect();
+ }
+ else{
+
log.info("DOI service not connected, registration
skipped.");
+ }
+ }
+ catch (MalformedURLException details){
+ log.error("Malformed URL", details);
+ throw new RuntimeException(details);
+ }
+
+ return aDOI;
+ }
/**
* Creates a DOI from the supplied DSpace URL string