ISIS-793: make determination of DeploymentType easier to override.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c566cae3 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c566cae3 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c566cae3 Branch: refs/heads/master Commit: c566cae378444b6c56a0dcfc73ebcbe6a7672297 Parents: ce09b83 Author: Dan Haywood <[email protected]> Authored: Mon May 26 11:02:26 2014 +0100 Committer: Dan Haywood <[email protected]> Committed: Mon May 26 11:02:26 2014 +0100 ---------------------------------------------------------------------- .../wicket/viewer/IsisWicketApplication.java | 71 +++++++++++--------- 1 file changed, 39 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/c566cae3/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 50f5110..537ac22 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 @@ -328,6 +328,45 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement return new WebRequestCycleForIsis(); } + // ////////////////////////////////////// + + /** + * Made protected visibility for easy (informal) pluggability. + */ + protected void determineDeploymentTypeIfRequired() { + if(deploymentType != null) { + return; + } + + determiningDeploymentType = true; + try { + final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder(); + final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration(); + String deploymentTypeFromConfig = configuration.getString("isis.deploymentType"); + deploymentType = determineDeploymentType(deploymentTypeFromConfig); + } finally { + determiningDeploymentType = false; + } + } + + /** + * Made protected visibility for easy (informal) pluggability. + */ + protected DeploymentTypeWicketAbstract determineDeploymentType(String deploymentTypeFromConfig) { + final DeploymentTypeWicketAbstract prototype = new WicketServerPrototype(); + final DeploymentTypeWicketAbstract deployment = new WicketServer(); + + if(deploymentTypeFromConfig != null) { + final DeploymentType deploymentType = DeploymentType.lookup(deploymentTypeFromConfig); + return !deploymentType.getDeploymentCategory().isProduction() + ? prototype + : deployment; + } else { + return usesDevelopmentConfig() + ? prototype + : deployment; + } + } // ////////////////////////////////////// @@ -428,22 +467,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement } - private void determineDeploymentTypeIfRequired() { - if(deploymentType != null) { - return; - } - - determiningDeploymentType = true; - try { - final IsisConfigurationBuilder isisConfigurationBuilder = createConfigBuilder(); - final IsisConfiguration configuration = isisConfigurationBuilder.getConfiguration(); - String deploymentTypeFromConfig = configuration.getString("isis.deploymentType"); - deploymentType = determineDeploymentType(deploymentTypeFromConfig); - } finally { - determiningDeploymentType = false; - } - } - /** * Whether Wicket tags should be stripped from the markup, as specified by configuration settings (otherwise * depends on the {@link #deploymentType deployment type}. @@ -485,22 +508,6 @@ public class IsisWicketApplication extends AuthenticatedWebApplication implement return new IsisInjectModule(deploymentType, isisConfigurationBuilder); } - private DeploymentTypeWicketAbstract determineDeploymentType(String deploymentTypeFromConfig) { - final DeploymentTypeWicketAbstract prototype = new WicketServerPrototype(); - final DeploymentTypeWicketAbstract deployment = new WicketServer(); - - if(deploymentTypeFromConfig != null) { - final DeploymentType deploymentType = DeploymentType.lookup(deploymentTypeFromConfig); - return !deploymentType.getDeploymentCategory().isProduction() - ? prototype - : deployment; - } else { - return usesDevelopmentConfig() - ? prototype - : deployment; - } - } - private IsisConfigurationBuilder createConfigBuilder() { return createConfigBuilder(getServletContext()); }
