Skip to content
Snippets Groups Projects
Commit a8c0ad3c authored by mbrodhu's avatar mbrodhu
Browse files

adapted ListIdentifiers and ListRecords to ES6

parent 18d635d0
No related branches found
No related tags found
No related merge requests found
...@@ -39,14 +39,14 @@ public class DublinCoreFieldLoader { ...@@ -39,14 +39,14 @@ public class DublinCoreFieldLoader {
List<String> contributors = new ArrayList<String>(); List<String> contributors = new ArrayList<String>();
for (String field : fields) { /* for (String field : fields) {
if (hit.getFields().get(field) != null) { if (hit.getFields().get(field) != null) {
contributors.add(hit.getFields().get(field).getValues().get(0) contributors.add(hit.getFields().get(field).getValues().get(0)
.toString()); .toString());
} }
} }*/
return contributors; return fillList(hit, fields);
} }
/** /**
...@@ -79,16 +79,7 @@ public class DublinCoreFieldLoader { ...@@ -79,16 +79,7 @@ public class DublinCoreFieldLoader {
*/ */
public static List<String> setCreator(SearchHit hit, String[] fields) { public static List<String> setCreator(SearchHit hit, String[] fields) {
List<String> creators = new ArrayList<String>(); return fillList(hit, fields);
for (String field : fields) {
if (hit.getFields().get(field) != null) {
creators.add(hit.getFields().get(field).getValues().get(0)
.toString());
}
}
return creators;
} }
/** /**
...@@ -106,17 +97,7 @@ public class DublinCoreFieldLoader { ...@@ -106,17 +97,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setCoverage(SearchHit hit, String[] fields) { public static List<String> setCoverage(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> coverages = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
coverages.add(hit.getFields().get(field).getValues().get(0)
.toString());
}
}
return coverages;
} }
/** /**
...@@ -137,7 +118,7 @@ public class DublinCoreFieldLoader { ...@@ -137,7 +118,7 @@ public class DublinCoreFieldLoader {
public static List<String> setDate(SearchHit hit, String[] fields) { public static List<String> setDate(SearchHit hit, String[] fields) {
List<String> dates = new ArrayList<String>(); List<String> dates = new ArrayList<String>();
System.out.println("TADA");
for (String field : fields) { for (String field : fields) {
if (hit.getFields().get(field) != null) { if (hit.getFields().get(field) != null) {
...@@ -173,17 +154,7 @@ public class DublinCoreFieldLoader { ...@@ -173,17 +154,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setDescription(SearchHit hit, String[] fields) { public static List<String> setDescription(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> descriptions = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
descriptions.add(hit.getFields().get(field).getValues().get(0)
.toString());
}
}
return descriptions;
} }
/** /**
...@@ -192,17 +163,7 @@ public class DublinCoreFieldLoader { ...@@ -192,17 +163,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setFormat(SearchHit hit, String[] fields) { public static List<String> setFormat(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> formats = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
formats.add(hit.getFields().get(field).getValues().get(0)
.toString());
}
}
return formats;
} }
/** /**
...@@ -221,25 +182,7 @@ public class DublinCoreFieldLoader { ...@@ -221,25 +182,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setIdentifier(SearchHit hit, String[] fields) { public static List<String> setIdentifier(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> identifiers = new ArrayList<String>();
String identifier = "";
for (String field : fields) {
if (hit.getFields().get(field) != null) {
for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
if (hit.getFields().get(field).getValues().get(i).toString().startsWith("textgrid")) {
identifier = hit.getFields().get(field).getValues().get(i).toString();
identifier = identifier.replace(identifier, "https://textgridrep.org/" + identifier);
identifiers.add(identifier);
} else {
identifiers.add(hit.getFields().get(field).getValues().get(i).toString());
}
}
}
}
return identifiers;
} }
/** /**
...@@ -258,16 +201,7 @@ public class DublinCoreFieldLoader { ...@@ -258,16 +201,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setLanguage(SearchHit hit, String[] fields) { public static List<String> setLanguage(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> languages = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
languages.add(hit.getFields().get(field).getValues().get(0).toString());
}
}
return languages;
} }
/** /**
...@@ -286,16 +220,7 @@ public class DublinCoreFieldLoader { ...@@ -286,16 +220,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setPublisher(SearchHit hit, String[] fields) { public static List<String> setPublisher(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> publishers = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
publishers.add(hit.getFields().get(field).getValues().get(0).toString());
}
}
return publishers;
} }
/** /**
...@@ -314,18 +239,7 @@ public class DublinCoreFieldLoader { ...@@ -314,18 +239,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setRelation(SearchHit hit, String[] fields) { public static List<String> setRelation(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> relations = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
relations.add(hit.getFields().get(field).getValues().get(i).toString());
}
}
}
return relations;
} }
/** /**
...@@ -345,9 +259,9 @@ public class DublinCoreFieldLoader { ...@@ -345,9 +259,9 @@ public class DublinCoreFieldLoader {
*/ */
public static List<String> setRelationForWork(GetResponse responseWorkValues, String[] fields) { public static List<String> setRelationForWork(GetResponse responseWorkValues, String[] fields) {
for(String field : fields) { /*for(String field : fields) {
System.out.println(field); System.out.println(field);
} }*/
return fillList(responseWorkValues, fields); return fillList(responseWorkValues, fields);
} }
...@@ -358,16 +272,7 @@ public class DublinCoreFieldLoader { ...@@ -358,16 +272,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setRights(SearchHit hit, String[] fields) { public static List<String> setRights(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> rights = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
rights.add(hit.getFields().get(field).getValues().get(0).toString());
}
}
return rights;
} }
/** /**
...@@ -376,7 +281,6 @@ public class DublinCoreFieldLoader { ...@@ -376,7 +281,6 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setRights(GetResponse responseWorkValues, String[] fields) { public static List<String> setRights(GetResponse responseWorkValues, String[] fields) {
return fillList(responseWorkValues, fields); return fillList(responseWorkValues, fields);
} }
...@@ -386,16 +290,7 @@ public class DublinCoreFieldLoader { ...@@ -386,16 +290,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setSources(SearchHit hit, String[] fields) { public static List<String> setSources(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> sources = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
sources.add(hit.getFields().get(field).getValues().get(0).toString());
}
}
return sources;
} }
/** /**
...@@ -424,16 +319,7 @@ public class DublinCoreFieldLoader { ...@@ -424,16 +319,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setSubject(SearchHit hit, String[] fields) { public static List<String> setSubject(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> subjects = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
subjects.add(hit.getFields().get(field).getValues().get(0).toString());
}
}
return subjects;
} }
/** /**
...@@ -442,18 +328,7 @@ public class DublinCoreFieldLoader { ...@@ -442,18 +328,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setTitle(SearchHit hit, String[] fields) { public static List<String> setTitle(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> titles = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
titles.add(hit.getFields().get(field).getValues().get(i).toString());
}
}
}
return titles;
} }
/** /**
...@@ -485,18 +360,7 @@ public class DublinCoreFieldLoader { ...@@ -485,18 +360,7 @@ public class DublinCoreFieldLoader {
* @return all elements mapped from TetxGrid metadata scheme to Dublin Core * @return all elements mapped from TetxGrid metadata scheme to Dublin Core
*/ */
public static List<String> setType(SearchHit hit, String[] fields) { public static List<String> setType(SearchHit hit, String[] fields) {
return fillList(hit, fields);
List<String> types = new ArrayList<String>();
for (String field : fields) {
if (hit.getFields().get(field) != null) {
for (int i = 0; i < hit.getFields().get(field).getValues().size(); i++) {
types.add(hit.getFields().get(field).getValues().get(i).toString());
}
}
}
return types;
} }
public static List<String> fillList(GetResponse responseWorkValues, String[] fields){ public static List<String> fillList(GetResponse responseWorkValues, String[] fields){
...@@ -518,7 +382,6 @@ public class DublinCoreFieldLoader { ...@@ -518,7 +382,6 @@ public class DublinCoreFieldLoader {
nestedMap2!=null && nestedMap2.get(requestedField[i])!=null ) { nestedMap2!=null && nestedMap2.get(requestedField[i])!=null ) {
valueOfRequestedField =nestedMap2.get(requestedField[i]).toString(); valueOfRequestedField =nestedMap2.get(requestedField[i]).toString();
if(valueOfRequestedField.length()>0) { if(valueOfRequestedField.length()>0) {
System.out.println("VALUE: " + valueOfRequestedField);
list.add(valueOfRequestedField); list.add(valueOfRequestedField);
} }
} }
...@@ -534,5 +397,37 @@ public class DublinCoreFieldLoader { ...@@ -534,5 +397,37 @@ public class DublinCoreFieldLoader {
return list; return list;
} }
public static List<String> fillList(SearchHit hit, String[] fields){
List<String> list = new ArrayList<String>();
if (fields != null) {
for (String field : fields) {
if(hit.getSourceAsMap().get(field)==null ) {
String[] requestedField = field.split("\\.");
Map<String, Object> nestedMap = hit.getSourceAsMap();
String valueOfRequestedField=null;
Map<String, Object> nestedMap2 = null;
for(int i=0; i<requestedField.length; i++) {
if(i<requestedField.length-1 && nestedMap!=null && nestedMap.get(requestedField[i])!=null) {
nestedMap2 = (Map<String, Object>)nestedMap.get(requestedField[i]);
}
if(i==requestedField.length-1 &&
nestedMap2!=null && nestedMap2.get(requestedField[i])!=null ) {
valueOfRequestedField =nestedMap2.get(requestedField[i]).toString();
if(valueOfRequestedField.length()>0) {
list.add(valueOfRequestedField);
}
}
nestedMap= nestedMap2;
}
}else {
list.add(hit.getSourceAsMap().get(field).toString());
}
}
}
return list;
}
} }
...@@ -14,12 +14,15 @@ import org.apache.commons.logging.LogFactory; ...@@ -14,12 +14,15 @@ import org.apache.commons.logging.LogFactory;
import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchScrollRequest; import org.elasticsearch.action.search.SearchScrollRequest;
import org.elasticsearch.action.search.SearchType;
import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.unit.TimeValue; import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.QueryBuilder; 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;
import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
...@@ -44,7 +47,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { ...@@ -44,7 +47,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
private String dateOfObjectCreation; // Field for the object creation in the repository private String dateOfObjectCreation; // Field for the object creation in the repository
private String repositoryObjectURIPrefix; // private String repositoryObjectURIPrefix; //
private String identifierField; private String identifierField;
private static final int lifeTimeResToken = 10000; private static final int lifeTimeResToken = 100;
public static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>(); public static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>();
...@@ -109,14 +112,20 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { ...@@ -109,14 +112,20 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
ListIdentifiersType lit = new ListIdentifiersType(); ListIdentifiersType lit = new ListIdentifiersType();
QueryBuilder query = setOrNot(set, from, to); QueryBuilder query = setOrNot(set, from, to);
SearchResponse listListIdentiferValues; SearchResponse listListIdentiferValues;
String[] includes = this.identifierListFields;
String[] excludes = Strings.EMPTY_ARRAY;
FetchSourceContext fetchSourceContext =
new FetchSourceContext(true, includes, excludes);
SearchRequest searchRequest = new SearchRequest(OAI_ESClient.getEsIndex()); SearchRequest searchRequest = new SearchRequest(OAI_ESClient.getEsIndex()).searchType(SearchType.QUERY_THEN_FETCH);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(query); searchSourceBuilder.query(query);
searchSourceBuilder.size(this.searchResponseSize); searchSourceBuilder.size(this.searchResponseSize);
searchSourceBuilder.fetchSource(includes, excludes);
if (resumptionToken != null) { if (resumptionToken != null) {
...@@ -128,7 +137,11 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { ...@@ -128,7 +137,11 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
} else { } else {
searchRequest.source(searchSourceBuilder); searchRequest.source(searchSourceBuilder);
searchRequest.scroll(TimeValue.timeValueMinutes(lifeTimeResToken)); searchRequest.scroll(TimeValue.timeValueMinutes(lifeTimeResToken));
listListIdentiferValues = OAI_ESClient.getEsClient().search(searchRequest, RequestOptions.DEFAULT); listListIdentiferValues = OAI_ESClient.getEsClient()
.search(
searchRequest,
RequestOptions.DEFAULT
);
} }
listListIdentiferValues = listListIdentiferValues =
hitHandling(listListIdentiferValues, lit, set, listListIdentiferValues.getScrollId()); hitHandling(listListIdentiferValues, lit, set, listListIdentiferValues.getScrollId());
...@@ -150,8 +163,8 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { ...@@ -150,8 +163,8 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
for (SearchHit hit : listFurtherValues.getHits().getHits()) { for (SearchHit hit : listFurtherValues.getHits().getHits()) {
i++; i++;
if (this.textgrid) { if (this.textgrid) {
//hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
String datestamp = hit.getFields().get(this.dateOfObjectCreation).getValue().toString(); String datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
try { try {
datestamp = OAIPMHUtillities.convertDateFormat(datestamp).toXMLFormat(); datestamp = OAIPMHUtillities.convertDateFormat(datestamp).toXMLFormat();
} catch (ParseException e1) { } catch (ParseException e1) {
...@@ -159,7 +172,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { ...@@ -159,7 +172,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
} catch (DatatypeConfigurationException e1) { } catch (DatatypeConfigurationException e1) {
log.debug(e1); log.debug(e1);
} }
String identifier = hit.getFields().get(this.identifierField).getValue().toString(); String identifier = hit.getSourceAsMap().get(this.identifierField).toString();
lit = setListIdentifierHeader(datestamp, identifier, lit, set); lit = setListIdentifierHeader(datestamp, identifier, lit, set);
} }
......
...@@ -158,13 +158,9 @@ public class RecordDelivererDC extends RecordDelivererAbstract { ...@@ -158,13 +158,9 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
} }
if(i==requestedField.length-1) { if(i==requestedField.length-1) {
valueOfRequestedField =nestedMap2.get(requestedField[i]).toString(); valueOfRequestedField =nestedMap2.get(requestedField[i]).toString();
} }
} }
//Map<String, Object> nestedMap2 = (Map<String, Object>)nestedMap.get("edition"); //Map<String, Object> nestedMap2 = (Map<String, Object>)nestedMap.get("edition");
String workUri = nestedMap2.get("isEditionOf").toString(); String workUri = nestedMap2.get("isEditionOf").toString();
...@@ -269,7 +265,7 @@ public class RecordDelivererDC extends RecordDelivererAbstract { ...@@ -269,7 +265,7 @@ public class RecordDelivererDC extends RecordDelivererAbstract {
// Set DublinCore lists with content from elastic search results due to configuration. // Set DublinCore lists with content from elastic search results due to configuration.
result.setContributor( result.setContributor(
DublinCoreFieldLoader.setContributor(responseWorkValues, this.contributorList)); DublinCoreFieldLoader.fillList(responseWorkValues, this.contributorList));
result.setCoverage(DublinCoreFieldLoader.setCoverage(responseWorkValues, this.coverageList)); result.setCoverage(DublinCoreFieldLoader.setCoverage(responseWorkValues, this.coverageList));
result.setCreator(DublinCoreFieldLoader.setCreator(relatedWorkObject, this.creatorList)); result.setCreator(DublinCoreFieldLoader.setCreator(relatedWorkObject, this.creatorList));
result.setDate(DublinCoreFieldLoader.setDate(relatedWorkObject, this.dateList)); result.setDate(DublinCoreFieldLoader.setDate(relatedWorkObject, this.dateList));
......
...@@ -80,7 +80,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { ...@@ -80,7 +80,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
private String[] titleList; private String[] titleList;
private String[] typeList; private String[] typeList;
private String modifiedValue; private String modifiedValue;
private static final int lifeTimeResToken = 60000; private static final int lifeTimeResToken = 600;
static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>(); static Map<String, Integer> cursorCollector = new Hashtable<String, Integer>();
...@@ -112,27 +112,18 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { ...@@ -112,27 +112,18 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
String[] includes = this.workFields; String[] includes = this.workFields;
String[] excludes = Strings.EMPTY_ARRAY; String[] excludes = Strings.EMPTY_ARRAY;
FetchSourceContext fetchSourceContext = FetchSourceContext fetchSourceContext = new FetchSourceContext(true, includes, excludes);
new FetchSourceContext(true, includes, excludes);
GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id).fetchSourceContext(fetchSourceContext); GetRequest getRequest = new GetRequest(OAI_ESClient.getEsIndex(), OAI_ESClient.getEsType(), id).fetchSourceContext(fetchSourceContext);
/*GetRequestBuilder getWorkValues =
OAI_ESClient.getOaiESClient()
.prepareGet()
.setIndex(OAI_ESClient.getEsIndex())
.setType(OAI_ESClient.getEsType())
.setId(id)
.setFields();*/
GetResponse responseWorkValues=null; GetResponse responseWorkValues=null;
try { try {
responseWorkValues = OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT); responseWorkValues = OAI_ESClient.getEsClient().get(getRequest, RequestOptions.DEFAULT);
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
return responseWorkValues; return responseWorkValues;
} }
...@@ -169,21 +160,21 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { ...@@ -169,21 +160,21 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
scrollResp=null; scrollResp=null;
if (resumptionToken == null) { searchSourceBuilder.query(recordFilter);
searchSourceBuilder.size(this.searchResponseSize);
searchSourceBuilder.query(recordFilter); searchRequest.source(searchSourceBuilder);
searchSourceBuilder.size(this.searchResponseSize); if (resumptionToken != null) {
searchRequest.source(searchSourceBuilder);
SearchScrollRequest scrollRequest = new SearchScrollRequest(resumptionToken); SearchScrollRequest scrollRequest = new SearchScrollRequest(resumptionToken);
scrollRequest.scroll(TimeValue.timeValueSeconds(lifeTimeResToken)); scrollRequest.scroll(TimeValue.timeValueSeconds(lifeTimeResToken));
try { try {
scrollResp = OAI_ESClient.getEsClient().scroll(scrollRequest, RequestOptions.DEFAULT); scrollResp = OAI_ESClient.getEsClient().scroll(scrollRequest, RequestOptions.DEFAULT);
} catch (IOException e) { } catch (IOException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
} else { } else {
...@@ -213,10 +204,12 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { ...@@ -213,10 +204,12 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
if (hit != null && hit.getFields() != null) { if (hit != null && hit.getFields() != null) {
try { try {
if (hit.getFields().get(this.dateOfObjectCreation) != null) { if (hit.getSourceAsMap().get(this.dateOfObjectCreation) != null) {
String datestamp = String datestamp =
hit.getFields().get(this.dateOfObjectCreation).getValue().toString(); hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
datestamp = OAIPMHUtillities.convertDateFormat(datestamp).toXMLFormat(); datestamp = OAIPMHUtillities.convertDateFormat(datestamp).toXMLFormat();
} }
} catch (ParseException e1) { } catch (ParseException e1) {
log.debug(e1); log.debug(e1);
...@@ -224,27 +217,26 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { ...@@ -224,27 +217,26 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
log.debug(e1); log.debug(e1);
} }
this.modifiedValue = hit.getFields().get(this.modifiedField).getValue().toString(); this.modifiedValue = hit.getSourceAsMap().get(this.modifiedField).toString();
// TextGrid search! // TextGrid search!
String workUri = ""; String workUri = "";
String[] blaFields = new String[] {this.relationToFurtherMetadataObject};
if (this.textgrid == true && hit.getFields().get(this.formatField).getValues().get(0) if (this.textgrid == true && hit.getSourceAsMap().get(this.formatField)
.toString().equals(this.formatToFilter)) { .toString().equals(this.formatToFilter)) {
if (hit.getFields().get(this.relationToFurtherMetadataObject) != null) {
workUri = hit.getFields().get(this.relationToFurtherMetadataObject).getValues().get(0) if (DublinCoreFieldLoader.fillList(hit, blaFields).get(0)!=null) {
.toString().substring(this.repositoryObjectURIPrefix.length()); workUri = DublinCoreFieldLoader.fillList(hit, blaFields).get(0).substring(this.repositoryObjectURIPrefix.length());
if (!workUri.endsWith(".0")) { if (!workUri.endsWith(".0")) {
workUri = workUri.concat(".0"); workUri = workUri.concat(".0");
} }
} }
dublinCoreBuilder = putContentIntoDCFieldLists(hit, dublinCoreBuilder = putContentIntoDCFieldLists(hit,
furtherDCElements(workUri, OAI_ESClient.getEsClient())); furtherDCElements(workUri, OAI_ESClient.getEsClient()));
buildRecord(recordList, set, buildRecord(recordList, set,
hit.getFields().get(this.identifierField).getValue().toString(), dublinCoreBuilder); hit.getSourceAsMap().get(this.identifierField).toString(), dublinCoreBuilder);
} }
if (this.dariah == true) { if (this.dariah == true) {
...@@ -273,13 +265,11 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { ...@@ -273,13 +265,11 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
* @param responseWorkValues * @param responseWorkValues
* @return * @return
*/ */
public DublinCoreBuilder putContentIntoDCFieldLists(SearchHit hit, public DublinCoreBuilder putContentIntoDCFieldLists(SearchHit hit, GetResponse responseWorkValues) {
GetResponse responseWorkValues) {
DublinCoreBuilder result = new DublinCoreBuilder(); DublinCoreBuilder result = new DublinCoreBuilder();
System.out.println("BLA");
result.setContributor( result.setContributor(DublinCoreFieldLoader.setContributor(responseWorkValues, this.contributorList));
DublinCoreFieldLoader.setContributor(responseWorkValues, this.contributorList));
result.setCoverage(DublinCoreFieldLoader.setCoverage(responseWorkValues, this.coverageList)); result.setCoverage(DublinCoreFieldLoader.setCoverage(responseWorkValues, this.coverageList));
result.setCreator(DublinCoreFieldLoader.setCreator(responseWorkValues, this.creatorList)); result.setCreator(DublinCoreFieldLoader.setCreator(responseWorkValues, this.creatorList));
result.setDate(DublinCoreFieldLoader.setDate(responseWorkValues, this.dateList)); result.setDate(DublinCoreFieldLoader.setDate(responseWorkValues, this.dateList));
...@@ -310,7 +300,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { ...@@ -310,7 +300,7 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract {
GetResponse responseWorkValues) { GetResponse responseWorkValues) {
DublinCoreBuilder result = new DublinCoreBuilder(); DublinCoreBuilder result = new DublinCoreBuilder();
result.setContributor(DublinCoreFieldLoader.setContributor(hit, this.contributorList)); result.setContributor(DublinCoreFieldLoader.setContributor(hit, this.contributorList));
result.setCoverage(DublinCoreFieldLoader.setCoverage(hit, this.coverageList)); result.setCoverage(DublinCoreFieldLoader.setCoverage(hit, this.coverageList));
result.setCreator(DublinCoreFieldLoader.setCreator(hit, this.creatorList)); result.setCreator(DublinCoreFieldLoader.setCreator(hit, this.creatorList));
......
...@@ -168,7 +168,7 @@ public class OaiPmhTest { ...@@ -168,7 +168,7 @@ public class OaiPmhTest {
* @throws ParseException * @throws ParseException
*/ */
@Test @Test
// @Ignore @Ignore
public void testGetRequestGetRecordTextGrid() throws ParseException { public void testGetRequestGetRecordTextGrid() throws ParseException {
record.setContributor(TGConstants.CONTRIBUTOR_LIST); record.setContributor(TGConstants.CONTRIBUTOR_LIST);
...@@ -236,7 +236,7 @@ public class OaiPmhTest { ...@@ -236,7 +236,7 @@ public class OaiPmhTest {
* @throws ParseException * @throws ParseException
*/ */
@Test @Test
//@Ignore @Ignore
public void testListIdentifierSetsDC() throws ParseException { public void testListIdentifierSetsDC() throws ParseException {
OaiPmhTest.identifierList.setFieldForRange(TGConstants.RANGE_FIELD); OaiPmhTest.identifierList.setFieldForRange(TGConstants.RANGE_FIELD);
...@@ -247,7 +247,7 @@ public class OaiPmhTest { ...@@ -247,7 +247,7 @@ public class OaiPmhTest {
OaiPmhTest.identifierList.setSearchResponseSize("100"); OaiPmhTest.identifierList.setSearchResponseSize("100");
System.out.println("Test for the verb \"ListIdentifiers\" with succesfull response"); System.out.println("Test for the verb \"ListIdentifiers\" with succesfull response");
JAXBElement<OAIPMHType> p = this.request.getRequest("ListIdentifiers", "", "oai_dc", JAXBElement<OAIPMHType> p = this.request.getRequest("ListIdentifiers", "", "oai_dc",
"project:TGPR-26236625-1acc-b921-a5fa-53567c3eeb80", "", "", ""); "", "", "", "");
JAXB.marshal(p, System.out); JAXB.marshal(p, System.out);
System.out.println("-----------------------------------\n"); System.out.println("-----------------------------------\n");
} }
...@@ -356,7 +356,7 @@ public class OaiPmhTest { ...@@ -356,7 +356,7 @@ public class OaiPmhTest {
this.request.getRequest("ListRecords", "", "oai_dc", "", "", "", ""); this.request.getRequest("ListRecords", "", "oai_dc", "", "", "", "");
JAXB.marshal(p, System.out); JAXB.marshal(p, System.out);
String resToken =""; /*String resToken ="";
for(Map.Entry<String, Integer> entry : RecordListDelivererDC.cursorCollector.entrySet()) { for(Map.Entry<String, Integer> entry : RecordListDelivererDC.cursorCollector.entrySet()) {
resToken = entry.getKey(); resToken = entry.getKey();
} }
...@@ -365,7 +365,7 @@ public class OaiPmhTest { ...@@ -365,7 +365,7 @@ public class OaiPmhTest {
"", "", "", resToken); "", "", "", resToken);
JAXB.marshal(p2, System.out); JAXB.marshal(p2, System.out);
System.out.println("HASH MAP AFTER: "); System.out.println("HASH MAP AFTER: ");
System.out.println(RecordListDelivererDC.cursorCollector); System.out.println(RecordListDelivererDC.cursorCollector);*/
System.out.println("-----------------------------------\n"); System.out.println("-----------------------------------\n");
...@@ -406,7 +406,7 @@ public class OaiPmhTest { ...@@ -406,7 +406,7 @@ public class OaiPmhTest {
public void testListRecords() throws ParseException { public void testListRecords() throws ParseException {
JAXBElement<OAIPMHType> r = JAXBElement<OAIPMHType> r =
this.request.getRequest("ListRecords", "", "oai_dc", "", "2011-02-06T20:48:39", "", ""); this.request.getRequest("ListRecords", "", "oai_dc", "", "", "", "");
JAXB.marshal(r, System.out); JAXB.marshal(r, System.out);
System.out.println("-----------------------------------\n"); System.out.println("-----------------------------------\n");
} }
......
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