You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/06/11 14:27:17 UTC

[1/3] camel git commit: CAMEL-10044: Add support for defining an option as secret.

Repository: camel
Updated Branches:
  refs/heads/master 3f408a8d8 -> 33cf20844


CAMEL-10044: Add support for defining an option as secret.


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

Branch: refs/heads/master
Commit: e9ae7b3d27fd51d582b54946e7df44358ecece55
Parents: 3f408a8
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Jun 11 14:06:12 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Jun 11 14:06:12 2016 +0200

----------------------------------------------------------------------
 .../management/mbean/CamelOpenMBeanTypes.java   | 25 +++++-----
 .../apache/camel/impl/DefaultCamelContext.java  | 51 ++++++++++++++------
 .../management/mbean/ManagedCamelContext.java   |  9 +++-
 .../management/mbean/ManagedComponent.java      |  5 +-
 .../management/mbean/ManagedDataFormat.java     |  5 +-
 .../camel/management/mbean/ManagedEndpoint.java |  5 +-
 .../camel/tools/apt/EipAnnotationProcessor.java |  2 +-
 .../tools/apt/EndpointAnnotationProcessor.java  | 16 +++---
 .../tools/apt/helper/JsonSchemaHelper.java      |  7 ++-
 .../camel/tools/apt/model/ComponentOption.java  |  9 +++-
 .../camel/tools/apt/model/EndpointOption.java   |  8 ++-
 .../camel/tools/apt/model/EndpointPath.java     | 11 ++++-
 .../tools/apt/EndpointOptionComparatorTest.java |  8 +--
 .../java/org/apache/camel/spi/Metadata.java     |  5 ++
 .../java/org/apache/camel/spi/UriParam.java     |  5 ++
 15 files changed, 120 insertions(+), 51 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
index 596b2d4..cb39d62 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/CamelOpenMBeanTypes.java
@@ -83,9 +83,9 @@ public final class CamelOpenMBeanTypes {
     }
 
     public static CompositeType explainComponentCompositeType() throws OpenDataException {
-        return new CompositeType("components", "Components", new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "value", "default value", "description"},
-                new String[]{"Option", "Kind", "Group", "Label", "Type", "Java Type", "Deprecated", "Value", "Default Value", "Description"},
-                new OpenType[]{SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING,
+        return new CompositeType("components", "Components", new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "secret", "value", "default value", "description"},
+                new String[]{"Option", "Kind", "Group", "Label", "Type", "Java Type", "Deprecated", "Secret", "Value", "Default Value", "Description"},
+                new OpenType[]{SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING,
                                SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
     }
 
@@ -95,10 +95,10 @@ public final class CamelOpenMBeanTypes {
     }
 
     public static CompositeType explainDataFormatsCompositeType() throws OpenDataException {
-        return new CompositeType("dataformats", "DataFormats", new String[]{"option", "kind", "label", "type", "java type", "deprecated", "value", "default value", "description"},
-                new String[]{"Option", "Kind", "Label", "Type", "Java Type", "Deprecated", "Value", "Default Value", "Description"},
+        return new CompositeType("dataformats", "DataFormats", new String[]{"option", "kind", "label", "type", "java type", "deprecated", "secret", "value", "default value", "description"},
+                new String[]{"Option", "Kind", "Label", "Type", "Java Type", "Deprecated", "Secret", "Value", "Default Value", "Description"},
                 new OpenType[]{SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING,
-                               SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
+                               SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
     }
 
 
@@ -108,9 +108,9 @@ public final class CamelOpenMBeanTypes {
     }
 
     public static CompositeType explainEndpointsCompositeType() throws OpenDataException {
-        return new CompositeType("endpoints", "Endpoints", new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "value", "default value", "description"},
-                new String[]{"Option", "Kind", "Group", "Label", "Type", "Java Type", "Deprecated", "Value", "Default Value", "Description"},
-                new OpenType[]{SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING,
+        return new CompositeType("endpoints", "Endpoints", new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "secret", "value", "default value", "description"},
+                new String[]{"Option", "Kind", "Group", "Label", "Type", "Java Type", "Deprecated", "Secret", "Value", "Default Value", "Description"},
+                new OpenType[]{SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING,
                                SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
     }
 
@@ -132,10 +132,11 @@ public final class CamelOpenMBeanTypes {
     }
 
     public static CompositeType listComponentsCompositeType() throws OpenDataException {
-        return new CompositeType("components", "Components", new String[]{"name", "title", "syntax", "description", "label", "deprecated", "status", "type", "groupId", "artifactId", "version"},
-                new String[]{"Name", "Title", "Syntax", "Description", "Label", "Deprecated", "Status", "Type", "GroupId", "ArtifactId", "Version"},
+        return new CompositeType("components", "Components", new String[]{"name", "title", "syntax", "description", "label", "deprecated",
+                "secret", "status", "type", "groupId", "artifactId", "version"},
+                new String[]{"Name", "Title", "Syntax", "Description", "Label", "Deprecated", "Secret", "Status", "Type", "GroupId", "ArtifactId", "Version"},
                 new OpenType[]{SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING,
-                               SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
+                               SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
     }
 
     public static TabularType listAwaitThreadsTabularType() throws OpenDataException {

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index 38ee073..f3fc577 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -1745,6 +1745,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String required = null;
                 String javaType = null;
                 String deprecated = null;
+                String secret = null;
                 String defaultValue = null;
                 String description = null;
                 for (Map<String, String> row : rows) {
@@ -1755,6 +1756,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                         required = row.get("required");
                         javaType = row.get("javaType");
                         deprecated = row.get("deprecated");
+                        secret = row.get("secret");
                         defaultValue = row.get("defaultValue");
                         description = row.get("description");
                         break;
@@ -1762,7 +1764,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 }
 
                 // remember this option from the uri
-                dataFormatOptions.put(name, new String[]{name, kind, label, required, type, javaType, deprecated, value, defaultValue, description});
+                dataFormatOptions.put(name, new String[]{name, kind, label, required, type, javaType, deprecated, secret, value, defaultValue, description});
             }
 
             // include other rows
@@ -1776,6 +1778,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String type = row.get("type");
                 String javaType = row.get("javaType");
                 String deprecated = row.get("deprecated");
+                String secret = row.get("secret");
                 value = URISupport.sanitizePath(value);
                 String description = row.get("description");
 
@@ -1788,7 +1791,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                         if (isDataFormatOption) {
                             selected.put(name, dataFormatOptions.get(name));
                         } else {
-                            selected.put(name, new String[]{name, kind, label, required, type, javaType, deprecated, value, defaultValue, description});
+                            selected.put(name, new String[]{name, kind, label, required, type, javaType, deprecated, secret, value, defaultValue, description});
                         }
                     }
                 }
@@ -1814,9 +1817,10 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String type = row[4];
                 String javaType = row[5];
                 String deprecated = row[6];
-                String value = row[7];
-                String defaultValue = row[8];
-                String description = row[9];
+                String secret = row[7];
+                String value = row[8];
+                String defaultValue = row[9];
+                String description = row[10];
 
                 // add json of the option
                 buffer.append(StringQuoteHelper.doubleQuote(name)).append(": { ");
@@ -1839,6 +1843,9 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 if (deprecated != null) {
                     csb.append("\"deprecated\": \"" + deprecated + "\"");
                 }
+                if (secret != null) {
+                    csb.append("\"secret\": \"" + secret + "\"");
+                }
                 if (value != null) {
                     csb.append("\"value\": \"" + value + "\"");
                 }
@@ -1905,6 +1912,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String required = null;
                 String javaType = null;
                 String deprecated = null;
+                String secret = null;
                 String defaultValue = null;
                 String description = null;
                 for (Map<String, String> row : rows) {
@@ -1916,6 +1924,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                         required = row.get("required");
                         javaType = row.get("javaType");
                         deprecated = row.get("deprecated");
+                        secret = row.get("secret");
                         defaultValue = row.get("defaultValue");
                         description = row.get("description");
                         break;
@@ -1923,7 +1932,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 }
 
                 // add as selected row
-                selected.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, value, defaultValue, description});
+                selected.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, secret, value, defaultValue, description});
             }
 
             // include other rows
@@ -1938,6 +1947,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String type = row.get("type");
                 String javaType = row.get("javaType");
                 String deprecated = row.get("deprecated");
+                String secret = row.get("secret");
                 value = URISupport.sanitizePath(value);
                 String description = row.get("description");
 
@@ -1945,7 +1955,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 if (includeAllOptions) {
                     // add as selected row
                     if (!selected.containsKey(name)) {
-                        selected.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, value, defaultValue, description});
+                        selected.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, secret, value, defaultValue, description});
                     }
                 }
             }
