CAMEL-10124 Karaf commands - Switch to non deprecated
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/da614b73 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/da614b73 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/da614b73 Branch: refs/heads/master Commit: da614b730dc2097357174cb6ed22c6ef535e67cc Parents: 6060710 Author: Tomohisa Igarashi <tm.igara...@gmail.com> Authored: Fri Oct 7 12:43:11 2016 +0900 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Oct 11 17:19:48 2016 +0200 ---------------------------------------------------------------------- platforms/karaf/commands-catalog/pom.xml | 13 +- .../commands/catalog/CatalogComponentDoc.java | 18 +- .../commands/catalog/CatalogComponentInfo.java | 20 +- .../commands/catalog/CatalogComponentList.java | 15 +- .../commands/catalog/CatalogDataFormatDoc.java | 18 +- .../commands/catalog/CatalogDataFormatList.java | 15 +- .../karaf/commands/catalog/CatalogEipList.java | 15 +- .../commands/catalog/CatalogLanguageDoc.java | 18 +- .../commands/catalog/CatalogLanguageList.java | 15 +- .../completers/ComponentListCompleter.java | 18 +- .../completers/DataFormatListCompleter.java | 18 +- .../completers/LanguageListCompleter.java | 18 +- .../blueprint/camel-commands-catalog.xml | 96 ------- platforms/karaf/commands/pom.xml | 9 +- .../karaf/commands/AbstractRouteCommand.java | 11 +- .../karaf/commands/CamelCommandSupport.java | 33 --- .../camel/karaf/commands/ComponentList.java | 19 +- .../camel/karaf/commands/ContextInflight.java | 21 +- .../camel/karaf/commands/ContextInfo.java | 26 +- .../camel/karaf/commands/ContextList.java | 12 +- .../camel/karaf/commands/ContextResume.java | 17 +- .../camel/karaf/commands/ContextStart.java | 17 +- .../camel/karaf/commands/ContextStop.java | 17 +- .../camel/karaf/commands/ContextSuspend.java | 17 +- .../apache/camel/karaf/commands/EipExplain.java | 19 +- .../camel/karaf/commands/EndpointExplain.java | 19 +- .../camel/karaf/commands/EndpointList.java | 19 +- .../camel/karaf/commands/EndpointStats.java | 19 +- .../apache/camel/karaf/commands/RestApiDoc.java | 17 +- .../camel/karaf/commands/RestRegistryList.java | 19 +- .../apache/camel/karaf/commands/RestShow.java | 17 +- .../apache/camel/karaf/commands/RouteInfo.java | 15 +- .../apache/camel/karaf/commands/RouteList.java | 17 +- .../camel/karaf/commands/RouteProfile.java | 15 +- .../camel/karaf/commands/RouteResetStats.java | 17 +- .../camel/karaf/commands/RouteResume.java | 8 +- .../apache/camel/karaf/commands/RouteShow.java | 8 +- .../apache/camel/karaf/commands/RouteStart.java | 8 +- .../apache/camel/karaf/commands/RouteStop.java | 10 +- .../camel/karaf/commands/RouteSuspend.java | 10 +- .../completers/CamelCompleterSupport.java | 33 --- .../completers/CamelContextCompleter.java | 19 +- .../commands/completers/RouteCompleter.java | 20 +- .../commands/internal/CamelControllerImpl.java | 3 + .../karaf/commands/internal/StringEscape.java | 11 +- .../OSGI-INF/blueprint/camel-commands.xml | 252 ------------------- platforms/karaf/features/pom.xml | 2 +- 47 files changed, 432 insertions(+), 641 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/pom.xml ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/pom.xml b/platforms/karaf/commands-catalog/pom.xml index a06299b..222c6a4 100644 --- a/platforms/karaf/commands-catalog/pom.xml +++ b/platforms/karaf/commands-catalog/pom.xml @@ -45,13 +45,13 @@ <!-- karaf --> <dependency> <groupId>org.apache.karaf.shell</groupId> - <artifactId>org.apache.karaf.shell.console</artifactId> - <version>${karaf-version}</version> + <artifactId>org.apache.karaf.shell.core</artifactId> + <version>${karaf4-version}</version> </dependency> <dependency> <groupId>org.apache.karaf</groupId> <artifactId>org.apache.karaf.util</artifactId> - <version>${karaf-version}</version> + <version>${karaf4-version}</version> </dependency> <!-- Test --> @@ -72,13 +72,12 @@ <configuration> <instructions> <Import-Package> - org.apache.felix.service.command;mandatory:=status;status=provisional;version="[0.6,1)", - org.apache.felix.gogo.commands;version="[0.6,1)", - org.apache.karaf.shell.console;version="[2.2,4)", + org.apache.karaf.shell.api.action;version="[4,5)", + org.apache.karaf.shell.support.completers;version="[4,5)", org.slf4j.*;version="[1.6,2)", - jline.*;version="[2.1,4)", * </Import-Package> + <Karaf-Commands>*</Karaf-Commands> </instructions> </configuration> </plugin> http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentDoc.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentDoc.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentDoc.java index 10c6930..bfb1630 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentDoc.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentDoc.java @@ -18,19 +18,25 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CamelCommand; import org.apache.camel.commands.CatalogComponentDocCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.catalog.completers.ComponentListCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-component-doc", description = "Show documentation about a Camel component from the Camel catalog") -public class CatalogComponentDoc extends CamelCommandSupport { +@Service +public class CatalogComponentDoc extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel component.", required = true, multiValued = false) + @Completion(ComponentListCompleter.class) String name; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CamelCommand command = new CatalogComponentDocCommand(name); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentInfo.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentInfo.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentInfo.java index 7ecae74..1b6dd13 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentInfo.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentInfo.java @@ -18,16 +18,22 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CamelCommand; import org.apache.camel.commands.CatalogComponentInfoCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.catalog.completers.ComponentListCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-component-info", description = "Show information about a Camel component from the Camel catalog") -public class CatalogComponentInfo extends CamelCommandSupport { +@Service +public class CatalogComponentInfo extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel component.", required = true, multiValued = false) + @Completion(ComponentListCompleter.class) String name; @Option(name = "--verbose", aliases = "-v", description = "Verbose output which shows more information", @@ -38,8 +44,8 @@ public class CatalogComponentInfo extends CamelCommandSupport { required = false, multiValued = false) String label; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CamelCommand command = new CatalogComponentInfoCommand(name, verbose, label); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentList.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentList.java index d51fc2f..21d799e 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentList.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogComponentList.java @@ -17,12 +17,15 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CatalogComponentListCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-component-list", description = "Lists all Camel components from the Camel catalog") -public class CatalogComponentList extends CamelCommandSupport { +@Service +public class CatalogComponentList extends CamelControllerImpl implements Action { @Option(name = "--verbose", aliases = "-v", description = "Verbose output which shows more information", required = false, multiValued = false, valueToShowInHelp = "false") @@ -32,9 +35,9 @@ public class CatalogComponentList extends CamelCommandSupport { required = false, multiValued = false) String label; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CatalogComponentListCommand command = new CatalogComponentListCommand(verbose, label); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatDoc.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatDoc.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatDoc.java index 7498488..78af8df 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatDoc.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatDoc.java @@ -18,19 +18,25 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CamelCommand; import org.apache.camel.commands.CatalogDataFormatDocCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.catalog.completers.DataFormatListCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-dataformat-doc", description = "Show documentation about a Camel data format from the Camel catalog") -public class CatalogDataFormatDoc extends CamelCommandSupport { +@Service +public class CatalogDataFormatDoc extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel data format.", required = true, multiValued = false) + @Completion(DataFormatListCompleter.class) String name; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CamelCommand command = new CatalogDataFormatDocCommand(name); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatList.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatList.java index 0a51f26..5f579db 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatList.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogDataFormatList.java @@ -17,12 +17,15 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CatalogDataFormatListCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-dataformat-list", description = "Lists all Camel dataformats from the Camel catalog") -public class CatalogDataFormatList extends CamelCommandSupport { +@Service +public class CatalogDataFormatList extends CamelControllerImpl implements Action { @Option(name = "--verbose", aliases = "-v", description = "Verbose output which shows more information", required = false, multiValued = false, valueToShowInHelp = "false") @@ -32,9 +35,9 @@ public class CatalogDataFormatList extends CamelCommandSupport { required = false, multiValued = false) String label; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CatalogDataFormatListCommand command = new CatalogDataFormatListCommand(verbose, label); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogEipList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogEipList.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogEipList.java index 051df46..c516ba1 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogEipList.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogEipList.java @@ -17,12 +17,15 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CatalogEipListCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-eip-list", description = "Lists all Camel EIPs from the Camel catalog") -public class CatalogEipList extends CamelCommandSupport { +@Service +public class CatalogEipList extends CamelControllerImpl implements Action { @Option(name = "--verbose", aliases = "-v", description = "Verbose output which shows more information", required = false, multiValued = false, valueToShowInHelp = "false") @@ -32,9 +35,9 @@ public class CatalogEipList extends CamelCommandSupport { required = false, multiValued = false) String label; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CatalogEipListCommand command = new CatalogEipListCommand(verbose, label); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageDoc.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageDoc.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageDoc.java index f873092..0abf7fa 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageDoc.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageDoc.java @@ -18,19 +18,25 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CamelCommand; import org.apache.camel.commands.CatalogLanguageDocCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.catalog.completers.LanguageListCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-language-doc", description = "Show documentation about a Camel language from the Camel catalog") -public class CatalogLanguageDoc extends CamelCommandSupport { +@Service +public class CatalogLanguageDoc extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel language.", required = true, multiValued = false) + @Completion(LanguageListCompleter.class) String name; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CamelCommand command = new CatalogLanguageDocCommand(name); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageList.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageList.java index af1c4e9..d08cb65 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageList.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/CatalogLanguageList.java @@ -17,12 +17,15 @@ package org.apache.camel.karaf.commands.catalog; import org.apache.camel.commands.CatalogLanguageListCommand; -import org.apache.camel.karaf.commands.CamelCommandSupport; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "catalog-language-list", description = "Lists all Camel languages from the Camel catalog") -public class CatalogLanguageList extends CamelCommandSupport { +@Service +public class CatalogLanguageList extends CamelControllerImpl implements Action { @Option(name = "--verbose", aliases = "-v", description = "Verbose output which shows more information", required = false, multiValued = false, valueToShowInHelp = "false") @@ -32,9 +35,9 @@ public class CatalogLanguageList extends CamelCommandSupport { required = false, multiValued = false) String label; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { CatalogLanguageListCommand command = new CatalogLanguageListCommand(verbose, label); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/ComponentListCompleter.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/ComponentListCompleter.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/ComponentListCompleter.java index f5ba174..db1d11e 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/ComponentListCompleter.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/ComponentListCompleter.java @@ -19,16 +19,22 @@ package org.apache.camel.karaf.commands.catalog.completers; import java.util.List; import java.util.Map; -import jline.console.completer.StringsCompleter; -import org.apache.camel.karaf.commands.completers.CamelCompleterSupport; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; -public class ComponentListCompleter extends CamelCompleterSupport { +@Service +public class ComponentListCompleter extends CamelControllerImpl implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List<String> candidates) { try { StringsCompleter delegate = new StringsCompleter(); - List<Map<String, String>> components = camelController.listComponentsCatalog(null); + List<Map<String, String>> components = listComponentsCatalog(null); + String buffer = commandLine.getCursorArgument(); for (Map<String, String> row : components) { String name = row.get("name"); if (name != null) { @@ -43,7 +49,7 @@ public class ComponentListCompleter extends CamelCompleterSupport { } } } - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } catch (Exception e) { // nothing to do, no completion } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/DataFormatListCompleter.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/DataFormatListCompleter.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/DataFormatListCompleter.java index 71d1e94..540bdb3 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/DataFormatListCompleter.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/DataFormatListCompleter.java @@ -19,16 +19,22 @@ package org.apache.camel.karaf.commands.catalog.completers; import java.util.List; import java.util.Map; -import jline.console.completer.StringsCompleter; -import org.apache.camel.karaf.commands.completers.CamelCompleterSupport; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; -public class DataFormatListCompleter extends CamelCompleterSupport { +@Service +public class DataFormatListCompleter extends CamelControllerImpl implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List<String> candidates) { try { StringsCompleter delegate = new StringsCompleter(); - List<Map<String, String>> dataFormats = camelController.listDataFormatsCatalog(null); + List<Map<String, String>> dataFormats = listDataFormatsCatalog(null); + String buffer = commandLine.getCursorArgument(); for (Map<String, String> row : dataFormats) { String name = row.get("name"); if (name != null) { @@ -43,7 +49,7 @@ public class DataFormatListCompleter extends CamelCompleterSupport { } } } - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } catch (Exception e) { // nothing to do, no completion } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/LanguageListCompleter.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/LanguageListCompleter.java b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/LanguageListCompleter.java index 423a79e..c60c5c9 100644 --- a/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/LanguageListCompleter.java +++ b/platforms/karaf/commands-catalog/src/main/java/org/apache/camel/karaf/commands/catalog/completers/LanguageListCompleter.java @@ -19,16 +19,22 @@ package org.apache.camel.karaf.commands.catalog.completers; import java.util.List; import java.util.Map; -import jline.console.completer.StringsCompleter; -import org.apache.camel.karaf.commands.completers.CamelCompleterSupport; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.lifecycle.Service; +import org.apache.karaf.shell.api.console.CommandLine; +import org.apache.karaf.shell.api.console.Completer; +import org.apache.karaf.shell.api.console.Session; +import org.apache.karaf.shell.support.completers.StringsCompleter; -public class LanguageListCompleter extends CamelCompleterSupport { +@Service +public class LanguageListCompleter extends CamelControllerImpl implements Completer { @Override - public int complete(String buffer, int cursor, List candidates) { + public int complete(Session session, CommandLine commandLine, List<String> candidates) { try { StringsCompleter delegate = new StringsCompleter(); - List<Map<String, String>> dataFormats = camelController.listLanguagesCatalog(null); + List<Map<String, String>> dataFormats = listLanguagesCatalog(null); + String buffer = commandLine.getCursorArgument(); for (Map<String, String> row : dataFormats) { String name = row.get("name"); if (name != null) { @@ -43,7 +49,7 @@ public class LanguageListCompleter extends CamelCompleterSupport { } } } - return delegate.complete(buffer, cursor, candidates); + return delegate.complete(session, commandLine, candidates); } catch (Exception e) { // nothing to do, no completion } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands-catalog/src/main/resources/OSGI-INF/blueprint/camel-commands-catalog.xml ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands-catalog/src/main/resources/OSGI-INF/blueprint/camel-commands-catalog.xml b/platforms/karaf/commands-catalog/src/main/resources/OSGI-INF/blueprint/camel-commands-catalog.xml deleted file mode 100644 index 2198812..0000000 --- a/platforms/karaf/commands-catalog/src/main/resources/OSGI-INF/blueprint/camel-commands-catalog.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" default-activation="lazy"> - - <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.0.0"> - - <command name="camel-catalog/component-list"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogComponentList"> - <property name="camelController" ref="camelController"/> - </action> - </command> - <command name="camel-catalog/component-info"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogComponentInfo"> - <property name="camelController" ref="camelController"/> - </action> - <completers> - <ref component-id="componentCompleter"/> - <null/> - </completers> - </command> - <command name="camel-catalog/component-doc"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogComponentDoc"> - <property name="camelController" ref="camelController"/> - </action> - <completers> - <ref component-id="componentCompleter"/> - <null/> - </completers> - </command> - <command name="camel-catalog/dataformat-list"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogDataFormatList"> - <property name="camelController" ref="camelController"/> - </action> - </command> - <command name="camel-catalog/dataformat-doc"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogDataFormatDoc"> - <property name="camelController" ref="camelController"/> - </action> - <completers> - <ref component-id="dataFormatCompleter"/> - <null/> - </completers> - </command> - <command name="camel-catalog/language-list"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogLanguageList"> - <property name="camelController" ref="camelController"/> - </action> - </command> - <command name="camel-catalog/language-doc"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogLanguageDoc"> - <property name="camelController" ref="camelController"/> - </action> - <completers> - <ref component-id="languageCompleter"/> - <null/> - </completers> - </command> - <command name="camel-catalog/eip-list"> - <action class="org.apache.camel.karaf.commands.catalog.CatalogEipList"> - <property name="camelController" ref="camelController"/> - </action> - </command> - </command-bundle> - - <bean id="camelController" class="org.apache.camel.karaf.commands.internal.CamelControllerImpl"> - <property name="bundleContext" ref="blueprintBundleContext"/> - </bean> - - <bean id="componentCompleter" class="org.apache.camel.karaf.commands.catalog.completers.ComponentListCompleter"> - <property name="camelController" ref="camelController"/> - </bean> - - <bean id="dataFormatCompleter" class="org.apache.camel.karaf.commands.catalog.completers.DataFormatListCompleter"> - <property name="camelController" ref="camelController"/> - </bean> - - <bean id="languageCompleter" class="org.apache.camel.karaf.commands.catalog.completers.LanguageListCompleter"> - <property name="camelController" ref="camelController"/> - </bean> - -</blueprint> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/pom.xml ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/pom.xml b/platforms/karaf/commands/pom.xml index b76ab3e..1f1aefd 100644 --- a/platforms/karaf/commands/pom.xml +++ b/platforms/karaf/commands/pom.xml @@ -49,7 +49,7 @@ <!-- karaf --> <dependency> <groupId>org.apache.karaf.shell</groupId> - <artifactId>org.apache.karaf.shell.console</artifactId> + <artifactId>org.apache.karaf.shell.core</artifactId> <version>${karaf4-version}</version> </dependency> <dependency> @@ -78,16 +78,15 @@ <instructions> <Import-Package> !org.apache.felix.utils.properties, - org.apache.felix.service.command;version="[0.16,1)", - org.apache.felix.gogo.commands;version="[0.16,1)", - org.apache.karaf.shell.console;version="[3,5)", + org.apache.karaf.shell.api.action;version="[4,5)", + org.apache.karaf.shell.support.completers;version="[4,5)", org.slf4j.*;version="[1.6,2)", - jline.*;version="[2.1,4)", * </Import-Package> <Private-Package> org.apache.camel.karaf.commands.internal </Private-Package> + <Karaf-Commands>*</Karaf-Commands> </instructions> </configuration> </plugin> http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java index 8d4b00f..1f8f723 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/AbstractRouteCommand.java @@ -16,14 +16,21 @@ */ package org.apache.camel.karaf.commands; -import org.apache.felix.gogo.commands.Argument; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.completers.RouteCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Completion; -public abstract class AbstractRouteCommand extends CamelCommandSupport { +public abstract class AbstractRouteCommand extends CamelControllerImpl implements Action { @Argument(index = 0, name = "route", description = "The Camel route ID or a wildcard expression", required = true, multiValued = false) + @Completion(RouteCompleter.class) String route; @Argument(index = 1, name = "context", description = "The Camel context name.", required = false, multiValued = false) + @Completion(CamelContextCompleter.class) String context; } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/CamelCommandSupport.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/CamelCommandSupport.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/CamelCommandSupport.java deleted file mode 100644 index 59204a8..0000000 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/CamelCommandSupport.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.camel.karaf.commands; - -import org.apache.camel.commands.CamelController; -import org.apache.karaf.shell.console.OsgiCommandSupport; - -/** - * The abstract base class for karaf commands. - */ -public abstract class CamelCommandSupport extends OsgiCommandSupport { - - protected CamelController camelController; - - public void setCamelController(CamelController camelController) { - this.camelController = camelController; - } - -} http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ComponentList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ComponentList.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ComponentList.java index 5ffeb7e..45fad57 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ComponentList.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ComponentList.java @@ -17,23 +17,30 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ComponentListCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "component-list", description = "Lists all Camel components that are in use in Karaf.") -public class ComponentList extends CamelCommandSupport { +@Service +public class ComponentList extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The Camel context name where to look for the components", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Option(name = "--verbose", aliases = "-v", description = "Verbose output which shows more information", required = false, multiValued = false, valueToShowInHelp = "false") boolean verbose; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ComponentListCommand command = new ComponentListCommand(name, verbose); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInflight.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInflight.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInflight.java index 1ff5e7f..cb3ddd9 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInflight.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInflight.java @@ -17,14 +17,22 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ContextInflightCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.completers.RouteCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "context-inflight", description = "List inflight exchanges.") -public class ContextInflight extends CamelCommandSupport { +@Service +public class ContextInflight extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The Camel context name", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Option(name = "--limit", aliases = "-l", description = "To limit the number of exchanges shown", @@ -32,15 +40,16 @@ public class ContextInflight extends CamelCommandSupport { int limit = -1; @Argument(index = 1, name = "route", description = "The Camel route ID", required = false, multiValued = false) + @Completion(RouteCompleter.class) String route; @Option(name = "--sort", aliases = "-s", description = "true = sort by longest duration, false = sort by exchange id", required = false, multiValued = false, valueToShowInHelp = "false") boolean sortByLongestDuration; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ContextInflightCommand command = new ContextInflightCommand(name, route, limit, sortByLongestDuration); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java index add0f4a..66f7f95 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextInfo.java @@ -18,30 +18,34 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ContextInfoCommand; import org.apache.camel.commands.StringEscape; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Reference; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "context-info", description = "Display detailed information about a Camel context.") -public class ContextInfo extends CamelCommandSupport { +@Service +public class ContextInfo extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel context", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Option(name = "--verbose", aliases = "-v", description = "Verbose output", required = false, multiValued = false, valueToShowInHelp = "false") boolean verbose; - private StringEscape stringEscape; - - public void setStringEscape(StringEscape stringEscape) { - this.stringEscape = stringEscape; - } + private StringEscape stringEscape = org.apache.camel.karaf.commands.internal.StringEscape.getInstance(); @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ContextInfoCommand command = new ContextInfoCommand(name, verbose); command.setStringEscape(stringEscape); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextList.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextList.java index af40be2..bf5eecd 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextList.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextList.java @@ -17,14 +17,18 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ContextListCommand; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "context-list", description = "Lists all Camel contexts.") -public class ContextList extends CamelCommandSupport { +@Service +public class ContextList extends CamelControllerImpl implements Action { @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ContextListCommand command = new ContextListCommand(); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextResume.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextResume.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextResume.java index 33eaf19..fed955d 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextResume.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextResume.java @@ -17,18 +17,25 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ContextResumeCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "context-resume", description = "Resumes a Camel context.") -public class ContextResume extends CamelCommandSupport { +@Service +public class ContextResume extends CamelControllerImpl implements Action { @Argument(index = 0, name = "context", description = "The name of the Camel context.", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String context; @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ContextResumeCommand command = new ContextResumeCommand(context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStart.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStart.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStart.java index ef98f88..17e618b 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStart.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStart.java @@ -17,19 +17,26 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ContextStartCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "context-start", description = "Start a Camel context.") -public class ContextStart extends CamelCommandSupport { +@Service +public class ContextStart extends CamelControllerImpl implements Action { @Argument(index = 0, name = "context", description = "The name of the Camel context.", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String context; @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ContextStartCommand command = new ContextStartCommand(context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStop.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStop.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStop.java index 9edc8d8..f38c4c4 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStop.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextStop.java @@ -17,19 +17,26 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ContextStopCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "context-stop", description = "Stop a Camel context. It becomes unavailable and can not be started again.") -public class ContextStop extends CamelCommandSupport { +@Service +public class ContextStop extends CamelControllerImpl implements Action { @Argument(index = 0, name = "context", description = "The name of the Camel context.", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String context; @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ContextStopCommand command = new ContextStopCommand(context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextSuspend.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextSuspend.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextSuspend.java index 7fd75af..a2e0117 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextSuspend.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/ContextSuspend.java @@ -17,19 +17,26 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.ContextSuspendCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "context-suspend", description = "Suspends a Camel context.") -public class ContextSuspend extends CamelCommandSupport { +@Service +public class ContextSuspend extends CamelControllerImpl implements Action { @Argument(index = 0, name = "context", description = "The name of the Camel context.", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String context; @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { ContextSuspendCommand command = new ContextSuspendCommand(context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EipExplain.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EipExplain.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EipExplain.java index 1f35486..96eaf77 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EipExplain.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EipExplain.java @@ -17,14 +17,21 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.EipExplainCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "eip-explain", description = "Explain the EIP in the CamelContext") -public class EipExplain extends CamelCommandSupport { +@Service +public class EipExplain extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel context", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Argument(index = 1, name = "nameOrId", description = "The name of the EIP or a node id to refer to a specific node from the routes", required = true, multiValued = false) @@ -34,9 +41,9 @@ public class EipExplain extends CamelCommandSupport { required = false, multiValued = false, valueToShowInHelp = "false") boolean verbose; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { EipExplainCommand command = new EipExplainCommand(name, nameOrId, verbose); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/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 be0d312..dbd8bae 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 @@ -17,14 +17,21 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.EndpointExplainCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "endpoint-explain", description = "Explain all Camel endpoints available in the CamelContext") -public class EndpointExplain extends CamelCommandSupport { +@Service +public class EndpointExplain extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel context", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Option(name = "--verbose", aliases = "-v", description = "Verbose output to explain all options", @@ -35,9 +42,9 @@ public class EndpointExplain extends CamelCommandSupport { required = false, multiValued = false) String filter; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { EndpointExplainCommand command = new EndpointExplainCommand(name, verbose, filter); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointList.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointList.java index fca9f76..1c49270 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointList.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointList.java @@ -17,14 +17,21 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.EndpointListCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "endpoint-list", description = "Lists Camel endpoints") -public class EndpointList extends CamelCommandSupport { +@Service +public class EndpointList extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel context", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Option(name = "--decode", aliases = "-d", description = "Whether to decode the endpoint uri so its human readable", @@ -39,9 +46,9 @@ public class EndpointList extends CamelCommandSupport { required = false, multiValued = false, valueToShowInHelp = "false") boolean explain; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { EndpointListCommand command = new EndpointListCommand(name, decode, verbose, explain); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointStats.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointStats.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointStats.java index a06ff4c..ee0811a 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointStats.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/EndpointStats.java @@ -17,14 +17,21 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.EndpointStatisticCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "endpoint-stats", description = "Display endpoint runtime statistics") -public class EndpointStats extends CamelCommandSupport { +@Service +public class EndpointStats extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel context (support wildcard)", required = false, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Option(name = "--filter", aliases = "-f", description = "Filter the list by in,out,static,dynamic", @@ -35,9 +42,9 @@ public class EndpointStats extends CamelCommandSupport { required = false, multiValued = false, valueToShowInHelp = "true") boolean decode = true; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { EndpointStatisticCommand command = new EndpointStatisticCommand(name, decode, filter); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestApiDoc.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestApiDoc.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestApiDoc.java index dfdbbbb..bd95893 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestApiDoc.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestApiDoc.java @@ -17,18 +17,25 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RestApiDocCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "rest-api-doc", description = "List the Camel REST services API documentation (requires camel-swagger-java on classpath)") -public class RestApiDoc extends CamelCommandSupport { +@Service +public class RestApiDoc extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The Camel context name where to look for the REST services", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RestApiDocCommand command = new RestApiDocCommand(name); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestRegistryList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestRegistryList.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestRegistryList.java index 3e57177..84ac606 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestRegistryList.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestRegistryList.java @@ -17,14 +17,21 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RestRegistryListCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; -import org.apache.felix.gogo.commands.Option; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.Option; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "rest-registry-list", description = "Lists all Camel REST services enlisted in the Rest Registry from a CamelContext") -public class RestRegistryList extends CamelCommandSupport { +@Service +public class RestRegistryList extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The Camel context name where to look for the REST services", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; @Option(name = "--decode", aliases = "-d", description = "Whether to decode the endpoint uri so its human readable", @@ -35,9 +42,9 @@ public class RestRegistryList extends CamelCommandSupport { required = false, multiValued = false, valueToShowInHelp = "false") Boolean verbose = false; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RestRegistryListCommand command = new RestRegistryListCommand(name, decode, verbose); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestShow.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestShow.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestShow.java index 55422c4..fac9352 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestShow.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RestShow.java @@ -17,18 +17,25 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RestShowCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "rest-show", description = "Display the Camel REST definition in XML") -public class RestShow extends CamelCommandSupport { +@Service +public class RestShow extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The name of the Camel context", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String name; - public Object doExecute() throws Exception { + public Object execute() throws Exception { RestShowCommand command = new RestShowCommand(name); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java index 6156377..92af15c 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java @@ -18,21 +18,20 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteInfoCommand; import org.apache.camel.commands.StringEscape; -import org.apache.felix.gogo.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Reference; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "route-info", description = "Display information about a Camel route.") +@Service public class RouteInfo extends AbstractRouteCommand { - private StringEscape stringEscape; + private StringEscape stringEscape = org.apache.camel.karaf.commands.internal.StringEscape.getInstance(); - public void setStringEscape(StringEscape stringEscape) { - this.stringEscape = stringEscape; - } - - public Object doExecute() throws Exception { + public Object execute() throws Exception { RouteInfoCommand command = new RouteInfoCommand(route, context); command.setStringEscape(stringEscape); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteList.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteList.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteList.java index 52e70af..9ed1f2d 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteList.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteList.java @@ -17,18 +17,25 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteListCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "route-list", description = "List Camel routes.") -public class RouteList extends CamelCommandSupport { +@Service +public class RouteList extends CamelControllerImpl implements Action { @Argument(index = 0, name = "name", description = "The Camel context name where to look for the route", required = false, multiValued = false) + @Completion(CamelContextCompleter.class) String name; - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RouteListCommand command = new RouteListCommand(name); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteProfile.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteProfile.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteProfile.java index e6452ef..9ce4f6a 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteProfile.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteProfile.java @@ -18,21 +18,20 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteProfileCommand; import org.apache.camel.commands.StringEscape; -import org.apache.felix.gogo.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Reference; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "route-profile", description = "Display profile information about Camel route(s).") +@Service public class RouteProfile extends AbstractRouteCommand { - private StringEscape stringEscape; - - public void setStringEscape(StringEscape stringEscape) { - this.stringEscape = stringEscape; - } + private StringEscape stringEscape = org.apache.camel.karaf.commands.internal.StringEscape.getInstance(); @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RouteProfileCommand command = new RouteProfileCommand(route, context); command.setStringEscape(stringEscape); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResetStats.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResetStats.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResetStats.java index cc8bab5..c0cea45 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResetStats.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResetStats.java @@ -17,19 +17,26 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteResetStatsCommand; -import org.apache.felix.gogo.commands.Argument; -import org.apache.felix.gogo.commands.Command; +import org.apache.camel.karaf.commands.completers.CamelContextCompleter; +import org.apache.camel.karaf.commands.internal.CamelControllerImpl; +import org.apache.karaf.shell.api.action.Action; +import org.apache.karaf.shell.api.action.Argument; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.Completion; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "route-reset-stats", description = "Reset route performance stats from a CamelContext") -public class RouteResetStats extends CamelCommandSupport { +@Service +public class RouteResetStats extends CamelControllerImpl implements Action { @Argument(index = 0, name = "context", description = "The name of the Camel context.", required = true, multiValued = false) + @Completion(CamelContextCompleter.class) String context; @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RouteResetStatsCommand command = new RouteResetStatsCommand(context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java index aa730ca..5f65479 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteResume.java @@ -17,15 +17,17 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteResumeCommand; -import org.apache.felix.gogo.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "route-resume", description = "Resume a Camel route") +@Service public class RouteResume extends AbstractRouteCommand { @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RouteResumeCommand command = new RouteResumeCommand(route, context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteShow.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteShow.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteShow.java index 950df70..b1302b9 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteShow.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteShow.java @@ -17,14 +17,16 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteShowCommand; -import org.apache.felix.gogo.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "route-show", description = "Display the Camel route definition in XML") +@Service public class RouteShow extends AbstractRouteCommand { - public Object doExecute() throws Exception { + public Object execute() throws Exception { RouteShowCommand command = new RouteShowCommand(route, context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java index a19b732..00e2d66 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStart.java @@ -17,14 +17,16 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteStartCommand; -import org.apache.felix.gogo.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; @Command(scope = "camel", name = "route-start", description = "Start a Camel route") +@Service public class RouteStart extends AbstractRouteCommand { @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RouteStartCommand command = new RouteStartCommand(route, context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } } http://git-wip-us.apache.org/repos/asf/camel/blob/da614b73/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java ---------------------------------------------------------------------- diff --git a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java index e7713b6..5d32cf3 100644 --- a/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java +++ b/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteStop.java @@ -17,15 +17,17 @@ package org.apache.camel.karaf.commands; import org.apache.camel.commands.RouteStopCommand; -import org.apache.felix.gogo.commands.Command; +import org.apache.karaf.shell.api.action.Command; +import org.apache.karaf.shell.api.action.lifecycle.Service; -@Command(scope = "camel", name = " route-stop", description = "Stop a Camel route") +@Command(scope = "camel", name = "route-stop", description = "Stop a Camel route") +@Service public class RouteStop extends AbstractRouteCommand { @Override - protected Object doExecute() throws Exception { + public Object execute() throws Exception { RouteStopCommand command = new RouteStopCommand(route, context); - return command.execute(camelController, System.out, System.err); + return command.execute(this, System.out, System.err); } }