diff --git a/Kitodo-DataFormat/src/main/java/org/kitodo/dataformat/access/MetsXmlElementAccess.java b/Kitodo-DataFormat/src/main/java/org/kitodo/dataformat/access/MetsXmlElementAccess.java index ea68dc7127b..c507351aa00 100644 --- a/Kitodo-DataFormat/src/main/java/org/kitodo/dataformat/access/MetsXmlElementAccess.java +++ b/Kitodo-DataFormat/src/main/java/org/kitodo/dataformat/access/MetsXmlElementAccess.java @@ -107,7 +107,13 @@ private MetsXmlElementAccess(Mets mets) { this(); MetsHdr metsHdr = mets.getMetsHdr(); if (Objects.nonNull(metsHdr)) { - workpiece.setCreationDate(metsHdr.getCREATEDATE().toGregorianCalendar()); + GregorianCalendar gregorianCalendar; + if (Objects.nonNull(metsHdr.getCREATEDATE())) { + gregorianCalendar = metsHdr.getCREATEDATE().toGregorianCalendar(); + } else { + gregorianCalendar = new GregorianCalendar(); + } + workpiece.setCreationDate(gregorianCalendar); for (Agent agent : metsHdr.getAgent()) { workpiece.getEditHistory().add(new AgentXmlElementAccess(agent).getProcessingNote()); } diff --git a/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java b/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java index 13d62981eb1..b20e8e9ee00 100644 --- a/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java +++ b/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java @@ -12,10 +12,12 @@ package org.kitodo.dataformat.access; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; +import java.io.IOException; import java.io.OutputStream; import java.net.URI; import java.nio.file.Files; @@ -246,4 +248,11 @@ public void testSave() throws Exception { clean(); } + + @Test + public void missingMetsHeaderCreationDateDidNotThrowNullPointerException() throws IOException { + Workpiece workpiece = new MetsXmlElementAccess() + .read(new FileInputStream(new File("src/test/resources/meta_missing_createdate.xml"))); + assertNotNull(workpiece.getCreationDate()); + } } diff --git a/Kitodo-DataFormat/src/test/resources/meta_missing_createdate.xml b/Kitodo-DataFormat/src/test/resources/meta_missing_createdate.xml new file mode 100644 index 00000000000..08fa5b3d3aa --- /dev/null +++ b/Kitodo-DataFormat/src/test/resources/meta_missing_createdate.xml @@ -0,0 +1,69 @@ + + + + + + Kitodo - kitodo-ugh-2.1.0-kitodo-ugh-2.1.0 - 22−May−2017 + Kitodo + + + + + + + Collection 2 + 1910 + Berlin + VI, 134 S. + Das Pharmazeutische Institut der Universität Berlin + Pharmazeutische Institut der Universität Berlin + 644901748 + Online Ressource + ger + ThomDas + Bornträger + + + + + + + + + Copyright: Universitätsbibliothek Braunschweig + 2726-0409 + file:///mnt/data/metadata/6/images/ThomPhar_644901748_tif + + + + + + + + + + + + + + + + + + + + + + + + +