From e54a468e7d4977e14d56c077d43ea5e9281ff9b4 Mon Sep 17 00:00:00 2001 From: "Stefan E. Funk" <funk@sub.uni-goettingen.de> Date: Mon, 30 Jan 2023 17:21:08 +0100 Subject: [PATCH] fix: refactor some of the calendar methods, add tests --- .../middleware/DublinCoreBuilder.java | 2 +- .../middleware/DublinCoreFieldLoader.java | 4 +- .../IdentifierListDelivererAbstract.java | 4 +- .../IdentifierListDelivererIdiom.java | 2 +- .../info/textgrid/middleware/IdiomImages.java | 2 +- .../textgrid/middleware/OaipmhConstants.java | 6 +- .../info/textgrid/middleware/OaipmhImpl.java | 4 +- .../textgrid/middleware/OaipmhUtilities.java | 91 +++++++------------ .../middleware/RecordDelivererDC.java | 4 +- .../middleware/RecordDelivererDatacite.java | 8 +- .../middleware/RecordDelivererIdiom.java | 2 +- .../middleware/RecordListDelivererDC.java | 8 +- .../middleware/test/TestOaipmhUtilities.java | 49 ++++++++++ .../middleware/test/TestTGOaipmhLocally.java | 6 +- .../test/online/OaipmhUtilitiesOnline.java | 4 +- .../test/online/tg/TestTGGetRecordOnline.java | 2 - .../tg/TestTGListIdentifiersOnline.java | 2 - .../online/tg/TestTGListRecordsOnline.java | 2 - 18 files changed, 108 insertions(+), 94 deletions(-) diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java index f59edf8a..82169624 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreBuilder.java @@ -114,7 +114,7 @@ public final class DublinCoreBuilder { for (String dcdate : dates) { ElementType dateElement = new ElementType(); JAXBElement<ElementType> dcCoreDate = oaiDcObj.createDate(dateElement); - dateElement.setValue(OaipmhUtilities.oaiDatestampAsString(dcdate)); + dateElement.setValue(OaipmhUtilities.getOaiDatestampAsString(dcdate)); this.tgMappedDC.getTitleOrCreatorOrSubject().add(dcCoreDate); } } diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java index 2d780b85..3202782a 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/DublinCoreFieldLoader.java @@ -61,7 +61,7 @@ public class DublinCoreFieldLoader { // TODO Set values in config file! if (responseWorkValues.getField(field) != null) { dates.add(OaipmhUtilities - .oaiDatestampAsString(responseWorkValues.getField(field).getValue().toString())); + .getOaiDatestampAsString(responseWorkValues.getField(field).getValue().toString())); } } catch (ParseException e) { // TODO Do not use invalid dates here! @@ -88,7 +88,7 @@ public class DublinCoreFieldLoader { if (hit.getFields().get(field) != null) { try { dates.add(OaipmhUtilities - .oaiDatestampAsString(hit.getFields().get(field).getValues().get(0).toString())); + .getOaiDatestampAsString(hit.getFields().get(field).getValues().get(0).toString())); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java index c6206eba..74eb3bf7 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererAbstract.java @@ -138,7 +138,7 @@ public abstract class IdentifierListDelivererAbstract implements IdentifierListD if (this.textgrid) { String datestamp = hit.getSourceAsMap().get(this.dateOfObjectCreation).toString(); try { - datestamp = OaipmhUtilities.oaiDatestampAsString(datestamp); + datestamp = OaipmhUtilities.getOaiDatestampAsString(datestamp); } catch (ParseException e) { log.severe(e.getMessage()); } @@ -153,7 +153,7 @@ public abstract class IdentifierListDelivererAbstract implements IdentifierListD // Get modifiedDate field and convert datestamp. this.datestamp = OaipmhUtilities.firstEnrtryFieldLoader(json, this.dateOfObjectCreation); try { - this.datestamp = OaipmhUtilities.oaiDatestampAsString(this.datestamp); + this.datestamp = OaipmhUtilities.getOaiDatestampAsString(this.datestamp); } catch (ParseException e) { log.severe(e.getMessage()); // TODO Go to ERROR state! diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIdiom.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIdiom.java index 489a0062..b9423211 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIdiom.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdentifierListDelivererIdiom.java @@ -147,7 +147,7 @@ public class IdentifierListDelivererIdiom extends IdentifierListDelivererAbstrac i++; String textgridURI = OaipmhUtilities .firstEnrtryFieldLoader(new JSONObject(hit.getSourceAsMap()), this.identifierField); - String createdDate = OaipmhUtilities.oaiDatestampAsString(OaipmhUtilities + String createdDate = OaipmhUtilities.getOaiDatestampAsString(OaipmhUtilities .firstEnrtryFieldLoader(new JSONObject(hit.getSourceAsMap()), this.rangeField)); identifierList.getHeader().add(OaipmhUtilities.computeResponseHeader(createdDate, diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/IdiomImages.java b/oaipmh-core/src/main/java/info/textgrid/middleware/IdiomImages.java index de9a118f..8ed1454b 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/IdiomImages.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/IdiomImages.java @@ -220,7 +220,7 @@ public class IdiomImages implements RecordDelivererInterface, RecordListDelivere // Use base URI for IDIOM image delivery! String tgBaseURI = OaipmhUtilities.getTextGridBaseURI(changedID); conedaKorRecord.setHeader(buildOAIPMHRecordHeader( - OaipmhUtilities.oaiDatestampAsString(immByTGObject.getCreationDate()), tgBaseURI)); + OaipmhUtilities.getOaiDatestampAsString(immByTGObject.getCreationDate()), tgBaseURI)); singleImageMetsMods.setRecord(conedaKorRecord); diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhConstants.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhConstants.java index f02e9f37..710d26b7 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhConstants.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhConstants.java @@ -19,7 +19,7 @@ public final class OaipmhConstants { // Namespaces public static final String OAIPMH_NAMESPACE = "http://www.openarchives.org/OAI/2.0/"; public static final String OAIPMH_SCHEMA_LOCATION = - "https://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"; + "http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"; public static final String OAIDC_NAMESPACE = "http://www.openarchives.org/OAI/2.0/oai_dc/"; public static final String OAIDC_SCHEMA_LOCATION = @@ -30,14 +30,14 @@ public final class OaipmhConstants { "https://dublincore.org/schemas/xmls/simpledc20021212.xsd"; public static final String METS_NAMESPACE = "http://www.loc.gov/METS/"; - public static final String METS_SCHEMA_LOCATION = "https://www.loc.gov/standards/mets/mets.xsd"; + public static final String METS_SCHEMA_LOCATION = "http://www.loc.gov/standards/mets/mets.xsd"; public static final String IDIOM_IMAGE_NAMESPACE = METS_NAMESPACE; public static final String IDIOM_IMAGE_SCHEMA_LOCATION = METS_SCHEMA_LOCATION; public static final String DATACITE_NAMESPACE = "http://datacite.org/schema/kernel-3"; public static final String DATACITE_SCHEMA_LOCATION = - "https://schema.datacite.org/meta/kernel-3/metadata.xsd"; + "http://schema.datacite.org/meta/kernel-3/metadata.xsd"; // Error String Constants. public static final String OAI_BAD_ARGUMENT = "BadArgument"; diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhImpl.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhImpl.java index a7cad1e6..149073cb 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhImpl.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhImpl.java @@ -30,8 +30,6 @@ import info.textgrid.middleware.oaipmh.VerbType; * * @author Maximilian Brodhun, SUB Göttingen * @author Stefan E. Funk, SUB Göttingen - * @version 2023-01-06 - * @since 2014-01-29 */ public class OaipmhImpl implements OaipmhProducer { @@ -778,7 +776,7 @@ public class OaipmhImpl implements OaipmhProducer { // Set the responseDate of today. try { - oaipmhRoot.setResponseDate(OaipmhUtilities.getXMLGregorianCalendarNow()); + oaipmhRoot.setResponseDate(OaipmhUtilities.getCurrentUTCDate()); } catch (DatatypeConfigurationException e) { log.severe("datatype configuration failed"); } diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java index c4638b94..60101a0e 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/OaipmhUtilities.java @@ -33,8 +33,6 @@ import info.textgrid.clients.AuthClient; import info.textgrid.clients.tgauth.AuthClientException; import info.textgrid.middleware.oaipmh.GetRecordType; import info.textgrid.middleware.oaipmh.HeaderType; -import info.textgrid.middleware.oaipmh.ListMetadataFormatsType; -import info.textgrid.middleware.oaipmh.MetadataFormatType; import info.textgrid.middleware.oaipmh.MetadataType; import info.textgrid.middleware.oaipmh.RecordType; import info.textgrid.middleware.oaipmh.Resource; @@ -52,6 +50,10 @@ import info.textgrid.namespaces.middleware.tgauth.ProjectInfo; */ public class OaipmhUtilities { + // ** + // STATICS + // ** + private static Logger log = Logger.getLogger(OaipmhUtilities.class.getName()); // ** @@ -68,6 +70,12 @@ public class OaipmhUtilities { PREFIX_HDL, PREFIX_TEXTGRID)); + // Define date formats. + public static final SimpleDateFormat TEXTGRID_ITEM_TIME_FORMAT = + new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S"); + public static final SimpleDateFormat OAIDC_UTC_TIME_FORMAT = + new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + // ** // CLASS // ** @@ -93,23 +101,6 @@ public class OaipmhUtilities { return verb.matches(allowedArgument); } - /** - * <p> - * Since TextGrid just supports DC the only returned MetadataFormat is DublinCore. - * </p> - * - * @return - */ - public MetadataFormatType setMetadataFormats() { - - MetadataFormatType tgDublinCore = new MetadataFormatType(); - tgDublinCore.setMetadataNamespace("http://www.openarchives.org/OAI/2.0/oai_dc/"); - tgDublinCore.setMetadataPrefix("oai_dc"); - tgDublinCore.setSchema("http://www.openarchives.org/OAI/2.0/oai_dc.xsd"); - - return tgDublinCore; - } - /** * @return * @throws AuthClientException @@ -135,32 +126,16 @@ public class OaipmhUtilities { /** * <p> - * Producing the list of all metadata formats. + * Get the current UTC date for OAI-PMH response dates. * </p> * - * @return tgRepMetadaFormats - */ - public ListMetadataFormatsType setMetadataFormatList() { - - ListMetadataFormatsType tgRepMetadataFormats = new ListMetadataFormatsType(); - MetadataFormatType tgDublinCore = setMetadataFormats(); - tgRepMetadataFormats.getMetadataFormat().add(tgDublinCore); - - return tgRepMetadataFormats; - } - - /** - * <p> - * Calculating the current date and give it back as XMLGregorianCalendar. - * </p> - * - * @return now + * @return * @throws DatatypeConfigurationException */ - public static XMLGregorianCalendar getXMLGregorianCalendarNow() - throws DatatypeConfigurationException { + public static XMLGregorianCalendar getCurrentUTCDate() throws DatatypeConfigurationException { GregorianCalendar gregorianCalendar = new GregorianCalendar(); + gregorianCalendar.setTimeZone(TimeZone.getTimeZone("UTC")); DatatypeFactory datatypeFactory = DatatypeFactory.newInstance(); XMLGregorianCalendar now = datatypeFactory.newXMLGregorianCalendar(gregorianCalendar); @@ -169,28 +144,25 @@ public class OaipmhUtilities { /** * <p> - * Converting a given string representing a date value into the date format required for OAIPMH - * and give it back as XMLGregorianCalendar. + * Converting a given string representing a date value into XMLGregorianCalendar. * </p> * * @param originalDateTimeString - * @return xmlCal + * @return * @throws ParseException * @throws DatatypeConfigurationException */ - public static XMLGregorianCalendar oaiDatestampAsGregorian(String originalDateTimeString) + public static XMLGregorianCalendar getOaiDatestampAsGregorian(String originalDateTimeString) throws ParseException, DatatypeConfigurationException { - log.fine("original date time string: " + originalDateTimeString); + // Get time string. + String utcTimestamp = getOaiDatestampAsString(originalDateTimeString); - SimpleDateFormat tgItemTime = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S"); - Date date = tgItemTime.parse(originalDateTimeString); - SimpleDateFormat outFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - outFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); - String output2 = outFormatter.format(date); - XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(output2); + // Get calendar from time string. + XMLGregorianCalendar result = + DatatypeFactory.newInstance().newXMLGregorianCalendar(utcTimestamp); - return xmlCal; + return result; } /** @@ -203,19 +175,20 @@ public class OaipmhUtilities { * @return dateOutputAsString * @throws ParseException */ - public static String oaiDatestampAsString(String originalDateTimeString) throws ParseException { + public static String getOaiDatestampAsString(String originalDateTimeString) + throws ParseException { log.fine("incoming date: " + originalDateTimeString); - SimpleDateFormat tgItemTime = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S"); - Date date = tgItemTime.parse(originalDateTimeString); - SimpleDateFormat outFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); - outFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); - String dateOutputAsString = outFormatter.format(date); + // Parse TextGrid time format. + Date date = TEXTGRID_ITEM_TIME_FORMAT.parse(originalDateTimeString); + // Set formatter UTC. + OAIDC_UTC_TIME_FORMAT.setTimeZone(TimeZone.getTimeZone("UTC")); + String result = OAIDC_UTC_TIME_FORMAT.format(date); - log.fine("outgoing date: " + dateOutputAsString); + log.fine("outgoing date: " + result); - return dateOutputAsString; + return result; } /** diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java index c7e41b8d..84fcc33f 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDC.java @@ -82,7 +82,7 @@ public class RecordDelivererDC extends RecordDelivererAbstract { String dateOfCreation = "NO_DATE_SET!"; if (OaipmhUtilities.firstEnrtryFieldLoader(json, this.dateOfObjectCreation) != null) { try { - dateOfCreation = OaipmhUtilities.oaiDatestampAsString( + dateOfCreation = OaipmhUtilities.getOaiDatestampAsString( OaipmhUtilities.firstEnrtryFieldLoader(json, this.dateOfObjectCreation).toString()); } catch (ParseException e) { // TODO Auto-generated catch block @@ -131,7 +131,7 @@ public class RecordDelivererDC extends RecordDelivererAbstract { OaipmhUtilities.getSetSpec(setSpec, this.specFieldPrefix, identifier); String convertedCreationDate = - OaipmhUtilities.oaiDatestampAsString(dateOfCreation).toString(); + OaipmhUtilities.getOaiDatestampAsString(dateOfCreation).toString(); record.setHeader( OaipmhUtilities.computeResponseHeader(convertedCreationDate, identifier, setSpecValue)); record.setMetadata(dublinCoreBuilder.getDC()); diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java index fcf30a2a..250dd24c 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererDatacite.java @@ -161,7 +161,7 @@ public class RecordDelivererDatacite extends RecordDelivererAbstract { } // Set response header. - String datestamp = OaipmhUtilities.oaiDatestampAsString( + String datestamp = OaipmhUtilities.getOaiDatestampAsString( OaipmhUtilities.firstEnrtryFieldLoader(this.jsonObj, this.dateOfObjectCreation)); String identifier = ""; @@ -800,8 +800,8 @@ public class RecordDelivererDatacite extends RecordDelivererAbstract { Date dateInOpenAireRecord = new Date(); try { // Only one value per field is needed here (I think). - String dateValue = OaipmhUtilities - .oaiDatestampAsString(OaipmhUtilities.firstEnrtryFieldLoader(this.jsonObj, dateField)); + String dateValue = OaipmhUtilities.getOaiDatestampAsString( + OaipmhUtilities.firstEnrtryFieldLoader(this.jsonObj, dateField)); dateInOpenAireRecord.setValue(dateValue); // TODO Use extra created, issued, and updated fields in configuration! @@ -996,7 +996,7 @@ public class RecordDelivererDatacite extends RecordDelivererAbstract { */ private String addPublicationYear() throws ParseException, DatatypeConfigurationException { return Integer.toString(OaipmhUtilities - .oaiDatestampAsGregorian( + .getOaiDatestampAsGregorian( OaipmhUtilities.firstEnrtryFieldLoader(this.jsonObj, this.dateOfObjectCreation)) .getYear()); } diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIdiom.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIdiom.java index 028538d5..d36b3d3b 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIdiom.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordDelivererIdiom.java @@ -149,7 +149,7 @@ public class RecordDelivererIdiom extends RecordDelivererAbstract { // moment. String setSpec = ""; String convertedModificationDate = - OaipmhUtilities.oaiDatestampAsString(modificationDate).toString(); + OaipmhUtilities.getOaiDatestampAsString(modificationDate).toString(); // We need to have the base URI here in header (and record), it is used as Record ID of Mayan // artifacts here! HeaderType header = diff --git a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java index 5ca6ce5b..d618424e 100644 --- a/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java +++ b/oaipmh-core/src/main/java/info/textgrid/middleware/RecordListDelivererDC.java @@ -219,8 +219,8 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { String identifier = hit.getSourceAsMap().get(this.identifierField).toString(); HeaderType header = OaipmhUtilities.computeResponseHeader( - OaipmhUtilities.oaiDatestampAsString(this.modifiedValue).toString(), identifier, - setSpec); + OaipmhUtilities.getOaiDatestampAsString(this.modifiedValue).toString(), + identifier, setSpec); buildRecord(recordList, header, dublinCoreBuilder); } catch (ParseException e) { @@ -247,8 +247,8 @@ public class RecordListDelivererDC extends RecordListDelivererAbstract { dublinCoreBuilder = putContentIntoDCFieldListsDH(hit); HeaderType header = OaipmhUtilities.computeResponseHeader( - OaipmhUtilities.oaiDatestampAsString(this.modifiedValue).toString(), identifier, - setSpec); + OaipmhUtilities.getOaiDatestampAsString(this.modifiedValue).toString(), + identifier, setSpec); buildRecord(recordList, header, dublinCoreBuilder); } catch (ParseException e) { diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestOaipmhUtilities.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestOaipmhUtilities.java index f941fa50..453d4d34 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestOaipmhUtilities.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestOaipmhUtilities.java @@ -1,6 +1,9 @@ package info.textgrid.middleware.test; import static org.junit.Assert.assertTrue; +import java.text.ParseException; +import javax.xml.datatype.DatatypeConfigurationException; +import javax.xml.datatype.XMLGregorianCalendar; import org.junit.Test; import info.textgrid.middleware.OaipmhUtilities; @@ -178,4 +181,50 @@ public class TestOaipmhUtilities { } } + /** + * @throws ParseException + */ + @Test + public void testOaiDatestampAsString() throws ParseException { + + String expectedUTCDate = "1970-12-10T17:30:00Z"; + String tgDateStamp = "1970-12-10T18:30:00.000"; + + String utcDate = OaipmhUtilities.getOaiDatestampAsString(tgDateStamp); + + if (!utcDate.equals(expectedUTCDate)) { + assertTrue(utcDate + " != " + expectedUTCDate, false); + } + } + + /** + * @throws ParseException + * @throws DatatypeConfigurationException + */ + @Test + public void testOaiDatestampAsGregorian() throws ParseException, DatatypeConfigurationException { + + String expectedUTCDate = "1970-12-10T17:30:00Z"; + String tgDateStamp = "1970-12-10T18:30:00.000"; + + XMLGregorianCalendar utcDate = OaipmhUtilities.getOaiDatestampAsGregorian(tgDateStamp); + + if (!utcDate.toString().equals(expectedUTCDate)) { + assertTrue(utcDate + " != " + expectedUTCDate, false); + } + } + + /** + * @throws DatatypeConfigurationException + */ + @Test + public void testGetCurrentUTCDate() throws DatatypeConfigurationException { + + XMLGregorianCalendar currentUTCDate = OaipmhUtilities.getCurrentUTCDate(); + + if (!currentUTCDate.toString().contains("Z")) { + assertTrue(currentUTCDate.toString() + " is not in UTC format!", false); + } + } + } diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java index fac84975..7e9d90c1 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/TestTGOaipmhLocally.java @@ -218,7 +218,7 @@ public class TestTGOaipmhLocally { public void testDateNow() throws DatatypeConfigurationException { System.out.println("---------------Test Datestamp Parsing with now date -----------------"); - XMLGregorianCalendar nowTest = OaipmhUtilities.getXMLGregorianCalendarNow(); + XMLGregorianCalendar nowTest = OaipmhUtilities.getCurrentUTCDate(); System.out.println(nowTest); System.out.println("-------------------------------------------"); } @@ -233,7 +233,7 @@ public class TestTGOaipmhLocally { String dateformatbefore = "2012-02-06T20:48:39.614+01:00"; System.out.println("--------- Test Datestamp Parsing with a given date ---------------"); System.out.println("Original date: " + dateformatbefore); - XMLGregorianCalendar testDate = OaipmhUtilities.oaiDatestampAsGregorian(dateformatbefore); + XMLGregorianCalendar testDate = OaipmhUtilities.getOaiDatestampAsGregorian(dateformatbefore); System.out.println("Date after conversion: " + testDate); System.out.println("---------------------------------------------"); } @@ -248,7 +248,7 @@ public class TestTGOaipmhLocally { String dateformatbefore = "2012-02-06T20:48:39.614+01:00"; System.out.println("------------String Version-------------------"); System.out.println("Original date: " + dateformatbefore); - String testDate = OaipmhUtilities.oaiDatestampAsString(dateformatbefore); + String testDate = OaipmhUtilities.getOaiDatestampAsString(dateformatbefore); System.out.println("Date after conversion: " + testDate); System.out.println("---------------------------------------------"); } diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java index 470c4be1..e379ceaa 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/OaipmhUtilitiesOnline.java @@ -46,8 +46,8 @@ public class OaipmhUtilitiesOnline { // ## CHANGE SETTINGS BELOW FOR SETTING TEST SCOPE --------------------------------------------- - // public static final String PROPERTIES_FILE = "oaipmh.test.textgridlab-org.properties"; - public static final String PROPERTIES_FILE = "oaipmh.test.dev-textgridlab-org.properties"; + public static final String PROPERTIES_FILE = "oaipmh.test.textgridlab-org.properties"; + // public static final String PROPERTIES_FILE = "oaipmh.test.dev-textgridlab-org.properties"; public static final boolean TEST_ALL_PAGES = false; // public static final boolean TEST_ALL_PAGES = true; diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java index 8c91a2c0..78ee5b78 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGGetRecordOnline.java @@ -35,8 +35,6 @@ import info.textgrid.middleware.test.online.OaipmhUtilitiesOnline; * </p> * * @author Stefan E. Funk, SUB Göttingen - * @version 2023-01-11 - * @since 2022-09-08 */ @Ignore public class TestTGGetRecordOnline { diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListIdentifiersOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListIdentifiersOnline.java index 52d488e5..3a373f61 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListIdentifiersOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListIdentifiersOnline.java @@ -25,8 +25,6 @@ import info.textgrid.middleware.test.online.OaipmhUtilitiesOnline; * </p> * * @author Stefan E. Funk, SUB Göttingen - * @version 2022-09-23 - * @since 2022-09-12 */ @Ignore public class TestTGListIdentifiersOnline { diff --git a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListRecordsOnline.java b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListRecordsOnline.java index 20431afa..500dae53 100644 --- a/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListRecordsOnline.java +++ b/oaipmh-core/src/test/java/info/textgrid/middleware/test/online/tg/TestTGListRecordsOnline.java @@ -25,8 +25,6 @@ import info.textgrid.middleware.test.online.OaipmhUtilitiesOnline; * </p> * * @author Stefan E. Funk, SUB Göttingen - * @version 2022-09-28 - * @since 2022-09-12 */ @Ignore public class TestTGListRecordsOnline { -- GitLab