diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java index 0c8fa15fa85667d2d690c49bfd7beb55ceb38634..77e012119e403a71fb921a649eefe3b2e937d073 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java @@ -47,13 +47,12 @@ public class DublinCoreFieldLoader { return contributors; } - public static List<String> setContributor(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - contributors.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setContributor(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + contributors.add(responseWorkValues.getField(field).getValue().toString()); + } } } @@ -62,13 +61,12 @@ public class DublinCoreFieldLoader { // ----DC-Creator - public static List<String> setCreator(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - creators.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setCreator(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + creators.add(responseWorkValues.getField(field).getValue().toString()); + } } } return creators; @@ -117,34 +115,30 @@ public class DublinCoreFieldLoader { // ----DC-Date public static List<String> setDate(GetResponse responseWorkValues, String[] values) { - - for (String field : values) { - try { - // FIXME DO SET VALUES VIA CONFIG FILE! - System.out.println("fieldname: "+ field); + + if(responseWorkValues.isExists()){ + for (String field : values) { + try { + // FIXME DO SET VALUES VIA CONFIG FILE! + System.out.println("fieldname: "+ field); - if (responseWorkValues.getField(field) != null) { - dates.add(OAIPMHUtillities.convertDateFormat( - responseWorkValues.getField(field).getValue() + if (responseWorkValues.getField(field) != null) { + dates.add(OAIPMHUtillities.convertDateFormat(responseWorkValues.getField(field).getValue() .toString()).toXMLFormat()); - } - } catch (ParseException e) { - System.out.println("fieldname: "+ field); - // FIXME DO NOT USE INVALID DATE HERE! - dates.add(responseWorkValues.getField(field) - .getValue().toString()); - - log.debug(e); - } catch (DatatypeConfigurationException e) { - System.out.println("fieldname: "+ field); - // FIXME DO NOT USE INVALID DATE HERE! - dates.add(responseWorkValues.getField(field) - - .getValue().toString()); + } + } catch (ParseException e) { + System.out.println("fieldname: "+ field); + // FIXME DO NOT USE INVALID DATE HERE! + dates.add(responseWorkValues.getField(field).getValue().toString()); + log.debug(e); + } catch (DatatypeConfigurationException e) { + System.out.println("fieldname: "+ field); + // FIXME DO NOT USE INVALID DATE HERE! + dates.add(responseWorkValues.getField(field).getValue().toString()); log.debug(e); + } } } - return dates; } @@ -161,16 +155,14 @@ public class DublinCoreFieldLoader { // ----DC-Description - public static List<String> setDescription(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - descriptions.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setDescription(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + descriptions.add(responseWorkValues.getField(field).getValue().toString()); + } } } - return descriptions; } @@ -202,14 +194,13 @@ public class DublinCoreFieldLoader { public static List<String> setFormat(GetResponse responseWorkValues, String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - formats.add(responseWorkValues.getField(field).getValue() - .toString()); + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + formats.add(responseWorkValues.getField(field).getValue().toString()); + } } } - return formats; } @@ -229,13 +220,12 @@ public class DublinCoreFieldLoader { return identifiers; } - public static List<String> setIdentifier(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - identifiers.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setIdentifier(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + identifiers.add(responseWorkValues.getField(field).getValue().toString()); + } } } @@ -248,24 +238,22 @@ public class DublinCoreFieldLoader { for (String field : values) { if (hit.getFields().get(field) != null) { - languages.add(hit.getFields().get(field).values().get(0) - .toString()); + languages.add(hit.getFields().get(field).values().get(0).toString()); } } return languages; } - public static List<String> setLanguage(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - languages.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setLanguage(GetResponse responseWorkValues,String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + languages.add(responseWorkValues.getField(field).getValue().toString()); + } } } - + return languages; } @@ -275,24 +263,22 @@ public class DublinCoreFieldLoader { for (String field : values) { if (hit.getFields().get(field) != null) { - publishers.add(hit.getFields().get(field).values().get(0) - .toString()); + publishers.add(hit.getFields().get(field).values().get(0).toString()); } } return publishers; } - public static List<String> setPublisher(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - publishers.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setPublisher(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + publishers.add(responseWorkValues.getField(field).getValue().toString()); + } } } - + return publishers; } @@ -302,10 +288,8 @@ public class DublinCoreFieldLoader { for (String field : values) { if (hit.getFields().get(field) != null) { - for (int i = 0; i < hit.getFields().get(field).getValues() - .size(); i++) { - relations.add(hit.getFields().get(field).values().get(i) - .toString()); + for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) { + relations.add(hit.getFields().get(field).values().get(i).toString()); } } } @@ -313,29 +297,27 @@ public class DublinCoreFieldLoader { return relations; } - public static List<String> setRelation(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - relations.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setRelation(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + relations.add(responseWorkValues.getField(field).getValue().toString()); + } } } - + return relations; } - public static List<String> setRelationForWork( - GetResponse responseWorkValues, String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - relations.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setRelationForWork(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + relations.add(responseWorkValues.getField(field).getValue().toString()); + } } } - + return relations; } @@ -345,24 +327,22 @@ public class DublinCoreFieldLoader { for (String field : values) { if (hit.getFields().get(field) != null) { - rights.add(hit.getFields().get(field).values().get(0) - .toString()); + rights.add(hit.getFields().get(field).values().get(0).toString()); } } return rights; } - public static List<String> setRights(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - rights.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setRights(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + rights.add(responseWorkValues.getField(field).getValue().toString()); + } } } - + return rights; } @@ -372,36 +352,32 @@ public class DublinCoreFieldLoader { for (String field : values) { if (hit.getFields().get(field) != null) { - sources.add(hit.getFields().get(field).values().get(0) - .toString()); + sources.add(hit.getFields().get(field).values().get(0).toString()); } } return sources; } - public static List<String> setSources(GetResponse responseWorkValues, - String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - sources.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setSources(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + sources.add(responseWorkValues.getField(field).getValue().toString()); + } } } - + return sources; } // ----DC-Subject - public static List<String> setSubject(GetResponse responseWorkValues, - String[] values) { - + public static List<String> setSubject(GetResponse responseWorkValues, String[] values) { + for (String field : values) { if (responseWorkValues.getField(field) != null) { - subjects.add(responseWorkValues.getField(field).getValue() - .toString()); + subjects.add(responseWorkValues.getField(field).getValue().toString()); } } @@ -409,11 +385,10 @@ public class DublinCoreFieldLoader { } public static List<String> setSubject(SearchHit hit, String[] values) { - + for (String field : values) { if (hit.getFields().get(field) != null) { - subjects.add(hit.getFields().get(field).values().get(0) - .toString()); + subjects.add(hit.getFields().get(field).values().get(0).toString()); } } @@ -426,10 +401,8 @@ public class DublinCoreFieldLoader { for (String field : values) { if (hit.getFields().get(field) != null) { - for (int i = 0; i < hit.getFields().get(field).getValues() - .size(); i++) { - titles.add(hit.getFields().get(field).values().get(i) - .toString()); + for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) { + titles.add(hit.getFields().get(field).values().get(i).toString()); } } } @@ -439,33 +412,32 @@ public class DublinCoreFieldLoader { public static List<String> setTitle(GetResponse responseWorkValues, String[] values) { - - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - for (int i = 0; i < responseWorkValues.getField(field) - .getValues().size(); i++) { - titles.add(responseWorkValues.getField(field).getValue() - .toString()); + if(responseWorkValues.isExists()){ + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + for (int i = 0; i < responseWorkValues.getField(field).getValues().size(); i++) { + titles.add(responseWorkValues.getField(field).getValue().toString()); + } } } } - + return titles; } // ----DC-Type - public static List<String> setType(GetResponse responseWorkValues, - String[] values) { - - if (values != null) { - for (String field : values) { - if (responseWorkValues.getField(field) != null) { - types.add(responseWorkValues.getField(field).getValue() - .toString()); + public static List<String> setType(GetResponse responseWorkValues, String[] values) { + if(responseWorkValues.isExists()){ + if (values != null) { + for (String field : values) { + if (responseWorkValues.getField(field) != null) { + types.add(responseWorkValues.getField(field).getValue().toString()); + } } } } + return types; }