This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/isis.git
commit a117c92b017211a1704851f2818deb033174a0bf Author: Andi Huber <ahu...@apache.org> AuthorDate: Thu Aug 30 06:33:57 2018 +0200 ISIS-1895: refactoring into a new module package, also adding comments Task-Url: https://issues.apache.org/jira/browse/ISIS-1895 --- .../isis/core/webapp/IsisWebAppContextListener.java | 8 ++++++-- .../isis/core/webapp/{ => modules}/WebModule.java | 19 ++++++++++++++++--- .../{ => modules}/WebModule_LogOnExceptionLogger.java | 2 +- .../core/webapp/{ => modules}/WebModule_NoWicket.java | 4 +++- .../core/webapp/{ => modules}/WebModule_RestEasy.java | 2 +- .../core/webapp/{ => modules}/WebModule_Shiro.java | 2 +- .../core/webapp/{ => modules}/WebModule_Wicket.java | 2 +- 7 files changed, 29 insertions(+), 10 deletions(-) diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppContextListener.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppContextListener.java index 40612fe..6579f22 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppContextListener.java +++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppContextListener.java @@ -32,12 +32,16 @@ import javax.servlet.annotation.WebListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.isis.core.webapp.modules.WebModule; + /** * * Introduced to render web.xml listener configurations obsolete. * <p> - * Acts as the single application entry-point when running within a Servlet context. - * Installs WebModules on the ServletContext when discovered on the class-path. + * Acts as the single application entry-point for setting up the + * ServletContext programmatically. + * </p><p> + * Installs {@link WebModule}s on the ServletContext. * </p> * * @since 2.0.0 diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule.java similarity index 72% rename from core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule.java rename to core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule.java index e8594f2..a7cf761 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule.java +++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.isis.core.webapp; +package org.apache.isis.core.webapp.modules; import java.util.stream.Stream; @@ -24,7 +24,15 @@ import javax.servlet.ServletContext; import javax.servlet.ServletContextListener; import javax.servlet.ServletException; +import org.apache.isis.core.webapp.IsisWebAppContextListener; + /** + * Introduced to render web.xml listener configurations obsolete. + * <p> + * WebModule instances are used by the {@link IsisWebAppContextListener} to setup + * the ServletContext programmatically. + * </p> + * * @since 2.0.0 */ public interface WebModule { @@ -55,12 +63,17 @@ public interface WebModule { */ static Stream<WebModule> discoverWebModules() { + //TODO [ahuber] instead of providing a static list of modules, modules could be discovered on + // the class-path (in case we have plugins that provide such modules). + // We need yet to decide a mechanism, that enforces a certain ordering of these modules, since + // this influences the order in which filters are processed. + return Stream.of( - new WebModule_Shiro(), + new WebModule_Shiro(), // filters before all others new WebModule_Wicket(), new WebModule_NoWicket(), // not required if the Wicket viewer is in use new WebModule_RestEasy(), // default REST provider - new WebModule_LogOnExceptionLogger() // log any logon exceptions + new WebModule_LogOnExceptionLogger() // log any logon exceptions, filters after all others ); } diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_LogOnExceptionLogger.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_LogOnExceptionLogger.java similarity index 98% rename from core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_LogOnExceptionLogger.java rename to core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_LogOnExceptionLogger.java index f9c9423..379c3e8 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_LogOnExceptionLogger.java +++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_LogOnExceptionLogger.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.isis.core.webapp; +package org.apache.isis.core.webapp.modules; import static org.apache.isis.commons.internal.base._Casts.uncheckedCast; import static org.apache.isis.commons.internal.base._Strings.prefix; diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_NoWicket.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_NoWicket.java similarity index 94% rename from core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_NoWicket.java rename to core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_NoWicket.java index 10151ba..463eb74 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_NoWicket.java +++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_NoWicket.java @@ -16,12 +16,14 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.isis.core.webapp; +package org.apache.isis.core.webapp.modules; import javax.servlet.ServletContext; import javax.servlet.ServletContextListener; import javax.servlet.ServletException; +import org.apache.isis.core.webapp.IsisWebAppBootstrapper; + /** * Package private mixin for WebModule implementing WebModule. * @since 2.0.0 diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_RestEasy.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_RestEasy.java similarity index 98% rename from core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_RestEasy.java rename to core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_RestEasy.java index b9c04e1..0612f05 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_RestEasy.java +++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_RestEasy.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.isis.core.webapp; +package org.apache.isis.core.webapp.modules; import static org.apache.isis.commons.internal.base._Casts.uncheckedCast; import static org.apache.isis.commons.internal.base._Strings.prefix; diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_Shiro.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_Shiro.java similarity index 98% rename from core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_Shiro.java rename to core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_Shiro.java index 12fdff3..8550f4d 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_Shiro.java +++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_Shiro.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.isis.core.webapp; +package org.apache.isis.core.webapp.modules; import static org.apache.isis.commons.internal.base._Casts.uncheckedCast; import static org.apache.isis.commons.internal.context._Context.getDefaultClassLoader; diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_Wicket.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_Wicket.java similarity index 98% rename from core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_Wicket.java rename to core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_Wicket.java index 0f60704..e2bb66b 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/webapp/WebModule_Wicket.java +++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/modules/WebModule_Wicket.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.isis.core.webapp; +package org.apache.isis.core.webapp.modules; import static org.apache.isis.commons.internal.base._Casts.uncheckedCast; import static org.apache.isis.commons.internal.base._Strings.prefix;