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;

Reply via email to