You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/03/05 23:25:23 UTC
[4/6] [KARAF-2805] Convert remaining commands to the new model
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleAddCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleAddCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleAddCommand.java
index 2b0593a..f943be9 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleAddCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleAddCommand.java
@@ -15,10 +15,10 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "role-add", description = "Add a role to a user")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleDeleteCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleDeleteCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleDeleteCommand.java
index faf7053..8a9d223 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleDeleteCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/RoleDeleteCommand.java
@@ -15,10 +15,10 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "role-delete", description = "Delete a role from a user")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/UpdateCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/UpdateCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/UpdateCommand.java
index efd163c..c979cba 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/UpdateCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/UpdateCommand.java
@@ -15,21 +15,22 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.jaas.config.JaasRealm;
-import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.inject.Service;
-
-import javax.security.auth.login.AppConfigurationEntry;
import java.util.LinkedList;
import java.util.Queue;
+import javax.security.auth.login.AppConfigurationEntry;
+
+import org.apache.karaf.jaas.config.JaasRealm;
+import org.apache.karaf.jaas.modules.BackingEngine;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+
@Command(scope = "jaas", name = "update", description = "Apply pending modification on the edited JAAS Realm")
@Service
public class UpdateCommand extends JaasCommandSupport {
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
JaasRealm realm = (JaasRealm) session.get(JAAS_REALM);
AppConfigurationEntry entry = (AppConfigurationEntry) session.get(JAAS_ENTRY);
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserAddCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserAddCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserAddCommand.java
index 9cafa5d..3854f1d 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserAddCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserAddCommand.java
@@ -15,10 +15,10 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "user-add", description = "Add a user")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserDeleteCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserDeleteCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserDeleteCommand.java
index d7b7529..ba4631f 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserDeleteCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/UserDeleteCommand.java
@@ -15,10 +15,10 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "user-delete", description = "Delete a usergit s")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/LoginModuleNameCompleter.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/LoginModuleNameCompleter.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/LoginModuleNameCompleter.java
index 50e543b..3b9655d 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/LoginModuleNameCompleter.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/LoginModuleNameCompleter.java
@@ -18,19 +18,26 @@ package org.apache.karaf.jaas.command.completers;
import java.util.LinkedList;
import java.util.List;
+
import javax.security.auth.login.AppConfigurationEntry;
+
import org.apache.karaf.jaas.boot.ProxyLoginModule;
import org.apache.karaf.jaas.config.JaasRealm;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
@Service
public class LoginModuleNameCompleter implements Completer {
+ @Reference
private List<JaasRealm> realms;
- public int complete(String buffer, int cursor, List<String> candidates) {
+ @Override
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
if (realms != null && !realms.isEmpty())
@@ -42,7 +49,7 @@ public class LoginModuleNameCompleter implements Completer {
} catch (Exception e) {
// Ignore
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
/**
@@ -62,12 +69,4 @@ public class LoginModuleNameCompleter implements Completer {
return moduleClassNames;
}
- public List<JaasRealm> getRealms() {
- return realms;
- }
-
- public void setRealms(List<JaasRealm> realms) {
- this.realms = realms;
- }
-
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/RealmCompleter.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/RealmCompleter.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/RealmCompleter.java
index e251527..a71ef97 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/RealmCompleter.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/completers/RealmCompleter.java
@@ -16,19 +16,24 @@
*/
package org.apache.karaf.jaas.command.completers;
-import org.apache.karaf.jaas.config.JaasRealm;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Service;
-
import java.util.List;
+import org.apache.karaf.jaas.config.JaasRealm;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
+
@Service
public class RealmCompleter implements Completer {
+ @Reference
private List<JaasRealm> realms;
- public int complete(String buffer, int cursor, List<String> candidates) {
+ @Override
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
if (realms != null && !realms.isEmpty())
@@ -38,15 +43,7 @@ public class RealmCompleter implements Completer {
} catch (Exception e) {
// Ignore
}
- return delegate.complete(buffer, cursor, candidates);
- }
-
- public List<JaasRealm> getRealms() {
- return realms;
- }
-
- public void setRealms(List<JaasRealm> realms) {
- this.realms = realms;
+ return delegate.complete(session, commandLine, candidates);
}
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/resources/OSGI-INF/blueprint/jaas-command.xml
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/resources/OSGI-INF/blueprint/jaas-command.xml b/jaas/command/src/main/resources/OSGI-INF/blueprint/jaas-command.xml
deleted file mode 100644
index c361e48..0000000
--- a/jaas/command/src/main/resources/OSGI-INF/blueprint/jaas-command.xml
+++ /dev/null
@@ -1,39 +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">
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
- scan="org.apache.karaf.jaas.command" />
-
- <!-- JAAS Realms -->
- <reference-list id="realms" interface="org.apache.karaf.jaas.config.JaasRealm" availability="optional"/>
-
- <!-- Completers -->
- <bean id="realmCompleter" class="org.apache.karaf.jaas.command.completers.RealmCompleter">
- <property name="realms" ref="realms"/>
- </bean>
- <service ref="realmCompleter" auto-export="all-classes"/>
-
- <bean id="loginModuleNameCompleter" class="org.apache.karaf.jaas.command.completers.LoginModuleNameCompleter">
- <property name="realms" ref="realms"/>
- </bean>
- <service ref="loginModuleNameCompleter" auto-export="all-classes"/>
-
-</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/test/java/org/apache/karaf/jaas/command/ManageRealmCommandTest.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/test/java/org/apache/karaf/jaas/command/ManageRealmCommandTest.java b/jaas/command/src/test/java/org/apache/karaf/jaas/command/ManageRealmCommandTest.java
index 1171c99..d9458c7 100644
--- a/jaas/command/src/test/java/org/apache/karaf/jaas/command/ManageRealmCommandTest.java
+++ b/jaas/command/src/test/java/org/apache/karaf/jaas/command/ManageRealmCommandTest.java
@@ -15,23 +15,23 @@
*/
package org.apache.karaf.jaas.command;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
+import java.util.Arrays;
+import java.util.Properties;
-import org.apache.felix.service.command.CommandSession;
import org.apache.karaf.jaas.config.JaasRealm;
import org.apache.karaf.jaas.config.impl.Config;
import org.apache.karaf.jaas.config.impl.Module;
+import org.apache.karaf.shell.api.console.Session;
import org.junit.Test;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
-import java.util.Arrays;
-import java.util.Properties;
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
public class ManageRealmCommandTest {
@@ -63,15 +63,16 @@ public class ManageRealmCommandTest {
*/
private void doVerifyIndex(ManageRealmCommand cmd, int index, Config[] realms) throws Exception {
- // prepare command
- cmd.index = index;
- cmd.setRealms(Arrays.<JaasRealm> asList(realms));
-
// prepare mocks
- CommandSession session = createMock(CommandSession.class);
+ Session session = createMock(Session.class);
BundleContext bundleContext = createMock(BundleContext.class);
Bundle bundle = createMock(Bundle.class);
+ // prepare command
+ cmd.index = index;
+ cmd.setRealms(Arrays.<JaasRealm> asList(realms));
+ cmd.setSession(session);
+
for (Config realm : realms)
realm.setBundleContext(bundleContext);
@@ -90,7 +91,7 @@ public class ManageRealmCommandTest {
// start the test
replay(mocks);
- cmd.execute(session);
+ cmd.execute();
verify(mocks);
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/command/pom.xml b/jdbc/command/pom.xml
index 08edade..18441f3 100644
--- a/jdbc/command/pom.xml
+++ b/jdbc/command/pom.xml
@@ -50,11 +50,7 @@
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
</dependencies>
@@ -81,6 +77,7 @@
<configuration>
<instructions>
<Export-Package>!*</Export-Package>
+ <Karaf-Commands>*</Karaf-Commands>
</instructions>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
index fa629da..39f638e5 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java
@@ -16,12 +16,12 @@
*/
package org.apache.karaf.jdbc.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Service;
+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;
+import org.apache.karaf.shell.support.completers.StringsCompleter;
@Command(scope = "jdbc", name = "create", description = "Create a JDBC datasource")
@Service
@@ -31,7 +31,7 @@ public class CreateCommand extends JdbcCommandSupport {
String name;
@Option(name = "-t", aliases = { "--type" }, description = "The JDBC datasource type (generic, MySQL, Oracle, Postgres, H2, HSQL, Derby)", required = false, multiValued = false)
- @Completer(value = StringsCompleter.class, values = { "db2", "derby", "generic", "h2", "hsql", "mysql", "oracle", "postgres" })
+ @Completion(value = StringsCompleter.class, values = { "db2", "derby", "generic", "h2", "hsql", "mysql", "oracle", "postgres" })
String type;
@Option(name = "-d", aliases = { "--driver" }, description = "The classname of the JDBC driver to use. NB: this option is used only the type generic", required = false, multiValued = false)
@@ -52,7 +52,8 @@ public class CreateCommand extends JdbcCommandSupport {
@Option(name = "-i", aliases = { "--install-bundles" }, description = "Try to install the bundles providing the JDBC driver", required = false, multiValued = false)
boolean installBundles = false;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
this.getJdbcService().create(name, type, driver, version, url, username, password, installBundles);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
index e314c9c..cb3edad 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DataSourcesCommand.java
@@ -16,18 +16,19 @@
*/
package org.apache.karaf.jdbc.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
-
import java.util.List;
import java.util.Map;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
+
@Command(scope = "jdbc", name = "datasources", description = "List the JDBC datasources")
@Service
public class DataSourcesCommand extends JdbcCommandSupport {
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("Name");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
index 3b6aa16..6bf7236 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/DeleteCommand.java
@@ -17,20 +17,21 @@
package org.apache.karaf.jdbc.command;
import org.apache.karaf.jdbc.command.completers.DataSourcesFileNameCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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 = "jdbc", name = "delete", description = "Delete a JDBC datasource")
@Service
public class DeleteCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "name", description = "The JDBC datasource name (the one used at creation time)", required = true, multiValued = false)
- @Completer(DataSourcesFileNameCompleter.class)
+ @Completion(DataSourcesFileNameCompleter.class)
String name;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
this.getJdbcService().delete(name);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
index 48bd412..480ab51 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/ExecuteCommand.java
@@ -17,23 +17,24 @@
package org.apache.karaf.jdbc.command;
import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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 = "jdbc", name = "execute", description = "Execute a SQL command on a given JDBC datasource")
@Service
public class ExecuteCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource", required = true, multiValued = false)
- @Completer(DataSourcesNameCompleter.class)
+ @Completion(DataSourcesNameCompleter.class)
String datasource;
@Argument(index = 1, name = "command", description = "The SQL command to execute", required = true, multiValued = false)
String command;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
this.getJdbcService().execute(datasource, command);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
index 14df91b..e53bbab 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/InfoCommand.java
@@ -17,11 +17,11 @@
package org.apache.karaf.jdbc.command;
import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+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;
+import org.apache.karaf.shell.support.table.ShellTable;
import java.util.Map;
@@ -30,10 +30,11 @@ import java.util.Map;
public class InfoCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource name", required = true, multiValued = false)
- @Completer(DataSourcesNameCompleter.class)
+ @Completion(DataSourcesNameCompleter.class)
String datasource;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("Property");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
index f274cfb..cf1eb58 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/JdbcCommandSupport.java
@@ -17,16 +17,14 @@
package org.apache.karaf.jdbc.command;
import org.apache.karaf.jdbc.JdbcService;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
-public abstract class JdbcCommandSupport extends OsgiCommandSupport {
+public abstract class JdbcCommandSupport implements Action {
@Reference
private JdbcService jdbcService;
- public abstract Object doExecute() throws Exception;
-
public JdbcService getJdbcService() {
return jdbcService;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
index f591cd9..297288b 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/QueryCommand.java
@@ -16,29 +16,30 @@
*/
package org.apache.karaf.jdbc.command;
-import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.Row;
-import org.apache.karaf.shell.table.ShellTable;
-
import java.util.List;
import java.util.Map;
+import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
+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;
+import org.apache.karaf.shell.support.table.Row;
+import org.apache.karaf.shell.support.table.ShellTable;
+
@Command(scope = "jdbc", name = "query", description = "Execute a SQL query on a JDBC datasource")
@Service
public class QueryCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource to use", required = true, multiValued = false)
- @Completer(DataSourcesNameCompleter.class)
+ @Completion(DataSourcesNameCompleter.class)
String datasource;
@Argument(index = 1, name = "query", description = "The SQL query to execute", required = true, multiValued = false)
String query;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
Map<String, List<String>> map = this.getJdbcService().query(datasource, query);
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
index 8a7acdd..04baa70 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/TablesCommand.java
@@ -16,26 +16,27 @@
*/
package org.apache.karaf.jdbc.command;
-import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.Row;
-import org.apache.karaf.shell.table.ShellTable;
-
import java.util.List;
import java.util.Map;
+import org.apache.karaf.jdbc.command.completers.DataSourcesNameCompleter;
+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;
+import org.apache.karaf.shell.support.table.Row;
+import org.apache.karaf.shell.support.table.ShellTable;
+
@Command(scope = "jdbc", name = "tables", description = "List the tables on a given JDBC datasource")
@Service
public class TablesCommand extends JdbcCommandSupport {
@Argument(index = 0, name = "datasource", description = "The JDBC datasource to use", required = true, multiValued = false)
- @Completer(DataSourcesNameCompleter.class)
+ @Completion(DataSourcesNameCompleter.class)
String datasource;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
Map<String, List<String>> map = this.getJdbcService().tables(datasource);
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
index 3eb7eb6..8ba0fe9 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesFileNameCompleter.java
@@ -17,10 +17,12 @@
package org.apache.karaf.jdbc.command.completers;
import org.apache.karaf.jdbc.JdbcService;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
import java.util.List;
@@ -34,7 +36,7 @@ public class DataSourcesFileNameCompleter implements Completer {
private JdbcService jdbcService;
@Override
- public int complete(String buffer, int cursor, List<String> candidates) {
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
for (String datasourceFileName : jdbcService.datasourceFileNames()) {
@@ -43,7 +45,7 @@ public class DataSourcesFileNameCompleter implements Completer {
} catch (Exception e) {
// nothing to do
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
public JdbcService getJdbcService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
index af4c0e3..238910f 100644
--- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
+++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/completers/DataSourcesNameCompleter.java
@@ -17,10 +17,12 @@
package org.apache.karaf.jdbc.command.completers;
import org.apache.karaf.jdbc.JdbcService;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
import java.util.List;
@@ -34,7 +36,7 @@ public class DataSourcesNameCompleter implements Completer {
private JdbcService jdbcService;
@Override
- public int complete(String buffer, int cursor, List<String> candidates) {
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
for (String datasource : jdbcService.datasources()) {
@@ -43,7 +45,7 @@ public class DataSourcesNameCompleter implements Completer {
} catch (Exception e) {
// nothing to do
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
public JdbcService getJdbcService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml
----------------------------------------------------------------------
diff --git a/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml b/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml
deleted file mode 100644
index fe843fc..0000000
--- a/jdbc/command/src/main/resources/OSGI-INF/blueprint/jdbc-command.xml
+++ /dev/null
@@ -1,23 +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.2.0"
- scan="org.apache.karaf.jdbc.command.*" />
-
-</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/pom.xml
----------------------------------------------------------------------
diff --git a/jms/command/pom.xml b/jms/command/pom.xml
index 204e2c6..a8c6d76 100644
--- a/jms/command/pom.xml
+++ b/jms/command/pom.xml
@@ -49,11 +49,7 @@
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
</dependencies>
@@ -80,6 +76,7 @@
<configuration>
<instructions>
<Export-Package>!*</Export-Package>
+ <Karaf-Commands>*</Karaf-Commands>
</instructions>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
index 49bd545..cb86aa6 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
@@ -16,15 +16,15 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.jms.JmsMessage;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
-
import java.util.List;
+import org.apache.karaf.jms.JmsMessage;
+import org.apache.karaf.shell.api.action.Argument;
+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;
+import org.apache.karaf.shell.support.table.ShellTable;
+
@Command(scope = "jms", name = "browse", description = "Browse a JMS queue")
@Service
public class BrowseCommand extends JmsConnectionCommandSupport {
@@ -38,7 +38,8 @@ public class BrowseCommand extends JmsConnectionCommandSupport {
@Option(name = "-v", aliases = { "--verbose" }, description = "Display JMS properties", required = false, multiValued = false)
boolean verbose = false;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("Message ID");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
index 91182e7..b698336 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/ConnectionFactoriesCommand.java
@@ -16,17 +16,18 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
-
import java.util.List;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
+
@Command(scope = "jms", name = "connectionfactories", description = "List the JMS connection factories")
@Service
public class ConnectionFactoriesCommand extends JmsCommandSupport {
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("JMS Connection Factory");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
index a1b3855..cd8caaf 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
@@ -16,10 +16,10 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.Argument;
+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 = "jms", name = "consume", description = "Consume messages from a JMS queue.")
@Service
@@ -31,7 +31,8 @@ public class ConsumeCommand extends JmsConnectionCommandSupport {
@Option(name = "-s", aliases = { "--selector" }, description = "The selector to use to select the messages to consume", required = false, multiValued = false)
String selector;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
System.out.println(getJmsService().consume(connectionFactory, queue, selector, username, password) + " message(s) consumed");
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
index 600477a..576e8dd 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
@@ -16,10 +16,11 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
@Command(scope = "jms", name = "count", description = "Count the number of messages on a JMS queue.")
@Service
@@ -28,7 +29,8 @@ public class CountCommand extends JmsConnectionCommandSupport {
@Argument(index = 1, name = "queue", description = "The JMS queue name", required = true, multiValued = false)
String queue;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("Messages Count");
table.addRow().addContent(getJmsService().count(connectionFactory, queue, username, password));
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
index 0750a57..c2c7eca 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/CreateCommand.java
@@ -16,12 +16,12 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Service;
+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;
+import org.apache.karaf.shell.support.completers.StringsCompleter;
@Command(scope = "jms", name = "create", description = "Create a JMS connection factory.")
@Service
@@ -31,13 +31,14 @@ public class CreateCommand extends JmsCommandSupport {
String name;
@Option(name = "-t", aliases = { "--type" }, description = "The JMS connection factory type (ActiveMQ or WebsphereMQ)", required = false, multiValued = false)
- @Completer(value = StringsCompleter.class, values = { "activemq", "webspheremq" })
+ @Completion(value = StringsCompleter.class, values = { "activemq", "webspheremq" })
String type = "ActiveMQ";
@Option(name = "--url", description = "URL of the JMS broker. For WebsphereMQ type, the URL is hostname/port/queuemanager/channel", required = false, multiValued = false)
String url = "tcp://localhost:61616";
-
- public Object doExecute() throws Exception {
+
+ @Override
+ public Object execute() throws Exception {
getJmsService().create(name, type, url);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
index 2cd701f..cab3123 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/DeleteCommand.java
@@ -16,21 +16,23 @@
*/
package org.apache.karaf.jms.command;
+
import org.apache.karaf.jms.command.completers.ConnectionFactoriesFileNameCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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 = "jms", name = "delete", description = "Delete a JMS connection factory")
@Service
public class DeleteCommand extends JmsCommandSupport {
@Argument(index = 0, name = "name", description = "The JMS connection factory name", required = true, multiValued = false)
- @Completer(ConnectionFactoriesFileNameCompleter.class)
+ @Completion(ConnectionFactoriesFileNameCompleter.class)
String name;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
getJmsService().delete(name);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
index 732a164..354db39 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
@@ -16,17 +16,19 @@
*/
package org.apache.karaf.jms.command;
+
import java.util.Map;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
@Command(scope = "jms", name = "info", description = "Provides details about a JMS connection factory.")
@Service
public class InfoCommand extends JmsConnectionCommandSupport {
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("Property");
table.column("Value");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java b/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
index e4d514c..2f5df8f 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/JmsCommandSupport.java
@@ -17,10 +17,10 @@
package org.apache.karaf.jms.command;
import org.apache.karaf.jms.JmsService;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
-public abstract class JmsCommandSupport extends OsgiCommandSupport {
+public abstract class JmsCommandSupport implements Action {
@Reference
private JmsService jmsService;
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/JmsConnectionCommandSupport.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/JmsConnectionCommandSupport.java b/jms/command/src/main/java/org/apache/karaf/jms/command/JmsConnectionCommandSupport.java
index cb89717..64adfe4 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/JmsConnectionCommandSupport.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/JmsConnectionCommandSupport.java
@@ -17,9 +17,9 @@
package org.apache.karaf.jms.command;
import org.apache.karaf.jms.command.completers.ConnectionFactoriesNameCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.commands.Option;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Completion;
+import org.apache.karaf.shell.api.action.Option;
/**
* For commands that need a connection factory and authentication information
@@ -27,7 +27,7 @@ import org.apache.karaf.shell.commands.Option;
public abstract class JmsConnectionCommandSupport extends JmsCommandSupport {
@Argument(index = 0, name = "connectionFactory", description = "The JMS connection factory name", required = true, multiValued = false)
- @Completer(ConnectionFactoriesNameCompleter.class)
+ @Completion(ConnectionFactoriesNameCompleter.class)
String connectionFactory;
@Option(name = "-u", aliases = { "--username" }, description = "Username to connect to the JMS broker", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
index 8afe253..a4c8d12 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
@@ -16,10 +16,11 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.inject.Service;
+
+import org.apache.karaf.shell.api.action.Argument;
+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 = "jms", name = "move", description = "Move messages from one JMS queue to another one.")
@Service
@@ -34,7 +35,8 @@ public class MoveCommand extends JmsConnectionCommandSupport {
@Option(name = "-s", aliases = { "--selector" }, description = "Selector to move only some messages", required = false, multiValued = false)
String selector;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
System.out.println(getJmsService().move(connectionFactory, source, destination, selector, username, password) + " message(s) moved");
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
index 105eeb2..7cf1dac 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
@@ -16,15 +16,17 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
@Command(scope = "jms", name = "queues", description = "List the JMS queues.")
@Service
public class QueuesCommand extends JmsConnectionCommandSupport {
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("JMS Queues");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
index 3af7436..63d3f4a 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
@@ -16,10 +16,11 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.inject.Service;
+
+import org.apache.karaf.shell.api.action.Argument;
+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 = "jms", name = "send", description = "Send a message to ")
@Service
@@ -34,7 +35,8 @@ public class SendCommand extends JmsConnectionCommandSupport {
@Option(name = "-r", aliases = { "--replyTo" }, description = "Set the message ReplyTo", required = false, multiValued = false)
String replyTo;
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
getJmsService().send(connectionFactory, queue, message, replyTo, username, password);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
index 7a0b707..b583bc4 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
@@ -16,15 +16,17 @@
*/
package org.apache.karaf.jms.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
@Command(scope = "jms", name = "topics", description = "List the JMS topics.")
@Service
public class TopicsCommand extends JmsConnectionCommandSupport {
- public Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("JMS Topics");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
index 12c42bd..c33ff62 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesFileNameCompleter.java
@@ -16,14 +16,16 @@
*/
package org.apache.karaf.jms.command.completers;
-import org.apache.karaf.jms.JmsService;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
-
import java.util.List;
+import org.apache.karaf.jms.JmsService;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
+
/**
* Completer on the JMS connection factory file names.
*/
@@ -34,7 +36,7 @@ public class ConnectionFactoriesFileNameCompleter implements Completer {
private JmsService jmsService;
@Override
- public int complete(String buffer, int cursor, List<String> candidates) {
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
for (String connectionFactory : jmsService.connectionFactoryFileNames()) {
@@ -43,7 +45,7 @@ public class ConnectionFactoriesFileNameCompleter implements Completer {
} catch (Exception e) {
// nothing to do
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
public JmsService getJmsService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
----------------------------------------------------------------------
diff --git a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
index 3437c8e..98f97b3 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/completers/ConnectionFactoriesNameCompleter.java
@@ -16,14 +16,16 @@
*/
package org.apache.karaf.jms.command.completers;
-import org.apache.karaf.jms.JmsService;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
-
import java.util.List;
+import org.apache.karaf.jms.JmsService;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
+
/**
* Completer on the JMS connection factories name.
*/
@@ -34,7 +36,7 @@ public class ConnectionFactoriesNameCompleter implements Completer {
private JmsService jmsService;
@Override
- public int complete(String buffer, int cursor, List<String> candidates) {
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
for (String connectionFactory : jmsService.connectionFactories()) {
@@ -43,7 +45,7 @@ public class ConnectionFactoriesNameCompleter implements Completer {
} catch (Exception e) {
// nothing to do
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
public JmsService getJmsService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml
----------------------------------------------------------------------
diff --git a/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml b/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml
deleted file mode 100644
index b5a912f..0000000
--- a/jms/command/src/main/resources/OSGI-INF/blueprint/jms-command.xml
+++ /dev/null
@@ -1,23 +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.2.0"
- scan="org.apache.karaf.jms.command.*" />
-
-</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/pom.xml
----------------------------------------------------------------------
diff --git a/jndi/command/pom.xml b/jndi/command/pom.xml
index 0b06a24..81eabf5 100644
--- a/jndi/command/pom.xml
+++ b/jndi/command/pom.xml
@@ -50,11 +50,7 @@
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
</dependencies>
@@ -81,6 +77,7 @@
<configuration>
<instructions>
<Export-Package>!*</Export-Package>
+ <Karaf-Commands>*</Karaf-Commands>
</instructions>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
index 3733858..08e3912 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/AliasCommand.java
@@ -16,27 +16,34 @@
*/
package org.apache.karaf.jndi.command;
+import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.jndi.command.completers.ContextsCompleter;
import org.apache.karaf.jndi.command.completers.NamesCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jndi", name = "alias", description = "Create a JNDI alias on a given name.")
@Service
-public class AliasCommand extends JndiCommandSupport {
+public class AliasCommand implements Action {
@Argument(index = 0, name = "name", description = "The JNDI name", required = true, multiValued = false)
- @Completer(NamesCompleter.class)
+ @Completion(NamesCompleter.class)
String name;
@Argument(index = 1, name = "alias", description = "The JNDI alias", required = true, multiValued = false)
- @Completer(ContextsCompleter.class)
+ @Completion(ContextsCompleter.class)
String alias;
- public Object doExecute() throws Exception {
- getJndiService().alias(name, alias);
+ @Reference
+ JndiService jndiService;
+
+ @Override
+ public Object execute() throws Exception {
+ jndiService.alias(name, alias);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
index 5192853..b181762 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/BindCommand.java
@@ -16,27 +16,34 @@
*/
package org.apache.karaf.jndi.command;
+import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.jndi.command.completers.ContextsCompleter;
import org.apache.karaf.jndi.command.completers.ServicesIdCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jndi", name = "bind", description = "Bind an OSGi service in the JNDI context")
@Service
-public class BindCommand extends JndiCommandSupport {
+public class BindCommand implements Action {
@Argument(index = 0, name = "service", description = "The ID of the OSGi service to bind", required = true, multiValued = false)
- @Completer(ServicesIdCompleter.class)
+ @Completion(ServicesIdCompleter.class)
Long serviceId;
@Argument(index = 1, name = "name", description = "The JNDI name to bind the OSGi service", required = true, multiValued = false)
- @Completer(ContextsCompleter.class)
+ @Completion(ContextsCompleter.class)
String name;
- public Object doExecute() throws Exception {
- this.getJndiService().bind(serviceId, name);
+ @Reference
+ JndiService jndiService;
+
+ @Override
+ public Object execute() throws Exception {
+ jndiService.bind(serviceId, name);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
index 34def8f..2209479 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/ContextsCommand.java
@@ -16,33 +16,40 @@
*/
package org.apache.karaf.jndi.command;
+import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.jndi.command.completers.ContextsCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
import java.util.List;
@Command(scope = "jndi", name = "contexts", description = "List the JNDI sub-contexts.")
@Service
-public class ContextsCommand extends JndiCommandSupport {
+public class ContextsCommand implements Action {
@Argument(index = 0, name = "context", description = "The base JNDI context", required = false, multiValued = false)
- @Completer(ContextsCompleter.class)
+ @Completion(ContextsCompleter.class)
String context;
- public Object doExecute() throws Exception {
+ @Reference
+ JndiService jndiService;
+
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("JNDI Sub-Context");
List<String> contexts;
if (context == null) {
- contexts = this.getJndiService().contexts();
+ contexts = jndiService.contexts();
} else {
- contexts = this.getJndiService().contexts(context);
+ contexts = jndiService.contexts(context);
}
for (String c : contexts) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
index d8627a3..86663bf 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/CreateCommand.java
@@ -16,22 +16,29 @@
*/
package org.apache.karaf.jndi.command;
+import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.jndi.command.completers.ContextsCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jndi", name = "create", description = "Create a new JNDI sub-context.")
@Service
-public class CreateCommand extends JndiCommandSupport {
+public class CreateCommand implements Action {
@Argument(index = 0, name = "context", description = "The JNDI sub-context name", required = true, multiValued = false)
- @Completer(ContextsCompleter.class)
+ @Completion(ContextsCompleter.class)
String context;
- public Object doExecute() throws Exception {
- this.getJndiService().create(context);
+ @Reference
+ JndiService jndiService;
+
+ @Override
+ public Object execute() throws Exception {
+ jndiService.create(context);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
index 7e8a631..3cd3a40 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/DeleteCommand.java
@@ -16,22 +16,29 @@
*/
package org.apache.karaf.jndi.command;
+import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.jndi.command.completers.ContextsCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jndi", name = "delete", description = "Delete a JNDI sub-context.")
@Service
-public class DeleteCommand extends JndiCommandSupport {
+public class DeleteCommand implements Action {
@Argument(index = 0, name = "context", description = "The JNDI sub-context name", required = true, multiValued = false)
- @Completer(ContextsCompleter.class)
+ @Completion(ContextsCompleter.class)
String context;
- public Object doExecute() throws Exception {
- this.getJndiService().delete(context);
+ @Reference
+ JndiService jndiService;
+
+ @Override
+ public Object execute() throws Exception {
+ jndiService.delete(context);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java
deleted file mode 100644
index e3e4e48..0000000
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/JndiCommandSupport.java
+++ /dev/null
@@ -1,38 +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.karaf.jndi.command;
-
-import org.apache.karaf.jndi.JndiService;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.apache.karaf.shell.inject.Reference;
-
-public abstract class JndiCommandSupport extends OsgiCommandSupport {
-
- @Reference
- private JndiService jndiService;
-
- public JndiService getJndiService() {
- return jndiService;
- }
-
- public void setJndiService(JndiService jndiService) {
- this.jndiService = jndiService;
- }
-
- public abstract Object doExecute() throws Exception;
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
index c893843..0345f11 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/NamesCommand.java
@@ -16,24 +16,31 @@
*/
package org.apache.karaf.jndi.command;
+import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.jndi.command.completers.ContextsCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
import java.util.Map;
@Command(scope = "jndi", name = "names", description = "List the JNDI names.")
@Service
-public class NamesCommand extends JndiCommandSupport {
+public class NamesCommand implements Action {
@Argument(index = 0, name = "context", description = "The JNDI context to display the names", required = false, multiValued = false)
- @Completer(ContextsCompleter.class)
+ @Completion(ContextsCompleter.class)
String context;
- public Object doExecute() throws Exception {
+ @Reference
+ JndiService jndiService;
+
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("JNDI Name");
@@ -41,9 +48,9 @@ public class NamesCommand extends JndiCommandSupport {
Map<String, String> names;
if (context == null) {
- names = this.getJndiService().names();
+ names = jndiService.names();
} else {
- names = this.getJndiService().names(context);
+ names = jndiService.names(context);
}
for (String name : names.keySet()) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
index 058a822..b93c7b9 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/UnbindCommand.java
@@ -16,22 +16,29 @@
*/
package org.apache.karaf.jndi.command;
+import org.apache.karaf.jndi.JndiService;
import org.apache.karaf.jndi.command.completers.NamesCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Service;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jndi", name = "unbind", description = "Unbind a JNDI name.")
@Service
-public class UnbindCommand extends JndiCommandSupport {
+public class UnbindCommand implements Action {
@Argument(index = 0, name = "name", description = "The JNDI name to unbind", required = true, multiValued = false)
- @Completer(NamesCompleter.class)
+ @Completion(NamesCompleter.class)
String name;
- public Object doExecute() throws Exception {
- getJndiService().unbind(name);
+ @Reference
+ JndiService jndiService;
+
+ @Override
+ public Object execute() throws Exception {
+ jndiService.unbind(name);
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
index deab19b..8f2ac29 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/ContextsCompleter.java
@@ -17,10 +17,12 @@
package org.apache.karaf.jndi.command.completers;
import org.apache.karaf.jndi.JndiService;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
import java.util.List;
@@ -33,7 +35,8 @@ public class ContextsCompleter implements Completer {
@Reference
private JndiService jndiService;
- public int complete(String buffer, int cursor, List candidates) {
+ @Override
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
List<String> contexts = jndiService.contexts();
@@ -43,7 +46,7 @@ public class ContextsCompleter implements Completer {
} catch (Exception e) {
// nothing to do
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
public JndiService getJndiService() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
----------------------------------------------------------------------
diff --git a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
index 618977a..d94e3f4 100644
--- a/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
+++ b/jndi/command/src/main/java/org/apache/karaf/jndi/command/completers/NamesCompleter.java
@@ -17,10 +17,12 @@
package org.apache.karaf.jndi.command.completers;
import org.apache.karaf.jndi.JndiService;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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;
import java.util.List;
@@ -33,7 +35,8 @@ public class NamesCompleter implements Completer {
@Reference
private JndiService jndiService;
- public int complete(String buffer, int cursor, List candidates) {
+ @Override
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
for (String name : jndiService.names().keySet()) {
@@ -42,7 +45,7 @@ public class NamesCompleter implements Completer {
} catch (Exception e) {
// nothing to do
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
public JndiService getJndiService() {