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 + } + } + } + } + }
