Switch from gshell to gogo
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@792445 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/karaf/gshell/gshell-config/pom.xml b/karaf/gshell/gshell-config/pom.xml
index 6bf1d97..6b53cf3 100644
--- a/karaf/gshell/gshell-config/pom.xml
+++ b/karaf/gshell/gshell-config/pom.xml
@@ -40,7 +40,7 @@
<dependencies>
<dependency>
<groupId>org.apache.felix.karaf.gshell</groupId>
- <artifactId>org.apache.felix.karaf.gshell.core</artifactId>
+ <artifactId>org.apache.felix.karaf.gshell.console</artifactId>
</dependency>
<dependency>
@@ -54,16 +54,6 @@
<artifactId>org.osgi.compendium</artifactId>
<scope>provided</scope>
</dependency>
-
- <dependency>
- <groupId>org.springframework.osgi</groupId>
- <artifactId>spring-osgi-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-annotation_1.0_spec</artifactId>
- </dependency>
</dependencies>
<build>
@@ -76,10 +66,9 @@
<Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
<Export-Package>${pom.artifactId}*;version=${project.version}</Export-Package>
<Import-Package>
- org.apache.geronimo.gshell.command,
- org.apache.geronimo.gshell.wisdom.command,
- org.apache.geronimo.gshell.wisdom.registry,
- org.apache.felix.karaf.gshell.core,
+ org.osgi.service.command,
+ org.apache.felix.gogo.commands,
+ org.apache.felix.karaf.gshell.console,
*
</Import-Package>
<Private-Package>!*</Private-Package>
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/CancelCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/CancelCommand.java
index 93a3630..f6b3ff0 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/CancelCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/CancelCommand.java
@@ -21,8 +21,8 @@
public class CancelCommand extends ConfigCommandSupport {
protected void doExecute(ConfigurationAdmin admin) throws Exception {
- this.variables.parent().unset(PROPERTY_CONFIG_PID);
- this.variables.parent().unset(PROPERTY_CONFIG_PROPS);
+ session.put(PROPERTY_CONFIG_PID, null);
+ session.put(PROPERTY_CONFIG_PROPS, null);
}
}
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ConfigCommandSupport.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ConfigCommandSupport.java
index 8d4e64b..8ab53d1 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ConfigCommandSupport.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ConfigCommandSupport.java
@@ -18,7 +18,7 @@
import java.util.Dictionary;
-import org.apache.felix.karaf.gshell.core.OsgiCommandSupport;
+import org.apache.felix.karaf.gshell.console.OsgiCommandSupport;
import org.osgi.framework.ServiceReference;
import org.osgi.service.cm.ConfigurationAdmin;
@@ -37,13 +37,13 @@
// Get config admin service.
ServiceReference ref = getBundleContext().getServiceReference(ConfigurationAdmin.class.getName());
if (ref == null) {
- io.out.println("ConfigurationAdmin service is unavailable.");
+ System.out.println("ConfigurationAdmin service is unavailable.");
return null;
}
try {
ConfigurationAdmin admin = (ConfigurationAdmin) getBundleContext().getService(ref);
if (admin == null) {
- io.out.println("ConfigAdmin service is unavailable.");
+ System.out.println("ConfigAdmin service is unavailable.");
return null;
}
@@ -56,7 +56,7 @@
}
protected Dictionary getEditedProps() throws Exception {
- return (Dictionary) this.variables.parent().get(PROPERTY_CONFIG_PROPS);
+ return (Dictionary) this.session.get(PROPERTY_CONFIG_PROPS);
}
protected abstract void doExecute(ConfigurationAdmin admin) throws Exception;
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/EditCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/EditCommand.java
index c32029a..75620d6 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/EditCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/EditCommand.java
@@ -18,8 +18,8 @@
import java.util.Dictionary;
-import org.apache.geronimo.gshell.clp.Argument;
-import org.apache.geronimo.gshell.clp.Option;
+import org.apache.felix.gogo.commands.Argument;
+import org.apache.felix.gogo.commands.Option;
import org.osgi.service.cm.ConfigurationAdmin;
public class EditCommand extends ConfigCommandSupport {
@@ -31,13 +31,13 @@
boolean force;
protected void doExecute(ConfigurationAdmin admin) throws Exception {
- String oldPid = (String) this.variables.get(PROPERTY_CONFIG_PID);
+ String oldPid = (String) this.session.get(PROPERTY_CONFIG_PID);
if (oldPid != null && !oldPid.equals(pid) && !force) {
- io.err.println("Another config is being edited. Cancel / update first, or use the --force option");
+ System.err.println("Another config is being edited. Cancel / update first, or use the --force option");
return;
}
Dictionary props = admin.getConfiguration(pid).getProperties();
- this.variables.parent().set(PROPERTY_CONFIG_PID, pid);
- this.variables.parent().set(PROPERTY_CONFIG_PROPS, props);
+ this.session.put(PROPERTY_CONFIG_PID, pid);
+ this.session.put(PROPERTY_CONFIG_PROPS, props);
}
}
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ListCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ListCommand.java
index 51a41f0..0e24271 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ListCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/ListCommand.java
@@ -19,9 +19,9 @@
import java.util.Dictionary;
import java.util.Enumeration;
-import org.apache.geronimo.gshell.clp.Argument;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
+import org.apache.felix.gogo.commands.Argument;
public class ListCommand extends ConfigCommandSupport {
@@ -31,18 +31,18 @@
protected void doExecute(ConfigurationAdmin admin) throws Exception {
Configuration[] configs = admin.listConfigurations(query);
for (Configuration config : configs) {
- io.out.println("----------------------------------------------------------------");
- io.out.println("Pid: " + config.getPid());
+ System.out.println("----------------------------------------------------------------");
+ System.out.println("Pid: " + config.getPid());
if (config.getFactoryPid() != null) {
- io.out.println("FactoryPid: " + config.getFactoryPid());
+ System.out.println("FactoryPid: " + config.getFactoryPid());
}
- io.out.println("BundleLocation: " + config.getBundleLocation());
+ System.out.println("BundleLocation: " + config.getBundleLocation());
if (config.getProperties() != null) {
- io.out.println("Properties:");
+ System.out.println("Properties:");
Dictionary props = config.getProperties();
for (Enumeration e = props.keys(); e.hasMoreElements();) {
Object key = e.nextElement();
- io.out.println(" " + key + " = " + props.get(key));
+ System.out.println(" " + key + " = " + props.get(key));
}
}
}
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropAppendCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropAppendCommand.java
index 562ce8a..1db7a95 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropAppendCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropAppendCommand.java
@@ -18,7 +18,7 @@
import java.util.Dictionary;
-import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.felix.gogo.commands.Argument;
import org.osgi.service.cm.ConfigurationAdmin;
/**
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropDelCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropDelCommand.java
index b8eb07d..5c3a59c 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropDelCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropDelCommand.java
@@ -18,12 +18,12 @@
import java.util.Dictionary;
-import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.felix.gogo.commands.Argument;
import org.osgi.service.cm.ConfigurationAdmin;
public class PropDelCommand extends ConfigCommandSupport {
- @Argument(index = 0, required = true, description = "the property to delete")
+ @Argument(name = "prop", index = 0, required = true, description = "the property to delete")
String prop;
protected void doExecute(ConfigurationAdmin admin) throws Exception {
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropListCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropListCommand.java
index 9f09229..c5a8893 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropListCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropListCommand.java
@@ -30,7 +30,7 @@
} else {
for (Enumeration e = props.keys(); e.hasMoreElements();) {
Object key = e.nextElement();
- io.out.println(" " + key + " = " + props.get(key));
+ System.out.println(" " + key + " = " + props.get(key));
}
}
}
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropSetCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropSetCommand.java
index 0d60b31..6ce4e25 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropSetCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/PropSetCommand.java
@@ -18,7 +18,7 @@
import java.util.Dictionary;
-import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.felix.gogo.commands.Argument;
import org.osgi.service.cm.ConfigurationAdmin;
public class PropSetCommand extends ConfigCommandSupport {
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/UpdateCommand.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/UpdateCommand.java
index 8def27d..02b504a 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/UpdateCommand.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/UpdateCommand.java
@@ -28,11 +28,11 @@
if (props == null) {
System.err.println("No configuration is being edited. Run the edit command first");
} else {
- String pid = (String) this.variables.parent().get(PROPERTY_CONFIG_PID);
+ String pid = (String) this.session.get(PROPERTY_CONFIG_PID);
Configuration cfg = admin.getConfiguration(pid, null);
cfg.update(props);
- this.variables.parent().unset(PROPERTY_CONFIG_PID);
- this.variables.parent().unset(PROPERTY_CONFIG_PROPS);
+ this.session.put(PROPERTY_CONFIG_PID, null);
+ this.session.put(PROPERTY_CONFIG_PROPS, null);
}
}
}
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationCompleter.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationCompleter.java
index c840e89..022596f 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationCompleter.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationCompleter.java
@@ -23,8 +23,8 @@
import java.util.Collection;
import java.util.List;
-import jline.Completor;
-import org.apache.geronimo.gshell.console.completer.StringsCompleter;
+import org.apache.felix.karaf.gshell.console.completer.StringsCompleter;
+import org.apache.felix.karaf.gshell.console.Completer;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.cm.ConfigurationEvent;
@@ -36,7 +36,7 @@
* Displays a list of existing config admin configurations for completion.
*
*/
-public class ConfigurationCompleter implements Completor, ConfigurationListener {
+public class ConfigurationCompleter implements Completer, ConfigurationListener {
private final StringsCompleter delegate = new StringsCompleter();
diff --git a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationPropertyCompleter.java b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationPropertyCompleter.java
index b44c00e..48472ba 100644
--- a/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationPropertyCompleter.java
+++ b/karaf/gshell/gshell-config/src/main/java/org/apache/felix/karaf/gshell/config/completers/ConfigurationPropertyCompleter.java
@@ -19,15 +19,9 @@
package org.apache.felix.karaf.gshell.config.completers;
-import java.util.Dictionary;
-import java.util.Enumeration;
import java.util.List;
-import jline.Completor;
-import org.apache.geronimo.gshell.command.Variables;
-import org.apache.geronimo.gshell.console.completer.StringsCompleter;
-import org.apache.geronimo.gshell.shell.ShellContextHolder;
-import org.apache.felix.karaf.gshell.config.ConfigCommandSupport;
+import org.apache.felix.karaf.gshell.console.Completer;
/**
* {@link jline.Completor} for Configuration Admin properties.
@@ -35,22 +29,24 @@
* Displays a list of existing properties based on the current configuration being edited.
*
*/
-public class ConfigurationPropertyCompleter implements Completor {
+public class ConfigurationPropertyCompleter implements Completer {
public int complete(final String buffer, final int cursor, final List candidates) {
- Variables vars = ShellContextHolder.get().getVariables();
- if (vars.get(ConfigCommandSupport.PROPERTY_CONFIG_PID) == null) {
- return -1;
- }
+ // TODO: currently we have no way to access the session which is being run in this thread
+ return -1;
- Dictionary props = (Dictionary) vars.get(ConfigCommandSupport.PROPERTY_CONFIG_PROPS);
- StringsCompleter delegate = new StringsCompleter();
-
- for (Enumeration e = props.keys(); e.hasMoreElements();) {
- String key = (String) e.nextElement();
- delegate.getStrings().add(key);
- }
-
- return delegate.complete(buffer, cursor, candidates);
+// if (vars.get(ConfigCommandSupport.PROPERTY_CONFIG_PID) == null) {
+// return -1;
+// }
+//
+// Dictionary props = (Dictionary) vars.get(ConfigCommandSupport.PROPERTY_CONFIG_PROPS);
+// StringsCompleter delegate = new StringsCompleter();
+//
+// for (Enumeration e = props.keys(); e.hasMoreElements();) {
+// String key = (String) e.nextElement();
+// delegate.getStrings().add(key);
+// }
+//
+// return delegate.complete(buffer, cursor, candidates);
}
}
diff --git a/karaf/gshell/gshell-config/src/main/resources/OSGI-INF/blueprint/gshell-config.xml b/karaf/gshell/gshell-config/src/main/resources/OSGI-INF/blueprint/gshell-config.xml
index f213c20..673ec3e 100644
--- a/karaf/gshell/gshell-config/src/main/resources/OSGI-INF/blueprint/gshell-config.xml
+++ b/karaf/gshell/gshell-config/src/main/resources/OSGI-INF/blueprint/gshell-config.xml
@@ -21,62 +21,48 @@
<command-bundle xmlns="http://felix.apache.org/karaf/xmlns/gshell/v1.0.0">
<command name="config/cancel">
- <action class="org.apache.felix.karaf.gshell.config.CancelCommand">
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
+ <action class="org.apache.felix.karaf.gshell.config.CancelCommand"/>
</command>
<command name="config/edit">
- <action class="org.apache.felix.karaf.gshell.config.EditCommand">
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
+ <action class="org.apache.felix.karaf.gshell.config.EditCommand"/>
<completers>
<ref component-id="configCompleter" />
<null/>
</completers>
</command>
<command name="config/list">
- <action class="org.apache.felix.karaf.gshell.config.ListCommand">
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
+ <action class="org.apache.felix.karaf.gshell.config.ListCommand"/>
</command>
<command name="config/propdel">
- <action class="org.apache.felix.karaf.gshell.config.PropDelCommand">
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
+ <action class="org.apache.felix.karaf.gshell.config.PropDelCommand"/>
<completers>
<ref component-id="configPropertyCompleter" />
<null/>
</completers>
</command>
<command name="config/proplist">
- <action class="org.apache.felix.karaf.gshell.config.PropListCommand">
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
+ <action class="org.apache.felix.karaf.gshell.config.PropListCommand"/>
</command>
<command name="config/propset">
- <action class="org.apache.felix.karaf.gshell.config.PropSetCommand">
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
+ <action class="org.apache.felix.karaf.gshell.config.PropSetCommand"/>
<completers>
<ref component-id="configPropertyCompleter" />
<null/>
</completers>
</command>
<command name="config/update">
- <action class="org.apache.felix.karaf.gshell.config.UpdateCommand">
- <property name="bundleContext" ref="blueprintBundleContext"/>
- </action>
+ <action class="org.apache.felix.karaf.gshell.config.UpdateCommand"/>
</command>
</command-bundle>
<bean id="configCompleter" class="org.apache.felix.karaf.gshell.config.completers.ConfigurationCompleter" init-method="init">
<property name="admin" ref="configAdmin"/>
</bean>
+ <service ref="configCompleter" interface="org.osgi.service.cm.ConfigurationListener" />
<bean id="configPropertyCompleter" class="org.apache.felix.karaf.gshell.config.completers.ConfigurationPropertyCompleter" />
<reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin" />
- <service ref="configCompleter" interface="org.osgi.service.cm.ConfigurationListener" />
</blueprint>