From 6bb643f74b8a6ef00aa6f5903ab70d4719695119 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 13 Oct 2021 12:04:17 +0200 Subject: [PATCH] Make external instance checksum coherent with the new approach. --- .../odk/servlet/OdkManifestServlet.java | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkManifestServlet.java b/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkManifestServlet.java index 385024c..207189c 100644 --- a/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkManifestServlet.java +++ b/knowledge/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkManifestServlet.java @@ -1,6 +1,5 @@ package org.argeo.support.odk.servlet; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.Writer; import java.nio.charset.StandardCharsets; @@ -63,14 +62,24 @@ public class OdkManifestServlet extends HttpServlet { writer.append(""); writer.append(target.getPath().substring(1) + ".xml"); writer.append(""); - try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { - session.exportDocumentView(target.getPath(), out, true, false); - String fileCsum = DigestUtils.digest(DigestUtils.MD5, out.toByteArray()); -// JcrxApi.addChecksum(file, fileCsum); - writer.append(""); - writer.append("md5sum:" + fileCsum); - writer.append(""); - } + + StringBuilder xml = new StringBuilder(); + xml.append(""); + toSimpleXml(target, xml); + String fileCsum = DigestUtils.digest(DigestUtils.MD5, + xml.toString().getBytes(StandardCharsets.UTF_8)); + writer.append(""); + writer.append("md5sum:" + fileCsum); + writer.append(""); + +// try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { +// session.exportDocumentView(target.getPath(), out, true, false); +// String fileCsum = DigestUtils.digest(DigestUtils.MD5, out.toByteArray()); +//// JcrxApi.addChecksum(file, fileCsum); +// writer.append(""); +// writer.append("md5sum:" + fileCsum); +// writer.append(""); +// } writer.append("" + protocol + "://" + serverName + (serverPort == 80 || serverPort == 443 ? "" : ":" + serverPort) + "/api/odk/formManifest" + file.getPath() + ""); -- 2.30.2