Commit 682fb31867d951a7236fc90616e73539c93869fd

Authored by Tiago Guimarães
1 parent 5c8c52e22e

fixed doi error because of string index

dspace-api/src/main/java/pt/uminho/sdum/dspace/curationtasks/DoiValidator.java
... ... @@ -30,14 +30,20 @@ public class DoiValidator extends Distributor {
30 30 sb.append("</a> não tem o prefixo do DOI (http://dx.doi.org/) <br>");
31 31 //got regex from http://blog.crossref.org/2015/08/doi-regular-expressions.html
32 32 } else { */
33   - String sub = doi.substring(18);
34   - if (!sub.matches("^10.\\d{4,9}/[-._;()/:a-zA-Z0-9]+$")) {
35   - sb.append("<a href=\"http://hdl.handle.net/");
36   - sb.append(handle);
37   - sb.append("\" target=\"_blank\">");
38   - sb.append(handle);
39   - sb.append("</a> pode ter um DOI inválido <br>");
40   - }
  33 + String sub;
  34 + if (doi.startsWith("http://dx.doi.org/"))
  35 + sub = doi.substring(18);
  36 + else if(doi.startsWith("http://doi.org/"))
  37 + sub = doi.substring(15);
  38 + else
  39 + sub = doi;
  40 + if (!sub.matches("^10.\\d{4,9}/[-._;()/:a-zA-Z0-9]+$")) {
  41 + sb.append("<a href=\"http://hdl.handle.net/");
  42 + sb.append(handle);
  43 + sb.append("\" target=\"_blank\">");
  44 + sb.append(handle);
  45 + sb.append("</a> pode ter um DOI inválido <br>");
  46 + }
41 47 //}
42 48 }
43 49  
... ...