Repository: karaf
Updated Branches:
  refs/heads/master 4d9551fdd -> ba1f4dc11


[KARAF-3576]can't load customized branding.properties from KARAF_ETC


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ba1f4dc1
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ba1f4dc1
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ba1f4dc1

Branch: refs/heads/master
Commit: ba1f4dc115e9229afca60c5c6fdbd0df63c74ef1
Parents: 4d9551f
Author: Freeman Fang <[email protected]>
Authored: Wed May 13 15:44:07 2015 +0800
Committer: Freeman Fang <[email protected]>
Committed: Wed May 13 15:44:07 2015 +0800

----------------------------------------------------------------------
 .../karaf/shell/impl/console/Branding.java      | 40 +++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/ba1f4dc1/shell/core/src/main/java/org/apache/karaf/shell/impl/console/Branding.java
----------------------------------------------------------------------
diff --git 
a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/Branding.java 
b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/Branding.java
index bae8f2a..ba3d98f 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/Branding.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/Branding.java
@@ -18,15 +18,23 @@
  */
 package org.apache.karaf.shell.impl.console;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Properties;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import org.apache.karaf.shell.api.console.Terminal;
 
 
 public final class Branding {
-    
+   
+    static final Logger LOGGER = LoggerFactory.getLogger(Branding.class);
+     
     private Branding() { }
 
     public static Properties loadBrandingProperties() {
@@ -46,6 +54,18 @@ public final class Branding {
         }
 
         loadProps(props, "org/apache/karaf/branding/branding.properties");
+        // load branding from etc/branding.properties
+        File etcBranding = new File(System.getProperty("karaf.etc"), 
"branding.properties");
+        if (etcBranding.exists()) {
+            FileInputStream etcBrandingIs = null;
+            try {
+                etcBrandingIs = new FileInputStream(etcBranding);
+            } catch (FileNotFoundException e) {
+                LOGGER.trace("Could not load branding.", e);
+            }
+            loadProps(props, etcBrandingIs);
+        }
+
         return props;
     }
     
@@ -69,4 +89,22 @@ public final class Branding {
         }
     }
 
+    protected static void loadProps(Properties props, InputStream is) {
+        try {
+            if (is != null) {
+                props.load(is);
+            }
+        } catch (IOException e) {
+            // ignore
+        } finally {
+            if (is != null) {
+                try {
+                    is.close();
+                } catch (IOException e) {
+                    // Ignore
+                }
+            }
+        }
+    }
+
 }

Reply via email to