X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.app.servlet.odk%2Fsrc%2Forg%2Fargeo%2Fapp%2Fservlet%2Fodk%2FOdkSubmissionServlet.java;h=3740805f1216a7aff661f559f10a7cdd15e8b1d1;hp=9392587d917ae5058f85583f3719c906afb2eba7;hb=d6c9d33b61e475914d3f8d7534374ed30eca8150;hpb=618968cf9d259ccded45a9455a26c516dbfe828f diff --git a/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkSubmissionServlet.java b/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkSubmissionServlet.java index 9392587..3740805 100644 --- a/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkSubmissionServlet.java +++ b/org.argeo.app.servlet.odk/src/org/argeo/app/servlet/odk/OdkSubmissionServlet.java @@ -24,13 +24,14 @@ import javax.servlet.http.Part; import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.CmsSession; -import org.argeo.app.core.SuiteUtils; import org.argeo.app.image.ImageProcessor; +import org.argeo.app.jcr.SuiteJcrUtils; import org.argeo.app.odk.OrxType; import org.argeo.app.xforms.FormSubmissionListener; import org.argeo.cms.auth.RemoteAuthRequest; import org.argeo.cms.auth.RemoteAuthUtils; import org.argeo.cms.jcr.CmsJcrUtils; +import org.argeo.cms.jcr.acr.JcrContent; import org.argeo.cms.servlet.ServletHttpRequest; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrUtils; @@ -54,9 +55,9 @@ public class OdkSubmissionServlet extends HttpServlet { resp.setContentType("text/xml; charset=utf-8"); resp.setHeader("X-OpenRosa-Version", "1.0"); resp.setDateHeader("Date", System.currentTimeMillis()); - + // should be set in HEAD? Let's rather use defaults. - //resp.setIntHeader("X-OpenRosa-Accept-Content-Length", 1024 * 1024); + // resp.setIntHeader("X-OpenRosa-Accept-Content-Length", 1024 * 1024); RemoteAuthRequest request = new ServletHttpRequest(req); Session session = RemoteAuthUtils.doAs(() -> Jcr.login(repository, null), request); @@ -67,13 +68,13 @@ public class OdkSubmissionServlet extends HttpServlet { try { // TODO centralise at a deeper level adminSession = CmsJcrUtils.openDataAdminSession(repository, null); - SuiteUtils.getOrCreateCmsSessionNode(adminSession, cmsSession); + SuiteJcrUtils.getOrCreateCmsSessionNode(adminSession, cmsSession); } finally { Jcr.logout(adminSession); } try { - Node cmsSessionNode = SuiteUtils.getCmsSessionNode(session, cmsSession); + Node cmsSessionNode = SuiteJcrUtils.getCmsSessionNode(session, cmsSession); Node submission = cmsSessionNode.addNode(submissionNameFormatter.format(Instant.now()), OrxType.submission.get()); for (Part part : req.getParts()) { @@ -117,7 +118,7 @@ public class OdkSubmissionServlet extends HttpServlet { session.save(); try { for (FormSubmissionListener submissionListener : submissionListeners) { - submissionListener.formSubmissionReceived(submission); + submissionListener.formSubmissionReceived(JcrContent.nodeToContent(submission)); } } catch (Exception e) { log.error("Cannot save submision, cancelling...", e);