You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2018/08/30 04:42:38 UTC
[isis] 02/02: ISIS-1895: refactoring into a new module package,
also adding comments
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 <ah...@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;