X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=knowledge%2Forg.argeo.support.odk%2Fsrc%2Forg%2Fargeo%2Fsupport%2Fodk%2Fservlet%2FOdkManifestServlet.java;h=091f4dabfc7340cda6b95ad4092a7918572890ec;hb=30b97a74faf0dcbc6d787bb88b524bfc53a7f251;hp=88b9c69efdb41f74e0fda931fc4fd13e7ad52be4;hpb=384e41caf78222c53e5cf365bb93310e5b28462b;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 88b9c69..091f4da 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
@@ -60,8 +60,20 @@ 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");
+ // Work around bug in ODK Collect not supporting paths
+ // writer.append(target.getPath().substring(1) + ".xml");
+ writer.append(target.getIdentifier() + ".xml");
writer.append("");
+
+// StringBuilder xml = new StringBuilder();
+// xml.append("");
+// JcrUtils.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());
@@ -82,6 +94,14 @@ public class OdkManifestServlet extends HttpServlet {
} else if (node.isNodeType(OrxManifestName.mediaFile.get())) {
if (node.isNodeType(NodeType.NT_ADDRESS)) {
Node target = node.getProperty(Property.JCR_ID).getNode();
+
+// StringBuilder xml = new StringBuilder();
+// xml.append("");
+// JcrUtils.toSimpleXml(target, xml);
+// System.out.println(xml);
+// resp.getOutputStream().write(xml.toString().getBytes(StandardCharsets.UTF_8));
+// resp.flushBuffer();
+
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
session.exportDocumentView(target.getPath(), out, true, false);
System.out.println(new String(out.toByteArray(), StandardCharsets.UTF_8));