Add karaf commands to explain endpoints
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4b218f18 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4b218f18 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4b218f18 Branch: refs/heads/master Commit: 4b218f18dc38ef7a0404eb522018445fae322d9d Parents: fa7ad2c Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Nov 7 13:27:49 2014 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Nov 7 13:33:52 2014 +0100 ---------------------------------------------------------------------- .../camel/karaf/commands/EndpointExplain.java | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/4b218f18/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointExplain.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointExplain.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointExplain.java index 55d63b0..895083f 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointExplain.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointExplain.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import org.apache.camel.Endpoint; +import org.apache.camel.util.EndpointHelper; import org.apache.camel.util.JsonSchemaHelper; import org.apache.camel.util.URISupport; import org.apache.felix.gogo.commands.Argument; @@ -43,9 +44,9 @@ public class EndpointExplain extends CamelCommandSupport { required = false, multiValued = false, valueToShowInHelp = "false") boolean verbose; - @Option(name = "--scheme", aliases = "-s", description = "To filter endpoints by scheme", - required = false, multiValued = true) - String[] schemes; + @Option(name = "--filter", aliases = "-f", description = "To filter endpoints by pattern", + required = false, multiValued = false) + String filter; protected Object doExecute() throws Exception { List<Endpoint> endpoints = camelController.getEndpoints(name); @@ -53,18 +54,13 @@ public class EndpointExplain extends CamelCommandSupport { return null; } - // filter endpoints by scheme - if (schemes != null && schemes.length > 0) { + // filter endpoints + if (filter != null) { Iterator<Endpoint> it = endpoints.iterator(); while (it.hasNext()) { Endpoint endpoint = it.next(); - boolean match = false; - for (String scheme : schemes) { - if (endpoint.getEndpointUri().startsWith(scheme)) { - match = true; - } - } - if (!match) { + if (!EndpointHelper.matchPattern(endpoint.getEndpointUri(), filter)) { + // did not match it.remove(); } }