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());
     }

Reply via email to