X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.support.odk%2Fsrc%2Forg%2Fargeo%2Fsupport%2Fodk%2Fservlet%2FOdkSubmissionServlet.java;h=9e0c8003e4a3b846848353f2ab89a7b72c47f0bf;hb=41e9998f7f1c87c747c57f60c6bec65fa20757a6;hp=70a80c0cdb7e67732f5fa37ea17364bc1c761783;hpb=3440f51df3e4c015972c7b6a0efb3ce16188b89b;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkSubmissionServlet.java b/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkSubmissionServlet.java index 70a80c0..9e0c800 100644 --- a/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkSubmissionServlet.java +++ b/org.argeo.support.odk/src/org/argeo/support/odk/servlet/OdkSubmissionServlet.java @@ -21,11 +21,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.api.NodeUtils; -import org.argeo.cms.auth.CmsSession; -import org.argeo.cms.servlet.ServletAuthUtils; +import org.argeo.api.cms.CmsSession; +import org.argeo.api.cms.CmsLog; +import org.argeo.cms.auth.RemoteAuthRequest; +import org.argeo.cms.auth.RemoteAuthUtils; +import org.argeo.cms.jcr.CmsJcrUtils; +import org.argeo.cms.servlet.ServletHttpRequest; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrUtils; import org.argeo.suite.SuiteUtils; @@ -35,7 +36,7 @@ import org.argeo.support.xforms.FormSubmissionListener; /** Receives a form submission. */ public class OdkSubmissionServlet extends HttpServlet { private static final long serialVersionUID = 7834401404691302385L; - private final static Log log = LogFactory.getLog(OdkSubmissionServlet.class); + private final static CmsLog log = CmsLog.getLog(OdkSubmissionServlet.class); private final static String XML_SUBMISSION_FILE = "xml_submission_file"; @@ -53,19 +54,20 @@ public class OdkSubmissionServlet extends HttpServlet { resp.setDateHeader("Date", System.currentTimeMillis()); resp.setIntHeader("X-OpenRosa-Accept-Content-Length", 1024 * 1024); - Session session = ServletAuthUtils.doAs(() -> Jcr.login(repository, null), req); + RemoteAuthRequest request = new ServletHttpRequest(req); + Session session = RemoteAuthUtils.doAs(() -> Jcr.login(repository, null), request); try { // Node submissions = JcrUtils.mkdirs(session, // "/" + EntityType.form.get() + "/" + EntityNames.SUBMISSIONS_BASE); - CmsSession cmsSession = ServletAuthUtils.getCmsSession(req); + CmsSession cmsSession = RemoteAuthUtils.getCmsSession(request); ClassLoader currentContextCl = Thread.currentThread().getContextClassLoader(); - Thread.currentThread().setContextClassLoader(ServletAuthUtils.class.getClassLoader()); + Thread.currentThread().setContextClassLoader(RemoteAuthUtils.class.getClassLoader()); Session adminSession = null; try { // TODO centralise at a deeper level - adminSession = NodeUtils.openDataAdminSession(repository, null); + adminSession = CmsJcrUtils.openDataAdminSession(repository, null); SuiteUtils.getOrCreateCmsSessionNode(adminSession, cmsSession); } finally { Jcr.logout(adminSession);