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:24 UTC
[5/6] git commit: [KARAF-2805] Convert remaining commands to the new
model
[KARAF-2805] Convert remaining commands to the new model
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/571c6f99
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/571c6f99
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/571c6f99
Branch: refs/heads/master
Commit: 571c6f998181fc8e325ea55b388efea09a0bc319
Parents: 1c29cbc
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Wed Mar 5 23:21:46 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Wed Mar 5 23:21:46 2014 +0100
----------------------------------------------------------------------
bundle/command/pom.xml | 4 --
.../karaf/bundle/command/ListBundles.java | 2 +-
bundle/core/pom.xml | 8 ++-
config/command/pom.xml | 13 +++--
.../karaf/config/command/CancelCommand.java | 4 +-
.../config/command/ConfigCommandSupport.java | 20 ++++++--
.../command/ConfigPropertyCommandSupport.java | 6 +--
.../karaf/config/command/DeleteCommand.java | 12 ++---
.../karaf/config/command/EditCommand.java | 12 ++---
.../karaf/config/command/ListCommand.java | 6 +--
.../karaf/config/command/PropAppendCommand.java | 10 ++--
.../karaf/config/command/PropDelCommand.java | 7 +--
.../karaf/config/command/PropListCommand.java | 5 +-
.../karaf/config/command/PropSetCommand.java | 10 ++--
.../karaf/config/command/UpdateCommand.java | 4 +-
.../completers/ConfigurationCompleter.java | 32 +++++++++---
.../ConfigurationPropertyCompleter.java | 35 ++++++-------
.../OSGI-INF/blueprint/shell-config.xml | 28 ----------
.../karaf/config/command/EditCommandTest.java | 28 ++++------
.../config/command/MockCommandSession.java | 54 +++++++++++++++-----
.../karaf/config/command/UpdateCommandTest.java | 23 +++------
diagnostic/command/pom.xml | 16 +-----
.../karaf/diagnostic/command/DumpCommand.java | 24 +++++----
.../OSGI-INF/blueprint/shell-diagnostic.xml | 25 ---------
features/command/pom.xml | 5 --
.../command/ListFeatureVersionsCommand.java | 2 +-
.../features/command/ListFeaturesCommand.java | 2 +-
.../karaf/features/command/RepoListCommand.java | 2 +-
http/command/pom.xml | 22 +-------
.../karaf/http/command/ServletListCommand.java | 18 +++----
.../resources/OSGI-INF/blueprint/blueprint.xml | 25 ---------
instance/command/pom.xml | 11 ----
.../karaf/instance/command/ListCommand.java | 2 +-
jaas/command/pom.xml | 24 ++-------
.../karaf/jaas/command/CancelCommand.java | 10 ++--
.../karaf/jaas/command/GroupAddCommand.java | 6 +--
.../karaf/jaas/command/GroupDeleteCommand.java | 6 +--
.../karaf/jaas/command/GroupRoleAddCommand.java | 6 +--
.../jaas/command/GroupRoleDeleteCommand.java | 6 +--
.../karaf/jaas/command/JaasCommandSupport.java | 50 +++++++++---------
.../karaf/jaas/command/ListPendingCommand.java | 13 ++---
.../karaf/jaas/command/ListRealmsCommand.java | 18 +++----
.../karaf/jaas/command/ListUsersCommand.java | 19 +++----
.../karaf/jaas/command/ManageRealmCommand.java | 26 +++++-----
.../karaf/jaas/command/RoleAddCommand.java | 6 +--
.../karaf/jaas/command/RoleDeleteCommand.java | 6 +--
.../karaf/jaas/command/UpdateCommand.java | 15 +++---
.../karaf/jaas/command/UserAddCommand.java | 6 +--
.../karaf/jaas/command/UserDeleteCommand.java | 6 +--
.../completers/LoginModuleNameCompleter.java | 25 +++++----
.../jaas/command/completers/RealmCompleter.java | 27 +++++-----
.../OSGI-INF/blueprint/jaas-command.xml | 39 --------------
.../jaas/command/ManageRealmCommandTest.java | 31 +++++------
jdbc/command/pom.xml | 7 +--
.../karaf/jdbc/command/CreateCommand.java | 17 +++---
.../karaf/jdbc/command/DataSourcesCommand.java | 11 ++--
.../karaf/jdbc/command/DeleteCommand.java | 13 ++---
.../karaf/jdbc/command/ExecuteCommand.java | 13 ++---
.../apache/karaf/jdbc/command/InfoCommand.java | 15 +++---
.../karaf/jdbc/command/JdbcCommandSupport.java | 8 ++-
.../apache/karaf/jdbc/command/QueryCommand.java | 21 ++++----
.../karaf/jdbc/command/TablesCommand.java | 21 ++++----
.../DataSourcesFileNameCompleter.java | 14 ++---
.../completers/DataSourcesNameCompleter.java | 14 ++---
.../OSGI-INF/blueprint/jdbc-command.xml | 23 ---------
jms/command/pom.xml | 7 +--
.../apache/karaf/jms/command/BrowseCommand.java | 17 +++---
.../jms/command/ConnectionFactoriesCommand.java | 11 ++--
.../karaf/jms/command/ConsumeCommand.java | 11 ++--
.../apache/karaf/jms/command/CountCommand.java | 12 +++--
.../apache/karaf/jms/command/CreateCommand.java | 19 +++----
.../apache/karaf/jms/command/DeleteCommand.java | 14 ++---
.../apache/karaf/jms/command/InfoCommand.java | 10 ++--
.../karaf/jms/command/JmsCommandSupport.java | 6 +--
.../command/JmsConnectionCommandSupport.java | 8 +--
.../apache/karaf/jms/command/MoveCommand.java | 12 +++--
.../apache/karaf/jms/command/QueuesCommand.java | 10 ++--
.../apache/karaf/jms/command/SendCommand.java | 12 +++--
.../apache/karaf/jms/command/TopicsCommand.java | 10 ++--
.../ConnectionFactoriesFileNameCompleter.java | 18 ++++---
.../ConnectionFactoriesNameCompleter.java | 18 ++++---
.../OSGI-INF/blueprint/jms-command.xml | 23 ---------
jndi/command/pom.xml | 7 +--
.../apache/karaf/jndi/command/AliasCommand.java | 25 +++++----
.../apache/karaf/jndi/command/BindCommand.java | 25 +++++----
.../karaf/jndi/command/ContextsCommand.java | 27 ++++++----
.../karaf/jndi/command/CreateCommand.java | 23 ++++++---
.../karaf/jndi/command/DeleteCommand.java | 23 ++++++---
.../karaf/jndi/command/JndiCommandSupport.java | 38 --------------
.../apache/karaf/jndi/command/NamesCommand.java | 27 ++++++----
.../karaf/jndi/command/UnbindCommand.java | 23 ++++++---
.../command/completers/ContextsCompleter.java | 15 +++---
.../jndi/command/completers/NamesCompleter.java | 15 +++---
.../command/completers/ServicesIdCompleter.java | 15 +++---
.../OSGI-INF/blueprint/jndi-command.xml | 23 ---------
kar/command/pom.xml | 10 ----
.../karaf/kar/command/ListKarCommand.java | 2 +-
log/command/pom.xml | 22 ++++----
.../org/apache/karaf/log/command/ClearLog.java | 17 ++++--
.../karaf/log/command/DisplayException.java | 21 +++++---
.../apache/karaf/log/command/DisplayLog.java | 32 ++++++------
.../apache/karaf/log/command/GetLogLevel.java | 25 +++++----
.../karaf/log/command/LogCommandSupport.java | 32 ------------
.../org/apache/karaf/log/command/LogEntry.java | 36 ++++++-------
.../org/apache/karaf/log/command/LogTail.java | 23 +++++++--
.../apache/karaf/log/command/SetLogLevel.java | 24 ++++++---
.../resources/OSGI-INF/blueprint/shell-log.xml | 27 ----------
obr/command/pom.xml | 15 ++----
.../apache/karaf/obr/command/AddUrlCommand.java | 6 +--
.../apache/karaf/obr/command/DeployCommand.java | 8 +--
.../apache/karaf/obr/command/FindCommand.java | 6 +--
.../apache/karaf/obr/command/InfoCommand.java | 6 +--
.../apache/karaf/obr/command/ListCommand.java | 13 ++---
.../karaf/obr/command/ListUrlCommand.java | 8 +--
.../karaf/obr/command/ObrCommandSupport.java | 16 +++---
.../karaf/obr/command/RefreshUrlCommand.java | 8 +--
.../karaf/obr/command/RemoveUrlCommand.java | 8 +--
.../karaf/obr/command/ResolveCommand.java | 8 +--
.../apache/karaf/obr/command/SourceCommand.java | 8 +--
.../apache/karaf/obr/command/StartCommand.java | 8 +--
.../resources/OSGI-INF/blueprint/blueprint.xml | 25 ---------
.../karaf/obr/command/ListCommandTest.java | 2 +-
package/command/pom.xml | 16 ++----
.../apache/karaf/packages/command/Exports.java | 25 ++++-----
.../apache/karaf/packages/command/Imports.java | 23 ++++-----
.../OSGI-INF/blueprint/shell-bundles.xml | 25 ---------
package/core/pom.xml | 6 +--
region/command/pom.xml | 14 +++--
.../karaf/region/commands/AddBundleCommand.java | 8 +--
.../karaf/region/commands/AddFilterCommand.java | 8 +--
.../karaf/region/commands/AddRegionCommand.java | 6 +--
.../karaf/region/commands/InfoCommand.java | 10 ++--
.../region/commands/RegionCommandSupport.java | 18 ++++---
.../OSGI-INF/blueprint/region-commands.xml | 26 ----------
service/command/pom.xml | 13 +++--
.../karaf/service/command/ListServices.java | 37 ++++++++------
.../service/command/ObjectClassCompleter.java | 15 +++---
.../org/apache/karaf/service/command/Wait.java | 23 +++++----
.../OSGI-INF/blueprint/shell-services.xml | 26 ----------
.../service/command/ListServiceNamesTest.java | 2 +-
.../karaf/service/command/ListServicesTest.java | 2 +-
shell/commands/pom.xml | 12 +----
.../karaf/shell/commands/InfoProvider.java | 30 -----------
.../karaf/shell/commands/impl/InfoAction.java | 2 +-
.../shell/commands/impl/ThreadsAction.java | 2 +-
.../impl/info/InfoBundleTrackerCustomizer.java | 2 +-
.../commands/impl/info/PojoInfoProvider.java | 2 +-
.../karaf/shell/commands/info/InfoProvider.java | 30 +++++++++++
system/command/pom.xml | 17 +-----
.../system/commands/AbstractSystemAction.java | 33 ------------
.../karaf/system/commands/FrameworkOptions.java | 18 ++++---
.../org/apache/karaf/system/commands/Name.java | 18 +++++--
.../apache/karaf/system/commands/Shutdown.java | 26 ++++++----
.../karaf/system/commands/StartLevel.java | 17 +++---
.../karaf/system/commands/SystemProperty.java | 34 ++++++++----
.../apache/karaf/system/commands/Version.java | 15 ++++--
.../OSGI-INF/blueprint/system-commands.xml | 25 ---------
web/command/pom.xml | 15 +-----
.../org/apache/karaf/web/commands/List.java | 22 ++++----
.../org/apache/karaf/web/commands/Start.java | 17 +++---
.../org/apache/karaf/web/commands/Stop.java | 19 +++----
.../OSGI-INF/blueprint/web-commands.xml | 25 ---------
162 files changed, 1109 insertions(+), 1494 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/bundle/command/pom.xml
----------------------------------------------------------------------
diff --git a/bundle/command/pom.xml b/bundle/command/pom.xml
index d6bd26a..f1a0867 100644
--- a/bundle/command/pom.xml
+++ b/bundle/command/pom.xml
@@ -40,10 +40,6 @@
<dependencies>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java
----------------------------------------------------------------------
diff --git a/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java b/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java
index 4ab0af9..107e578 100644
--- a/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java
+++ b/bundle/command/src/main/java/org/apache/karaf/bundle/command/ListBundles.java
@@ -19,12 +19,12 @@ package org.apache.karaf.bundle.command;
import org.apache.karaf.bundle.core.BundleInfo;
import org.apache.karaf.bundle.core.BundleService;
import org.apache.karaf.bundle.core.BundleState;
-import org.apache.karaf.shell.table.ShellTable;
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.Reference;
import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.startlevel.FrameworkStartLevel;
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/bundle/core/pom.xml
----------------------------------------------------------------------
diff --git a/bundle/core/pom.xml b/bundle/core/pom.xml
index e1ba3fa..dbcd62a 100644
--- a/bundle/core/pom.xml
+++ b/bundle/core/pom.xml
@@ -107,11 +107,9 @@
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
- <Export-Package>org.apache.karaf.bundle.core</Export-Package>
- <Import-Package>
- org.apache.felix.service.command;status=provisional,
- *
- </Import-Package>
+ <Export-Package>
+ org.apache.karaf.bundle.core;-noimport:=true
+ </Export-Package>
<Private-Package>
org.apache.karaf.bundle.core.internal,
org.apache.karaf.util.maven,
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/pom.xml
----------------------------------------------------------------------
diff --git a/config/command/pom.xml b/config/command/pom.xml
index 2a3636f..35f7e1e 100644
--- a/config/command/pom.xml
+++ b/config/command/pom.xml
@@ -44,13 +44,7 @@
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
<dependency>
@@ -97,6 +91,11 @@
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Karaf-Commands>*</Karaf-Commands>
+ </instructions>
+ </configuration>
</plugin>
</plugins>
</build>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/CancelCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/CancelCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/CancelCommand.java
index d3274dd..dff43fa 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/CancelCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/CancelCommand.java
@@ -16,8 +16,8 @@
*/
package org.apache.karaf.config.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "config", name = "cancel", description = "Cancels the changes to the configuration being edited.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/ConfigCommandSupport.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/ConfigCommandSupport.java b/config/command/src/main/java/org/apache/karaf/config/command/ConfigCommandSupport.java
index 9111b53..fe0ca93 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/ConfigCommandSupport.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/ConfigCommandSupport.java
@@ -19,8 +19,9 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
import org.apache.karaf.config.core.ConfigRepository;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+import org.apache.karaf.shell.api.console.Session;
/**
* Abstract class from which all commands related to the ConfigurationAdmin
@@ -28,7 +29,7 @@ import org.apache.karaf.shell.console.OsgiCommandSupport;
* This command retrieves a reference to the ConfigurationAdmin service before
* calling another method to actually process the command.
*/
-public abstract class ConfigCommandSupport extends OsgiCommandSupport {
+public abstract class ConfigCommandSupport implements Action {
public static final String PROPERTY_CONFIG_PID = "ConfigCommand.PID";
public static final String PROPERTY_CONFIG_PROPS = "ConfigCommand.Props";
@@ -37,6 +38,16 @@ public abstract class ConfigCommandSupport extends OsgiCommandSupport {
@Reference
protected ConfigRepository configRepository;
+ @Reference
+ protected Session session;
+
+ @Override
+ public Object execute() throws Exception {
+ return doExecute();
+ }
+
+ protected abstract Object doExecute() throws Exception;
+
@SuppressWarnings("rawtypes")
protected Dictionary getEditedProps() throws Exception {
return (Dictionary) this.session.get(PROPERTY_CONFIG_PROPS);
@@ -46,4 +57,7 @@ public abstract class ConfigCommandSupport extends OsgiCommandSupport {
this.configRepository = configRepository;
}
+ public void setSession(Session session) {
+ this.session = session;
+ }
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/ConfigPropertyCommandSupport.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/ConfigPropertyCommandSupport.java b/config/command/src/main/java/org/apache/karaf/config/command/ConfigPropertyCommandSupport.java
index 3e6af04..619c224 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/ConfigPropertyCommandSupport.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/ConfigPropertyCommandSupport.java
@@ -20,8 +20,8 @@ import java.util.Dictionary;
import java.util.Properties;
import org.apache.karaf.config.command.completers.ConfigurationCompleter;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.commands.Option;
+import org.apache.karaf.shell.api.action.Completion;
+import org.apache.karaf.shell.api.action.Option;
/**
* Abstract class which commands that are related to property processing should extend.
@@ -29,7 +29,7 @@ import org.apache.karaf.shell.commands.Option;
public abstract class ConfigPropertyCommandSupport extends ConfigCommandSupport {
@Option(name = "-p", aliases = "--pid", description = "The configuration pid", required = false, multiValued = false)
- @Completer(ConfigurationCompleter.class)
+ @Completion(ConfigurationCompleter.class)
protected String pid;
@SuppressWarnings("rawtypes")
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/DeleteCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/DeleteCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/DeleteCommand.java
index 506ce48..6953ef0 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/DeleteCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/DeleteCommand.java
@@ -17,18 +17,18 @@
package org.apache.karaf.config.command;
import org.apache.karaf.config.command.completers.ConfigurationCompleter;
-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.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;
@Command(scope = "config", name = "delete", description = "Delete a configuration.")
@Service
public class DeleteCommand extends ConfigCommandSupport {
@Argument(index = 0, name = "pid", description = "PID of the configuration", required = true, multiValued = false)
- @Completer(ConfigurationCompleter.class)
+ @Completion(ConfigurationCompleter.class)
String pid;
@Option(name = "--force", aliases = {}, description = "Force the edition of this config, even if another one was under edition", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/EditCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/EditCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/EditCommand.java
index aeaede3..8c48b83 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/EditCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/EditCommand.java
@@ -19,11 +19,11 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
import org.apache.karaf.config.command.completers.ConfigurationCompleter;
-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.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.osgi.service.cm.Configuration;
@Command(scope = "config", name = "edit", description = "Creates or edits a configuration.", detailedDescription="classpath:edit.txt")
@@ -31,7 +31,7 @@ import org.osgi.service.cm.Configuration;
public class EditCommand extends ConfigCommandSupport {
@Argument(index = 0, name = "pid", description = "PID of the configuration or of the factory if --factory is given. Pid can also be specified as ldap query", required = true, multiValued = false)
- @Completer(ConfigurationCompleter.class)
+ @Completion(ConfigurationCompleter.class)
String pid;
@Option(name = "--force", aliases = {}, description = "Force the edition of this config, even if another one was under edition", required = false, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/ListCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/ListCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/ListCommand.java
index 8589e72..eff3476 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/ListCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/ListCommand.java
@@ -19,9 +19,9 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
import java.util.Enumeration;
-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.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
import org.osgi.service.cm.Configuration;
@Command(scope = "config", name = "list", description = "Lists existing configurations.")
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/PropAppendCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/PropAppendCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/PropAppendCommand.java
index 6d13e13..f021146 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/PropAppendCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/PropAppendCommand.java
@@ -19,17 +19,17 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
import org.apache.karaf.config.command.completers.ConfigurationPropertyCompleter;
-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 = "config", name = "property-append", description = "Appends the given value to an existing property or creates the property with the specified name and value.")
@Service
public class PropAppendCommand extends ConfigPropertyCommandSupport {
@Argument(index = 0, name = "name", description = "The name of the property", required = true, multiValued = false)
- @Completer(ConfigurationPropertyCompleter.class)
+ @Completion(ConfigurationPropertyCompleter.class)
String prop;
@Argument(index = 1, name = "value", description = "The value to append to the property", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/PropDelCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/PropDelCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/PropDelCommand.java
index 3280454..e416cf6 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/PropDelCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/PropDelCommand.java
@@ -18,9 +18,10 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
-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.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+
@Command(scope = "config", name = "property-delete", description = "Deletes a property from the configuration being edited.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/PropListCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/PropListCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/PropListCommand.java
index d0b208b..a0d3a61 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/PropListCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/PropListCommand.java
@@ -18,8 +18,9 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
import java.util.Enumeration;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
+
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "config", name = "property-list", description = "Lists properties from the currently edited configuration.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/PropSetCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/PropSetCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/PropSetCommand.java
index 16e58b9..8337f6a 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/PropSetCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/PropSetCommand.java
@@ -19,17 +19,17 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
import org.apache.karaf.config.command.completers.ConfigurationPropertyCompleter;
-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 = "config", name = "property-set", description = "Sets a property in the currently edited configuration.")
@Service
public class PropSetCommand extends ConfigPropertyCommandSupport {
@Argument(index = 0, name = "property", description = "The name of the property to set", required = true, multiValued = false)
- @Completer(ConfigurationPropertyCompleter.class)
+ @Completion(ConfigurationPropertyCompleter.class)
String prop;
@Argument(index = 1, name = "value", description = "The value of the property", required = true, multiValued = false)
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/UpdateCommand.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/UpdateCommand.java b/config/command/src/main/java/org/apache/karaf/config/command/UpdateCommand.java
index ae48722..cc368b8 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/UpdateCommand.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/UpdateCommand.java
@@ -18,8 +18,8 @@ package org.apache.karaf.config.command;
import java.util.Dictionary;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "config", name = "update", description = "Saves and propagates changes from the configuration being edited.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationCompleter.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationCompleter.java b/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationCompleter.java
index 3122ca2..fe60c56 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationCompleter.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationCompleter.java
@@ -23,11 +23,16 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import org.apache.karaf.shell.inject.Init;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.console.Completer;
+import org.apache.karaf.shell.api.action.lifecycle.Destroy;
+import org.apache.karaf.shell.api.action.lifecycle.Init;
+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 org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.cm.ConfigurationEvent;
@@ -47,12 +52,19 @@ public class ConfigurationCompleter implements Completer, ConfigurationListener
@Reference
private ConfigurationAdmin admin;
+ @Reference
+ private BundleContext bundleContext;
+
+ private ServiceRegistration<ConfigurationListener> registration;
+
public void setAdmin(ConfigurationAdmin admin) {
this.admin = admin;
}
@Init
public void init() {
+ registration = bundleContext.registerService(ConfigurationListener.class, this, null);
+
Configuration[] configs;
try {
configs = admin.listConfigurations(null);
@@ -71,9 +83,13 @@ public class ConfigurationCompleter implements Completer, ConfigurationListener
delegate.getStrings().addAll(pids);
}
- @SuppressWarnings("rawtypes")
- public int complete(final String buffer, final int cursor, final List candidates) {
- return delegate.complete(buffer, cursor, candidates);
+ @Destroy
+ public void destroy() {
+ registration.unregister();
+ }
+
+ public int complete(final Session session, final CommandLine commandLine, final List<String> candidates) {
+ return delegate.complete(session, commandLine, candidates);
}
public void configurationEvent(ConfigurationEvent configurationEvent) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationPropertyCompleter.java
----------------------------------------------------------------------
diff --git a/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationPropertyCompleter.java b/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationPropertyCompleter.java
index 2d98098..2b43fec 100644
--- a/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationPropertyCompleter.java
+++ b/config/command/src/main/java/org/apache/karaf/config/command/completers/ConfigurationPropertyCompleter.java
@@ -27,14 +27,13 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.felix.service.command.CommandSession;
import org.apache.karaf.config.command.ConfigCommandSupport;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.console.CommandSessionHolder;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.ArgumentCompleter;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
+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 org.osgi.framework.InvalidSyntaxException;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
@@ -57,30 +56,26 @@ public class ConfigurationPropertyCompleter implements Completer {
private ConfigurationAdmin configAdmin;
@SuppressWarnings("rawtypes")
- public int complete(final String buffer, final int cursor, final List candidates) {
- CommandSession session = CommandSessionHolder.getSession();
+ public int complete(final Session session, final CommandLine commandLine, final List<String> candidates) {
if (session != null) {
- String pid = getPid(session);
+ String pid = getPid(session, commandLine);
Set<String> propertyNames = getPropertyNames(pid);
delegate.getStrings().clear();
if (propertyNames != null && !propertyNames.isEmpty()) {
delegate.getStrings().addAll(propertyNames);
}
}
- return delegate.complete(buffer,cursor,candidates);
+ return delegate.complete(session, commandLine, candidates);
}
/**
- * Retrieves the pid stored in the {@link CommandSession} or passed as an argument.
- * Argument takes precedence from pid stored in the {@link CommandSession}.
- * @param commandSession
- * @return
+ * Retrieves the pid stored in the {@link Session} or passed as an argument.
+ * Argument takes precedence from pid stored in the {@link Session}.
*/
- private String getPid(CommandSession commandSession) {
- String pid = (String) commandSession.get(ConfigCommandSupport.PROPERTY_CONFIG_PID);
- ArgumentCompleter.ArgumentList list = (ArgumentCompleter.ArgumentList) commandSession.get(ArgumentCompleter.ARGUMENTS_LIST);
- if (list != null && list.getArguments() != null && list.getArguments().length > 0) {
- List<String> arguments = Arrays.asList(list.getArguments());
+ private String getPid(Session session, CommandLine commandLine) {
+ String pid = (String) session.get(ConfigCommandSupport.PROPERTY_CONFIG_PID);
+ if (commandLine.getArguments().length > 0) {
+ List<String> arguments = Arrays.asList(commandLine.getArguments());
if (arguments.contains(OPTION)) {
int index = arguments.indexOf(OPTION);
if (arguments.size() > index) {
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/main/resources/OSGI-INF/blueprint/shell-config.xml
----------------------------------------------------------------------
diff --git a/config/command/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/config/command/src/main/resources/OSGI-INF/blueprint/shell-config.xml
deleted file mode 100644
index 4e91d25..0000000
--- a/config/command/src/main/resources/OSGI-INF/blueprint/shell-config.xml
+++ /dev/null
@@ -1,28 +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"
- xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
- xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
- default-activation="lazy">
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
- scan="org.apache.karaf.config.command.*" />
-
-</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/test/java/org/apache/karaf/config/command/EditCommandTest.java
----------------------------------------------------------------------
diff --git a/config/command/src/test/java/org/apache/karaf/config/command/EditCommandTest.java b/config/command/src/test/java/org/apache/karaf/config/command/EditCommandTest.java
index c019644..09dc000 100644
--- a/config/command/src/test/java/org/apache/karaf/config/command/EditCommandTest.java
+++ b/config/command/src/test/java/org/apache/karaf/config/command/EditCommandTest.java
@@ -16,24 +16,20 @@
*/
package org.apache.karaf.config.command;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
import java.util.Dictionary;
import java.util.Properties;
import junit.framework.TestCase;
-
-import org.apache.felix.service.command.CommandSession;
-import org.apache.karaf.config.command.ConfigCommandSupport;
-import org.apache.karaf.config.command.EditCommand;
import org.apache.karaf.config.core.impl.ConfigRepositoryImpl;
-import org.easymock.EasyMock;
+import org.apache.karaf.shell.api.console.Session;
import org.osgi.framework.BundleContext;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+
/**
* Test cases for {@link EditCommand}
*/
@@ -44,23 +40,17 @@ public class EditCommandTest extends TestCase {
private EditCommand command;
private BundleContext context;
private ConfigurationAdmin admin;
- private CommandSession session;
+ private Session session;
@Override
protected void setUp() throws Exception {
command = new EditCommand();
-
- context = EasyMock.createMock(BundleContext.class);
- command.setBundleContext(context);
-
admin = createMock(ConfigurationAdmin.class);
command.setConfigRepository(new ConfigRepositoryImpl(admin));
- expect(context.getBundle(0)).andReturn(null).anyTimes();
- replay(context);
-
session = new MockCommandSession();
+ command.setSession(session);
}
public void testExecuteOnExistingPid() throws Exception {
@@ -74,7 +64,7 @@ public class EditCommandTest extends TestCase {
replay(config);
command.pid = PID;
- command.execute(session);
+ command.execute();
// the PID and Dictionary should have been set on the session
assertEquals("The PID should be set on the session",
@@ -94,7 +84,7 @@ public class EditCommandTest extends TestCase {
replay(config);
command.pid = PID;
- command.execute(session);
+ command.execute();
// the PID and an empty Dictionary should have been set on the session
assertEquals("The PID should be set on the session",
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/test/java/org/apache/karaf/config/command/MockCommandSession.java
----------------------------------------------------------------------
diff --git a/config/command/src/test/java/org/apache/karaf/config/command/MockCommandSession.java b/config/command/src/test/java/org/apache/karaf/config/command/MockCommandSession.java
index 8982de1..7fa430b 100644
--- a/config/command/src/test/java/org/apache/karaf/config/command/MockCommandSession.java
+++ b/config/command/src/test/java/org/apache/karaf/config/command/MockCommandSession.java
@@ -16,17 +16,22 @@
*/
package org.apache.karaf.config.command;
+import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.util.HashMap;
import java.util.Map;
-import org.apache.felix.service.command.CommandSession;
+import org.apache.karaf.shell.api.console.History;
+import org.apache.karaf.shell.api.console.Registry;
+import org.apache.karaf.shell.api.console.Session;
+import org.apache.karaf.shell.api.console.SessionFactory;
+import org.apache.karaf.shell.api.console.Terminal;
/*
* A mock CommandSession implementation that only cares about the properties set on the session
*/
-class MockCommandSession implements CommandSession {
+class MockCommandSession implements Session {
private Map<String, Object> properties = new HashMap<String, Object>();
@@ -34,21 +39,11 @@ class MockCommandSession implements CommandSession {
// not implemented
}
- public Object convert(Class<?> type, Object instance) {
- // not implemented
- return null;
- }
-
public Object execute(CharSequence commandline) throws Exception {
// not implemented
return null;
}
- public CharSequence format(Object target, int level) {
- // not implemented
- return null;
- }
-
public Object get(String name) {
return properties.get(name);
}
@@ -66,4 +61,39 @@ class MockCommandSession implements CommandSession {
public void put(String name, Object value) {
properties.put(name, value);
}
+
+ @Override
+ public String readLine(String prompt, Character mask) throws IOException {
+ return null;
+ }
+
+ @Override
+ public Terminal getTerminal() {
+ return null;
+ }
+
+ @Override
+ public History getHistory() {
+ return null;
+ }
+
+ @Override
+ public Registry getRegistry() {
+ return null;
+ }
+
+ @Override
+ public SessionFactory getFactory() {
+ return null;
+ }
+
+ @Override
+ public String resolveCommand(String name) {
+ return null;
+ }
+
+ @Override
+ public void run() {
+
+ }
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/config/command/src/test/java/org/apache/karaf/config/command/UpdateCommandTest.java
----------------------------------------------------------------------
diff --git a/config/command/src/test/java/org/apache/karaf/config/command/UpdateCommandTest.java b/config/command/src/test/java/org/apache/karaf/config/command/UpdateCommandTest.java
index 64d92ac..e3f58b5 100644
--- a/config/command/src/test/java/org/apache/karaf/config/command/UpdateCommandTest.java
+++ b/config/command/src/test/java/org/apache/karaf/config/command/UpdateCommandTest.java
@@ -27,7 +27,6 @@ import junit.framework.TestCase;
import org.apache.karaf.config.core.ConfigRepository;
import org.easymock.EasyMock;
-import org.osgi.framework.BundleContext;
/**
* Test cases for {@link EditCommand}
@@ -41,40 +40,34 @@ public class UpdateCommandTest extends TestCase {
Dictionary<String, Object> props = new Hashtable<String, Object>();
UpdateCommand command = new UpdateCommand();
- BundleContext context = EasyMock.createMock(BundleContext.class);
- command.setBundleContext(context);
ConfigRepository configRepo = EasyMock.createMock(ConfigRepository.class);
configRepo.update(EasyMock.eq(PID), EasyMock.eq(props));
EasyMock.expectLastCall();
command.setConfigRepository(configRepo);
- expect(context.getBundle(0)).andReturn(null).anyTimes();
-
+
MockCommandSession session = createMockSessionForFactoryEdit(PID, false, props);
- replay(context);
+ command.setSession(session);
replay(configRepo);
- command.execute(session);
- EasyMock.verify(context, configRepo);
+ command.execute();
+ EasyMock.verify(configRepo);
}
public void testupdateOnNewFactoryPid() throws Exception {
Dictionary<String, Object> props = new Hashtable<String, Object>();
UpdateCommand command = new UpdateCommand();
- BundleContext context = EasyMock.createMock(BundleContext.class);
- command.setBundleContext(context);
ConfigRepository configRepo = EasyMock.createMock(ConfigRepository.class);
expect(configRepo.createFactoryConfiguration(EasyMock.eq(FACTORY_PID), EasyMock.eq(props)))
.andReturn(PID + ".35326647");
command.setConfigRepository(configRepo);
- expect(context.getBundle(0)).andReturn(null).anyTimes();
-
+
MockCommandSession session = createMockSessionForFactoryEdit(FACTORY_PID, true, props);
- replay(context);
+ command.setSession(session);
replay(configRepo);
- command.execute(session);
- EasyMock.verify(context, configRepo);
+ command.execute();
+ EasyMock.verify(configRepo);
}
private MockCommandSession createMockSessionForFactoryEdit(String pid, boolean isFactory,
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/diagnostic/command/pom.xml
----------------------------------------------------------------------
diff --git a/diagnostic/command/pom.xml b/diagnostic/command/pom.xml
index 741b472..710b9c5 100644
--- a/diagnostic/command/pom.xml
+++ b/diagnostic/command/pom.xml
@@ -43,13 +43,6 @@
<artifactId>org.osgi.core</artifactId>
<scope>provided</scope>
</dependency>
-
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
- </dependency>
-
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
@@ -61,7 +54,7 @@
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
</dependencies>
@@ -87,12 +80,7 @@
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
- <Import-Package>
- org.apache.aries.blueprint,
- org.osgi.service.blueprint.container,
- org.osgi.service.blueprint.reflect,
- *
- </Import-Package>
+ <Karaf-Commands>*</Karaf-Commands>
</instructions>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/diagnostic/command/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
----------------------------------------------------------------------
diff --git a/diagnostic/command/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java b/diagnostic/command/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
index 9a0af4c..3f6c607 100644
--- a/diagnostic/command/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
+++ b/diagnostic/command/src/main/java/org/apache/karaf/diagnostic/command/DumpCommand.java
@@ -22,22 +22,23 @@ import java.util.Date;
import java.util.LinkedList;
import java.util.List;
-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.diagnostic.core.DumpDestination;
import org.apache.karaf.diagnostic.core.DumpProvider;
import org.apache.karaf.diagnostic.core.common.DirectoryDumpDestination;
import org.apache.karaf.diagnostic.core.common.ZipDumpDestination;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-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.Option;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
/**
* Command to create dump from shell.
*/
@Command(scope = "dev", name = "dump-create", description = "Creates zip archive with diagnostic info.")
@Service
-public class DumpCommand extends OsgiCommandSupport {
+public class DumpCommand implements Action {
/**
* Output format of the filename if not defined otherwise
@@ -56,14 +57,15 @@ public class DumpCommand extends OsgiCommandSupport {
@Argument(name = "name", description = "Name of created zip or directory", required = false)
String fileName;
+ @Reference
+ List<DumpProvider> providers;
+
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
DumpDestination destination;
- List<DumpProvider> providers = getAllServices(DumpProvider.class);
-
if (providers.isEmpty()) {
- session.getConsole().println("Unable to create dump. No providers were found");
+ System.out.println("Unable to create dump. No providers were found");
return null;
}
@@ -87,7 +89,7 @@ public class DumpCommand extends OsgiCommandSupport {
provider.createDump(destination);
}
destination.save();
- session.getConsole().println("Diagnostic dump created at " + target.getAbsolutePath() + ".");
+ System.out.println("Diagnostic dump created at " + target.getAbsolutePath() + ".");
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/diagnostic/command/src/main/resources/OSGI-INF/blueprint/shell-diagnostic.xml
----------------------------------------------------------------------
diff --git a/diagnostic/command/src/main/resources/OSGI-INF/blueprint/shell-diagnostic.xml b/diagnostic/command/src/main/resources/OSGI-INF/blueprint/shell-diagnostic.xml
deleted file mode 100644
index ff508d7..0000000
--- a/diagnostic/command/src/main/resources/OSGI-INF/blueprint/shell-diagnostic.xml
+++ /dev/null
@@ -1,25 +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.diagnostic.command.*" />
-
-</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/features/command/pom.xml
----------------------------------------------------------------------
diff --git a/features/command/pom.xml b/features/command/pom.xml
index debe123..1aedcde 100644
--- a/features/command/pom.xml
+++ b/features/command/pom.xml
@@ -49,11 +49,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>org.apache.karaf.features.core</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
----------------------------------------------------------------------
diff --git a/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java b/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
index 792825c..b2c5e42 100644
--- a/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
+++ b/features/command/src/main/java/org/apache/karaf/features/command/ListFeatureVersionsCommand.java
@@ -22,12 +22,12 @@ import org.apache.karaf.features.Feature;
import org.apache.karaf.features.FeaturesService;
import org.apache.karaf.features.Repository;
import org.apache.karaf.features.command.completers.AllFeatureCompleter;
-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.Option;
import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
@Command(scope = "feature", name = "version-list", description = "Lists all versions of a feature available from the currently available repositories.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java
----------------------------------------------------------------------
diff --git a/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java b/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java
index 0cb6d3c..40c45b4 100644
--- a/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java
+++ b/features/command/src/main/java/org/apache/karaf/features/command/ListFeaturesCommand.java
@@ -24,10 +24,10 @@ import java.util.List;
import org.apache.karaf.features.Feature;
import org.apache.karaf.features.FeaturesService;
import org.apache.karaf.features.Repository;
-import org.apache.karaf.shell.table.ShellTable;
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 = "feature", name = "list", description = "Lists all existing features available from the defined repositories.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java
----------------------------------------------------------------------
diff --git a/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java b/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java
index af180bd..a735aa6 100644
--- a/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java
+++ b/features/command/src/main/java/org/apache/karaf/features/command/RepoListCommand.java
@@ -21,11 +21,11 @@ import java.util.List;
import org.apache.karaf.features.FeaturesService;
import org.apache.karaf.features.Repository;
-import org.apache.karaf.shell.table.ShellTable;
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.MultiException;
+import org.apache.karaf.shell.support.table.ShellTable;
@Command(scope = "feature", name = "repo-list", description = "Displays a list of all defined repositories.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/http/command/pom.xml
----------------------------------------------------------------------
diff --git a/http/command/pom.xml b/http/command/pom.xml
index 0e7e06e..3189101 100644
--- a/http/command/pom.xml
+++ b/http/command/pom.xml
@@ -38,25 +38,15 @@
</properties>
<dependencies>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.karaf.http</groupId>
<artifactId>org.apache.karaf.http.core</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
- </dependency>
-
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
@@ -108,20 +98,12 @@
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Export-Package>${project.artifactId}*;version=${project.version}</Export-Package>
- <Import-Package>
- org.apache.aries.blueprint,
- org.osgi.service.blueprint.container,
- org.osgi.service.blueprint.reflect,
- org.apache.felix.service.command,
- org.apache.karaf.shell.commands,
- org.apache.karaf.shell.console,
- *
- </Import-Package>
<Private-Package>
org.apache.felix.utils.version,
org.apache.felix.utils.manifest,
org.apache.karaf.util;-split-package:=merge-first
</Private-Package>
+ <Karaf-Commands>*</Karaf-Commands>
<_versionpolicy>${bnd.version.policy}</_versionpolicy>
</instructions>
</configuration>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java
----------------------------------------------------------------------
diff --git a/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java b/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java
index 6fe7313..1932499 100644
--- a/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java
+++ b/http/command/src/main/java/org/apache/karaf/http/command/ServletListCommand.java
@@ -20,17 +20,17 @@ import java.util.Arrays;
import org.apache.karaf.http.core.ServletInfo;
import org.apache.karaf.http.core.ServletService;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.Col;
-import org.apache.karaf.shell.table.ShellTable;
+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.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.Col;
+import org.apache.karaf.shell.support.table.ShellTable;
@Command(scope = "http", name = "list", description = "Lists details for servlets.")
@Service
-public class ServletListCommand extends OsgiCommandSupport {
+public class ServletListCommand implements Action {
@Option(name = "--no-format", description = "Disable table rendered output", required = false, multiValued = false)
boolean noFormat;
@@ -39,7 +39,7 @@ public class ServletListCommand extends OsgiCommandSupport {
private ServletService servletService;
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column(new Col("ID"));
table.column(new Col("Servlet"));
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/http/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml
----------------------------------------------------------------------
diff --git a/http/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/http/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml
deleted file mode 100644
index 4c9f164..0000000
--- a/http/command/src/main/resources/OSGI-INF/blueprint/blueprint.xml
+++ /dev/null
@@ -1,25 +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.http.command.*" />
-
-</blueprint>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/instance/command/pom.xml
----------------------------------------------------------------------
diff --git a/instance/command/pom.xml b/instance/command/pom.xml
index 52058cd..7240ddd 100644
--- a/instance/command/pom.xml
+++ b/instance/command/pom.xml
@@ -39,23 +39,12 @@
<dependencies>
<dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<scope>provided</scope>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java
----------------------------------------------------------------------
diff --git a/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java b/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java
index 368259a..fe571a8 100644
--- a/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java
+++ b/instance/command/src/main/java/org/apache/karaf/instance/command/ListCommand.java
@@ -17,10 +17,10 @@
package org.apache.karaf.instance.command;
import org.apache.karaf.instance.core.Instance;
-import org.apache.karaf.shell.table.ShellTable;
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 = "instance", name = "list", description = "Lists all existing container instances.")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/pom.xml
----------------------------------------------------------------------
diff --git a/jaas/command/pom.xml b/jaas/command/pom.xml
index 3e4278c..56871dd 100644
--- a/jaas/command/pom.xml
+++ b/jaas/command/pom.xml
@@ -44,12 +44,6 @@
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
- </dependency>
-
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.config</artifactId>
@@ -65,12 +59,7 @@
</dependency>
<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>
- <scope>provided</scope>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
</dependency>
<dependency>
@@ -104,16 +93,11 @@
<instructions>
<Export-Package>${project.artifactId}*;version=${project.version}</Export-Package>
<Import-Package>
- javax.management,
- javax.management.loading,
- org.apache.aries.blueprint,
- org.osgi.service.blueprint.container,
- org.osgi.service.blueprint.reflect,
- org.apache.felix.service.command,
- org.apache.karaf.shell.commands,
- org.apache.karaf.shell.console,
*
</Import-Package>
+ <Karaf-Commands>
+ org.apache.karaf.jaas.command.*
+ </Karaf-Commands>
</instructions>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/CancelCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/CancelCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/CancelCommand.java
index 7ad63b1..44fd833 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/CancelCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/CancelCommand.java
@@ -15,18 +15,18 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.inject.Service;
-
import java.util.LinkedList;
+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 = "cancel", description = "Cancel the modification of a JAAS realm")
@Service
public class CancelCommand extends JaasCommandSupport {
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
//Cleanup the session
session.put(JAAS_REALM, null);
session.put(JAAS_ENTRY, null);
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupAddCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupAddCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupAddCommand.java
index 3e0341e..78ecede 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupAddCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupAddCommand.java
@@ -16,9 +16,9 @@
package org.apache.karaf.jaas.command;
import org.apache.karaf.jaas.modules.BackingEngine;
-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.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "group-add", description = "Make a user part of a group")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupDeleteCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupDeleteCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupDeleteCommand.java
index e1122d1..bea4194 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupDeleteCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupDeleteCommand.java
@@ -16,9 +16,9 @@
package org.apache.karaf.jaas.command;
import org.apache.karaf.jaas.modules.BackingEngine;
-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.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "group-delete", description = "Remove a user from a group")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleAddCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleAddCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleAddCommand.java
index 13aa9bf..17bb0fa 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleAddCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleAddCommand.java
@@ -16,9 +16,9 @@
package org.apache.karaf.jaas.command;
import org.apache.karaf.jaas.modules.BackingEngine;
-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.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "group-role-add", description = "Add a role to a group")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleDeleteCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleDeleteCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleDeleteCommand.java
index 869a797..13b05d7 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleDeleteCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/GroupRoleDeleteCommand.java
@@ -16,9 +16,9 @@
package org.apache.karaf.jaas.command;
import org.apache.karaf.jaas.modules.BackingEngine;
-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.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "group-role-delete", description = "Remove a role from a group")
@Service
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/JaasCommandSupport.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/JaasCommandSupport.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/JaasCommandSupport.java
index ca89696..cbfb6d1 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/JaasCommandSupport.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/JaasCommandSupport.java
@@ -15,33 +15,41 @@
*/
package org.apache.karaf.jaas.command;
+import java.util.List;
+import java.util.Queue;
+
+import javax.security.auth.login.AppConfigurationEntry;
+
import org.apache.karaf.jaas.boot.ProxyLoginModule;
import org.apache.karaf.jaas.config.JaasRealm;
import org.apache.karaf.jaas.modules.BackingEngine;
import org.apache.karaf.jaas.modules.BackingEngineFactory;
-import org.apache.karaf.shell.console.OsgiCommandSupport;
-
-import javax.security.auth.login.AppConfigurationEntry;
-import java.util.List;
-import java.util.Queue;
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+import org.apache.karaf.shell.api.console.Session;
-public abstract class JaasCommandSupport extends OsgiCommandSupport {
+public abstract class JaasCommandSupport implements Action {
public static final String JAAS_REALM = "JaasCommand.REALM";
public static final String JAAS_ENTRY = "JaasCommand.ENTRY";
public static final String JAAS_CMDS = "JaasCommand.COMMANDS";
- private List<JaasRealm> realms;
+ @Reference
+ List<BackingEngineFactory> engineFactories;
+
+ @Reference
+ List<JaasRealm> realms;
+
+ @Reference
+ Session session;
protected abstract Object doExecute(BackingEngine engine) throws Exception;
/**
* Add the command to the command queue.
- *
- * @return
- * @throws Exception
*/
- protected Object doExecute() throws Exception {
+ @Override
+ public Object execute() throws Exception {
JaasRealm realm = (JaasRealm) session.get(JAAS_REALM);
AppConfigurationEntry entry = (AppConfigurationEntry) session.get(JAAS_ENTRY);
@SuppressWarnings("unchecked")
@@ -57,20 +65,7 @@ public abstract class JaasCommandSupport extends OsgiCommandSupport {
return null;
}
- public void setRealms(List<JaasRealm> realms) {
- this.realms = realms;
- }
-
- public List<JaasRealm> getRealms() {
- if (realms == null) {
- return getAllServices(JaasRealm.class);
- } else {
- return realms;
- }
- }
-
public BackingEngine getBackingEngine(AppConfigurationEntry entry) {
- List<BackingEngineFactory> engineFactories = getAllServices(BackingEngineFactory.class);
if (engineFactories != null) {
for (BackingEngineFactory factory : engineFactories) {
String loginModuleClass = (String) entry.getOptions().get(ProxyLoginModule.PROPERTY_MODULE);
@@ -82,4 +77,11 @@ public abstract class JaasCommandSupport extends OsgiCommandSupport {
return null;
}
+ public void setRealms(List<JaasRealm> realms) {
+ this.realms = realms;
+ }
+
+ public void setSession(Session session) {
+ this.session = session;
+ }
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListPendingCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListPendingCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListPendingCommand.java
index f6f8232..51a8d40 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListPendingCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListPendingCommand.java
@@ -15,21 +15,22 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Command;
+import java.util.Queue;
+
+import javax.security.auth.login.AppConfigurationEntry;
+
import org.apache.karaf.jaas.boot.ProxyLoginModule;
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.Queue;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "jaas", name = "pending-list", description = "List the pending modification on the active JAAS Realm/Login Module")
@Service
public class ListPendingCommand 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);
@SuppressWarnings("unchecked")
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java
index 64efe54..25cfe14 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListRealmsCommand.java
@@ -15,16 +15,15 @@
*/
package org.apache.karaf.jaas.command;
-import org.apache.karaf.shell.commands.Command;
+import javax.security.auth.login.AppConfigurationEntry;
+
import org.apache.karaf.jaas.boot.ProxyLoginModule;
import org.apache.karaf.jaas.config.JaasRealm;
import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
-
-import javax.security.auth.login.AppConfigurationEntry;
-import java.util.List;
+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 = "jaas", name = "realm-list", description = "List JAAS realms")
@Service
@@ -38,9 +37,8 @@ public class ListRealmsCommand extends JaasCommandSupport {
return null;
}
- protected Object doExecute() throws Exception {
- List<JaasRealm> realms = getRealms();
-
+ @Override
+ public Object execute() throws Exception {
ShellTable table = new ShellTable();
table.column("Index");
table.column("Realm Name");
http://git-wip-us.apache.org/repos/asf/karaf/blob/571c6f99/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java
index cd8c359..13a0031 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ListUsersCommand.java
@@ -15,19 +15,20 @@
*/
package org.apache.karaf.jaas.command;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.security.auth.login.AppConfigurationEntry;
+
import org.apache.karaf.jaas.boot.principal.GroupPrincipal;
import org.apache.karaf.jaas.boot.principal.RolePrincipal;
-import org.apache.karaf.shell.commands.Command;
import org.apache.karaf.jaas.boot.principal.UserPrincipal;
import org.apache.karaf.jaas.config.JaasRealm;
import org.apache.karaf.jaas.modules.BackingEngine;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
-
-import javax.security.auth.login.AppConfigurationEntry;
-import java.util.ArrayList;
-import java.util.List;
+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 = "jaas", name = "user-list", description = "List the users of the selected JAAS realm/login module")
@Service
@@ -37,7 +38,7 @@ public class ListUsersCommand extends JaasCommandSupport {
boolean noFormat;
@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/ManageRealmCommand.java
----------------------------------------------------------------------
diff --git a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ManageRealmCommand.java b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ManageRealmCommand.java
index a0647e3..a9fa13b 100644
--- a/jaas/command/src/main/java/org/apache/karaf/jaas/command/ManageRealmCommand.java
+++ b/jaas/command/src/main/java/org/apache/karaf/jaas/command/ManageRealmCommand.java
@@ -15,34 +15,34 @@
*/
package org.apache.karaf.jaas.command;
+import java.util.LinkedList;
+import java.util.Queue;
+
+import javax.security.auth.login.AppConfigurationEntry;
+
import org.apache.karaf.jaas.boot.ProxyLoginModule;
import org.apache.karaf.jaas.command.completers.LoginModuleNameCompleter;
import org.apache.karaf.jaas.command.completers.RealmCompleter;
-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.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.List;
-import java.util.Queue;
+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 = "jaas", name = "realm-manage", description = "Manage users and roles of a JAAS Realm")
@Service
public class ManageRealmCommand extends JaasCommandSupport {
@Option(name = "--realm", description = "JAAS Realm", required = false, multiValued = false)
- @Completer(RealmCompleter.class)
+ @Completion(RealmCompleter.class)
String realmName;
@Option(name = "--index", description = "Realm Index", required = false, multiValued = false)
int index;
@Option(name = "--module", description = "JAAS Login Module Class Name", required = false, multiValued = false)
- @Completer(LoginModuleNameCompleter.class)
+ @Completion(LoginModuleNameCompleter.class)
String moduleName;
@Option(name = "-f", aliases = { "--force" }, description = "Force the management of this realm, even if another one was under management", required = false, multiValued = false)
@@ -50,7 +50,7 @@ public class ManageRealmCommand extends JaasCommandSupport {
@SuppressWarnings("unchecked")
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
if (realmName == null && index <= 0) {
System.err.println("A valid realm or the realm index need to be specified");
return null;
@@ -69,7 +69,6 @@ public class ManageRealmCommand extends JaasCommandSupport {
if (index > 0) {
// user provided the index, get the realm AND entry from the index
- List<JaasRealm> realms = getRealms();
if (realms != null && realms.size() > 0) {
int i = 1;
realms_loop: for (JaasRealm r : realms) {
@@ -88,7 +87,6 @@ public class ManageRealmCommand extends JaasCommandSupport {
}
}
} else {
- List<JaasRealm> realms = getRealms();
if (realms != null && realms.size() > 0) {
for (JaasRealm r : realms) {
if (r.getName().equals(realmName)) {