<service>
<provide interface="javax.servlet.Servlet"/>
</service>
- <property name="osgi.http.whiteboard.servlet.pattern" type="String" value="/api/odk/formList"/>
+ <property name="osgi.http.whiteboard.servlet.pattern" type="String" value="/formList"/>
+ <property name="osgi.http.whiteboard.context.select" type="String" value="(osgi.http.whiteboard.context.name=odkServletContext)"/>
<reference bind="addForm" cardinality="0..n" interface="org.argeo.support.odk.OdkForm" name="OdkForm" policy="dynamic" unbind="removeForm"/>
</scr:component>
<service>
<provide interface="javax.servlet.Servlet"/>
</service>
- <property name="osgi.http.whiteboard.servlet.pattern" type="String" value="/api/odk/*.xml"/>
+ <property name="osgi.http.whiteboard.servlet.pattern" type="String" value="/*.xml"/>
+ <property name="osgi.http.whiteboard.context.select" type="String" value="(osgi.http.whiteboard.context.name=odkServletContext)"/>
<reference bind="addForm" cardinality="0..n" interface="org.argeo.support.odk.OdkForm" name="OdkForm" policy="dynamic" unbind="removeForm"/>
</scr:component>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="init" deactivate="destroy" name="ODK Servlet Context">
+ <implementation class="org.argeo.support.odk.servlet.OdkServletContext"/>
+ <service>
+ <provide interface="org.osgi.service.http.context.ServletContextHelper"/>
+ </service>
+ <property name="osgi.http.whiteboard.context.name" type="String" value="odkServletContext"/>
+ <property name="osgi.http.whiteboard.context.path" type="String" value="/api/odk"/>
+</scr:component>
<service>
<provide interface="javax.servlet.Servlet"/>
</service>
- <property name="osgi.http.whiteboard.servlet.pattern" type="String" value="/api/odk/submission"/>
+ <property name="osgi.http.whiteboard.servlet.pattern" type="String" value="/submission"/>
+ <property name="osgi.http.whiteboard.context.select" type="String" value="(osgi.http.whiteboard.context.name=odkServletContext)"/>
<property name="osgi.http.whiteboard.servlet.multipart.enabled" type="String" value="true"/>
</scr:component>
+Import-Package:\
+org.osgi.service.http.context,\
+*
Service-Component:\
+OSGI-INF/odkServletContext.xml,\
OSGI-INF/odkFormListServlet.xml,\
OSGI-INF/odkFormServlet.xml,\
OSGI-INF/odkSubmissionServlet.xml
output.. = bin/
bin.includes = META-INF/,\
.,\
- OSGI-INF/
+ OSGI-INF/,\
+ OSGI-INF/odkServletContext.xml
source.. = src/
<dependencies>
<dependency>
<groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.util</artifactId>
+ <artifactId>org.argeo.cms</artifactId>
<version>${version.argeo-commons}</version>
</dependency>
</dependencies>
--- /dev/null
+package org.argeo.support.odk.servlet;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.argeo.cms.servlet.PrivateWwwAuthServletContext;
+
+public class OdkServletContext extends PrivateWwwAuthServletContext {
+
+ @Override
+ protected void askForWwwAuth(HttpServletRequest request, HttpServletResponse response) {
+ super.askForWwwAuth(request, response);
+ response.setHeader("X-OpenRosa-Version", "1.0");
+ response.setDateHeader("Date", System.currentTimeMillis());
+
+ }
+
+}