@@ -1971,9 +1981,10 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String type = row[5];
                 String javaType = row[6];
                 String deprecated = row[7];
-                String value = row[8];
-                String defaultValue = row[9];
-                String description = row[10];
+                String secret = row[8];
+                String value = row[9];
+                String defaultValue = row[10];
+                String description = row[11];
 
                 // add json of the option
                 buffer.append(StringQuoteHelper.doubleQuote(name)).append(": { ");
@@ -1999,6 +2010,9 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 if (deprecated != null) {
                     csb.append("\"deprecated\": \"" + deprecated + "\"");
                 }
+                if (secret != null) {
+                    csb.append("\"secret\": \"" + secret + "\"");
+                }
                 if (value != null) {
                     csb.append("\"value\": \"" + value + "\"");
                 }
@@ -2065,6 +2079,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String required = null;
                 String javaType = null;
                 String deprecated = null;
+                String secret = null;
                 String defaultValue = null;
                 String description = null;
                 for (Map<String, String> row : rows) {
@@ -2076,6 +2091,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                         required = row.get("required");
                         javaType = row.get("javaType");
                         deprecated = row.get("deprecated");
+                        secret = row.get("secret");
                         defaultValue = row.get("defaultValue");
                         description = row.get("description");
                         break;
@@ -2083,7 +2099,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 }
 
                 // remember this option from the uri
-                uriOptions.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, value, defaultValue, description});
+                uriOptions.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, secret, value, defaultValue, description});
             }
 
             // include other rows
@@ -2098,6 +2114,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String type = row.get("type");
                 String javaType = row.get("javaType");
                 String deprecated = row.get("deprecated");
+                String secret = row.get("secret");
                 value = URISupport.sanitizePath(value);
                 String description = row.get("description");
 
@@ -2110,7 +2127,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                         if (isUriOption) {
                             selected.put(name, uriOptions.get(name));
                         } else {
-                            selected.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, value, defaultValue, description});
+                            selected.put(name, new String[]{name, kind, group, label, required, type, javaType, deprecated, secret, value, defaultValue, description});
                         }
                     }
                 }
@@ -2139,9 +2156,10 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 String type = row[5];
                 String javaType = row[6];
                 String deprecated = row[7];
-                String value = row[8];
-                String defaultValue = row[9];
-                String description = row[10];
+                String secret = row[8];
+                String value = row[9];
+                String defaultValue = row[10];
+                String description = row[11];
 
                 // add json of the option
                 buffer.append(StringQuoteHelper.doubleQuote(name)).append(": { ");
@@ -2167,6 +2185,9 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
                 if (deprecated != null) {
                     csb.append("\"deprecated\": \"" + deprecated + "\"");
                 }
+                if (secret != null) {
+                    csb.append("\"secret\": \"" + secret + "\"");
+                }
                 if (value != null) {
                     csb.append("\"value\": \"" + value + "\"");
                 }

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index 2c23bae..f4ea29b 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -663,6 +663,7 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
                 String description = null;
                 String label = null;
                 String deprecated = null;
+                String secret = null;
                 String status = context.hasComponent(name) != null ? "in use" : "on classpath";
                 String type = (String) entry.getValue().get("class");
                 String groupId = null;
@@ -688,6 +689,8 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
                         label = row.get("label");
                     } else if (row.containsKey("deprecated")) {
                         deprecated = row.get("deprecated");
+                    } else if (row.containsKey("secret")) {
+                        secret = row.get("secret");
                     } else if (row.containsKey("javaType")) {
                         type = row.get("javaType");
                     } else if (row.containsKey("groupId")) {
@@ -700,8 +703,10 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
                 }
 
                 CompositeType ct = CamelOpenMBeanTypes.listComponentsCompositeType();
-                CompositeData data = new CompositeDataSupport(ct, new String[]{"name", "title", "syntax", "description", "label", "deprecated", "status", "type", "groupId", "artifactId", "version"},
-                        new Object[]{name, title, syntax, description, label, deprecated, status, type, groupId, artifactId, version});
+                CompositeData data = new CompositeDataSupport(ct, new String[]{"name", "title", "syntax", "description", "label", "deprecated", "secret",
+                        "status", "type", "groupId", "artifactId", "version"},
+                        new Object[]{name, title, syntax, description, label, deprecated, secret,
+                                status, type, groupId, artifactId, version});
                 answer.put(data);
             }
             return answer;

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java
index a93841b..4ca9df9 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedComponent.java
@@ -117,14 +117,15 @@ public class ManagedComponent implements ManagedInstance, ManagedComponentMBean
                 String type = row.get("type");
                 String javaType = row.get("javaType");
                 String deprecated = row.get("deprecated") != null ? row.get("deprecated") : "";
+                String secret = row.get("secret") != null ? row.get("secret") : "";
                 String value = row.get("value") != null ? row.get("value") : "";
                 String defaultValue = row.get("defaultValue") != null ? row.get("defaultValue") : "";
                 String description = row.get("description") != null ? row.get("description") : "";
 
                 CompositeType ct = CamelOpenMBeanTypes.explainComponentCompositeType();
                 CompositeData data = new CompositeDataSupport(ct,
-                        new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "value", "default value", "description"},
-                        new Object[]{name, kind, group, label, type, javaType, deprecated, value, defaultValue, description});
+                        new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "secret", "value", "default value", "description"},
+                        new Object[]{name, kind, group, label, type, javaType, deprecated, secret, value, defaultValue, description});
                 answer.put(data);
             }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDataFormat.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDataFormat.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDataFormat.java
index dd4f7b9..e4de40a 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDataFormat.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedDataFormat.java
@@ -116,14 +116,15 @@ public class ManagedDataFormat implements ManagedInstance, ManagedDataFormatMBea
                     String type = row.get("type");
                     String javaType = row.get("javaType");
                     String deprecated = row.get("deprecated") != null ? row.get("deprecated") : "";
+                    String secret = row.get("secret") != null ? row.get("secret") : "";
                     String value = row.get("value") != null ? row.get("value") : "";
                     String defaultValue = row.get("defaultValue") != null ? row.get("defaultValue") : "";
                     String description = row.get("description") != null ? row.get("description") : "";
 
                     CompositeType ct = CamelOpenMBeanTypes.explainDataFormatsCompositeType();
                     CompositeData data = new CompositeDataSupport(ct,
-                            new String[]{"option", "kind", "label", "type", "java type", "deprecated", "value", "default value", "description"},
-                            new Object[]{name, kind, label, type, javaType, deprecated, value, defaultValue, description});
+                            new String[]{"option", "kind", "label", "type", "java type", "deprecated", "secret", "value", "default value", "description"},
+                            new Object[]{name, kind, label, type, javaType, deprecated, secret, value, defaultValue, description});
                     answer.put(data);
                 }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java
index 0e2f8ca..58390f9 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedEndpoint.java
@@ -104,14 +104,15 @@ public class ManagedEndpoint implements ManagedInstance, ManagedEndpointMBean {
                 String type = row.get("type");
                 String javaType = row.get("javaType");
                 String deprecated = row.get("deprecated") != null ? row.get("deprecated") : "";
+                String secret = row.get("secret") != null ? row.get("secret") : "";
                 String value = row.get("value") != null ? row.get("value") : "";
                 String defaultValue = row.get("defaultValue") != null ? row.get("defaultValue") : "";
                 String description = row.get("description") != null ? row.get("description") : "";
 
                 CompositeType ct = CamelOpenMBeanTypes.explainEndpointsCompositeType();
                 CompositeData data = new CompositeDataSupport(ct,
-                        new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "value", "default value", "description"},
-                        new Object[]{name, kind, group, label, type, javaType, deprecated, value, defaultValue, description});
+                        new String[]{"option", "kind", "group", "label", "type", "java type", "deprecated", "secret", "value", "default value", "description"},
+                        new Object[]{name, kind, group, label, type, javaType, deprecated, secret, value, defaultValue, description});
                 answer.put(data);
             }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
index 325f4d2..c5000a5 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EipAnnotationProcessor.java
@@ -207,7 +207,7 @@ public class EipAnnotationProcessor extends AbstractAnnotationProcessor {
             String doc = entry.getDocumentation();
             doc = sanitizeDescription(doc, false);
             buffer.append(JsonSchemaHelper.toJson(entry.getName(), entry.getKind(), entry.isRequired(), entry.getType(), entry.getDefaultValue(), doc,
-                    entry.isDeprecated(), null, null, entry.isEnumType(), entry.getEnums(), entry.isOneOf(), entry.getOneOfTypes(), null, null, false));
+                    entry.isDeprecated(), false, null, null, entry.isEnumType(), entry.getEnums(), entry.isOneOf(), entry.getOneOfTypes(), null, null, false));
         }
         buffer.append("\n  }");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
index a703a68..9f93844 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java
@@ -275,7 +275,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
             boolean multiValue = false;
 
             buffer.append(JsonSchemaHelper.toJson(entry.getName(), "property", required, entry.getType(), defaultValue, doc,
-                    entry.isDeprecated(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(), false, null,
+                    entry.isDeprecated(), entry.isSecret(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(), false, null,
                     optionalPrefix, prefix, multiValue));
         }
         buffer.append("\n  },");
@@ -326,7 +326,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
             boolean multiValue = false;
 
             buffer.append(JsonSchemaHelper.toJson(entry.getName(), "path", required, entry.getType(), defaultValue, doc,
-                    entry.isDeprecated(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(), false, null,
+                    entry.isDeprecated(), entry.isSecret(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(), false, null,
                     optionalPrefix, prefix, multiValue));
         }
 
@@ -371,7 +371,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
             boolean multiValue = entry.isMultiValue();
 
             buffer.append(JsonSchemaHelper.toJson(entry.getName(), "parameter", required, entry.getType(), defaultValue,
-                    doc, entry.isDeprecated(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(), false, null,
+                    doc, entry.isDeprecated(), entry.isSecret(), entry.getGroup(), entry.getLabel(), entry.isEnumType(), entry.getEnums(), false, null,
                     optionalPrefix, prefix, multiValue));
         }
         buffer.append("\n  }");
@@ -562,6 +562,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
 
                 String required = metadata != null ? metadata.required() : null;
                 String label = metadata != null ? metadata.label() : null;
+                boolean secret = metadata != null ? metadata.secret() : false;
 
                 // we do not yet have default values / notes / as no annotation support yet
                 // String defaultValueNote = param.defaultValueNote();
@@ -605,7 +606,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
 
                 String group = EndpointHelper.labelAsGroupName(label, componentModel.isConsumerOnly(), componentModel.isProducerOnly());
                 ComponentOption option = new ComponentOption(name, fieldTypeName, required, defaultValue, defaultValueNote,
-                        docComment.trim(), deprecated, group, label, isEnum, enums);
+                        docComment.trim(), deprecated, secret, group, label, isEnum, enums);
                 componentOptions.add(option);
             }
 
@@ -634,6 +635,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
 
                 Metadata metadata = fieldElement.getAnnotation(Metadata.class);
                 boolean deprecated = fieldElement.getAnnotation(Deprecated.class) != null;
+                Boolean secret = metadata != null ? metadata.secret() : null;
 
                 UriPath path = fieldElement.getAnnotation(UriPath.class);
                 String fieldName = fieldElement.getSimpleName().toString();
@@ -700,7 +702,8 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
                     }
 
                     String group = EndpointHelper.labelAsGroupName(label, componentModel.isConsumerOnly(), componentModel.isProducerOnly());
