You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2018/02/06 07:51:11 UTC

[karaf] branch master updated: [KARAF-5342] No reference to branding-ssh.properties in console branding section

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/master by this push:
     new 2c49a07  [KARAF-5342] No reference to branding-ssh.properties in console branding section
2c49a07 is described below

commit 2c49a07201c9b612f24a866db9540935d2d34663
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Feb 5 19:54:48 2018 +0100

    [KARAF-5342] No reference to branding-ssh.properties in console branding section
---
 .../src/main/asciidoc/developer-guide/branding.adoc | 10 +++++++++-
 .../apache/karaf/shell/impl/console/Branding.java   | 21 +++++++++++++++++----
 2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/manual/src/main/asciidoc/developer-guide/branding.adoc b/manual/src/main/asciidoc/developer-guide/branding.adoc
index 2abf408..6a0873b 100644
--- a/manual/src/main/asciidoc/developer-guide/branding.adoc
+++ b/manual/src/main/asciidoc/developer-guide/branding.adoc
@@ -51,10 +51,18 @@ prompt = \u001B[1m${USER}@${APPLICATION}\u001B[0m>
 
 Start Karaf and you will see your branded Karaf console.
 
+=== Adding a branding-ssh.properties file to etc
+
+In a similar way, a `etc/branding-ssh.properties` file can be added. It should contain the same
+`welcome` and `prompt` entries but those will be used for external clients connecting through ssh.
+The values default to the ones in `etc/branding.properties` if this file is not defined.
+
+
+
 ==== Branding bundle
 
 At startup, Apache Karaf is looking for a bundle which exports the `org.apache.karaf.branding` package, containing
-a `branding.properties` file.
+a `branding.properties` and/or `branding-ssh.properties` file.
 
 Basically, a branding bundle is a very simple bundle, just containing a `org/apache/karaf/branding/branding.properties`
 file.
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 775c5ea..8ecf541 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
@@ -32,13 +32,19 @@ public final class Branding {
 
     public static Properties loadBrandingProperties(boolean ssh) {
         Properties props = new Properties();
-        String name = ssh ? "branding-ssh.properties" : "branding.properties";
-        loadPropsFromResource(props, "org/apache/karaf/shell/console/" + name);
-        loadPropsFromResource(props, "org/apache/karaf/branding/" + name);
-        loadPropsFromFile(props, System.getProperty("karaf.etc") + "/" + name);
+        loadPropsFromResource(props, "org/apache/karaf/shell/console/", ssh);
+        loadPropsFromResource(props, "org/apache/karaf/branding/", ssh);
+        loadPropsFromFile(props, System.getProperty("karaf.etc") + "/", ssh);
         return props;
     }
 
+    private static void loadPropsFromFile(Properties props, String fileName, boolean ssh) {
+        loadPropsFromFile(props, fileName + "branding.properties");
+        if (ssh) {
+            loadPropsFromFile(props, fileName + "branding-ssh.properties");
+        }
+    }
+
     private static void loadPropsFromFile(Properties props, String fileName) {
         try (FileInputStream is = new FileInputStream(fileName)) {
             loadProps(props, is);
@@ -47,6 +53,13 @@ public final class Branding {
         }
     }
 
+    private static void loadPropsFromResource(Properties props, String resource, boolean ssh) {
+        loadPropsFromResource(props, resource + "branding.properties");
+        if (ssh) {
+            loadPropsFromResource(props, resource + "branding-ssh.properties");
+        }
+    }
+
     private static void loadPropsFromResource(Properties props, String resource) {
         try (InputStream is = Branding.class.getClassLoader().getResourceAsStream(resource)) {
             loadProps(props, is);

-- 
To stop receiving notification emails like this one, please contact
gnodet@apache.org.