X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=knowledge%2Forg.argeo.support.odk%2Fsrc%2Forg%2Fargeo%2Fsupport%2Fodk%2Fservlet%2FOdkManifestServlet.java;h=54620a3a97902c31bdf24d1d02c59dfe8866fb52;hb=dc577c6d2be1fe28e5c2720ae3cea3d329ec690b;hp=385024c487ffe294f9ea3f0cf236fcbbea4ccc6d;hpb=d82ac64eb9379aec9b5c3b2c66844ddbfebf6806;p=gpl%2Fargeo-suite.git
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..54620a3 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;
@@ -61,16 +60,27 @@ public class OdkManifestServlet extends HttpServlet {
if (file.isNodeType(NodeType.NT_ADDRESS)) {
Node target = file.getProperty(Property.JCR_ID).getNode();
writer.append("");
- writer.append(target.getPath().substring(1) + ".xml");
+// writer.append(target.getPath().substring(1) + ".xml");
+ writer.append(target.getName() + ".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() + "");