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