You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/12/20 14:47:31 UTC

git commit: ISIS-288: making config changes also work for the Wicket app bootstrapping

Updated Branches:
  refs/heads/master 264d7916e -> 396f4c02a


ISIS-288: making config changes also work for the Wicket app bootstrapping


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/396f4c02
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/396f4c02
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/396f4c02

Branch: refs/heads/master
Commit: 396f4c02a6ba4c4e60fb52b76d8bf38e4e2ca961
Parents: 264d791
Author: Dan Haywood <da...@apache.org>
Authored: Thu Dec 20 13:47:02 2012 +0000
Committer: Dan Haywood <da...@apache.org>
Committed: Thu Dec 20 13:47:02 2012 +0000

----------------------------------------------------------------------
 .../wicket/viewer/IsisWicketApplication.java       |    1 +
 .../viewer/IsisWicketUnsecuredApplication.java     |   24 +++++++++++++--
 .../commons/config/IsisConfigurationBuilder.java   |    2 +-
 .../IsisConfigurationBuilderResourceStreams.java   |    2 +-
 .../commons/config/IsisConfigurationDefault.java   |    2 +-
 .../isis/core/runtime/runner/IsisRunner.java       |    2 +-
 .../isis/core/webapp/IsisWebAppBootstrapper.java   |    2 +-
 7 files changed, 27 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/396f4c02/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
index d62d13e..c938fd1 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
@@ -213,6 +213,7 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
         final ResourceStreamSource rssClasspath = new ResourceStreamSourceCurrentClassClassPath();
         final IsisConfigurationBuilderResourceStreams configurationBuilder = new IsisConfigurationBuilderResourceStreams(rssTcl, rssClasspath, rssServletContext);
         primeConfigurationBuilder(configurationBuilder, servletContext);
+        configurationBuilder.addDefaultConfigurationResources();
         return configurationBuilder;
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/396f4c02/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java
index b478ffb..b4c1eb2 100644
--- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java
+++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java
@@ -19,6 +19,10 @@
 
 package org.apache.isis.viewer.wicket.viewer;
 
+import java.util.List;
+
+import javax.servlet.ServletContext;
+
 import com.google.inject.Guice;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
@@ -39,6 +43,7 @@ import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
+import org.apache.isis.core.commons.config.IsisConfigurationBuilderPrimer;
 import org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStreams;
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
 import org.apache.isis.core.commons.resource.ResourceStreamSourceContextLoaderClassPath;
@@ -52,6 +57,7 @@ import org.apache.isis.core.runtime.runner.IsisInjectModule;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.IsisSystem;
 import org.apache.isis.core.runtime.system.context.IsisContext;
+import org.apache.isis.core.webapp.WebAppConstants;
 import org.apache.isis.core.webapp.config.ResourceStreamSourceForWebInf;
 import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
 import org.apache.isis.viewer.wicket.model.models.ImageResourceCache;
@@ -129,7 +135,7 @@ public class IsisWicketUnsecuredApplication extends WebApplication implements Co
         getResourceSettings().setParentFolderPlaceholder("$up$");
         final DeploymentType deploymentType = determineDeploymentType();
 
-        final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder();
+        final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder(getServletContext());
 
         final IsisInjectModule isisModule = new IsisInjectModule(deploymentType, isisConfigurationBuilder);
         final Injector injector = Guice.createInjector(isisModule, newIsisWicketModule());
@@ -140,21 +146,33 @@ public class IsisWicketUnsecuredApplication extends WebApplication implements Co
 
     private DeploymentType determineDeploymentType() {
         if(usesDevelopmentConfig()) {
-        //if (getConfigurationType().equalsIgnoreCase(WICKET_CONFIGURATION_TYPE_DEVELOPMENT)) {
             return new WicketServerPrototype();
         } else {
             return new WicketServer();
         }
     }
 
