From b67cd1397b6b70fe021541dcb49b49ee1ae24dab Mon Sep 17 00:00:00 2001 From: "Stefan E. Funk" <funk@sub.uni-goettingen.de> Date: Thu, 17 Jun 2021 17:03:43 +0200 Subject: [PATCH] mc --- .../middleware/IdentifierListDelivererDC.java | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java index fcf5dc7d..ebdf264e 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererDC.java @@ -37,7 +37,7 @@ import info.textgrid.middleware.common.TextGridMimetypes; public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { private static final int lifeTimeResToken = 100; - private static final String DH_ES_DIVIDER = "."; + private static final String DH_ES_DIVIDER_REGEXP = "\\."; private static org.apache.commons.logging.Log log = LogFactory.getLog(IdentifierListDelivererDC.class); @@ -170,6 +170,7 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { System.out.println(" ## hit --> " + hit.getId()); + // Handle TextGrid. if (this.textgrid) { // hit.getSourceAsMap().get(this.dateOfObjectCreation).toString(); String datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString(); @@ -184,28 +185,39 @@ public class IdentifierListDelivererDC extends IdentifierListDelivererAbstract { lit = setListIdentifierHeader(datestamp, identifier, lit, set); } - if (this.dariah) { + // Handle DARIAH. + else if (this.dariah) { System.out.println(" ## dateOfObjectCreation --> " + this.dateOfObjectCreation); // Get date field. - if (this.dateOfObjectCreation.contains(DH_ES_DIVIDER)) { + if (this.dateOfObjectCreation.contains(DH_ES_DIVIDER_REGEXP)) { // Divide date object. - String dateOfObjectCreationDivider[] = this.dateOfObjectCreation.split(DH_ES_DIVIDER); + String dateOfObjectCreationEntries[] = + this.dateOfObjectCreation.split(DH_ES_DIVIDER_REGEXP); + + System.out.println(" ## divider --> " + DH_ES_DIVIDER_REGEXP); + System.out.println(" ## length of dOOCD --> " + dateOfObjectCreationEntries.length); + System.out.println(" ## dOOCD --> " + dateOfObjectCreationEntries); - System.out.println(" ## divider --> " + DH_ES_DIVIDER); - System.out.println(" ## length of dOOCD --> " + dateOfObjectCreationDivider.length); - System.out.println(" ## dOOCD --> " + dateOfObjectCreationDivider); + if (dateOfObjectCreationEntries.length != 2) { + String prefix = dateOfObjectCreationEntries[0]; + String suffix = dateOfObjectCreationEntries[1]; - String prefix = dateOfObjectCreationDivider[0]; - String suffix = dateOfObjectCreationDivider[1]; + if (hit.getSourceAsMap().containsKey(prefix)) { - if (hit.getSourceAsMap().containsKey(prefix)) { + System.out.println(" ## argl --> " + hit.getSourceAsMap().get(prefix)); - System.out.println(" ## argl --> " + hit.getSourceAsMap().get(prefix)); + System.out.println(" ## prefix class name --> " + + hit.getSourceAsMap().get(prefix).getClass().getName()); - // this.datestamp = + // this.datestamp = + } + + } else { + // FIXME Go to ERROR state! } + } else { this.datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString(); } -- GitLab