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 <[email protected]> Authored: Thu Dec 20 13:47:02 2012 +0000 Committer: Dan Haywood <[email protected]> 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);
