Commit d35af3d5a4fdc8d57b3ffd13cfc64905a5c0e451

Authored by Tiago Guimarães
1 parent 83b21e1548
Exists in BadCharsCTask

More Documentation

dspace-api/src/main/java/pt/uminho/sdum/dspace/curationtasks/CheckBadChars.java
... ... @@ -11,6 +11,8 @@ import java.sql.SQLException;
11 11 * @author tmmguimaraes on 22/07/2016.
12 12 * Percorre todos os campos de metadados, char a char, à procura de caracteres inválidos para XML.
13 13 * no método isBadXMLChar está o intervalo.
  14 + *
  15 + * A classe Distributor é o que faz a curation task percorrer todos os items.
14 16 */
15 17  
16 18 @Distributive
... ... @@ -20,6 +22,7 @@ public class CheckBadChars extends Distributor {
20 22 String handle = item.getHandle();
21 23 StringBuilder res = new StringBuilder();
22 24  
  25 + //Vais buscar todos os metadados
23 26 Metadatum[] values = item.getMetadata(Item.ANY, Item.ANY, Item.ANY, Item.ANY);
24 27  
25 28 for (Metadatum metadatum : values) {
... ... @@ -27,11 +30,14 @@ public class CheckBadChars extends Distributor {
27 30 boolean hasBadChar = false;
28 31 int i = 0;
29 32  
  33 + //percorre char a char dum campo de metadados
30 34 while (!hasBadChar && i < buffer.length)
31 35 if (isBadXMLChar(buffer[i++]))
32 36 hasBadChar = true;
33 37  
34 38 if (hasBadChar) {
  39 + //estas 5 linhas é para verificar se o campo de metadados tem qualifier
  40 + //para evitar null pointer exception quando é um campo sem qualifier.
35 41 String end = metadatum.qualifier;
36 42 if (end == null || end.equals(""))
37 43 end = "";
... ...