diff --git a/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java b/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java index 60cf48bb9ca163a493d7b3cf9fac18f2212c13c2..3142deda3981d8180f3627cb30fd845bbd73fbe0 100644 --- a/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java +++ b/src/main/java/info/textgrid/services/aggregator/zip/ZipResult.java @@ -107,12 +107,14 @@ private void addToMapping(ImportMapping mapping, AggregationEntry entry) { } } - private void writeAggregation(ZipOutputStream zip, Aggregation root) throws IOException { - writeFile(zip, root); - zip.putNextEntry(new ZipEntry(root.getFileName(false).concat("/"))); + private void writeAggregation(ZipOutputStream zip, Aggregation aggregation) throws IOException { + writeFile(zip, aggregation); + ZipEntry zipEntry = new ZipEntry(aggregation.getFileName(false).concat("/")); + zip.putNextEntry(zipEntry); + zipEntry.setTime(aggregation.getMetadata().getGeneric().getGenerated().getLastModified().toGregorianCalendar().getTimeInMillis()); zip.closeEntry(); - for (AggregationEntry child : root.getChildren()) { + for (AggregationEntry child : aggregation.getChildren()) { if (child instanceof Aggregation) writeAggregation(zip, (Aggregation) child); else @@ -123,6 +125,7 @@ private void writeAggregation(ZipOutputStream zip, Aggregation root) throws IOEx private void writeFile(ZipOutputStream zip, AggregationEntry aggregationEntry) throws IOException { writeMetadata(zip, aggregationEntry); ZipEntry zipEntry = new ZipEntry(aggregationEntry.getFileName(true)); + zipEntry.setTime(aggregationEntry.getMetadata().getGeneric().getGenerated().getLastModified().toGregorianCalendar().getTimeInMillis()); ImportObject importObject = mapping.getImportObjectForTextGridURI(aggregationEntry.getTextGridURI().toString()); try { @@ -158,7 +161,9 @@ private void writeFile(ZipOutputStream zip, AggregationEntry aggregationEntry) t } private void writeMetadata(ZipOutputStream zip, AggregationEntry aggregationEntry) throws IOException { - zip.putNextEntry(new ZipEntry(aggregationEntry.getFileName(true).concat(".meta"))); + ZipEntry zipEntry = new ZipEntry(aggregationEntry.getFileName(true).concat(".meta")); + zipEntry.setTime(aggregationEntry.getMetadata().getGeneric().getGenerated().getLastModified().toGregorianCalendar().getTimeInMillis()); + zip.putNextEntry(zipEntry); ConfigurableXMLRewriter rewriter = new ConfigurableXMLRewriter(mapping, true); rewriter.configure(URI.create("internal:textgrid#metadata")); if (aggregationEntry.getBase().isPresent())