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

Use utils for dividing values

parent 03ebf9fc
No related branches found
No related tags found
No related merge requests found
......@@ -165,7 +165,9 @@ public final class DublinCoreBuilder {
public void setIdentifier(List<String> identifiers) {
for (String dcidentifier : identifiers) {
System.out.println("hooray");
// System.out.println("hooray");
ElementType identifierElement = new ElementType();
identifierElement.setValue(dcidentifier);
JAXBElement<ElementType> dcCoreIdentifier = oaiDcObj.createIdentifier(identifierElement);
......
......@@ -18,12 +18,11 @@ import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
import org.json.JSONObject;
import info.textgrid.middleware.common.TextGridMimetypes;
import info.textgrid.middleware.oaipmh.HeaderType;
import info.textgrid.middleware.oaipmh.ListIdentifiersType;
import info.textgrid.middleware.oaipmh.ResumptionTokenType;
import info.textgrid.middleware.common.TextGridMimetypes;
/**
* <p>
......@@ -31,7 +30,8 @@ import info.textgrid.middleware.common.TextGridMimetypes;
* </p>
*
* @author Maximilian Brodhun, SUB Göttingen
* @version 2019-10-28
* @author Stefan E. Funk, SUB Göttingen
* @version 2021-06-18
* @since 2014-02-20
*/
......@@ -124,7 +124,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
String[] includes = this.identifierListFields;
String[] excludes = Strings.EMPTY_ARRAY;
// TODO: necessary?
FetchSourceContext fetchSourceContext = new FetchSourceContext(true, includes, excludes);
// FetchSourceContext fetchSourceContext = new FetchSourceContext(true, includes, excludes);
SearchRequest searchRequest =
new SearchRequest(OAI_ESClient.getEsIndex()).searchType(SearchType.QUERY_THEN_FETCH);
......@@ -165,12 +165,12 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
long size = listFurtherValues.getHits().totalHits;
setResultSize(size);
System.out.println(" ## hits --> " + size);
// System.out.println(" ## hits --> " + size);
for (SearchHit hit : listFurtherValues.getHits().getHits()) {
i++;
System.out.println(" ## hit --> " + hit.getId());
// System.out.println(" ## hit --> " + hit.getId());
// Handle TextGrid.
if (this.textgrid) {
......@@ -190,44 +190,49 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
// Handle DARIAH.
else if (this.dariah) {
System.out.println(" ## dateOfObjectCreation --> " + this.dateOfObjectCreation);
// System.out.println(" ## dateOfObjectCreation --> " + this.dateOfObjectCreation);
JSONObject json = new JSONObject(hit.getSourceAsMap());
// Get modifiedDate field.
if (this.dateOfObjectCreation.contains(DH_ES_DIVIDER_CHAR)) {
// Divide object.
String dateOfObjectCreationEntries[] =
this.dateOfObjectCreation.split(DH_ES_DIVIDER_REGEXP);
System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR);
System.out.println(" ## length of dOOCD --> " + dateOfObjectCreationEntries.length);
System.out.println(" ## dOOCD --> " + dateOfObjectCreationEntries);
if (dateOfObjectCreationEntries.length != 2) {
// FIXME Go to ERROR state!
} else {
String prefix = dateOfObjectCreationEntries[0];
String suffix = dateOfObjectCreationEntries[1];
if (hit.getSourceAsMap().containsKey(prefix)) {
HashMap<String, Object> prefixMap =
(HashMap<String, Object>) hit.getSourceAsMap().get(prefix);
System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap);
this.datestamp = prefixMap.get(suffix).toString();
}
}
this.datestamp = OAIPMHUtilities.fieldLoader(json, this.dateOfObjectCreation);
// // Divide object.
// String dateOfObjectCreationEntries[] =
// this.dateOfObjectCreation.split(DH_ES_DIVIDER_REGEXP);
//
// // System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR);
// // System.out.println(" ## length of dOOCD --> " + dateOfObjectCreationEntries.length);
// // System.out.println(" ## dOOCD --> " + dateOfObjectCreationEntries);
//
// if (dateOfObjectCreationEntries.length != 2) {
// // FIXME Go to ERROR state!
// } else {
// String prefix = dateOfObjectCreationEntries[0];
// String suffix = dateOfObjectCreationEntries[1];
//
// if (hit.getSourceAsMap().containsKey(prefix)) {
//
// HashMap<String, Object> prefixMap =
// (HashMap<String, Object>) hit.getSourceAsMap().get(prefix);
//
// // System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap);
//
// this.datestamp = prefixMap.get(suffix).toString();
// }
// }
} else {
this.datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString();
}
// Convert datestamp.
try {
System.out.println(" ## datestamp --> " + this.datestamp);
// System.out.println(" ## datestamp --> " + this.datestamp);
this.datestamp = OAIPMHUtilities.convertDateFormat(this.datestamp).toXMLFormat();
System.out.println(" ## datestamp converted --> " + this.datestamp);
// System.out.println(" ## datestamp converted --> " + this.datestamp);
} catch (ParseException e) {
log.debug(e);
......@@ -240,34 +245,37 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract {
// Get identifier field.
String identifier = "";
if (this.identifierField.contains(DH_ES_DIVIDER_CHAR)) {
// Divide object.
String identifierEntries[] = this.identifierField.split(DH_ES_DIVIDER_REGEXP);
System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR);
System.out.println(" ## length of iE --> " + identifierEntries.length);
System.out.println(" ## iE --> " + identifierEntries);
if (identifierEntries.length != 2) {
// FIXME Go to ERROR state!
} else {
String prefix = identifierEntries[0];
String suffix = identifierEntries[1];
if (hit.getSourceAsMap().containsKey(prefix)) {
HashMap<String, Object> prefixMap =
(HashMap<String, Object>) hit.getSourceAsMap().get(prefix);
System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap);
identifier = prefixMap.get(suffix).toString();
}
}
identifier = OAIPMHUtilities.fieldLoader(json, this.identifierField);
// // Divide object.
// String identifierEntries[] = this.identifierField.split(DH_ES_DIVIDER_REGEXP);
//
// // System.out.println(" ## divider --> " + DH_ES_DIVIDER_CHAR);
// // System.out.println(" ## length of iE --> " + identifierEntries.length);
// // System.out.println(" ## iE --> " + identifierEntries);
//
// if (identifierEntries.length != 2) {
// // FIXME Go to ERROR state!
// } else {
// String prefix = identifierEntries[0];
// String suffix = identifierEntries[1];
//
// if (hit.getSourceAsMap().containsKey(prefix)) {
//
// HashMap<String, Object> prefixMap =
// (HashMap<String, Object>) hit.getSourceAsMap().get(prefix);
//
// // System.out.println(" ## prefix value (" + prefix + ") --> " + prefixMap);
//
// identifier = prefixMap.get(suffix).toString();
// }
// }
} else {
identifier = hit.getSourceAsMap().get(this.identifierField).toString();
}
System.out.println(" ## identifier --> " + identifier);
// System.out.println(" ## identifier --> " + identifier);
lit = setListIdentifierHeader(this.datestamp, identifier, lit, set);
}
......
......@@ -9,7 +9,7 @@ import info.textgrid.middleware.oaipmh.GranularityType;
import info.textgrid.middleware.common.TextGridMimetypes;
/**
*
* FIXME: Add documentation how to use this class, use SSH tunneling?
*/
@Ignore
public class OaiPmhTestDH {
......
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