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 2013/09/13 00:10:28 UTC
git commit: ISIS-520: fixing regression (infinite loop if run under
Tomcat).
Updated Branches:
refs/heads/master edfc5f5f7 -> b31ace2c6
ISIS-520: fixing regression (infinite loop if run under Tomcat).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/b31ace2c
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/b31ace2c
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/b31ace2c
Branch: refs/heads/master
Commit: b31ace2c6c7471d8747981acfd28122333433fda
Parents: edfc5f5
Author: Dan Haywood <da...@apache.org>
Authored: Thu Sep 12 23:10:05 2013 +0100
Committer: Dan Haywood <da...@apache.org>
Committed: Thu Sep 12 23:10:05 2013 +0100
----------------------------------------------------------------------
.../wicket/viewer/IsisWicketApplication.java | 27 ++++++++++++++------
1 file changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/b31ace2c/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 49b944e..dcd6fb0 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
@@ -175,6 +175,7 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
private BookmarkedPagesModel bookmarkedPagesModel;
+ private boolean determiningDeploymentType;
private DeploymentTypeWicketAbstract deploymentType;
@@ -224,10 +225,15 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
return;
}
- final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder();
- final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration();
- String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
- deploymentType = determineDeploymentType(deploymentTypeFromConfig);
+ determiningDeploymentType = true;
+ try {
+ final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder();
+ final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration();
+ String deploymentTypeFromConfig = configuration.getString("isis.deploymentType");
+ deploymentType = determineDeploymentType(deploymentTypeFromConfig);
+ } finally {
+ determiningDeploymentType = false;
+ }
}
private boolean determineStripWicketTags(IsisConfiguration configuration) {
@@ -244,6 +250,11 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
@Override
public RuntimeConfigurationType getConfigurationType() {
+ if(determiningDeploymentType) {
+ // avoiding an infinite loop; have already passed through here once before
+ // this time around, just delegate to web-inf
+ return super.getConfigurationType();
+ }
determineDeploymentTypeIfRequired();
return deploymentType.getConfigurationType();
}
@@ -275,10 +286,10 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement
protected IsisConfigurationBuilder createConfigBuilder(final ServletContext servletContext) {
final String configLocation = servletContext.getInitParameter(WebAppConstants.CONFIG_DIR_PARAM);
- final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(
- new ResourceStreamSourceForWebInf(servletContext),
- ResourceStreamSourceContextLoaderClassPath.create(),
- new ResourceStreamSourceCurrentClassClassPath());
+ final ResourceStreamSourceForWebInf rssWebInf = new ResourceStreamSourceForWebInf(servletContext);
+ final ResourceStreamSourceContextLoaderClassPath rssContextLoaderClassPath = ResourceStreamSourceContextLoaderClassPath.create();
+ final ResourceStreamSourceCurrentClassClassPath rssCurrentClassPath = new ResourceStreamSourceCurrentClassClassPath();
+ final ResourceStreamSourceComposite compositeSource = new ResourceStreamSourceComposite(rssWebInf, rssContextLoaderClassPath, rssCurrentClassPath);
if ( configLocation != null ) {
LOG.info( "Config override location: " + configLocation );