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"); } };