From 167a9bff749bb4b6f916dabae064dbfb6c253c99 Mon Sep 17 00:00:00 2001 From: mbrodhu <brodhun@sub.uni-goettingen.de> Date: Thu, 28 May 2015 16:40:53 +0200 Subject: [PATCH] ListIdentifier Logs --- .../textgrid/middleware/SetDeliverer.java | 79 ++++++++++--------- 1 file changed, 43 insertions(+), 36 deletions(-) diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java index c232e4f9..139d225e 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/SetDeliverer.java @@ -30,9 +30,12 @@ public class SetDeliverer { private String repositoryObjectURIPrefix; private String specField; private String specFieldPrefix; + private Set<String> project = new LinkedHashSet<String>(); + private Set<String> projectID = new LinkedHashSet<String>(); + private boolean textgrid= true; public ListSetsType setListBuilder() { - System.out.println("start set deliverer"); + ListSetsType setList = new ListSetsType(); QueryStringQueryBuilder aggQuery = QueryBuilders.queryString("*"); @@ -40,60 +43,64 @@ public class SetDeliverer { SearchRequestBuilder request = this.oaiEsClient.getOaiESClient() .prepareSearch(this.oaiEsClient.getEsIndex()) .setTypes(this.oaiEsClient.getEsType()).setQuery(aggQuery) - .addField(formatField)//metadata.dc:format - .addField(identifierField).setSize(100000); //"metadata.dc:identifier" - + .addField(formatField) + .addField(identifierField) + .addField("project.value") + .addField("project.id") + .setSize(100000); + SearchResponse getRecordListItems = request.execute().actionGet(); for (SearchHit hit : getRecordListItems.getHits().getHits()) { - System.out.println("indside for loop"); - System.out.println("formatField: " + formatField); - System.out.println("formatToFilter: " + formatToFilter); - if(hit.getFields().get(formatField) != null && hit.getFields().get(formatField).value() - .equals(formatToFilter)) { - - System.out.println("identifierField: " + identifierField); - System.out.println("identifier: " + identifier); - this.identifier.add(hit.getFields() - .get(identifierField).values().get(0) - .toString()); + + if(hit.getFields().get(formatField) != null && hit.getFields().get(formatField).value().equals(formatToFilter)) { + + this.identifier.add(hit.getFields().get(identifierField).values().get(0).toString()); + this.project.add(hit.getFields().get("project.value").values().get(0).toString()); + this.projectID.add(hit.getFields().get("project.id").values().get(0).toString()); } + + } + + if(textgrid==true){ + + for(String projectSetSpec : this.project){ + SetType set = new SetType(); + set.setSetName(projectSetSpec); + setList.getSet().add(set); + } + }else{ + for (String identifierSetSpec : this.identifier) { - System.out.println("indside second for loop"); String id = identifierSetSpec; - if (identifierSetSpec - .startsWith(repositoryObjectURIPrefix)) { //hdl: - id = identifierSetSpec - .substring(repositoryObjectURIPrefix - .length()); + if (identifierSetSpec.startsWith(repositoryObjectURIPrefix)) { + id = identifierSetSpec.substring(repositoryObjectURIPrefix.length()); } GetRequestBuilder collectionNameById = this.oaiEsClient .getOaiESClient().prepareGet() .setIndex(this.oaiEsClient.getEsIndex()) .setType(this.oaiEsClient.getEsType()) - .setFields(specField).setId(id); //metadata.dc:title + .setFields(specField).setId(id); - System.out.println("process the getRequest"); - GetResponse setSpec = collectionNameById.execute().actionGet(); - String setName = ""; - if (setSpec != null - && setSpec.getField(specField) != null) { - System.out.println("building sets"); - setName = setSpec.getField(specField) - .getValue().toString(); - } - - SetType set = new SetType(); + + String setName = ""; + if (setSpec != null && setSpec.getField(specField) != null) { + setName = setSpec.getField(specField).getValue().toString(); + } - set.setSetName(setName); - set.setSetSpec(specFieldPrefix + ":" + id); + SetType set = new SetType(); - setList.getSet().add(set); + set.setSetName(setName); + set.setSetSpec(specFieldPrefix + ":" + id); + setList.getSet().add(set); + + + } } identifier.clear(); return setList; -- GitLab