-    private IsisConfigurationBuilder createConfigBuilder() {
+    private IsisConfigurationBuilder createConfigBuilder(ServletContext servletContext) {
         final ResourceStreamSource rssServletContext = new ResourceStreamSourceForWebInf(getServletContext());
         final ResourceStreamSource rssTcl = ResourceStreamSourceContextLoaderClassPath.create();
         final ResourceStreamSource rssClasspath = new ResourceStreamSourceCurrentClassClassPath();
         final IsisConfigurationBuilder isisConfigurationBuilder = new IsisConfigurationBuilderResourceStreams(rssTcl, rssClasspath, rssServletContext);
+        primeConfigurationBuilder(isisConfigurationBuilder, servletContext);
+        isisConfigurationBuilder.addDefaultConfigurationResources();
         return isisConfigurationBuilder;
     }
 
+    @SuppressWarnings("unchecked")
+    private static void primeConfigurationBuilder(final IsisConfigurationBuilder isisConfigurationBuilder, final ServletContext servletContext) {
+        final List<IsisConfigurationBuilderPrimer> isisConfigurationBuilderPrimers = (List<IsisConfigurationBuilderPrimer>) servletContext.getAttribute(WebAppConstants.CONFIGURATION_PRIMERS_KEY);
+        if (isisConfigurationBuilderPrimers == null) {
+            return;
+        }
+        for (final IsisConfigurationBuilderPrimer isisConfigurationBuilderPrimer : isisConfigurationBuilderPrimers) {
+            isisConfigurationBuilderPrimer.primeConfigurationBuilder(isisConfigurationBuilder);
+        }
+    }
+
     protected void initWicketComponentInjection(final Injector injector) {
         getComponentInstantiationListeners().add(new GuiceComponentInjector(this, injector));
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/396f4c02/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java
index 3c3e64c..c6946ef 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilder.java
@@ -60,5 +60,5 @@ public interface IsisConfigurationBuilder extends Injectable {
      */
     void dumpResourcesToLog();
 
-    void lockConiguration();
+    void lockConfiguration();
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/396f4c02/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java
index cf64c6d..c468293 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationBuilderResourceStreams.java
@@ -154,7 +154,7 @@ public class IsisConfigurationBuilderResourceStreams implements IsisConfiguratio
         configuration.add(key, value);
     }
 
-    public void lockConiguration() {
+    public void lockConfiguration() {
         locked = true;
     }
     

http://git-wip-us.apache.org/repos/asf/isis/blob/396f4c02/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
index 46f257a..7f7f33f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
@@ -50,7 +50,7 @@ public class IsisConfigurationDefault implements IsisConfiguration {
 
     public IsisConfigurationDefault(final ResourceStreamSource resourceStreamSource) {
         this.resourceStreamSource = resourceStreamSource;
-        LOG.debug("configuration intialised with streams: " + nameOf(resourceStreamSource));
+        LOG.debug("configuration initialised with stream: " + nameOf(resourceStreamSource));
     }
 
     private String nameOf(final ResourceStreamSource resourceStreamSource) {

http://git-wip-us.apache.org/repos/asf/isis/blob/396f4c02/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
index 775457f..2d61dc8 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/IsisRunner.java
@@ -228,7 +228,7 @@ public class IsisRunner {
         this.globalInjector = createGuiceInjector(deploymentType, isisConfigurationBuilder, installerLookup, optionHandlers);
 
         bootstrapper.bootstrap(globalInjector);
-        isisConfigurationBuilder.lockConiguration();
+        isisConfigurationBuilder.lockConfiguration();
         isisConfigurationBuilder.dumpResourcesToLog();
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/396f4c02/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
index 2a3c668..3d2347e 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/webapp/IsisWebAppBootstrapper.java
@@ -114,7 +114,7 @@ public class IsisWebAppBootstrapper implements ServletContextListener {
 
             final IsisSystem system = injector.getInstance(IsisSystem.class);
 
-            isisConfigurationBuilder.lockConiguration();
+            isisConfigurationBuilder.lockConfiguration();
             isisConfigurationBuilder.dumpResourcesToLog();
 
             servletContext.setAttribute(WebAppConstants.ISIS_SYSTEM_KEY, system);