Skip to content
Snippets Groups Projects
Commit a7f88d77 authored by Stefan E. Funk's avatar Stefan E. Funk
Browse files

added logging to setdeliverer.

parent a31b0986
No related branches found
No related tags found
No related merge requests found
...@@ -4,8 +4,6 @@ import info.textgrid.middleware.oaipmh.ListSetsType; ...@@ -4,8 +4,6 @@ import info.textgrid.middleware.oaipmh.ListSetsType;
import info.textgrid.middleware.oaipmh.SetType; import info.textgrid.middleware.oaipmh.SetType;
import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes; import info.textgrid.namespaces.middleware.tgcrud.common.TextGridMimetypes;
import info.textgrid.utils.sesameclient.SesameClient; import info.textgrid.utils.sesameclient.SesameClient;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.util.Hashtable; import java.util.Hashtable;
...@@ -13,7 +11,6 @@ import java.util.Iterator; ...@@ -13,7 +11,6 @@ import java.util.Iterator;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.elasticsearch.action.get.GetRequestBuilder; import org.elasticsearch.action.get.GetRequestBuilder;
import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.action.search.SearchRequestBuilder;
...@@ -22,209 +19,250 @@ import org.elasticsearch.index.query.QueryBuilder; ...@@ -22,209 +19,250 @@ import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHit;
/**
*
*/
public class SetDeliverer { public class SetDeliverer {
private OAI_ESClient oaiEsClient; private static Map<String, String> setSet = new Hashtable<String, String>();
private SesameClient sparqlClient;
private OAI_ESClient oaiEsClient;
public SetDeliverer(OAI_ESClient oaiEsClient, boolean textgrid, boolean dariah) { private SesameClient sparqlClient;
this.oaiEsClient = oaiEsClient; private Set<String> identifier = new LinkedHashSet<String>();
this.textgrid = textgrid; private String formatField;
this.dariah = dariah; private String formatToFilter;
// System.out.println(dariah); private String identifierField;
} private String repositoryObjectURIPrefix;
private String specField;
private Set<String> identifier = new LinkedHashSet<String>(); private String specFieldPrefix;
private String formatField; private Set<String> project = new LinkedHashSet<String>();
private String formatToFilter; private boolean textgrid;
private String identifierField; private boolean dariah;
private String repositoryObjectURIPrefix;
private String specField; /**
private String specFieldPrefix; * @param oaiEsClient
private Set<String> project = new LinkedHashSet<String>(); * @param textgrid
private static Map<String, String> setSet = new Hashtable<String, String >(); * @param dariah
private boolean textgrid; */
private boolean dariah; public SetDeliverer(OAI_ESClient oaiEsClient, boolean textgrid, boolean dariah) {
this.oaiEsClient = oaiEsClient;
this.textgrid = textgrid;
public ListSetsType setListBuilder() { this.dariah = dariah;
//System.out.println("HALLO !!!!!!!!!!!!!!!!!!!"); }
// System.out.println("DARIAH: " + dariah);
// System.out.println("TEXTGRID: " + textgrid); /**
ListSetsType setList = new ListSetsType(); * @return
QueryBuilder aggQuery; */
//System.out.println("TEXTGRID: " + textgrid); public ListSetsType setListBuilder() {
if (textgrid) {
aggQuery = QueryBuilders.matchPhraseQuery("format",TextGridMimetypes.DARIAH_COLLECTION); String meth = "setListBuilder() > ";
}else{ System.out.println(meth + "DARIAH=" + this.dariah + ", TEXTGRID=" + this.textgrid);
// System.out.println("JUHU");
aggQuery = QueryBuilders.matchPhraseQuery("descriptiveMetadata.dc:format", TextGridMimetypes.DARIAH_COLLECTION); ListSetsType setList = new ListSetsType();
} QueryBuilder aggQuery;
if (this.textgrid) {
// System.out.println(aggQuery); aggQuery = QueryBuilders.matchPhraseQuery("format", TextGridMimetypes.DARIAH_COLLECTION);
} else {
SearchRequestBuilder request = OAI_ESClient.getOaiESClient() aggQuery = QueryBuilders.matchPhraseQuery("descriptiveMetadata.dc:format",
.prepareSearch(OAI_ESClient.getEsIndex()) TextGridMimetypes.DARIAH_COLLECTION);
.setTypes(OAI_ESClient.getEsType()) }
.setQuery(aggQuery)
.addField(formatField) System.out.println(meth + "aggQuery: " + aggQuery);
.addField(identifierField)
.addField("project.value") SearchRequestBuilder request = OAI_ESClient.getOaiESClient()
.addField("project.id") .prepareSearch(OAI_ESClient.getEsIndex()).setTypes(OAI_ESClient.getEsType())
.setSize(100000); .setQuery(aggQuery).addField(this.formatField).addField(this.identifierField)
.addField("project.value").addField("project.id").setSize(100000);
//System.out.println("QUERY: " + request);
System.out.println(meth + "request: " + request);
SearchResponse getRecordListItems = request.execute().actionGet();
//System.out.println(getRecordListItems); SearchResponse getRecordListItems = request.execute().actionGet();
for (SearchHit hit : getRecordListItems.getHits().getHits()) {
//System.out.println("HALLO HALLO"); System.out.println(meth + "getRecordListItems:" + getRecordListItems);
//if(hit.getFields().get(formatField) != null && hit.getFields().get(formatField).value().equals(formatToFilter)) {
//System.out.println("IDENTIFIER FIELD: " + identifierField); for (SearchHit hit : getRecordListItems.getHits().getHits()) {
// System.out.println("DARIAH SET"); if (this.dariah == true && hit.getFields().get(this.identifierField).values().get(0)
if(dariah == true && hit.getFields().get(identifierField).values().get(0).toString().startsWith("hdl:")){ .toString().startsWith("hdl:")) {
// System.out.println("JUHU"); String pid = hit.getFields().get(this.identifierField).values().get(0).toString();
this.identifier.add(hit.getFields().get(identifierField).values().get(0).toString()); this.identifier.add(pid);
} System.out.println(meth + "PID: " + pid);
}
if(textgrid==true){
//System.out.println("HALLO TEXTGRIT"); if (this.textgrid == true) {
String projectName = hit.getFields().get("project.value").values().get(0).toString(); String projectName = hit.getFields().get("project.value").values().get(0).toString();
String projectID = hit.getFields().get("project.id").values().get(0).toString(); String projectID = hit.getFields().get("project.id").values().get(0).toString();
String projectSetSpec = projectName.concat(":").concat(projectID); String projectSetSpec = projectName.concat(":").concat(projectID);
this.setSet.put(projectID, projectName);
this.setSet.put(projectID, projectName);
System.out.println(meth + "projectID: " + projectSetSpec);
}
} Iterator it = setSet.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pair = (Map.Entry) it.next();
//} SetType set = new SetType();
set.setSetName(pair.getValue().toString());
if(textgrid==true){ set.setSetSpec("project:" + pair.getKey().toString());
// System.out.println("HALLO GRIT"); setList.getSet().add(set);
}
Iterator it = setSet.entrySet().iterator(); }
}
while(it.hasNext()){
Map.Entry pair = (Map.Entry)it.next(); if (this.dariah == true) {
SetType set = new SetType(); for (String identifierSetSpec : this.identifier) {
set.setSetName(pair.getValue().toString()); String id = identifierSetSpec;
set.setSetSpec("project:" + pair.getKey().toString()); try {
setList.getSet().add(set); id = URLDecoder.decode(id, "UTF-8");
} } catch (UnsupportedEncodingException e) {
e.printStackTrace();
} }
if(dariah == true){ id = identifierSetSpec.substring(this.repositoryObjectURIPrefix.length());
for (String identifierSetSpec : this.identifier) {
String id = identifierSetSpec; GetRequestBuilder collectionNameById =
try { OAI_ESClient.getOaiESClient().prepareGet().setIndex(OAI_ESClient.getEsIndex())
id = URLDecoder.decode(id, "UTF-8"); .setType(OAI_ESClient.getEsType()).setFields(this.specField).setId(id);
} catch (UnsupportedEncodingException e) {
e.printStackTrace(); GetResponse setSpec = collectionNameById.execute().actionGet();
} String setName = "";
if (setSpec != null && setSpec.isExists()) {
id = identifierSetSpec.substring(repositoryObjectURIPrefix.length()); if (setSpec.getField(this.specField) != null) {
setName = setSpec.getField(this.specField).getValue().toString();
}
GetRequestBuilder collectionNameById = OAI_ESClient }
.getOaiESClient().prepareGet()
.setIndex(OAI_ESClient.getEsIndex()) SetType set = new SetType();
.setType(OAI_ESClient.getEsType()) set.setSetName(setName);
.setFields(specField) set.setSetSpec(this.specFieldPrefix + id);
.setId(id); setList.getSet().add(set);
}
GetResponse setSpec = collectionNameById.execute().actionGet(); }
String setName = "";
if(setSpec != null && setSpec.isExists()){ this.identifier.clear();
if (setSpec.getField(specField) != null) {
setName = setSpec.getField(specField).getValue().toString(); return setList;
} }
}
SetType set = new SetType(); /**
* @return
set.setSetName(setName); */
set.setSetSpec(specFieldPrefix + id); public String getFormatField() {
setList.getSet().add(set); return this.formatField;
}
} /**
} * @param formatField
identifier.clear(); */
return setList; public void setFormatField(String formatField) {
this.formatField = formatField;
} }
public String getFormatField() { public String getFormatToFilter() {
return formatField; return this.formatToFilter;
} }
public void setFormatField(String formatField) {
this.formatField = formatField; /**
} * @param formatToFilter
*/
public String getFormatToFilter() { public void setFormatToFilter(String formatToFilter) {
return formatToFilter; this.formatToFilter = formatToFilter;
} }
public void setFormatToFilter(String formatToFilter) { /**
this.formatToFilter = formatToFilter; * @return
} */
public String getIdentifierField() {
public String getIdentifierField() { return this.identifierField;
return identifierField; }
}
/**
public void setIdentifierField(String identifierField) { * @param identifierField
this.identifierField = identifierField; */
} public void setIdentifierField(String identifierField) {
this.identifierField = identifierField;
public String getRepositoryObjectURIPrefix() { }
return repositoryObjectURIPrefix;
} /**
* @return
public void setRepositoryObjectURIPrefix(String repositoryObjectURIPrefix) { */
this.repositoryObjectURIPrefix = repositoryObjectURIPrefix; public String getRepositoryObjectURIPrefix() {
} return this.repositoryObjectURIPrefix;
}
public String getSpecField() {
return specField; /**
} * @param repositoryObjectURIPrefix
*/
public void setSpecField(String titleField) { public void setRepositoryObjectURIPrefix(String repositoryObjectURIPrefix) {
this.specField = titleField; this.repositoryObjectURIPrefix = repositoryObjectURIPrefix;
} }
public String getSpecFieldPrefix() { /**
return specFieldPrefix; * @return
} */
public String getSpecField() {
public void setSpecFieldPrefix(String specFieldPrefix) { return this.specField;
this.specFieldPrefix = specFieldPrefix; }
}
/**
public boolean isTextgrid() { * @param titleField
return textgrid; */
} public void setSpecField(String titleField) {
this.specField = titleField;
public void setTextgrid(boolean textgrid) { }
this.textgrid = textgrid;
} /**
* @return
public boolean isDariah() { */
return dariah; public String getSpecFieldPrefix() {
} return this.specFieldPrefix;
}
public void setDariah(boolean dariah) {
this.dariah = dariah; /**
} * @param specFieldPrefix
*/
public SesameClient getSparqlClient() { public void setSpecFieldPrefix(String specFieldPrefix) {
return sparqlClient; this.specFieldPrefix = specFieldPrefix;
} }
public void setSparqlClient(SesameClient sparqlClient) { /**
this.sparqlClient = sparqlClient; * @return
} */
public boolean isTextgrid() {
return this.textgrid;
}
/**
* @param textgrid
*/
public void setTextgrid(boolean textgrid) {
this.textgrid = textgrid;
}
/**
* @return
*/
public boolean isDariah() {
return this.dariah;
}
/**
* @param dariah
*/
public void setDariah(boolean dariah) {
this.dariah = dariah;
}
/**
* @return
*/
public SesameClient getSparqlClient() {
return this.sparqlClient;
}
/**
* @param sparqlClient
*/
public void setSparqlClient(SesameClient sparqlClient) {
this.sparqlClient = sparqlClient;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment