CAMEL-7999: Add defaultValue to @UriParam

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

Branch: refs/heads/master
Commit: fc152202f5f412f95778b736ed48442d7adff584
Parents: 03dd3cc
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sun Nov 9 11:10:24 2014 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sun Nov 9 11:10:24 2014 +0100

----------------------------------------------------------------------
 .../api/management/mbean/CamelOpenMBeanTypes.java      |  8 ++++----
 .../api/management/mbean/ManagedEndpointMBean.java     |  2 +-
 .../org/apache/camel/component/log/LogEndpoint.java    |  4 ++--
 .../org/apache/camel/impl/DefaultCamelContext.java     | 13 ++++++++++---
 .../apache/camel/management/mbean/ManagedEndpoint.java |  5 +++--
 .../camel/management/ManagedEndpointExplainTest.java   |  8 ++++----
 6 files changed, 24 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/fc152202/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 fc75bdd..da19b08 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
@@ -66,13 +66,13 @@ public final class CamelOpenMBeanTypes {
 
     public static TabularType explainEndpointTabularType() throws 
OpenDataException {
         CompositeType ct = explainEndpointsCompositeType();
-        return new TabularType("explainEndpoint", "Explain how this endpoint 
is configured", ct, new String[]{"option", "type", "java type", "value", 
"description"});
+        return new TabularType("explainEndpoint", "Explain how this endpoint 
is configured", ct, new String[]{"option", "type", "java type", "value", 
"default value", "description"});
     }
 
     public static CompositeType explainEndpointsCompositeType() throws 
OpenDataException {
-        return new CompositeType("endpoint", "Explain Endpoint", new 
String[]{"option", "type", "java type", "value", "description"},
-                new String[]{"Option", "Type", "Java Type", "Value", 
"Description"},
-                new OpenType[]{SimpleType.STRING, SimpleType.STRING, 
SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
+        return new CompositeType("endpoint", "Explain Endpoint", new 
String[]{"option", "type", "java type", "value", "default value", 
"description"},
+                new String[]{"Option", "Type", "Java Type", "Value", "Default 
Value", "Description"},
+                new OpenType[]{SimpleType.STRING, SimpleType.STRING, 
SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING});
     }
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/fc152202/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
index fd49aee..fa25f43 100644
--- 
a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
+++ 
b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
@@ -38,7 +38,7 @@ public interface ManagedEndpointMBean {
     @ManagedAttribute(description = "Endpoint State")
     String getState();
 
-    @ManagedOperation(description = "Explain how this endpoint is configured 
(option, value, description)")
+    @ManagedOperation(description = "Explain how this endpoint is configured")
     TabularData explain(boolean allOptions);
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/fc152202/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java 
b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
index c5e96b5..7aeac00 100644
--- a/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/log/LogEndpoint.java
@@ -37,7 +37,7 @@ import org.slf4j.Logger;
 public class LogEndpoint extends ProcessorEndpoint {
 
     private volatile Processor logger;
-    @UriParam
+    @UriParam(defaultValue = "INFO")
     private String level;
     @UriParam
     private String marker;
@@ -45,7 +45,7 @@ public class LogEndpoint extends ProcessorEndpoint {
     private Integer groupSize;
     @UriParam
     private Long groupInterval;
-    @UriParam
+    @UriParam(defaultValue = "true")
     private Boolean groupActiveOnly;
     @UriParam
     private Long groupDelay;

http://git-wip-us.apache.org/repos/asf/camel/blob/fc152202/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 76bc0d8..01cdefb 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
@@ -1175,18 +1175,20 @@ public class DefaultCamelContext extends ServiceSupport 
implements ModelCamelCon
                 // find type and description from the json schema
                 String type = null;
                 String javaType = null;
+                String defaultValue = null;
                 String description = null;
                 for (Map<String, String> row : rows) {
                     if (name.equals(row.get("name"))) {
                         type = row.get("type");
                         javaType = row.get("javaType");
+                        defaultValue = row.get("defaultValue");
                         description = row.get("description");
                         break;
                     }
                 }
 
                 // add as selected row
-                selected.put(name, new String[]{name, type, javaType, value, 
description});
+                selected.put(name, new String[]{name, type, javaType, value, 
defaultValue, description});
             }
 
             if (includeAllOptions) {
@@ -1194,6 +1196,7 @@ public class DefaultCamelContext extends ServiceSupport 
implements ModelCamelCon
                 for (Map<String, String> row : rows) {
                     String name = row.get("name");
                     String value = row.get("value");
+                    String defaultValue = row.get("defaultValue");
                     String type = row.get("type");
                     String javaType = row.get("javaType");
                     value = URISupport.sanitizePath(value);
@@ -1201,7 +1204,7 @@ public class DefaultCamelContext extends ServiceSupport 
implements ModelCamelCon
 
                     // add as selected row
                     if (!selected.containsKey(name)) {
-                        selected.put(name, new String[]{name, type, javaType, 
value, description});
+                        selected.put(name, new String[]{name, type, javaType, 
value, defaultValue, description});
                     }
                 }
             }
@@ -1221,7 +1224,8 @@ public class DefaultCamelContext extends ServiceSupport 
implements ModelCamelCon
                 String type = row[1];
                 String javaType = row[2];
                 String value = row[3];
-                String description = row[4];
+                String defaultValue = row[4];
+                String description = row[5];
 
                 // add json of the option
                 buffer.append(doubleQuote(name) + ": { ");
@@ -1235,6 +1239,9 @@ public class DefaultCamelContext extends ServiceSupport 
implements ModelCamelCon
                 if (value != null) {
                     csb.append("\"value\": \"" + value + "\"");
                 }
+                if (defaultValue != null) {
+                    csb.append("\"defaultValue\": \"" + defaultValue + "\"");
+                }
                 if (description != null) {
                     csb.append("\"description\": \"" + description + "\"");
                 }

http://git-wip-us.apache.org/repos/asf/camel/blob/fc152202/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 3e2b881..e6ae3e3 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
@@ -96,12 +96,13 @@ public class ManagedEndpoint implements ManagedInstance, 
ManagedEndpointMBean {
                 String type = row.get("type");
                 String javaType = row.get("javaType");
                 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", "type", "java type", "value", 
"description"},
-                        new Object[]{option, type, javaType, value, 
description});
+                        new String[]{"option", "type", "java type", "value", 
"default value", "description"},
+                        new Object[]{option, type, javaType, value, 
defaultValue, description});
                 answer.put(data);
             }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/fc152202/camel-core/src/test/java/org/apache/camel/management/ManagedEndpointExplainTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/management/ManagedEndpointExplainTest.java
 
b/camel-core/src/test/java/org/apache/camel/management/ManagedEndpointExplainTest.java
index 3f7908e..2b6d75a 100644
--- 
a/camel-core/src/test/java/org/apache/camel/management/ManagedEndpointExplainTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/management/ManagedEndpointExplainTest.java
@@ -41,12 +41,12 @@ public class ManagedEndpointExplainTest extends 
ManagementTestSupport {
         on = 
ObjectName.getInstance("org.apache.camel:context=camel-1,type=endpoints,name=\"mock://result\"");
         assertTrue(mbeanServer.isRegistered(on));
 
-        on = 
ObjectName.getInstance("org.apache.camel:context=camel-1,type=endpoints,name=\"log://foo\\?groupDelay=2000&groupSize=5\"");
+        on = 
ObjectName.getInstance("org.apache.camel:context=camel-1,type=endpoints,name=\"log://foo\\?groupDelay=2000&groupSize=5&level=WARN\"");
         assertTrue(mbeanServer.isRegistered(on));
 
-        // there should be 2 options
+        // there should be 3 options
         TabularData data = (TabularData) mbeanServer.invoke(on, "explain", new 
Object[]{false}, new String[]{"boolean"});
-        assertEquals(2, data.size());
+        assertEquals(3, data.size());
 
         // there should be 6 options
         data = (TabularData) mbeanServer.invoke(on, "explain", new 
Object[]{true}, new String[]{"boolean"});
@@ -59,7 +59,7 @@ public class ManagedEndpointExplainTest extends 
ManagementTestSupport {
             @Override
             public void configure() throws Exception {
                 from("seda:test")
-                    .to("log:foo?groupDelay=2000&groupSize=5")
+                    .to("log:foo?groupDelay=2000&groupSize=5&level=WARN")
                     .to("mock:result");
             }
         };

Reply via email to