Author: cschneider
Date: Tue Aug 14 08:38:49 2012
New Revision: 1372772

URL: http://svn.apache.org/viewvc?rev=1372772&view=rev
Log:
KARAF-1640 Make sure branding properties are only loaded once during startup

Modified:
    
karaf/trunk/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
    
karaf/trunk/shell/console/src/test/java/org/apache/karaf/shell/console/ExampleSubclassMain.java

Modified: 
karaf/trunk/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
URL: 
http://svn.apache.org/viewvc/karaf/trunk/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java?rev=1372772&r1=1372771&r2=1372772&view=diff
==============================================================================
--- 
karaf/trunk/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
 (original)
+++ 
karaf/trunk/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
 Tue Aug 14 08:38:49 2012
@@ -164,8 +164,9 @@ public class ConsoleImpl implements Cons
         CommandSessionHolder.setSession(session);
         running = true;
         pipe.start();
-        welcome();
-        setSessionProperties();
+        Properties brandingProps = Branding.loadBrandingProperties();
+        welcome(brandingProps);
+        setSessionProperties(brandingProps);
         String scriptFileName = System.getProperty(SHELL_INIT_SCRIPT);
         executeScript(scriptFileName);
         while (running) {
@@ -258,17 +259,15 @@ public class ConsoleImpl implements Cons
         }
        }
 
-    protected void welcome() {
-        Properties props = Branding.loadBrandingProperties();
-        String welcome = props.getProperty("welcome");
+    protected void welcome(Properties brandingProps) {
+        String welcome = brandingProps.getProperty("welcome");
         if (welcome != null && welcome.length() > 0) {
             session.getConsole().println(welcome);
         }
     }
 
-    protected void setSessionProperties() {
-        Properties props = Branding.loadBrandingProperties();
-        for (Map.Entry<Object, Object> entry : props.entrySet()) {
+    protected void setSessionProperties(Properties brandingProps) {
+        for (Map.Entry<Object, Object> entry : brandingProps.entrySet()) {
             String key = (String) entry.getKey();
             if (key.startsWith("session.")) {
                 session.put(key.substring("session.".length()), 
entry.getValue());

Modified: 
karaf/trunk/shell/console/src/test/java/org/apache/karaf/shell/console/ExampleSubclassMain.java
URL: 
http://svn.apache.org/viewvc/karaf/trunk/shell/console/src/test/java/org/apache/karaf/shell/console/ExampleSubclassMain.java?rev=1372772&r1=1372771&r2=1372772&view=diff
==============================================================================
--- 
karaf/trunk/shell/console/src/test/java/org/apache/karaf/shell/console/ExampleSubclassMain.java
 (original)
+++ 
karaf/trunk/shell/console/src/test/java/org/apache/karaf/shell/console/ExampleSubclassMain.java
 Tue Aug 14 08:38:49 2012
@@ -23,6 +23,7 @@ import org.apache.karaf.shell.console.im
 
 import java.io.InputStream;
 import java.io.PrintStream;
+import java.util.Properties;
 
 /**
  * This class is mostly here so that folks can see an example of how you can 
extend the Karaf Main shell.  Also
@@ -55,7 +56,7 @@ public class ExampleSubclassMain extends
              * <ul>
              */
             @Override
-            protected void welcome() {
+            protected void welcome(Properties brandingProps) {
                 
session.getConsole().println("===============================================");
                 session.getConsole().println(" Example Shell ");
                 
session.getConsole().println("===============================================");
@@ -79,7 +80,7 @@ public class ExampleSubclassMain extends
              * <ul>
              */
             @Override
-            protected void setSessionProperties() {
+            protected void setSessionProperties(Properties brandingProps) {
                 // we won't add any session properties.
             }
 


Reply via email to