-                    EndpointPath ep = new EndpointPath(name, fieldTypeName, required, defaultValue, docComment, deprecated, group, label, isEnum, enums);
+                    boolean isSecret = secret != null ? secret : false;
+                    EndpointPath ep = new EndpointPath(name, fieldTypeName, required, defaultValue, docComment, deprecated, isSecret, group, label, isEnum, enums);
                     endpointPaths.add(ep);
                 }
 
@@ -783,9 +786,10 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor {
                             fieldTypeName = param.javaType();
                         }
 
+                        boolean isSecret = secret != null ? secret : param.secret();
                         String group = EndpointHelper.labelAsGroupName(label, componentModel.isConsumerOnly(), componentModel.isProducerOnly());
                         EndpointOption option = new EndpointOption(name, fieldTypeName, required, defaultValue, defaultValueNote,
-                                docComment.trim(), paramOptionalPrefix, paramPrefix, multiValue, deprecated, group, label, isEnum, enums);
+                                docComment.trim(), paramOptionalPrefix, paramPrefix, multiValue, deprecated, isSecret, group, label, isEnum, enums);
                         endpointOptions.add(option);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java
index 21ba792..b535814 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/helper/JsonSchemaHelper.java
@@ -41,7 +41,7 @@ public final class JsonSchemaHelper {
     }
 
     public static String toJson(String name, String kind, Boolean required, String type, String defaultValue, String description,
-                                Boolean deprecated, String group, String label, boolean enumType, Set<String> enums,
+                                Boolean deprecated, Boolean secret, String group, String label, boolean enumType, Set<String> enums,
                                 boolean oneOfType, Set<String> oneOffTypes, String optionalPrefix, String prefix, boolean multiValue) {
         String typeName = JsonSchemaHelper.getType(type, enumType);
 
@@ -117,6 +117,11 @@ public final class JsonSchemaHelper {
             sb.append(Strings.doubleQuote(deprecated.toString()));
         }
 
+        if (secret != null) {
+            sb.append(", \"secret\": ");
+            sb.append(Strings.doubleQuote(secret.toString()));
+        }
+
         if (!Strings.isNullOrEmpty(defaultValue)) {
             sb.append(", \"defaultValue\": ");
             String text = safeDefaultValue(defaultValue);

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
index fd8562b..4474339 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentOption.java
@@ -31,13 +31,15 @@ public final class ComponentOption {
     private String defaultValueNote;
     private String documentation;
     private boolean deprecated;
+    private boolean secret;
     private String group;
     private String label;
     private boolean enumType;
     private Set<String> enums;
 
     public ComponentOption(String name, String type, String required, String defaultValue, String defaultValueNote,
-                           String documentation, boolean deprecated, String group, String label, boolean enumType, Set<String> enums) {
+                           String documentation, boolean deprecated, boolean secret, String group, String label,
+                           boolean enumType, Set<String> enums) {
         this.name = name;
         this.type = type;
         this.required = required;
@@ -45,6 +47,7 @@ public final class ComponentOption {
         this.defaultValueNote = defaultValueNote;
         this.documentation = documentation;
         this.deprecated = deprecated;
+        this.secret = secret;
         this.label = group;
         this.label = label;
         this.enumType = enumType;
@@ -75,6 +78,10 @@ public final class ComponentOption {
         return deprecated;
     }
 
+    public boolean isSecret() {
+        return secret;
+    }
+
     public String getEnumValuesAsHtml() {
         CollectionStringBuffer csb = new CollectionStringBuffer("<br/>");
         if (enums != null && enums.size() > 0) {

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
index 7a45547..af4f4a8 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointOption.java
@@ -34,6 +34,7 @@ public final class EndpointOption {
     private String prefix;
     private boolean multiValue;
     private boolean deprecated;
+    private boolean secret;
     private String group;
     private String label;
     private boolean enumType;
@@ -41,7 +42,7 @@ public final class EndpointOption {
 
     public EndpointOption(String name, String type, String required, String defaultValue, String defaultValueNote,
                           String documentation, String optionalPrefix, String prefix, boolean multiValue,
-                          boolean deprecated,  String group, String label,
+                          boolean deprecated, boolean secret, String group, String label,
                           boolean enumType, Set<String> enums) {
         this.name = name;
         this.type = type;
@@ -53,6 +54,7 @@ public final class EndpointOption {
         this.prefix = prefix;
         this.multiValue = multiValue;
         this.deprecated = deprecated;
+        this.secret = secret;
         this.group = group;
         this.label = label;
         this.enumType = enumType;
@@ -95,6 +97,10 @@ public final class EndpointOption {
         return deprecated;
     }
 
+    public boolean isSecret() {
+        return secret;
+    }
+
     public String getEnumValuesAsHtml() {
         CollectionStringBuffer csb = new CollectionStringBuffer("<br/>");
         if (enums != null && enums.size() > 0) {

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
index 5088814..dc7ddc0 100644
--- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
+++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/EndpointPath.java
@@ -28,19 +28,22 @@ public final class EndpointPath {
     private String defaultValue;
     private String documentation;
     private boolean deprecated;
+    private boolean secret;
     private String group;
     private String label;
     private boolean enumType;
     private Set<String> enums;
 
-    public EndpointPath(String name, String type, String required, String defaultValue, String documentation, boolean deprecated,
-                        String group, String label, boolean enumType, Set<String> enums) {
+    public EndpointPath(String name, String type, String required, String defaultValue, String documentation,
+                        boolean deprecated, boolean secret, String group, String label,
+                        boolean enumType, Set<String> enums) {
         this.name = name;
         this.type = type;
         this.required = required;
         this.defaultValue = defaultValue;
         this.documentation = documentation;
         this.deprecated = deprecated;
+        this.secret = secret;
         this.group = group;
         this.label = label;
         this.enumType = enumType;
@@ -71,6 +74,10 @@ public final class EndpointPath {
         return deprecated;
     }
 
+    public boolean isSecret() {
+        return secret;
+    }
+
     public String getEnumValuesAsHtml() {
         CollectionStringBuffer csb = new CollectionStringBuffer("<br/>");
         if (enums != null && enums.size() > 0) {

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
----------------------------------------------------------------------
diff --git a/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
index 660dc56..0fea0a3 100644
--- a/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
+++ b/tooling/apt/src/test/java/org/apache/camel/tools/apt/EndpointOptionComparatorTest.java
@@ -39,10 +39,10 @@ public class EndpointOptionComparatorTest {
         String group3 = EndpointHelper.labelAsGroupName(label3, false, false);
         String group4 = EndpointHelper.labelAsGroupName(label4, false, false);
 
-        EndpointOption op1 = new EndpointOption("first", "string", "true", "", "", "blah", null, null, false, false, group1, label1, false, null);
-        EndpointOption op2 = new EndpointOption("synchronous", "string", "true", "", "", "blah", null, null, false, false, group2, label2, false, null);
-        EndpointOption op3 = new EndpointOption("second", "string", "true", "", "", "blah", null, null, false, false, group3, label3, false, null);
-        EndpointOption op4 = new EndpointOption("country", "string", "true", "", "", "blah", null, null, false, false, group4, label4, false, null);
+        EndpointOption op1 = new EndpointOption("first", "string", "true", "", "", "blah", null, null, false, false, false, group1, label1, false, null);
+        EndpointOption op2 = new EndpointOption("synchronous", "string", "true", "", "", "blah", null, null, false, false, false, group2, label2, false, null);
+        EndpointOption op3 = new EndpointOption("second", "string", "true", "", "", "blah", null, null, false, false, false, group3, label3, false, null);
+        EndpointOption op4 = new EndpointOption("country", "string", "true", "", "", "blah", null, null, false, false, false, group4, label4, false, null);
 
         List<EndpointOption> list = new ArrayList<EndpointOption>();
         list.add(op1);

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
----------------------------------------------------------------------
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
index 825c8b3..5adebc1 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/Metadata.java
@@ -61,4 +61,9 @@ public @interface Metadata {
      */
     String description() default "";
 
+    /**
+     * Whether the option is secret/sensitive information such as a password.
+     */
+    boolean secret() default false;
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/e9ae7b3d/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParam.java
----------------------------------------------------------------------
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParam.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParam.java
index 51760c3..dc9a544 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParam.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriParam.java
@@ -78,6 +78,11 @@ public @interface UriParam {
     String label() default "";
 
     /**
+     * Whether the option is secret/sensitive information such as a password.
+     */
+    boolean secret() default false;
+
+    /**
      * To re-associate the preferred Java type of this parameter.
      * <p/>
      * This is used for parameters which are of a specialized type but can be configured by another Java type, such as from a String.


[3/3] camel git commit: CAMEL-10044: Add support for defining an option as secret.

Posted by da...@apache.org.
CAMEL-10044: Add support for defining an option as secret.


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

Branch: refs/heads/master
Commit: 33cf208449808b81ad9a8da0eefe8367dded9b91
Parents: d6f4266
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Jun 11 14:54:53 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Jun 11 14:54:53 2016 +0200

----------------------------------------------------------------------
 ...DataFormatComponentConfigurationAndDocumentationTest.java | 8 +++++---
 .../mock/MockComponentConfigurationAndDocumentationTest.java | 2 +-
 .../org/apache/camel/management/ManagedCamelContextTest.java | 6 +++---
 3 files changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/33cf2084/camel-core/src/test/java/org/apache/camel/component/dataformat/DataFormatComponentConfigurationAndDocumentationTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/component/dataformat/DataFormatComponentConfigurationAndDocumentationTest.java b/camel-core/src/test/java/org/apache/camel/component/dataformat/DataFormatComponentConfigurationAndDocumentationTest.java
index a483dbb..c486ce0 100644
--- a/camel-core/src/test/java/org/apache/camel/component/dataformat/DataFormatComponentConfigurationAndDocumentationTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/dataformat/DataFormatComponentConfigurationAndDocumentationTest.java
@@ -46,7 +46,7 @@ public class DataFormatComponentConfigurationAndDocumentationTest extends Contex
         assertNotNull(json);
 
         assertTrue(json.contains("\"name\": { \"kind\": \"path\", \"group\": \"producer\", \"required\": \"true\", \"type\": \"string\", \"javaType\": \"java.lang.String\","
-                        + " \"deprecated\": \"false\", \"description\": \"Name of data format\" }"));
+                        + " \"deprecated\": \"false\", \"secret\": \"false\", \"description\": \"Name of data format\" }"));
         assertTrue(json.contains("\"operation\": { \"kind\": \"path\", \"group\": \"producer\", \"required\": \"true\", \"type\": \"string\""));
         assertTrue(json.contains("\"synchronous\": { \"kind\": \"parameter\", \"group\": \"advanced\", \"label\": \"advanced\", \"type\": \"boolean\""));
     }
@@ -68,7 +68,7 @@ public class DataFormatComponentConfigurationAndDocumentationTest extends Contex
 
         // the default value is a bit tricky as its ", which is written escaped as \"
         assertTrue(json.contains("\"textQualifier\": { \"kind\": \"attribute\", \"required\": \"false\", \"type\": \"string\""
-                + ", \"javaType\": \"java.lang.String\", \"deprecated\": \"false\", \"defaultValue\": \"\\\"\""));
+                + ", \"javaType\": \"java.lang.String\", \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"\\\"\""));
 
         List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("properties", json, true);
         assertEquals(9, rows.size());
@@ -87,6 +87,7 @@ public class DataFormatComponentConfigurationAndDocumentationTest extends Contex
         assertEquals("string", found.get("type"));
         assertEquals("java.lang.String", found.get("javaType"));
         assertEquals("false", found.get("deprecated"));
+        assertEquals("false", found.get("secret"));
         assertEquals("\"", found.get("defaultValue"));
         assertEquals("If the text is qualified with a char such as \"", found.get("description"));
     }
@@ -101,7 +102,7 @@ public class DataFormatComponentConfigurationAndDocumentationTest extends Contex
 
         // the default value is a bit tricky as its \, which is written escaped as \\
         assertTrue(json.contains("\"escapeChar\": { \"kind\": \"attribute\", \"required\": \"false\", \"type\": \"string\", \"javaType\": \"java.lang.String\","
-                + " \"deprecated\": \"false\", \"defaultValue\": \"\\\\\", \"description\": \"The escape character.\""));
+                + " \"deprecated\": \"false\", \"secret\": \"false\", \"defaultValue\": \"\\\\\", \"description\": \"The escape character.\""));
 
         List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("properties", json, true);
         assertEquals(15, rows.size());
@@ -120,6 +121,7 @@ public class DataFormatComponentConfigurationAndDocumentationTest extends Contex
         assertEquals("string", found.get("type"));
         assertEquals("java.lang.String", found.get("javaType"));
         assertEquals("false", found.get("deprecated"));
+        assertEquals("false", found.get("secret"));
         assertEquals("\\", found.get("defaultValue"));
         assertEquals("The escape character.", found.get("description"));
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/33cf2084/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java b/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
index e257dba..378f326 100644
--- a/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
+++ b/camel-core/src/test/java/org/apache/camel/component/mock/MockComponentConfigurationAndDocumentationTest.java
@@ -52,7 +52,7 @@ public class MockComponentConfigurationAndDocumentationTest extends ContextTestS
         assertNotNull(json);
 
         assertTrue(json.contains("\"retainFirst\": { \"kind\": \"parameter\", \"group\": \"producer\", \"label\": \"producer\", \"type\": \"integer\","
-                + " \"javaType\": \"int\", \"deprecated\": \"false\", \"value\": \"10\""));
+                + " \"javaType\": \"int\", \"deprecated\": \"false\", \"secret\": \"false\", \"value\": \"10\""));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/camel/blob/33cf2084/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
index 1a658a6..d19aa6c 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedCamelContextTest.java
@@ -279,7 +279,7 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
 
         assertTrue(json.contains("\"loggerName\": { \"kind\": \"path\", \"group\": \"producer\", \"required\": \"true\""));
         assertTrue(json.contains("\"groupSize\": { \"kind\": \"parameter\", \"group\": \"producer\", \"type\": \"integer\","
-                + " \"javaType\": \"java.lang.Integer\", \"deprecated\": \"false\", \"value\": \"5\""));
+                + " \"javaType\": \"java.lang.Integer\", \"deprecated\": \"false\", \"secret\": \"false\", \"value\": \"5\""));
 
         // and we should also have the javadoc documentation
         assertTrue(json.contains("Set the initial delay for stats (in millis)"));
@@ -312,7 +312,7 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
 
         assertTrue(json.contains("\"loggerName\": { \"kind\": \"path\", \"group\": \"producer\", \"required\": \"true\""));
         assertTrue(json.contains("\"groupSize\": { \"kind\": \"parameter\", \"group\": \"producer\", \"type\": \"integer\","
-                + " \"javaType\": \"java.lang.Integer\", \"deprecated\": \"false\", \"value\": \"5\""));
+                + " \"javaType\": \"java.lang.Integer\", \"deprecated\": \"false\", \"secret\": \"false\", \"value\": \"5\""));
         // and we should also have the javadoc documentation
         assertTrue(json.contains("Set the initial delay for stats (in millis)"));
     }
@@ -392,7 +392,7 @@ public class ManagedCamelContextTest extends ManagementTestSupport {
         assertTrue(json.contains("\"label\": \"core,endpoint\""));
         assertTrue(json.contains("\"defaultQueueFactory\": { \"kind\": \"property\", \"type\": \"object\", \"javaType\":"
             + " \"org.apache.camel.component.seda.BlockingQueueFactory<org.apache.camel.Exchange>\","));
-        assertTrue(json.contains("\"queueSize\": { \"kind\": \"property\", \"type\": \"integer\", \"javaType\": \"int\", \"deprecated\": \"false\", \"value\": \"0\""));
+        assertTrue(json.contains("\"queueSize\": { \"kind\": \"property\", \"type\": \"integer\", \"javaType\": \"int\", \"deprecated\": \"false\", \"secret\": \"false\", \"value\": \"0\""));
     }
 
     @Override


[2/3] camel git commit: CAMEL-10044: Add support for defining an option as secret.

Posted by da...@apache.org.
CAMEL-10044: Add support for defining an option as secret.


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

Branch: refs/heads/master
Commit: d6f4266f6d14cb4dd8cc09d591ed8fce474385ad
Parents: e9ae7b3
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Jun 11 14:50:25 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Jun 11 14:50:25 2016 +0200

----------------------------------------------------------------------
 components/camel-box/src/main/docs/box.adoc     |  4 +++-
 .../camel/component/box/BoxConfiguration.java   | 10 ++++----
 .../component/consul/ConsulConfiguration.java   | 11 ++++-----
 .../crypto/DigitalSignatureConfiguration.java   |  8 +++----
 .../apache/camel/component/cxf/CxfEndpoint.java |  4 ++--
 .../camel/component/etcd/EtcdConfiguration.java |  4 ++--
 .../facebook/config/FacebookConfiguration.java  |  6 ++---
 .../component/file/remote/FtpConfiguration.java |  2 +-
 .../file/remote/RemoteFileConfiguration.java    |  4 ++--
 .../file/remote/SftpConfiguration.java          | 16 ++++++-------
 .../camel/component/irc/IrcConfiguration.java   |  6 ++---
 .../camel/component/jbpm/JBPMConfiguration.java |  4 ++--
 .../apache/camel/component/jmx/JMXEndpoint.java |  4 ++--
 .../camel/component/scp/ScpConfiguration.java   |  6 ++---
 .../kubernetes/KubernetesConfiguration.java     | 24 ++++++++++----------
 .../camel/component/mail/MailConfiguration.java |  4 ++--
 .../component/rabbitmq/RabbitMQEndpoint.java    |  4 ++--
 .../servicenow/ServiceNowConfiguration.java     | 12 +++++-----
 .../camel/component/smpp/SmppConfiguration.java |  4 ++--
 .../camel/component/snmp/SnmpEndpoint.java      |  8 +++----
 .../camel/component/stomp/StompComponent.java   |  3 +++
 .../component/stomp/StompConfiguration.java     |  4 ++--
 .../component/xmlrpc/XmlRpcConfiguration.java   |  4 ++--
 .../camel/component/xmpp/XmppEndpoint.java      |  4 ++--
 24 files changed, 81 insertions(+), 79 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-box/src/main/docs/box.adoc
----------------------------------------------------------------------
diff --git a/components/camel-box/src/main/docs/box.adoc b/components/camel-box/src/main/docs/box.adoc
index dc28888..9d03522 100644
--- a/components/camel-box/src/main/docs/box.adoc
+++ b/components/camel-box/src/main/docs/box.adoc
@@ -54,6 +54,7 @@ The Box component supports 1 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Box component supports 21 endpoint options which are listed below:
 
@@ -64,7 +65,6 @@ The Box component supports 21 endpoint options which are listed below:
 | apiName | common |  | BoxApiName | *Required* What kind of operation to perform
 | methodName | common |  | String | *Required* What sub operation to use for the selected operation
 | clientId | common |  | String | Box application client ID
-| clientSecret | common |  | String | Box application client secret
 | inBody | common |  | String | Sets the name of a parameter to be passed in the exchange In Body
 | loginTimeout | common | 30 | int | Amount of time the component will wait for a response from Box.com default is 30 seconds
 | revokeOnShutdown | common | false | boolean | Flag to revoke OAuth refresh token on route shutdown default false. Will require a fresh refresh token on restart using either a custom IAuthSecureStorage or automatic component login by providing a user password
@@ -79,6 +79,7 @@ The Box component supports 21 endpoint options which are listed below:
 | refreshListener | advanced |  | OAuthRefreshListener | OAuth listener for token updates if the Camel application needs to use the access token outside the route
 | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
 | authSecureStorage | security |  | IAuthSecureStorage | OAuth Secure Storage callback can be used to provide and or save OAuth tokens. The callback may return null on first call to allow the component to login and authorize application and obtain an OAuth token which can then be saved in the secure storage. For the component to be able to create a token automatically a user password must be provided.
+| clientSecret | security |  | String | Box application client secret
 | sslContextParameters | security |  | SSLContextParameters | To configure security using SSLContextParameters.
 | userName | security |  | String | Box user name MUST be provided
 | userPassword | security |  | String | Box user password MUST be provided if authSecureStorage is not set or returns null on first call
@@ -87,6 +88,7 @@ The Box component supports 21 endpoint options which are listed below:
 // endpoint options: END
 
 
+
 [[Box-URIformat]]
 URI format
 ^^^^^^^^^^

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
index f52973c..807d072 100644
--- a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
+++ b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
@@ -42,14 +42,14 @@ public class BoxConfiguration {
     private String methodName;
     @UriParam
     private String clientId;
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String clientSecret;
-    @UriParam(label = "security")
-    private IAuthSecureStorage authSecureStorage;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String userName;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String userPassword;
+    @UriParam(label = "advanced,security")
+    private IAuthSecureStorage authSecureStorage;
     @UriParam(label = "advanced")
     private OAuthRefreshListener refreshListener;
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulConfiguration.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulConfiguration.java
index b9df9b1..4a93266 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulConfiguration.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/ConsulConfiguration.java
@@ -38,11 +38,11 @@ public class ConsulConfiguration {
 
     @UriParam(label = "security")
     private SSLContextParameters sslContextParameters;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String aclToken;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String userName;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
 
     @UriParam
@@ -104,15 +104,12 @@ public class ConsulConfiguration {
         return tags;
     }
 
-    /**
-     * Set tags
-     */
     public void setTags(Set<String> tags) {
         this.tags = tags;
     }
 
     /**
-     * Set tags
+     * Set tags. You can separate multiple tags by comma.
      */
     public void setTags(String tagsAsString) {
         this.tags = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
index 901d952..34b5ed3 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
@@ -41,13 +41,13 @@ public class DigitalSignatureConfiguration implements Cloneable, CamelContextAwa
     private CryptoOperation cryptoOperation;
     @UriPath @Metadata(required = "true")
     private String name;
-    @UriParam
+    @UriParam(secret = true)
     private PrivateKey privateKey;
     @UriParam
     private KeyStoreParameters keyStoreParameters;
     @UriParam
     private KeyStore keystore;
-    @UriParam
+    @UriParam(secret = true)
     private SecureRandom secureRandom;
     @UriParam(defaultValue = "SHA1WithDSA")
     private String algorithm = "SHA1WithDSA";
@@ -59,7 +59,7 @@ public class DigitalSignatureConfiguration implements Cloneable, CamelContextAwa
     private String signatureHeaderName;
     @UriParam
     private String alias;
-    @UriParam(javaType = "java.lang.String")
+    @UriParam(javaType = "java.lang.String", secret = true)
     private char[] password;
     @UriParam
     private PublicKey publicKey;
@@ -71,7 +71,7 @@ public class DigitalSignatureConfiguration implements Cloneable, CamelContextAwa
     private String publicKeyName;
     @UriParam
     private String certificateName;
-    @UriParam
+    @UriParam(secret = true)
     private String privateKeyName;
     @UriParam
     private String keystoreName;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
index 853a6e2..11edd4e 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
@@ -195,9 +195,9 @@ public class CxfEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade
     private CxfEndpointConfigurer cxfEndpointConfigurer;
     @UriParam(label = "advanced", defaultValue = "30000")
     private long continuationTimeout = 30000;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String username;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
     @UriParam(label = "advanced", prefix = "properties.", multiValue = true)
     private Map<String, Object> properties;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdConfiguration.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdConfiguration.java
index 2f80e8d..263f0b4 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdConfiguration.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdConfiguration.java
@@ -32,9 +32,9 @@ public class EtcdConfiguration {
     private String uris = EtcdConstants.ETCD_DEFAULT_URIS;
     @UriParam(label = "security")
     private SSLContextParameters sslContextParameters;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String userName;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
     @UriParam(label = "consumer")
     private boolean sendEmptyExchangeOnTimeout;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookConfiguration.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookConfiguration.java
index f3ebb0a..aaeb967 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookConfiguration.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookConfiguration.java
@@ -35,11 +35,11 @@ public class FacebookConfiguration implements Cloneable {
 
     private static final Logger LOG = LoggerFactory.getLogger(FacebookConfiguration.class);
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String oAuthAppId;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String oAuthAppSecret;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String oAuthAccessToken;
     @UriParam(label = "security", defaultValue = "https://www.facebook.com/dialog/oauth")
     private String oAuthAuthorizationURL;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConfiguration.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConfiguration.java
index 9e5aeb0..85fcb2f 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConfiguration.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpConfiguration.java
@@ -29,7 +29,7 @@ public class FtpConfiguration extends RemoteFileConfiguration {
 
     public static final int DEFAULT_FTP_PORT = 21;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String account;
 
     public FtpConfiguration() {

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
index 0edb15d..6e7fb1a 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileConfiguration.java
@@ -46,9 +46,9 @@ public abstract class RemoteFileConfiguration extends GenericFileConfiguration {
     private int port;
     @UriPath(name = "directoryName")
     private String directoryName;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String username;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
     @UriParam
     private boolean binary;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
index 4b5bbd3..8fc377a 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpConfiguration.java
@@ -31,23 +31,23 @@ public class SftpConfiguration extends RemoteFileConfiguration {
 
     public static final int DEFAULT_SFTP_PORT = 22;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String knownHostsFile;
     @UriParam(label = "security", defaultValue = "true")
     private boolean useUserKnownHostsFile = true;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String knownHostsUri;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private byte[] knownHosts;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String privateKeyFile;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String privateKeyUri;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private byte[] privateKey;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String privateKeyPassphrase;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private KeyPair keyPair;
     @UriParam(defaultValue = "no", enums = "no,yes", label = "security")
     private String strictHostKeyChecking = "no";

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
index c8206be..beebf81 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
@@ -51,13 +51,13 @@ public class IrcConfiguration implements Cloneable {
     @UriPath(defaultValue = "6667,6668,6669")
     private int port;
     private int[] ports = {6667, 6668, 6669};
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String password;
     @UriParam
     private String nickname;
     @UriParam
     private String realname;
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String username;
     @UriParam(label = "security")
     private SSLTrustManager trustManager = new SSLDefaultTrustManager();
@@ -90,7 +90,7 @@ public class IrcConfiguration implements Cloneable {
     private boolean namesOnJoin;
     @UriParam(label = "security")
     private SSLContextParameters sslContextParameters;
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String nickPassword;
 
     public IrcConfiguration() {

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java
index fd4e01b..c4a30c7 100644
--- a/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java
+++ b/components/camel-jbpm/src/main/java/org/apache/camel/component/jbpm/JBPMConfiguration.java
@@ -71,9 +71,9 @@ public class JBPMConfiguration {
     private List<OrganizationalEntity> entities;
     @UriParam(label = "filter")
     private List<Status> statuses;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String userName;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
     @UriParam
     private Integer timeout;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java b/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
index 04ca715..1fd2a51 100644
--- a/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
+++ b/components/camel-jmx/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
@@ -158,13 +158,13 @@ public class JMXEndpoint extends DefaultEndpoint {
     /**
      * URI Property: credentials for making a remote connection
      */
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String user;
 
     /**
      * URI Property: credentials for making a remote connection
      */
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpConfiguration.java b/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpConfiguration.java
index b3cba39..ad48ac7 100644
--- a/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpConfiguration.java
+++ b/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpConfiguration.java
@@ -32,11 +32,11 @@ public class ScpConfiguration extends RemoteFileConfiguration {
     public static final String DEFAULT_MOD = "664";
     @UriParam(label = "security", defaultValue = "true")
     private boolean useUserKnownHostsFile = true;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String knownHostsFile;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String privateKeyFile;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String privateKeyFilePassphrase;
     @UriParam(enums = "no,yes", defaultValue = "no")
     private String strictHostKeyChecking;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
index 31c29a2..e082933 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/KubernetesConfiguration.java
@@ -37,10 +37,10 @@ public class KubernetesConfiguration {
     @UriParam
     private DefaultKubernetesClient kubernetesClient;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String username;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
 
     @UriParam(label = "producer", enums = "listNamespaces,listNamespacesByLabels,getNamespace,createNamespace,deleteNamespace,listServices,listServicesByLabels,getService,createService,"
@@ -55,34 +55,34 @@ public class KubernetesConfiguration {
     @UriParam
     private String apiVersion;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String caCertData;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String caCertFile;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String clientCertData;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String clientCertFile;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String clientKeyAlgo;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String clientKeyData;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String clientKeyFile;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String clientKeyPassphrase;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String oauthToken;
 
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private Boolean trustCerts;
 
     @UriParam(label = "consumer")

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
index 93b7a94..8fee016 100644
--- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
+++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailConfiguration.java
@@ -51,9 +51,9 @@ public class MailConfiguration implements Cloneable {
     private String host;
     @UriPath
     private int port = -1;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String username;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
     @UriParam @Metadata(label = "producer")
     private String subject;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
index 310180b..53262f2 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQEndpoint.java
@@ -56,9 +56,9 @@ public class RabbitMQEndpoint extends DefaultEndpoint implements AsyncEndpoint {
     private int portNumber;
     @UriPath @Metadata(required = "true")
     private String exchangeName;
-    @UriParam(label = "security", defaultValue = ConnectionFactory.DEFAULT_USER)
+    @UriParam(label = "security", defaultValue = ConnectionFactory.DEFAULT_USER, secret = true)
     private String username = ConnectionFactory.DEFAULT_USER;
-    @UriParam(label = "security", defaultValue = ConnectionFactory.DEFAULT_PASS)
+    @UriParam(label = "security", defaultValue = ConnectionFactory.DEFAULT_PASS, secret = true)
     private String password = ConnectionFactory.DEFAULT_PASS;
     @UriParam(defaultValue = ConnectionFactory.DEFAULT_VHOST)
     private String vhost = ConnectionFactory.DEFAULT_VHOST;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-servicenow/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-servicenow/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java b/components/camel-servicenow/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java
index ddf83d8..8a465d5 100644
--- a/components/camel-servicenow/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java
+++ b/components/camel-servicenow/src/main/java/org/apache/camel/component/servicenow/ServiceNowConfiguration.java
@@ -38,17 +38,17 @@ public class ServiceNowConfiguration {
             JsonInclude.Include.NON_NULL
         );
 
-    @UriParam @Metadata(required = "true")
+    @UriParam(label = "security", secret = true) @Metadata(required = "true")
     private String userName;
-    @UriParam @Metadata(required = "true")
+    @UriParam(label = "security", secret = true) @Metadata(required = "true")
     private String password;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String oauthClientId;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String oauthClientSecret;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String oauthTokenUrl;
-    @UriParam(label = "advanced")
+    @UriParam(label = "security")
     private String apiUrl;
     @UriParam
     private String resource;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java
index 57fa2a4..b6cd5e6 100644
--- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java
+++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java
@@ -46,9 +46,9 @@ public class SmppConfiguration implements Cloneable {
     private String host = "localhost";
     @UriPath(defaultValue = "2775")
     private Integer port = 2775;
-    @UriParam(label = "security", defaultValue = "smppclient")
+    @UriParam(label = "security", defaultValue = "smppclient", secret = true)
     private String systemId = "smppclient";
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password = "password";
     @UriParam(label = "common", defaultValue = "cp")
     private String systemType = "cp";

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
index 9401e05..ebb2f63 100644
--- a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
+++ b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpEndpoint.java
@@ -69,15 +69,15 @@ public class SnmpEndpoint extends DefaultPollingEndpoint {
     private long delay = 60000;
     @UriParam(defaultValue = "" + SecurityLevel.AUTH_PRIV, enums = "1,2,3", label = "security")
     private int securityLevel = SecurityLevel.AUTH_PRIV;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String securityName;
     @UriParam(enums = "MD5,SHA1", label = "security")
     private String authenticationProtocol;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String authenticationPassphrase;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String privacyProtocol;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String privacyPassphrase;
     @UriParam
     private String snmpContextName;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java
index 7355f31..d27c16a 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 
 public class StompComponent extends UriEndpointComponent {
 
@@ -36,11 +37,13 @@ public class StompComponent extends UriEndpointComponent {
     /**
      * The username
      */
+    @Metadata(label = "security", secret = true)
     private String login;
 
     /**
      * The password
      */
+    @Metadata(label = "security", secret = true)
     private String passcode;
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
index 5365699..61ddd0d 100644
--- a/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
+++ b/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompConfiguration.java
@@ -27,9 +27,9 @@ public class StompConfiguration implements Cloneable {
     @UriParam(defaultValue = "tcp://localhost:61613")
     @Metadata(required = "true")
     private String brokerURL = "tcp://localhost:61613";
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String login;
-    @UriParam
+    @UriParam(label = "security", secret = true)
     private String passcode;
     @UriParam
     private String host;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcConfiguration.java b/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcConfiguration.java
index 8ed5401..433bb9f 100644
--- a/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcConfiguration.java
+++ b/components/camel-xmlrpc/src/main/java/org/apache/camel/component/xmlrpc/XmlRpcConfiguration.java
@@ -39,9 +39,9 @@ public class XmlRpcConfiguration {
     private boolean gzipCompressing;
     @UriParam
     private boolean gzipRequesting;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String basicUserName;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String basicPassword;
     @UriParam
     private int connectionTimeout;

http://git-wip-us.apache.org/repos/asf/camel/blob/d6f4266f/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
index 6fa7093..1def69d 100644
--- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
+++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
@@ -63,9 +63,9 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
     private int port;
     @UriPath(label = "common")
     private String participant;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String user;
-    @UriParam(label = "security")
+    @UriParam(label = "security", secret = true)
     private String password;
     @UriParam(label = "common,advanced", defaultValue = "Camel")
     private String resource = "Camel";