diff options
author | Thomas Knall <t.knall@datentechnik-innovation.com> | 2015-01-30 10:45:59 +0100 |
---|---|---|
committer | Thomas Knall <t.knall@datentechnik-innovation.com> | 2015-01-30 10:45:59 +0100 |
commit | 373641cfb0e404e89f4d9a011ae53d8b8cfc06c5 (patch) | |
tree | 6aff1a1dba922374c9eb8da2bffd4b2b32494b49 | |
parent | 6371e01c520de77b0f37f59c72dbe20fce88c91a (diff) | |
download | moa-id-spss-373641cfb0e404e89f4d9a011ae53d8b8cfc06c5.tar.gz moa-id-spss-373641cfb0e404e89f4d9a011ae53d8b8cfc06c5.tar.bz2 moa-id-spss-373641cfb0e404e89f4d9a011ae53d8b8cfc06c5.zip |
Add dynamic servlet registration for STORK processes.
- Add STORKWebApplicationInitializer.java
- Adjust web.xml
- Move STORK.authmodule.beans.xml to src/main/resources/...
-rw-r--r-- | id/server/auth/src/main/webapp/WEB-INF/web.xml | 5 | ||||
-rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKWebApplicationInitializer.java | 37 | ||||
-rw-r--r-- | id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml (renamed from id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml) | 0 |
3 files changed, 41 insertions, 1 deletions
diff --git a/id/server/auth/src/main/webapp/WEB-INF/web.xml b/id/server/auth/src/main/webapp/WEB-INF/web.xml index f81e01ccd..41c46bd22 100644 --- a/id/server/auth/src/main/webapp/WEB-INF/web.xml +++ b/id/server/auth/src/main/webapp/WEB-INF/web.xml @@ -140,14 +140,17 @@ <servlet-name>ProcessEngineSignal</servlet-name> <!-- Use this url-pattern in order to signal the next (asynchronous) task. --> <url-pattern>/signalProcess</url-pattern> - <!-- legacy url patterns for asynchronous tasks --> + <!-- legacy url patterns for asynchronous tasks (internal default module/processes) --> <url-pattern>/GetMISSessionID</url-pattern> <url-pattern>/GetForeignID</url-pattern> <url-pattern>/VerifyAuthBlock</url-pattern> <url-pattern>/VerifyCertificate</url-pattern> <url-pattern>/VerifyIdentityLink</url-pattern> + <!-- STORK servlet mappings; automatically registered by the stork module --> + <!-- <url-pattern>/PEPSConnectorWithLocalSigning</url-pattern> <url-pattern>/PEPSConnector</url-pattern> + --> </servlet-mapping> <session-config> diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKWebApplicationInitializer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKWebApplicationInitializer.java new file mode 100644 index 000000000..7478a57c3 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORKWebApplicationInitializer.java @@ -0,0 +1,37 @@ +package at.gv.egovernment.moa.id.auth.modules.stork;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRegistration;
+
+import org.springframework.web.WebApplicationInitializer;
+
+import at.gv.egovernment.moa.id.auth.servlet.ProcessEngineSignalServlet;
+
+/**
+ * Spring automatically discovers {@link WebApplicationInitializer} implementations at startup.<br/>
+ * This STORK webapp initializer adds the required servlet mappings:
+ * <ul>
+ * <li>{@code /PEPSConnector}</li>
+ * <li>{@code /PEPSConnectorWithLocalSigning}</li>
+ * </ul>
+ * for the {@linkplain ProcessEngineSignalServlet process engine servlet} (named {@code ProcessEngineSignal}) that wakes
+ * up a process in order to execute asynchronous tasks. Therefore the servlet mappings mentioned above do not need to be
+ * declared in {@code web.xml}.
+ *
+ * @author tknall
+ * @see ProcessEngineSignalServlet
+ */
+public class STORKWebApplicationInitializer implements WebApplicationInitializer {
+
+ @Override
+ public void onStartup(ServletContext servletContext) throws ServletException {
+ ServletRegistration servletRegistration = servletContext.getServletRegistration("ProcessEngineSignal");
+ if (servletRegistration == null) {
+ throw new IllegalStateException("Servlet 'ProcessEngineSignal' expected to be registered.");
+ }
+ servletRegistration.addMapping("/PEPSConnectorWithLocalSigning");
+ servletRegistration.addMapping("/PEPSConnector");
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml b/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml index 2e924bdd0..2e924bdd0 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml +++ b/id/server/idserverlib/src/main/resources/at/gv/egovernment/moa/id/auth/modules/stork/STORK.authmodule.beans.xml |