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/06 01:40:04 UTC
[1/6] git commit: [KARAF-2805] Convert SCR commands to the new model
Repository: karaf
Updated Branches:
refs/heads/master d2249e439 -> 427871032
[KARAF-2805] Convert SCR 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/bc7bf92e
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/bc7bf92e
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/bc7bf92e
Branch: refs/heads/master
Commit: bc7bf92e763d93294504272469f1e95040998e61
Parents: d2249e4
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Mar 6 00:53:08 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Mar 6 00:53:34 2014 +0100
----------------------------------------------------------------------
scr/command/pom.xml | 22 +++-----
.../scr/command/action/ActivateAction.java | 10 ++--
.../scr/command/action/DeactivateAction.java | 12 ++---
.../karaf/scr/command/action/DetailsAction.java | 22 ++++----
.../karaf/scr/command/action/ListAction.java | 8 +--
.../scr/command/action/ScrActionSupport.java | 54 ++++++++------------
.../command/completer/ActivateCompleter.java | 2 +-
.../command/completer/DeactivateCompleter.java | 2 +-
.../scr/command/completer/DetailsCompleter.java | 2 +-
.../command/completer/ScrCompleterSupport.java | 18 ++++---
10 files changed, 66 insertions(+), 86 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/pom.xml
----------------------------------------------------------------------
diff --git a/scr/command/pom.xml b/scr/command/pom.xml
index 59cfb7a..51e4c2e 100644
--- a/scr/command/pom.xml
+++ b/scr/command/pom.xml
@@ -41,24 +41,13 @@
<dependencies>
<dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.table</artifactId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
@@ -95,12 +84,13 @@
</resources>
<plugins>
<plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-scr-maven-plugin</artifactId>
- </plugin>
- <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/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/action/ActivateAction.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/action/ActivateAction.java b/scr/command/src/main/java/org/apache/karaf/scr/command/action/ActivateAction.java
index 22de6e2..c86909d 100755
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/action/ActivateAction.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/action/ActivateAction.java
@@ -17,14 +17,14 @@
package org.apache.karaf.scr.command.action;
import org.apache.karaf.scr.command.completer.ActivateCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
import org.apache.felix.scr.Component;
import org.apache.felix.scr.ScrService;
import org.apache.karaf.scr.command.ScrCommandConstants;
import org.apache.karaf.scr.command.ScrUtils;
-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;
/**
* Activates the given component by supplying its component name.
@@ -34,7 +34,7 @@ import org.apache.karaf.shell.inject.Service;
public class ActivateAction extends ScrActionSupport {
@Argument(index = 0, name = "name", description = "The name of the Component to activate ", required = true, multiValued = false)
- @Completer(ActivateCompleter.class)
+ @Completion(ActivateCompleter.class)
String name;
@Override
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/action/DeactivateAction.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/action/DeactivateAction.java b/scr/command/src/main/java/org/apache/karaf/scr/command/action/DeactivateAction.java
index 3c0093e..622b0e7 100755
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/action/DeactivateAction.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/action/DeactivateAction.java
@@ -17,15 +17,13 @@
package org.apache.karaf.scr.command.action;
import org.apache.karaf.scr.command.completer.DeactivateCompleter;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
import org.apache.felix.scr.Component;
import org.apache.felix.scr.ScrService;
import org.apache.karaf.scr.command.ScrCommandConstants;
-import org.apache.karaf.shell.commands.Completer;
-import org.apache.karaf.shell.inject.Destroy;
-import org.apache.karaf.shell.inject.Init;
-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;
/**
* Deactivates the given component by supplying its component name.
@@ -35,7 +33,7 @@ import org.apache.karaf.shell.inject.Service;
public class DeactivateAction extends ScrActionSupport {
@Argument(index = 0, name = "name", description = "The name of the Component to deactivate ", required = true, multiValued = false)
- @Completer(DeactivateCompleter.class)
+ @Completion(DeactivateCompleter.class)
String name;
@Override
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/action/DetailsAction.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/action/DetailsAction.java b/scr/command/src/main/java/org/apache/karaf/scr/command/action/DetailsAction.java
index 4c1528a..0304b00 100644
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/action/DetailsAction.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/action/DetailsAction.java
@@ -22,11 +22,11 @@ import org.apache.felix.scr.ScrService;
import org.apache.karaf.scr.command.ScrCommandConstants;
import org.apache.karaf.scr.command.ScrUtils;
import org.apache.karaf.scr.command.completer.DetailsCompleter;
-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.fusesource.jansi.Ansi;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Completion;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.ansi.SimpleAnsi;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
import org.osgi.service.component.ComponentConstants;
@@ -41,7 +41,7 @@ import java.util.Hashtable;
public class DetailsAction extends ScrActionSupport {
@Argument(index = 0, name = "name", description = "The component name", required = true, multiValued = false)
- @Completer(DetailsCompleter.class)
+ @Completion(DetailsCompleter.class)
String name;
@SuppressWarnings("rawtypes")
@@ -50,7 +50,7 @@ public class DetailsAction extends ScrActionSupport {
if (logger.isDebugEnabled()) {
logger.debug("Executing the Details Action");
}
- System.out.println(Ansi.ansi().a(Ansi.Attribute.INTENSITY_BOLD).a("Component Details").a(Ansi.Attribute.INTENSITY_BOLD_OFF));
+ System.out.println(SimpleAnsi.INTENSITY_BOLD + "Component Details" + SimpleAnsi.INTENSITY_NORMAL);
Component[] components = scrService.getComponents(name);
for (Component component : ScrUtils.emptyIfNull(Component.class, components)) {
printDetail(" Name : ", component.getName());
@@ -58,14 +58,14 @@ public class DetailsAction extends ScrActionSupport {
Hashtable props = (Hashtable)component.getProperties();
if (!props.isEmpty()) {
- System.out.println(Ansi.ansi().a(Ansi.Attribute.INTENSITY_BOLD).a(" Properties : ").a(Ansi.Attribute.INTENSITY_BOLD_OFF));
+ System.out.println(SimpleAnsi.INTENSITY_BOLD + " Properties : " + SimpleAnsi.INTENSITY_NORMAL);
for (Object key : props.keySet()) {
Object value = props.get(key);
printDetail(" ", key + "=" + value);
}
}
Reference[] references = component.getReferences();
- System.out.println(Ansi.ansi().a(Ansi.Attribute.INTENSITY_BOLD).a("References").a(Ansi.Attribute.INTENSITY_BOLD_OFF));
+ System.out.println(SimpleAnsi.INTENSITY_BOLD + "References" + SimpleAnsi.INTENSITY_NORMAL);
for (Reference reference : ScrUtils.emptyIfNull(Reference.class, references)) {
printDetail(" Reference : ", reference.getName());
@@ -96,7 +96,7 @@ public class DetailsAction extends ScrActionSupport {
printDetail(" Service Reference : ", b.toString());
}
- if(ScrUtils.emptyIfNull(ServiceReference.class, boundRefs).length == 0) {
+ if (ScrUtils.emptyIfNull(ServiceReference.class, boundRefs).length == 0) {
printDetail(" Service Reference : ", "No Services bound");
}
}
@@ -107,7 +107,7 @@ public class DetailsAction extends ScrActionSupport {
}
private void printDetail(String header, String value) {
- System.out.println(Ansi.ansi().a(Ansi.Attribute.INTENSITY_BOLD).a(header).a(Ansi.Attribute.INTENSITY_BOLD_OFF).a(value));
+ System.out.println(SimpleAnsi.INTENSITY_BOLD + header + SimpleAnsi.INTENSITY_NORMAL + value);
}
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/action/ListAction.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/action/ListAction.java b/scr/command/src/main/java/org/apache/karaf/scr/command/action/ListAction.java
index 740da35..ce47532 100755
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/action/ListAction.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/action/ListAction.java
@@ -21,9 +21,9 @@ import org.apache.felix.scr.ScrService;
import org.apache.karaf.scr.command.ScrCommandConstants;
import org.apache.karaf.scr.command.ScrUtils;
import org.apache.karaf.scr.command.support.IdComparator;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.karaf.shell.table.ShellTable;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.support.table.ShellTable;
import java.util.Arrays;
@@ -58,6 +58,8 @@ public class ListAction extends ScrActionSupport {
}
}
}
+ table.print(System.out);
+
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/action/ScrActionSupport.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/action/ScrActionSupport.java b/scr/command/src/main/java/org/apache/karaf/scr/command/action/ScrActionSupport.java
index 5c85c1b..6cfe354 100755
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/action/ScrActionSupport.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/action/ScrActionSupport.java
@@ -16,27 +16,23 @@
*/
package org.apache.karaf.scr.command.action;
+import java.util.Arrays;
+import java.util.Dictionary;
+import java.util.List;
+
import org.apache.felix.scr.Component;
import org.apache.felix.scr.ScrService;
-import org.apache.felix.service.command.CommandSession;
import org.apache.karaf.scr.command.ScrCommandConstants;
-import org.apache.karaf.shell.commands.Option;
-import org.apache.karaf.shell.console.AbstractAction;
-import org.apache.karaf.shell.console.CommandSessionHolder;
-import org.apache.karaf.shell.console.SubShellAction;
-import org.apache.karaf.shell.console.completer.ArgumentCompleter;
-import org.apache.karaf.shell.inject.Reference;
-import org.fusesource.jansi.Ansi;
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.Option;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+import org.apache.karaf.shell.api.console.CommandLine;
+import org.apache.karaf.shell.api.console.Session;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
-import java.util.Hashtable;
-import java.util.List;
-
-public abstract class ScrActionSupport extends AbstractAction {
+public abstract class ScrActionSupport implements Action {
@Option(name = ScrActionSupport.SHOW_ALL_OPTION, aliases = {ScrActionSupport.SHOW_ALL_ALIAS}, description = "Show all Components including the System Components (hidden by default)", required = false, multiValued = false)
boolean showHidden = false;
@@ -49,11 +45,14 @@ public abstract class ScrActionSupport extends AbstractAction {
@Reference
private ScrService scrService;
+ @Reference
+ BundleContext bundleContext;
+
public ScrActionSupport() {
}
@Override
- public Object doExecute() throws Exception {
+ public Object execute() throws Exception {
if (scrService == null) {
String msg = "ScrService is unavailable";
System.out.println(msg);
@@ -71,33 +70,22 @@ public abstract class ScrActionSupport extends AbstractAction {
return answer;
}
- public static boolean showHiddenComponent(Component component) {
- boolean answer = false;
+ public static boolean showHiddenComponent(CommandLine commandLine, Component component) {
// first look to see if the show all option is there
// if it is we set showAllFlag to true so the next section will be skipped
- CommandSession commandSession = CommandSessionHolder.getSession();
- 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());
- if (arguments.contains(ScrActionSupport.SHOW_ALL_OPTION) || arguments.contains(ScrActionSupport.SHOW_ALL_ALIAS)) {
- answer = true;
- }
- }
-
- return answer;
+ List<String> arguments = Arrays.asList(commandLine.getArguments());
+ return arguments.contains(ScrActionSupport.SHOW_ALL_OPTION) || arguments.contains(ScrActionSupport.SHOW_ALL_ALIAS);
}
@SuppressWarnings("rawtypes")
public static boolean isHiddenComponent(Component component) {
boolean answer = false;
- Hashtable properties = (Hashtable) component.getProperties();
- if (properties != null && properties.containsKey(ScrCommandConstants.HIDDEN_COMPONENT_KEY)) {
+ Dictionary properties = component.getProperties();
+ if (properties != null) {
String value = (String) properties.get(ScrCommandConstants.HIDDEN_COMPONENT_KEY);
// if the value is false, show the hidden
// then someone wants us to display the name of a hidden component
- if (value != null && value.equals("true")) {
- answer = true;
- }
+ answer = Boolean.parseBoolean(value);
}
return answer;
}
@@ -109,7 +97,7 @@ public abstract class ScrActionSupport extends AbstractAction {
* @return the bundleContext
*/
public BundleContext getBundleContext() {
- return FrameworkUtil.getBundle(ListAction.class).getBundleContext();
+ return bundleContext;
}
/**
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ActivateCompleter.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ActivateCompleter.java b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ActivateCompleter.java
index 7cfe6e6..0908814 100644
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ActivateCompleter.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ActivateCompleter.java
@@ -17,7 +17,7 @@
package org.apache.karaf.scr.command.completer;
import org.apache.felix.scr.Component;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Service
public class ActivateCompleter extends ScrCompleterSupport {
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DeactivateCompleter.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DeactivateCompleter.java b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DeactivateCompleter.java
index 60361d7..a968223 100644
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DeactivateCompleter.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DeactivateCompleter.java
@@ -17,7 +17,7 @@
package org.apache.karaf.scr.command.completer;
import org.apache.felix.scr.Component;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Service
public class DeactivateCompleter extends ScrCompleterSupport {
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DetailsCompleter.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DetailsCompleter.java b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DetailsCompleter.java
index 49bc9ba..e1dab36 100644
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DetailsCompleter.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/DetailsCompleter.java
@@ -17,7 +17,7 @@
package org.apache.karaf.scr.command.completer;
import org.apache.felix.scr.Component;
-import org.apache.karaf.shell.inject.Service;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Service
public class DetailsCompleter extends ScrCompleterSupport {
http://git-wip-us.apache.org/repos/asf/karaf/blob/bc7bf92e/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ScrCompleterSupport.java
----------------------------------------------------------------------
diff --git a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ScrCompleterSupport.java b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ScrCompleterSupport.java
index 3434f86..7a0dad7 100755
--- a/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ScrCompleterSupport.java
+++ b/scr/command/src/main/java/org/apache/karaf/scr/command/completer/ScrCompleterSupport.java
@@ -21,9 +21,11 @@ import java.util.List;
import org.apache.felix.scr.Component;
import org.apache.felix.scr.ScrService;
import org.apache.karaf.scr.command.action.ScrActionSupport;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.inject.Reference;
+import org.apache.karaf.shell.api.action.lifecycle.Reference;
+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.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,17 +40,17 @@ public abstract class ScrCompleterSupport implements Completer {
* Overrides the super method noted below. See super documentation for
* details.
*
- * @see org.apache.karaf.shell.console.Completer#complete(java.lang.String,
- * int, java.util.List)
+ * @see org.apache.karaf.shell.api.console.Completer#complete(org.apache.karaf.shell.api.console.Session, org.apache.karaf.shell.api.console.CommandLine, java.util.List)
*/
- public int complete(String buffer, int cursor, List<String> candidates) {
+ @Override
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
try {
for (Component component : scrService.getComponents()) {
if (logger.isDebugEnabled()) {
logger.debug("Component Name to work on: " + component.getName());
}
- if (ScrActionSupport.showHiddenComponent(component)) {
+ if (ScrActionSupport.showHiddenComponent(commandLine, component)) {
// we display all because we are overridden
if (availableComponent(component)) {
delegate.getStrings().add(component.getName());
@@ -67,7 +69,7 @@ public abstract class ScrCompleterSupport implements Completer {
} catch (Exception e) {
logger.warn("Exception completing the command request: " + e.getLocalizedMessage());
}
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
public abstract boolean availableComponent(Component component) throws Exception;
[3/6] git commit: [KARAF-2805] Flag all classes from shell/console as
deprecated
Posted by gn...@apache.org.
[KARAF-2805] Flag all classes from shell/console as deprecated
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/66c52d19
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/66c52d19
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/66c52d19
Branch: refs/heads/master
Commit: 66c52d19b0b779a1c54cb43ffeb342d144cce7e4
Parents: 7ccf13c
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Mar 6 01:03:23 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Mar 6 01:03:23 2014 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/karaf/shell/commands/Action.java | 1 +
.../src/main/java/org/apache/karaf/shell/commands/Argument.java | 1 +
.../src/main/java/org/apache/karaf/shell/commands/Command.java | 1 +
.../main/java/org/apache/karaf/shell/commands/CommandException.java | 1 +
.../java/org/apache/karaf/shell/commands/CommandWithAction.java | 1 +
.../src/main/java/org/apache/karaf/shell/commands/Completer.java | 1 +
.../main/java/org/apache/karaf/shell/commands/CompleterValues.java | 1 +
.../src/main/java/org/apache/karaf/shell/commands/HelpOption.java | 1 +
.../src/main/java/org/apache/karaf/shell/commands/InfoProvider.java | 1 +
.../src/main/java/org/apache/karaf/shell/commands/Option.java | 1 +
.../main/java/org/apache/karaf/shell/commands/ansi/SimpleAnsi.java | 1 +
.../java/org/apache/karaf/shell/commands/basic/AbstractCommand.java | 1 +
.../org/apache/karaf/shell/commands/basic/ActionPreparator.java | 1 +
.../apache/karaf/shell/commands/basic/DefaultActionPreparator.java | 1 +
.../java/org/apache/karaf/shell/commands/basic/SimpleCommand.java | 1 +
.../org/apache/karaf/shell/commands/converter/DefaultConverter.java | 1 +
.../java/org/apache/karaf/shell/commands/converter/GenericType.java | 1 +
.../java/org/apache/karaf/shell/commands/converter/ReifiedType.java | 1 +
.../main/java/org/apache/karaf/shell/console/AbstractAction.java | 1 +
.../org/apache/karaf/shell/console/BlueprintContainerAware.java | 1 +
.../java/org/apache/karaf/shell/console/BundleContextAware.java | 1 +
.../java/org/apache/karaf/shell/console/CloseShellException.java | 1 +
.../java/org/apache/karaf/shell/console/CommandSessionHolder.java | 1 +
.../java/org/apache/karaf/shell/console/CompletableFunction.java | 1 +
.../src/main/java/org/apache/karaf/shell/console/Completer.java | 1 +
.../src/main/java/org/apache/karaf/shell/console/Console.java | 1 +
.../src/main/java/org/apache/karaf/shell/console/ExitAction.java | 1 +
.../src/main/java/org/apache/karaf/shell/console/HelpProvider.java | 1 +
.../main/java/org/apache/karaf/shell/console/MultiException.java | 1 +
.../src/main/java/org/apache/karaf/shell/console/NameScoping.java | 1 +
.../java/org/apache/karaf/shell/console/OsgiCommandSupport.java | 1 +
.../main/java/org/apache/karaf/shell/console/SessionProperties.java | 1 +
.../src/main/java/org/apache/karaf/shell/console/SubShell.java | 1 +
.../main/java/org/apache/karaf/shell/console/SubShellAction.java | 1 +
.../org/apache/karaf/shell/console/commands/AnnotatedSubShell.java | 1 +
.../java/org/apache/karaf/shell/console/commands/BasicSubShell.java | 1 +
.../org/apache/karaf/shell/console/commands/BlueprintCommand.java | 1 +
.../java/org/apache/karaf/shell/console/commands/GenericType.java | 1 +
.../org/apache/karaf/shell/console/commands/NamespaceHandler.java | 1 +
.../karaf/shell/console/commands/NumberToStringConverter.java | 1 +
.../apache/karaf/shell/console/completer/AggregateCompleter.java | 1 +
.../org/apache/karaf/shell/console/completer/ArgumentCompleter.java | 1 +
.../apache/karaf/shell/console/completer/CommandNamesCompleter.java | 1 +
.../org/apache/karaf/shell/console/completer/CommandsCompleter.java | 1 +
.../org/apache/karaf/shell/console/completer/FileCompleter.java | 1 +
.../org/apache/karaf/shell/console/completer/NullCompleter.java | 1 +
.../apache/karaf/shell/console/completer/OldArgumentCompleter.java | 1 +
.../main/java/org/apache/karaf/shell/console/completer/Parser.java | 1 +
.../org/apache/karaf/shell/console/completer/StringsCompleter.java | 1 +
.../java/org/apache/karaf/shell/console/factory/ConsoleFactory.java | 1 +
.../src/main/java/org/apache/karaf/shell/inject/Destroy.java | 1 +
shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java | 1 +
.../src/main/java/org/apache/karaf/shell/inject/Reference.java | 1 +
.../src/main/java/org/apache/karaf/shell/inject/Service.java | 1 +
.../karaf/shell/security/impl/SecuredCommandConfigTransformer.java | 1 +
.../karaf/shell/security/impl/SecuredCommandProcessorImpl.java | 1 +
.../src/main/java/org/apache/karaf/shell/util/ShellUtil.java | 1 +
57 files changed, 57 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/Action.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/Action.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/Action.java
index c3421e3..6e1d212 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/Action.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/Action.java
@@ -33,6 +33,7 @@ import org.apache.felix.service.command.CommandSession;
* is necessary so the help generator can instantiate the class and get the
* default values.
*/
+@Deprecated
public interface Action extends org.apache.felix.gogo.commands.Action {
Object execute(CommandSession session) throws Exception;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/Argument.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/Argument.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/Argument.java
index eced53d..d878cec 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/Argument.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/Argument.java
@@ -28,6 +28,7 @@ import java.lang.annotation.ElementType;
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
+@Deprecated
public @interface Argument
{
public static final String DEFAULT_STRING= "DEFAULT";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/Command.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/Command.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/Command.java
index 490785d..36fd665 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/Command.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/Command.java
@@ -29,6 +29,7 @@ import java.lang.annotation.ElementType;
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
+@Deprecated
public @interface Command
{
/**
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandException.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandException.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandException.java
index 1ffa25d..41280bd 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandException.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandException.java
@@ -25,6 +25,7 @@ import org.apache.karaf.shell.commands.ansi.SimpleAnsi;
* Base class for exceptions thrown when executing commands.
*/
@SuppressWarnings("serial")
+@Deprecated
public class CommandException extends Exception {
private String help;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandWithAction.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandWithAction.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandWithAction.java
index 9209eb1..d4be812 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandWithAction.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/CommandWithAction.java
@@ -20,6 +20,7 @@ package org.apache.karaf.shell.commands;
import org.apache.felix.service.command.Function;
+@Deprecated
public interface CommandWithAction extends Function {
Class<? extends org.apache.felix.gogo.commands.Action> getActionClass();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/Completer.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/Completer.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/Completer.java
index ece3e1d..93a939c 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/Completer.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/Completer.java
@@ -23,6 +23,7 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
+@Deprecated
public @interface Completer {
Class<? extends org.apache.karaf.shell.console.Completer> value();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/CompleterValues.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/CompleterValues.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/CompleterValues.java
index 4463d35..d3388cd 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/CompleterValues.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/CompleterValues.java
@@ -31,6 +31,7 @@ import java.lang.annotation.Target;
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.FIELD})
+@Deprecated
public @interface CompleterValues
{
int index() default 0;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/HelpOption.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/HelpOption.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/HelpOption.java
index b5a0fa5..dac319b 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/HelpOption.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/HelpOption.java
@@ -20,6 +20,7 @@ package org.apache.karaf.shell.commands;
import java.lang.annotation.Annotation;
+@Deprecated
public class HelpOption {
public static final Option HELP = new Option() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/InfoProvider.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/InfoProvider.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/InfoProvider.java
index e253af1..2945e83 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/InfoProvider.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/InfoProvider.java
@@ -21,6 +21,7 @@ import java.util.Properties;
/**
* A bundle can publish a service with this interface to offer some informations for the shell:info command
*/
+@Deprecated
public interface InfoProvider {
public String getName();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/Option.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/Option.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/Option.java
index b0a9e9c..44a3e0a 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/Option.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/Option.java
@@ -28,6 +28,7 @@ import java.lang.annotation.Target;
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
+@Deprecated
public @interface Option
{
public static final String DEFAULT_STRING= "DEFAULT";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/ansi/SimpleAnsi.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/ansi/SimpleAnsi.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/ansi/SimpleAnsi.java
index 8437949..0ea9ff2 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/ansi/SimpleAnsi.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/ansi/SimpleAnsi.java
@@ -21,6 +21,7 @@ package org.apache.karaf.shell.commands.ansi;
import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.Ansi.Color;
+@Deprecated
public class SimpleAnsi {
public static String COLOR_RED = Ansi.ansi().fg(Color.RED).toString();
public static String COLOR_DEFAULT = Ansi.ansi().fg(Color.DEFAULT).toString();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/AbstractCommand.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/AbstractCommand.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/AbstractCommand.java
index 41d4a51..17ca14c 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/AbstractCommand.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/AbstractCommand.java
@@ -24,6 +24,7 @@ import org.apache.felix.gogo.commands.Action;
import org.apache.felix.service.command.CommandSession;
import org.apache.karaf.shell.commands.CommandWithAction;
+@Deprecated
public abstract class AbstractCommand implements CommandWithAction {
public Object execute(CommandSession session, List<Object> arguments) throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/ActionPreparator.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/ActionPreparator.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/ActionPreparator.java
index a6d2f8f..e1681b0 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/ActionPreparator.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/ActionPreparator.java
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.felix.gogo.commands.Action;
import org.apache.felix.service.command.CommandSession;
+@Deprecated
public interface ActionPreparator {
/**
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/DefaultActionPreparator.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/DefaultActionPreparator.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/DefaultActionPreparator.java
index 3ad8d29..b230e1e 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/DefaultActionPreparator.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/DefaultActionPreparator.java
@@ -45,6 +45,7 @@ import org.apache.karaf.shell.commands.meta.ActionMetaData;
import org.apache.karaf.shell.commands.meta.ActionMetaDataFactory;
import org.apache.karaf.shell.console.NameScoping;
+@Deprecated
public class DefaultActionPreparator implements ActionPreparator {
public boolean prepare(Action action, CommandSession session, List<Object> params) throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/SimpleCommand.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/SimpleCommand.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/SimpleCommand.java
index 4ea5dfc..9fc389c 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/SimpleCommand.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/basic/SimpleCommand.java
@@ -30,6 +30,7 @@ import org.osgi.framework.BundleContext;
/**
* A very simple {@link Function} which creates {@link Action} based on a class name.
*/
+@Deprecated
public class SimpleCommand extends AbstractCommand {
private Class<? extends Action> actionClass;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/DefaultConverter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/DefaultConverter.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/DefaultConverter.java
index 54fe81a..3f3aad9 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/DefaultConverter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/DefaultConverter.java
@@ -51,6 +51,7 @@ import java.lang.reflect.Array;
import java.lang.reflect.Type;
import java.lang.reflect.InvocationTargetException;
+@Deprecated
public class DefaultConverter
{
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/GenericType.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/GenericType.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/GenericType.java
index 2f2b5e0..a8d1718 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/GenericType.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/GenericType.java
@@ -29,6 +29,7 @@ import java.util.Map;
import org.osgi.framework.Bundle;
+@Deprecated
public class GenericType extends ReifiedType {
private static final GenericType[] EMPTY = new GenericType[0];
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/ReifiedType.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/ReifiedType.java b/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/ReifiedType.java
index dda4477..8f28dc2 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/ReifiedType.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/commands/converter/ReifiedType.java
@@ -35,6 +35,7 @@ package org.apache.karaf.shell.commands.converter;
*
* @Immutable
*/
+@Deprecated
public class ReifiedType {
final static ReifiedType ALL = new ReifiedType(Object.class);
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/AbstractAction.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/AbstractAction.java b/shell/console/src/main/java/org/apache/karaf/shell/console/AbstractAction.java
index f9990c5..634f264 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/AbstractAction.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/AbstractAction.java
@@ -23,6 +23,7 @@ import org.apache.felix.service.command.CommandSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Deprecated
public abstract class AbstractAction implements Action {
protected final Logger log = LoggerFactory.getLogger(getClass());
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/BlueprintContainerAware.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/BlueprintContainerAware.java b/shell/console/src/main/java/org/apache/karaf/shell/console/BlueprintContainerAware.java
index d566f48..8467baa 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/BlueprintContainerAware.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/BlueprintContainerAware.java
@@ -20,6 +20,7 @@ package org.apache.karaf.shell.console;
import org.osgi.service.blueprint.container.BlueprintContainer;
+@Deprecated
public interface BlueprintContainerAware {
void setBlueprintContainer(BlueprintContainer blueprintContainer);
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/BundleContextAware.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/BundleContextAware.java b/shell/console/src/main/java/org/apache/karaf/shell/console/BundleContextAware.java
index bbd03c5..9abd862 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/BundleContextAware.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/BundleContextAware.java
@@ -20,6 +20,7 @@ package org.apache.karaf.shell.console;
import org.osgi.framework.BundleContext;
+@Deprecated
public interface BundleContextAware {
void setBundleContext(BundleContext bundleContext);
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/CloseShellException.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/CloseShellException.java b/shell/console/src/main/java/org/apache/karaf/shell/console/CloseShellException.java
index 81cee88..3a67fd8 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/CloseShellException.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/CloseShellException.java
@@ -22,6 +22,7 @@ package org.apache.karaf.shell.console;
* Exception thrown to indicate the console to close.
*/
@SuppressWarnings("serial")
+@Deprecated
public class CloseShellException extends Exception {
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/CommandSessionHolder.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/CommandSessionHolder.java b/shell/console/src/main/java/org/apache/karaf/shell/console/CommandSessionHolder.java
index f07554f..679c2d8 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/CommandSessionHolder.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/CommandSessionHolder.java
@@ -20,6 +20,7 @@ package org.apache.karaf.shell.console;
import org.apache.felix.service.command.CommandSession;
+@Deprecated
public class CommandSessionHolder {
private static final ThreadLocal<CommandSession> session = new ThreadLocal<CommandSession>();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/CompletableFunction.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/CompletableFunction.java b/shell/console/src/main/java/org/apache/karaf/shell/console/CompletableFunction.java
index fcb96da..b3f1771 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/CompletableFunction.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/CompletableFunction.java
@@ -23,6 +23,7 @@ import java.util.Map;
import org.apache.felix.service.command.Function;
+@Deprecated
public interface CompletableFunction extends Function {
List<Completer> getCompleters();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/Completer.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/Completer.java b/shell/console/src/main/java/org/apache/karaf/shell/console/Completer.java
index 59f7897..e73a5a3 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/Completer.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/Completer.java
@@ -20,6 +20,7 @@ package org.apache.karaf.shell.console;
import java.util.List;
+@Deprecated
public interface Completer {
int complete(String buffer, int cursor, List<String> candidates);
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/Console.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/Console.java b/shell/console/src/main/java/org/apache/karaf/shell/console/Console.java
index fcca7ad..ba87851 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/Console.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/Console.java
@@ -20,6 +20,7 @@ package org.apache.karaf.shell.console;
import org.apache.felix.service.command.CommandSession;
+@Deprecated
public interface Console extends Runnable {
CommandSession getSession();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/ExitAction.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/ExitAction.java b/shell/console/src/main/java/org/apache/karaf/shell/console/ExitAction.java
index 1449315..d50cc91 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/ExitAction.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/ExitAction.java
@@ -24,6 +24,7 @@ import org.apache.karaf.shell.commands.Command;
* Exit from the current sub-shell and get back to the previous one.
*/
@Command(scope = "*", name = "exit", description = "Exit from the current shell")
+@Deprecated
public class ExitAction extends AbstractAction {
public Object doExecute() throws Exception {
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/HelpProvider.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/HelpProvider.java b/shell/console/src/main/java/org/apache/karaf/shell/console/HelpProvider.java
index 7e3bca7..d71cfdf 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/HelpProvider.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/HelpProvider.java
@@ -19,6 +19,7 @@ package org.apache.karaf.shell.console;
import org.apache.felix.service.command.CommandSession;
+@Deprecated
public interface HelpProvider {
String getHelp(CommandSession session, String path);
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/MultiException.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/MultiException.java b/shell/console/src/main/java/org/apache/karaf/shell/console/MultiException.java
index 6e6185c..cef676d 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/MultiException.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/MultiException.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("serial")
+@Deprecated
public class MultiException extends Exception {
private List<Exception> exceptions = new ArrayList<Exception>();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/NameScoping.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/NameScoping.java b/shell/console/src/main/java/org/apache/karaf/shell/console/NameScoping.java
index 355464d..3fcdad3 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/NameScoping.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/NameScoping.java
@@ -23,6 +23,7 @@ import org.apache.felix.service.command.CommandSession;
/**
* A helper class for name scoping
*/
+@Deprecated
public class NameScoping {
public static final String MULTI_SCOPE_MODE_KEY = "MULTI_SCOPE_MODE";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/OsgiCommandSupport.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/OsgiCommandSupport.java b/shell/console/src/main/java/org/apache/karaf/shell/console/OsgiCommandSupport.java
index d737865..ed7e67e 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/OsgiCommandSupport.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/OsgiCommandSupport.java
@@ -29,6 +29,7 @@ import org.osgi.framework.BundleContext;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
+@Deprecated
public abstract class OsgiCommandSupport extends AbstractAction implements Action, BundleContextAware {
protected BundleContext bundleContext;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/SessionProperties.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/SessionProperties.java b/shell/console/src/main/java/org/apache/karaf/shell/console/SessionProperties.java
index 30f3433..70cc64a 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/SessionProperties.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/SessionProperties.java
@@ -18,6 +18,7 @@
*/
package org.apache.karaf.shell.console;
+@Deprecated
public class SessionProperties {
public static final String PRINT_STACK_TRACES = "karaf.printStackTraces";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/SubShell.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/SubShell.java b/shell/console/src/main/java/org/apache/karaf/shell/console/SubShell.java
index 2de0d20..8f627a6 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/SubShell.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/SubShell.java
@@ -18,6 +18,7 @@
*/
package org.apache.karaf.shell.console;
+@Deprecated
public interface SubShell {
/**
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/SubShellAction.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/SubShellAction.java b/shell/console/src/main/java/org/apache/karaf/shell/console/SubShellAction.java
index 8774927..78f12e0 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/SubShellAction.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/SubShellAction.java
@@ -22,6 +22,7 @@ package org.apache.karaf.shell.console;
/**
* Switch to a sub-shell.
*/
+@Deprecated
public class SubShellAction extends AbstractAction {
private String subShell;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/commands/AnnotatedSubShell.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/AnnotatedSubShell.java b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/AnnotatedSubShell.java
index 9cd3dda..7d16b46 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/AnnotatedSubShell.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/AnnotatedSubShell.java
@@ -19,6 +19,7 @@ package org.apache.karaf.shell.console.commands;
import org.apache.karaf.shell.console.SubShell;
+@Deprecated
public class AnnotatedSubShell implements SubShell {
public String getName() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BasicSubShell.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BasicSubShell.java b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BasicSubShell.java
index 3e40c5a..eb5e4ae 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BasicSubShell.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BasicSubShell.java
@@ -19,6 +19,7 @@ package org.apache.karaf.shell.console.commands;
import org.apache.karaf.shell.console.SubShell;
+@Deprecated
public class BasicSubShell implements SubShell {
private String name;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BlueprintCommand.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BlueprintCommand.java b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BlueprintCommand.java
index 83fa1ec..c334cf3 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BlueprintCommand.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/BlueprintCommand.java
@@ -34,6 +34,7 @@ import org.osgi.framework.BundleContext;
import org.osgi.service.blueprint.container.BlueprintContainer;
import org.osgi.service.blueprint.container.Converter;
+@Deprecated
public class
BlueprintCommand extends AbstractCommand implements CompletableFunction
{
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/commands/GenericType.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/GenericType.java b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/GenericType.java
index faf7c18..d71c15c 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/GenericType.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/GenericType.java
@@ -29,6 +29,7 @@ import java.util.Map;
import org.osgi.framework.Bundle;
import org.osgi.service.blueprint.container.ReifiedType;
+@Deprecated
public class GenericType extends ReifiedType {
private static final GenericType[] EMPTY = new GenericType[0];
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
index 6c3a5b3..075b986 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
@@ -68,6 +68,7 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
+@Deprecated
public class NamespaceHandler implements org.apache.aries.blueprint.NamespaceHandler {
public static final String ID = "id";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NumberToStringConverter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NumberToStringConverter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NumberToStringConverter.java
index fb68c3a..42b25f3 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NumberToStringConverter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NumberToStringConverter.java
@@ -21,6 +21,7 @@ package org.apache.karaf.shell.console.commands;
import org.osgi.service.blueprint.container.Converter;
import org.osgi.service.blueprint.container.ReifiedType;
+@Deprecated
public class NumberToStringConverter implements Converter {
@Override
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/AggregateCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/AggregateCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/AggregateCompleter.java
index dbba436..37eee53 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/AggregateCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/AggregateCompleter.java
@@ -29,6 +29,7 @@ import org.apache.karaf.shell.console.Completer;
/**
* Completer which contains multipule completers and aggregates them together.
*/
+@Deprecated
public class AggregateCompleter implements Completer
{
private final Collection<Completer> completers;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/ArgumentCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/ArgumentCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/ArgumentCompleter.java
index 745489e..bdf1733 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/ArgumentCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/ArgumentCompleter.java
@@ -52,6 +52,7 @@ import org.slf4j.LoggerFactory;
import static org.apache.karaf.shell.console.completer.CommandsCompleter.unProxy;
+@Deprecated
public class ArgumentCompleter implements Completer {
private static final Logger LOGGER = LoggerFactory.getLogger(ArgumentCompleter.class);
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandNamesCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandNamesCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandNamesCompleter.java
index 23f5447..1749acc 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandNamesCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandNamesCompleter.java
@@ -36,6 +36,7 @@ import org.osgi.framework.ServiceListener;
/**
* Completes command names
*/
+@Deprecated
public class CommandNamesCompleter implements Completer {
public static final String COMMANDS = ".commands";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java
index ba95b0c..7011059 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/CommandsCompleter.java
@@ -48,6 +48,7 @@ import org.slf4j.LoggerFactory;
* Like the {@link org.apache.karaf.shell.console.completer.CommandsCompleter} but does not use OSGi but is
* instead used from the non-OSGi {@link org.apache.karaf.shell.console.impl.Main}
*/
+@Deprecated
public class CommandsCompleter implements Completer {
public static final String COMMANDS = ".commands";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/FileCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/FileCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/FileCompleter.java
index dbb3034..477aad0 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/FileCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/FileCompleter.java
@@ -43,6 +43,7 @@ import org.apache.karaf.shell.console.Completer;
* @author <a href="mailto:jason@planet57.com">Jason Dillon</a>
* @since 2.3
*/
+@Deprecated
public class FileCompleter implements Completer
{
private static String OS = System.getProperty("os.name").toLowerCase();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/NullCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/NullCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/NullCompleter.java
index 13da2df..0aaea01 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/NullCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/NullCompleter.java
@@ -22,6 +22,7 @@ import java.util.List;
import org.apache.karaf.shell.console.Completer;
+@Deprecated
public class NullCompleter implements Completer {
public static final NullCompleter INSTANCE = new NullCompleter();
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/OldArgumentCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/OldArgumentCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/OldArgumentCompleter.java
index 583d6f8..90c3b1a 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/OldArgumentCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/OldArgumentCompleter.java
@@ -44,6 +44,7 @@ import org.apache.karaf.shell.console.NameScoping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Deprecated
public class OldArgumentCompleter implements Completer {
private static final Logger LOGGER = LoggerFactory.getLogger(OldArgumentCompleter.class);
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/Parser.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/Parser.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/Parser.java
index dcdab7d..4018efa 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/Parser.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/Parser.java
@@ -23,6 +23,7 @@ package org.apache.karaf.shell.console.completer;
import java.util.ArrayList;
import java.util.List;
+@Deprecated
public class Parser {
int current = 0;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/completer/StringsCompleter.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/StringsCompleter.java b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/StringsCompleter.java
index a3f7c6d..d8296bd 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/completer/StringsCompleter.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/completer/StringsCompleter.java
@@ -29,6 +29,7 @@ import org.apache.karaf.shell.console.Completer;
/**
* Completer for a set of strings.
*/
+@Deprecated
public class StringsCompleter
implements Completer
{
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/console/factory/ConsoleFactory.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/factory/ConsoleFactory.java b/shell/console/src/main/java/org/apache/karaf/shell/console/factory/ConsoleFactory.java
index cf16648..6c27434 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/factory/ConsoleFactory.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/factory/ConsoleFactory.java
@@ -25,6 +25,7 @@ import jline.Terminal;
import org.apache.karaf.shell.console.Console;
+@Deprecated
public interface ConsoleFactory {
Console create(InputStream in, PrintStream out, PrintStream err, final Terminal term, String encoding, Runnable closeCallback);
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java
index 4df9fe3..d985db3 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java
@@ -25,5 +25,6 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
+@Deprecated
public @interface Destroy {
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java
index 154b883..99744e2 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java
@@ -25,5 +25,6 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
+@Deprecated
public @interface Init {
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java
index b74d609..61feabc 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java
@@ -25,5 +25,6 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
+@Deprecated
public @interface Reference {
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java
index ff3f3a3..ef0d813 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java
@@ -25,5 +25,6 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
+@Deprecated
public @interface Service {
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java b/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
index d61911d..d69efd6 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandConfigTransformer.java
@@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.*;
+@Deprecated
public class SecuredCommandConfigTransformer implements ConfigurationListener {
static final String PROXY_COMMAND_ACL_PID_PREFIX = "org.apache.karaf.command.acl.";
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandProcessorImpl.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandProcessorImpl.java b/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandProcessorImpl.java
index bb47d74..f8a3ff0 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandProcessorImpl.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/security/impl/SecuredCommandProcessorImpl.java
@@ -41,6 +41,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
+@Deprecated
public class SecuredCommandProcessorImpl extends CommandProcessorImpl {
private final BundleContext bundleContext;
http://git-wip-us.apache.org/repos/asf/karaf/blob/66c52d19/shell/console/src/main/java/org/apache/karaf/shell/util/ShellUtil.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/util/ShellUtil.java b/shell/console/src/main/java/org/apache/karaf/shell/util/ShellUtil.java
index e8a1d6a..5d678c7 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/util/ShellUtil.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/util/ShellUtil.java
@@ -42,6 +42,7 @@ import org.osgi.framework.startlevel.BundleStartLevel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Deprecated
public class ShellUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(ShellUtil.class);
[6/6] git commit: [KARAF-2805] Remove the help bundle which is now
integrated in core
Posted by gn...@apache.org.
[KARAF-2805] Remove the help bundle which is now integrated in core
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/42787103
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/42787103
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/42787103
Branch: refs/heads/master
Commit: 427871032a8e946ba985c719b4b7f82f69da4d4b
Parents: ed9f078
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Mar 6 01:39:40 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Mar 6 01:39:40 2014 +0100
----------------------------------------------------------------------
pom.xml | 5 -
shell/help/NOTICE | 71 ---------
shell/help/pom.xml | 122 ---------------
.../help/impl/CommandListHelpProvider.java | 152 -------------------
.../karaf/shell/help/impl/HelpAction.java | 47 ------
.../karaf/shell/help/impl/HelpSystem.java | 85 -----------
.../shell/help/impl/SimpleHelpProvider.java | 48 ------
.../help/impl/SingleCommandHelpProvider.java | 71 ---------
.../OSGI-INF/blueprint/shell-commands.xml | 78 ----------
.../src/main/resources/OSGI-INF/bundle.info | 18 ---
.../services/org/apache/karaf/shell/commands | 17 ---
shell/pom.xml | 1 -
12 files changed, 715 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 5a37852..938537e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -651,11 +651,6 @@
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.help</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.table</artifactId>
<version>${project.version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/NOTICE
----------------------------------------------------------------------
diff --git a/shell/help/NOTICE b/shell/help/NOTICE
deleted file mode 100644
index b70f1f9..0000000
--- a/shell/help/NOTICE
+++ /dev/null
@@ -1,71 +0,0 @@
-Apache Karaf
-Copyright 2010-2014 The Apache Software Foundation
-
-
-I. Included Software
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2010).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-OW2 (http://www.ow2.org/).
-Licensed under the BSD License.
-
-This product includes software developed at
-OPS4J (http://www.ops4j.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-Eclipse Foundation (http://www.eclipse.org/).
-Licensed under the EPL.
-
-This product includes software written by
-Antony Lesuisse.
-Licensed under Public Domain.
-
-
-II. Used Software
-
-This product uses software developed at
-FUSE Source (http://www.fusesource.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-AOP Alliance (http://aopalliance.sourceforge.net/).
-Licensed under the Public Domain.
-
-This product uses software developed at
-Tanuki Software (http://www.tanukisoftware.com/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-Jasypt (http://jasypt.sourceforge.net/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-JLine (http://jline.sourceforge.net).
-Licensed under the BSD License.
-
-This product uses software developed at
-SLF4J (http://www.slf4j.org/).
-Licensed under the MIT License.
-
-This product uses software developed at
-SpringSource (http://www.springsource.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software from http://www.json.org.
-Copyright (c) 2002 JSON.org
-
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-- EPL License
-- MIT License
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/pom.xml
----------------------------------------------------------------------
diff --git a/shell/help/pom.xml b/shell/help/pom.xml
deleted file mode 100644
index 4273703..0000000
--- a/shell/help/pom.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <!--
-
- 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.
- -->
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>shell</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>org.apache.karaf.shell.help</artifactId>
- <packaging>bundle</packaging>
- <name>Apache Karaf :: Shell :: Help System</name>
- <description>This bundles provides the karaf help system</description>
-
- <properties>
- <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- <scope>provided</scope>
- </dependency>
- <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>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf</groupId>
- <artifactId>org.apache.karaf.util</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.compendium</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-simple</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <resources>
- <resource>
- <directory>${project.basedir}/src/main/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- <resource>
- <directory>${project.basedir}/src/main/resources</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*.info</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Export-Package>
- !org.apache.karaf.shell.help.impl*
- </Export-Package>
- <Private-Package>
- org.apache.karaf.util.process;-split-package:=merge-first,
- org.apache.karaf.util.properties;-split-package:=merge-first,
- org.apache.karaf.shell.help.impl*
- </Private-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
----------------------------------------------------------------------
diff --git a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
deleted file mode 100644
index 98102c4..0000000
--- a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/CommandListHelpProvider.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.shell.help.impl;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.lang.reflect.Field;
-import java.util.Map;
-import java.util.Set;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import jline.Terminal;
-
-import org.apache.felix.gogo.commands.Action;
-import org.apache.felix.service.command.CommandSession;
-import org.apache.felix.service.command.Function;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.CommandWithAction;
-import org.apache.karaf.shell.commands.basic.AbstractCommand;
-import org.apache.karaf.shell.commands.meta.ActionMetaDataFactory;
-import org.apache.karaf.shell.console.HelpProvider;
-import org.apache.karaf.shell.console.NameScoping;
-import org.apache.karaf.shell.console.SessionProperties;
-import org.apache.karaf.shell.table.Col;
-import org.apache.karaf.shell.table.ShellTable;
-import org.fusesource.jansi.Ansi;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-public class CommandListHelpProvider implements HelpProvider {
-
- public static final String COMMANDS = ".commands";
-
- public String getHelp(CommandSession session, String path) {
- if (path.indexOf('|') > 0) {
- if (path.startsWith("command-list|")) {
- path = path.substring("command-list|".length());
- } else {
- return null;
- }
- }
- SortedMap<String, String> commands = getCommandDescriptions(session, path);
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- printMethodList(session, new PrintStream(baos), commands);
- return baos.toString();
- }
-
- private SortedMap<String, String> getCommandDescriptions(CommandSession session, String command) {
- Set<String> names = (Set<String>) session.get(COMMANDS);
-
- String subshell = (String) session.get("SUBSHELL");
- String completionMode = (String) session.get(SessionProperties.COMPLETION_MODE);
-
- SortedMap<String,String> commands = new TreeMap<String,String>();
- for (String name : names) {
-
- if (command != null && !name.startsWith(command)) {
- continue;
- }
-
- if (completionMode != null && completionMode.equalsIgnoreCase("subshell")) {
- // filter the help only for "global" commands
- if (subshell == null || subshell.trim().isEmpty()) {
- if (!name.startsWith("*")) {
- continue;
- }
- }
- }
-
- if (completionMode != null && (completionMode.equalsIgnoreCase("subshell") || completionMode.equalsIgnoreCase("first"))) {
- // filter the help only for commands local to the subshell
- if (!name.startsWith(subshell)) {
- continue;
- }
- }
-
- String description = null;
- Function function = (Function) session.get(name);
- function = unProxy(function);
- if (function instanceof CommandWithAction) {
- try {
- Class<? extends Action> actionClass = ((CommandWithAction) function).getActionClass();
- Command ann = new ActionMetaDataFactory().getCommand(actionClass);
- description = ann.description();
- } catch (Throwable e) {
- }
- if (name.startsWith("*:")) {
- name = name.substring(2);
- }
- if (subshell != null && !subshell.trim().isEmpty() && name.startsWith(subshell)) {
- name = name.substring(subshell.length() + 1);
- }
- commands.put(name, description);
- }
- }
- return commands;
- }
-
- protected void printMethodList(CommandSession session, PrintStream out, SortedMap<String, String> commands) {
- Terminal term = (Terminal) session.get(".jline.terminal");
- int termWidth = term != null ? term.getWidth() : 80;
- out.println(Ansi.ansi().a(Ansi.Attribute.INTENSITY_BOLD).a("COMMANDS").a(Ansi.Attribute.RESET));
- ShellTable table = new ShellTable().noHeaders().separator(" ").size(termWidth);
- table.column(new Col("Command").maxSize(35));
- table.column(new Col("Description"));
- for (Map.Entry<String,String> entry : commands.entrySet()) {
- String key = NameScoping.getCommandNameWithoutGlobalPrefix(session, entry.getKey());
- table.addRow().addContent(key, entry.getValue());
- }
- table.print(out, true);
- }
-
- protected Function unProxy(Function function) {
- try {
- if (function.getClass().getName().contains("CommandProxy")) {
- Field contextField = function.getClass().getDeclaredField("context");
- Field referenceField = function.getClass().getDeclaredField("reference");
- contextField.setAccessible(true);
- referenceField.setAccessible(true);
- BundleContext context = (BundleContext) contextField.get(function);
- ServiceReference reference = (ServiceReference) referenceField.get(function);
- Object target = context.getService(reference);
- try {
- if (target instanceof Function) {
- function = (Function) target;
- }
- } finally {
- context.ungetService(reference);
- }
- }
- } catch (Throwable t) {
- }
- return function;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpAction.java
----------------------------------------------------------------------
diff --git a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpAction.java b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpAction.java
deleted file mode 100644
index 16c17d2..0000000
--- a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.shell.help.impl;
-
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.console.AbstractAction;
-
-/**
- * Displays help on the available commands
- */
-@Command(scope = "*", name = "help", description = "Displays this help or help about a command")
-public class HelpAction extends AbstractAction {
-
- @Argument(name = "command", required = false, description = "The command to get help for")
- private String command;
-
- private HelpSystem provider;
-
- public void setProvider(HelpSystem provider) {
- this.provider = provider;
- }
-
- public Object doExecute() throws Exception {
- String help = provider.getHelp(session, command);
- if (help != null) {
- System.out.println(help);
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpSystem.java
----------------------------------------------------------------------
diff --git a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpSystem.java b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpSystem.java
deleted file mode 100644
index d88a747..0000000
--- a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/HelpSystem.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.shell.help.impl;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.felix.service.command.CommandSession;
-import org.apache.karaf.shell.console.HelpProvider;
-import org.apache.karaf.util.properties.InterpolationHelper;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceReference;
-
-public class HelpSystem implements HelpProvider {
-
- private BundleContext context;
-
- public HelpSystem(BundleContext context) {
- this.context = context;
- }
-
- @SuppressWarnings("unchecked")
- public synchronized List<HelpProvider> getProviders() {
- ServiceReference<HelpProvider> [] refs = null;
- try {
- refs = context.getServiceReferences(HelpProvider.class, null).toArray(new ServiceReference[]{});
- } catch (InvalidSyntaxException e) {
- throw new RuntimeException(e);
- }
- Arrays.sort(refs);
- List<HelpProvider> providers = new ArrayList<HelpProvider>();
- for (int i = refs.length - 1; i >= 0; i--) {
- providers.add(context.getService(refs[i]));
- }
- return providers;
- }
-
- public String getHelp(final CommandSession session, String path) {
- if (path == null) {
- path = "%root%";
- }
- Map<String,String> props = new HashMap<String,String>();
- props.put("data", "${" + path + "}");
- final List<HelpProvider> providers = getProviders();
- InterpolationHelper.performSubstitution(props, new InterpolationHelper.SubstitutionCallback() {
- public String getValue(final String key) {
- for (HelpProvider hp : providers) {
- String result = hp.getHelp(session, key);
- if (result != null) {
- return removeNewLine(result);
- }
- }
- return null;
- }
- });
- return props.get("data");
- }
-
- private String removeNewLine(String help) {
- if (help != null && help.endsWith("\n")) {
- help = help.substring(0, help.length() -1);
- }
- return help;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SimpleHelpProvider.java
----------------------------------------------------------------------
diff --git a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SimpleHelpProvider.java b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SimpleHelpProvider.java
deleted file mode 100644
index c37f4e1..0000000
--- a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SimpleHelpProvider.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.shell.help.impl;
-
-import java.util.Map;
-
-import org.apache.felix.service.command.CommandSession;
-import org.apache.karaf.shell.console.HelpProvider;
-
-public class SimpleHelpProvider implements HelpProvider {
-
- private Map<String, String> help;
-
- public Map<String, String> getHelp() {
- return help;
- }
-
- public void setHelp(Map<String, String> help) {
- this.help = help;
- }
-
- public String getHelp(CommandSession session, String path) {
- if (path.indexOf('|') > 0) {
- if (path.startsWith("simple|")) {
- path = path.substring("simple|".length());
- } else {
- return null;
- }
- }
- String str = help.get(path);
- return str;
- }
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SingleCommandHelpProvider.java
----------------------------------------------------------------------
diff --git a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SingleCommandHelpProvider.java b/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SingleCommandHelpProvider.java
deleted file mode 100644
index ad3afc4..0000000
--- a/shell/help/src/main/java/org/apache/karaf/shell/help/impl/SingleCommandHelpProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.karaf.shell.help.impl;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-import java.util.Set;
-
-import org.apache.felix.service.command.CommandSession;
-import org.apache.felix.service.threadio.ThreadIO;
-import org.apache.karaf.shell.console.HelpProvider;
-
-public class SingleCommandHelpProvider implements HelpProvider {
-
- public static final String COMMANDS = ".commands";
-
- private ThreadIO io;
-
- public SingleCommandHelpProvider(ThreadIO io) {
- this.io = io;
- }
-
- public String getHelp(CommandSession session, String path) {
-
- String subshell = (String) session.get("SUBSHELL");
-
- if (subshell != null && !subshell.trim().isEmpty()) {
- if (!path.startsWith(subshell)) {
- path = subshell + ":" + path;
- }
- }
-
- if (path.indexOf('|') > 0) {
- if (path.startsWith("command|")) {
- path = path.substring("command|".length());
- } else {
- return null;
- }
- }
- Set<String> names = (Set<String>) session.get(COMMANDS);
- if (path != null && names.contains(path)) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- io.setStreams(new ByteArrayInputStream(new byte[0]), new PrintStream(baos, true), new PrintStream(baos, true));
- try {
- session.execute(path + " --help");
- } catch (Throwable t) {
- t.printStackTrace();
- } finally {
- io.close();
- }
- return baos.toString();
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/resources/OSGI-INF/blueprint/shell-commands.xml
----------------------------------------------------------------------
diff --git a/shell/help/src/main/resources/OSGI-INF/blueprint/shell-commands.xml b/shell/help/src/main/resources/OSGI-INF/blueprint/shell-commands.xml
deleted file mode 100644
index 4a67c37..0000000
--- a/shell/help/src/main/resources/OSGI-INF/blueprint/shell-commands.xml
+++ /dev/null
@@ -1,78 +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">
-
- <bean id="commandCompleter" class="org.apache.karaf.shell.console.completer.CommandsCompleter"/>
-
- <service>
- <interfaces>
- <value>org.apache.felix.service.command.Function</value>
- <value>org.apache.karaf.shell.console.CompletableFunction</value>
- </interfaces>
- <service-properties>
- <entry key="osgi.command.scope" value="*"/>
- <entry key="osgi.command.function" value="help"/>
- </service-properties>
- <bean class="org.apache.karaf.shell.console.commands.BlueprintCommand">
- <property name="blueprintContainer" ref="blueprintContainer"/>
- <property name="blueprintConverter" ref="blueprintConverter"/>
- <property name="actionId" value="help"/>
- <property name="completers">
- <list>
- <bean class="org.apache.karaf.shell.console.completer.CommandNamesCompleter"/>
- </list>
- </property>
- </bean>
- </service>
-
- <bean id="help" class="org.apache.karaf.shell.help.impl.HelpAction" activation="lazy" scope="prototype">
- <property name="provider" ref="helpSystem"/>
- </bean>
-
- <bean id="helpSystem" class="org.apache.karaf.shell.help.impl.HelpSystem">
- <argument ref="blueprintBundleContext"/>
- </bean>
-
- <!--use to get the help on the list of commands -->
- <service interface="org.apache.karaf.shell.console.HelpProvider" ranking="-20">
- <bean class="org.apache.karaf.shell.help.impl.CommandListHelpProvider" />
- </service>
-
- <!-- use for "help command" syntax -->
- <reference id="threadIO" interface="org.apache.felix.service.threadio.ThreadIO"/>
- <service auto-export="interfaces" ranking="-10">
- <bean class="org.apache.karaf.shell.help.impl.SingleCommandHelpProvider">
- <argument ref="threadIO" />
- </bean>
- </service>
-
- <!-- use for "help" to get help on each command in the commands list -->
- <service auto-export="interfaces" ranking="-5">
- <bean class="org.apache.karaf.shell.help.impl.SimpleHelpProvider">
- <property name="help">
- <map>
- <entry key="%root%"><value><![CDATA[${command-list|}]]></value></entry>
- <entry key="all"><value><![CDATA[${command-list|}]]></value></entry>
- </map>
- </property>
- </bean>
- </service>
-
-</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/resources/OSGI-INF/bundle.info
----------------------------------------------------------------------
diff --git a/shell/help/src/main/resources/OSGI-INF/bundle.info b/shell/help/src/main/resources/OSGI-INF/bundle.info
deleted file mode 100644
index 09520d1..0000000
--- a/shell/help/src/main/resources/OSGI-INF/bundle.info
+++ /dev/null
@@ -1,18 +0,0 @@
-h1. Synopsis
-
-${project.name}
-
-${project.description}
-
-Maven URL:
-[mvn:${project.groupId}/${project.artifactId}/${project.version}]
-
-h1. Description
-
-This bundle provides the Karaf help system and command
-
-shell:help
-
-h1. See also
-
-Commands - and Using the console - sections of the Karaf User Guide.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/help/src/main/resources/services/org/apache/karaf/shell/commands
----------------------------------------------------------------------
diff --git a/shell/help/src/main/resources/services/org/apache/karaf/shell/commands b/shell/help/src/main/resources/services/org/apache/karaf/shell/commands
deleted file mode 100644
index ee78f61..0000000
--- a/shell/help/src/main/resources/services/org/apache/karaf/shell/commands
+++ /dev/null
@@ -1,17 +0,0 @@
-##---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-##---------------------------------------------------------------------------
-org.apache.karaf.shell.console.impl.help.HelpAction
http://git-wip-us.apache.org/repos/asf/karaf/blob/42787103/shell/pom.xml
----------------------------------------------------------------------
diff --git a/shell/pom.xml b/shell/pom.xml
index 482021b..8d31157 100644
--- a/shell/pom.xml
+++ b/shell/pom.xml
@@ -38,7 +38,6 @@
<module>core</module>
<module>console</module>
<module>ssh</module>
- <module>help</module>
<module>table</module>
</modules>
[5/6] git commit: Revert [KARAF-2762]
Posted by gn...@apache.org.
Revert [KARAF-2762]
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ed9f0785
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ed9f0785
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ed9f0785
Branch: refs/heads/master
Commit: ed9f0785faf28f0bf142ea67546f83684a8edb80
Parents: 662c07a
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Mar 6 01:31:22 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Mar 6 01:31:22 2014 +0100
----------------------------------------------------------------------
shell/command-exporter/NOTICE | 71 ----------
shell/command-exporter/pom.xml | 110 ---------------
.../karaf/shell/exporter/ActionCommand.java | 133 -------------------
.../karaf/shell/exporter/ActionTracker.java | 94 -------------
.../apache/karaf/shell/exporter/Activator.java | 42 ------
shell/pom.xml | 1 -
6 files changed, 451 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/NOTICE
----------------------------------------------------------------------
diff --git a/shell/command-exporter/NOTICE b/shell/command-exporter/NOTICE
deleted file mode 100644
index b70f1f9..0000000
--- a/shell/command-exporter/NOTICE
+++ /dev/null
@@ -1,71 +0,0 @@
-Apache Karaf
-Copyright 2010-2014 The Apache Software Foundation
-
-
-I. Included Software
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2010).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-OW2 (http://www.ow2.org/).
-Licensed under the BSD License.
-
-This product includes software developed at
-OPS4J (http://www.ops4j.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-Eclipse Foundation (http://www.eclipse.org/).
-Licensed under the EPL.
-
-This product includes software written by
-Antony Lesuisse.
-Licensed under Public Domain.
-
-
-II. Used Software
-
-This product uses software developed at
-FUSE Source (http://www.fusesource.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-AOP Alliance (http://aopalliance.sourceforge.net/).
-Licensed under the Public Domain.
-
-This product uses software developed at
-Tanuki Software (http://www.tanukisoftware.com/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-Jasypt (http://jasypt.sourceforge.net/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-JLine (http://jline.sourceforge.net).
-Licensed under the BSD License.
-
-This product uses software developed at
-SLF4J (http://www.slf4j.org/).
-Licensed under the MIT License.
-
-This product uses software developed at
-SpringSource (http://www.springsource.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software from http://www.json.org.
-Copyright (c) 2002 JSON.org
-
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-- EPL License
-- MIT License
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/pom.xml
----------------------------------------------------------------------
diff --git a/shell/command-exporter/pom.xml b/shell/command-exporter/pom.xml
deleted file mode 100644
index cf4bca9..0000000
--- a/shell/command-exporter/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <!--
-
- 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.
- -->
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.karaf.shell</groupId>
- <artifactId>shell</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>command-exporter</artifactId>
- <packaging>bundle</packaging>
-
- <properties>
- <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
- </properties>
-
- <dependencies>
- <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>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.package</groupId>
- <artifactId>org.apache.karaf.package.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>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.utils</artifactId>
- <scope>provided</scope>
- </dependency>
- </dependencies>
-
- <build>
- <resources>
- <resource>
- <directory>${project.basedir}/src/main/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- </resource>
- <resource>
- <directory>${project.basedir}/src/main/resources</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*.info</include>
- </includes>
- </resource>
- </resources>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <configuration>
- <instructions>
- <Bundle-Activator>org.apache.karaf.shell.exporter.Activator</Bundle-Activator>
- <Export-Package>!*</Export-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java
----------------------------------------------------------------------
diff --git a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java b/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java
deleted file mode 100644
index 8779249..0000000
--- a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionCommand.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.shell.exporter;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.felix.gogo.commands.Action;
-import org.apache.felix.gogo.commands.Command;
-import org.apache.felix.gogo.commands.CommandWithAction;
-import org.apache.felix.gogo.commands.basic.AbstractCommand;
-import org.apache.felix.service.command.CommandProcessor;
-import org.apache.felix.service.command.Function;
-import org.apache.karaf.shell.console.CompletableFunction;
-import org.apache.karaf.shell.console.Completer;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Wraps an Action as a command using a template for the action injects
- */
-@SuppressWarnings("deprecation")
-public class ActionCommand extends AbstractCommand implements CompletableFunction {
-
- private static Logger logger = LoggerFactory.getLogger(ActionCommand.class);
-
- private Action actionTemplate;
- private List<Completer> completers = new ArrayList<Completer>();
-
- public ActionCommand(Action actionTemplate) {
- this.actionTemplate = actionTemplate;
- addCompleters();
- }
-
- public ServiceRegistration<?> registerService(BundleContext context) {
- Class<? extends Action> actionClass = actionTemplate.getClass();
- Command cmd = actionClass.getAnnotation(Command.class);
- if (cmd == null) {
- throw new IllegalArgumentException("Action class " + actionClass
- + " is not annotated with @Command");
- }
- String[] interfaces = new String[]{
- Function.class.getName(),
- CommandWithAction.class.getName(),
- AbstractCommand.class.getName()
- };
- Hashtable<String, String> props = new Hashtable<String, String>();
- props.put(CommandProcessor.COMMAND_SCOPE, cmd.scope());
- props.put(CommandProcessor.COMMAND_FUNCTION, cmd.name());
- logger.info("Registering command " + cmd.scope() + ":" + cmd.name() + " in the name of bundle " + context.getBundle().getBundleId());
- return context.registerService(interfaces, this, props);
- }
-
- @Override
- public Class<? extends Action> getActionClass() {
- return actionTemplate.getClass();
- }
-
- @Override
- public Action createNewAction() {
- try {
- Action newAction = actionTemplate.getClass().newInstance();
- copyFields(newAction);
- return newAction;
- } catch (InstantiationException e) {
- throw new RuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new RuntimeException(e);
- }
- }
-
- @Override
- public List<Completer> getCompleters() {
- return completers;
- }
-
- @Override
- public Map<String, Completer> getOptionalCompleters() {
- return null;
- }
-
- private void copyFields(Action newAction) {
- Field[] fields = actionTemplate.getClass().getDeclaredFields();
- for (Field field : fields) {
- try {
- if (!field.isAccessible()) {
- field.setAccessible(true);
- }
- Object value = field.get(actionTemplate);
- field.set(newAction, value);
- } catch (Exception e) {
- throw new RuntimeException(e.getMessage(), e);
- }
- }
- }
-
- private void addCompleters() {
- for (Field field : actionTemplate.getClass().getDeclaredFields()) {
- if (Completer.class.isAssignableFrom(field.getType())) {
- try {
- if (!field.isAccessible()) {
- field.setAccessible(true);
- }
- this.completers.add((Completer) field.get(actionTemplate));
- } catch (Exception e) {
- logger.warn("Error setting completer from field " + field.getName());
- }
- }
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java
----------------------------------------------------------------------
diff --git a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java b/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java
deleted file mode 100644
index 5065759..0000000
--- a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/ActionTracker.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.shell.exporter;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.felix.gogo.commands.Action;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Tracks services that implement {@link org.apache.felix.gogo.commands.Action},
- * wraps each into an ActionCommand
- * and exports the command as a service in the name of the bundle exporting the Action
- */
-@SuppressWarnings("deprecation")
-final class ActionTracker extends ServiceTracker<Action, Action> {
-
- private Logger logger = LoggerFactory.getLogger(this.getClass());
-
- @SuppressWarnings("rawtypes")
- private Map<ServiceReference, ServiceRegistration> registrations =
- new ConcurrentHashMap<ServiceReference, ServiceRegistration>();
-
- ActionTracker(BundleContext context, Class<Action> clazz,
- ServiceTrackerCustomizer<Action, Action> customizer) {
- super(context, clazz, customizer);
- }
-
- @Override
- public Action addingService(ServiceReference<Action> reference) {
- if (!registrations.containsKey(reference)) {
- Bundle userBundle = reference.getBundle();
- try {
- BundleContext context = userBundle.getBundleContext();
- ActionCommand command = new ActionCommand(context.getService(reference));
- registrations.put(reference, command.registerService(context));
- } catch (Exception e) {
- logger.warn("Error exporting action as command from service of bundle "
- + userBundle.getSymbolicName()
- + "[" + userBundle.getBundleId() + "]", e);
- }
- }
- return super.addingService(reference);
- }
-
- @Override
- public void removedService(ServiceReference<Action> reference, Action service) {
- if (registrations.containsKey(reference)) {
- try {
- registrations.remove(reference).unregister();
- } catch (Exception e) {
- // Ignore .. might already be unregistered if exporting bundle stopped
- }
- }
- super.removedService(reference, service);
- }
-
- @Override
- public void close() {
- for (ServiceRegistration<?> reg : registrations.values()) {
- try {
- reg.unregister();
- } catch (Exception e) {
- // Ignore .. might already be unregistered if exporting bundle stopped
- }
- }
- registrations.clear();
- super.close();
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java
----------------------------------------------------------------------
diff --git a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java b/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java
deleted file mode 100644
index 2bf000c..0000000
--- a/shell/command-exporter/src/main/java/org/apache/karaf/shell/exporter/Activator.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.shell.exporter;
-
-import org.apache.felix.gogo.commands.Action;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-@SuppressWarnings("deprecation")
-public class Activator implements BundleActivator {
-
- private ServiceTracker<Action, Action> tracker;
-
- @Override
- public void start(BundleContext context) throws Exception {
- tracker = new ActionTracker(context, Action.class, null);
- tracker.open();
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- tracker.close();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/ed9f0785/shell/pom.xml
----------------------------------------------------------------------
diff --git a/shell/pom.xml b/shell/pom.xml
index 1ab6361..482021b 100644
--- a/shell/pom.xml
+++ b/shell/pom.xml
@@ -40,7 +40,6 @@
<module>ssh</module>
<module>help</module>
<module>table</module>
- <module>command-exporter</module>
</modules>
</project>
[4/6] git commit: Revert [KARAF-2763] and update demo / manuel for
[KARAF-2805]
Posted by gn...@apache.org.
Revert [KARAF-2763] and update demo / manuel for [KARAF-2805]
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/662c07a6
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/662c07a6
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/662c07a6
Branch: refs/heads/master
Commit: 662c07a68bf53c4a99a480f5ca69deb452413df4
Parents: 66c52d1
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Mar 6 01:27:40 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Mar 6 01:27:40 2014 +0100
----------------------------------------------------------------------
demos/command/pom.xml | 16 +-
.../apache/karaf/demos/command/MyCommand.java | 17 +-
.../apache/karaf/demos/command/MyCompleter.java | 19 +-
.../resources/OSGI-INF/blueprint/mycommand.xml | 43 ---
.../main/webapp/developers-guide/extending.conf | 190 +++-------
pom.xml | 15 -
.../console/commands/NamespaceHandler.java | 186 +--------
.../org/apache/karaf/shell/inject/Destroy.java | 30 --
.../org/apache/karaf/shell/inject/Init.java | 30 --
.../apache/karaf/shell/inject/Reference.java | 30 --
.../org/apache/karaf/shell/inject/Service.java | 30 --
.../blueprint/shell-namespacehandler.xml | 6 -
.../console/commands/karaf-shell-1.2.0.xsd | 225 -----------
tooling/karaf-scr-maven-plugin/NOTICE | 71 ----
tooling/karaf-scr-maven-plugin/pom.xml | 243 ------------
.../karaf/tooling/scr/ScrCommandMojo.java | 374 -------------------
.../karaf/tooling/scr/ScrCommandSupport.java | 112 ------
tooling/pom.xml | 1 -
18 files changed, 71 insertions(+), 1567 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/demos/command/pom.xml
----------------------------------------------------------------------
diff --git a/demos/command/pom.xml b/demos/command/pom.xml
index e066f7b..2042170 100644
--- a/demos/command/pom.xml
+++ b/demos/command/pom.xml
@@ -42,13 +42,7 @@
<dependency>
<groupId>org.apache.karaf.shell</groupId>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
+ <artifactId>org.apache.karaf.shell.core</artifactId>
<scope>provided</scope>
</dependency>
@@ -67,13 +61,7 @@
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
- <Import-Package>
- org.apache.felix.service.command,
- org.apache.karaf.shell.commands,
- org.apache.karaf.shell.console,
- org.apache.karaf.shell.inject,
- *
- </Import-Package>
+ <Karaf-Commands>*</Karaf-Commands>
</instructions>
</configuration>
</plugin>
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/demos/command/src/main/java/org/apache/karaf/demos/command/MyCommand.java
----------------------------------------------------------------------
diff --git a/demos/command/src/main/java/org/apache/karaf/demos/command/MyCommand.java b/demos/command/src/main/java/org/apache/karaf/demos/command/MyCommand.java
index fb37705..6f5fc1d 100644
--- a/demos/command/src/main/java/org/apache/karaf/demos/command/MyCommand.java
+++ b/demos/command/src/main/java/org/apache/karaf/demos/command/MyCommand.java
@@ -19,22 +19,23 @@
package org.apache.karaf.demos.command;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Completer;
-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.Completion;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "mycommand", name = "hello", description="Says hello")
@Service
-public class MyCommand extends OsgiCommandSupport {
+public class MyCommand implements Action {
@Argument(index = 0, name = "arg", description = "The command argument", required = false, multiValued = false)
- @Completer(MyCompleter.class)
+ @Completion(MyCompleter.class)
String arg = null;
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
System.out.println("Executing My Command Demo");
return null;
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/demos/command/src/main/java/org/apache/karaf/demos/command/MyCompleter.java
----------------------------------------------------------------------
diff --git a/demos/command/src/main/java/org/apache/karaf/demos/command/MyCompleter.java b/demos/command/src/main/java/org/apache/karaf/demos/command/MyCompleter.java
index ba45232..bc9a5c9 100644
--- a/demos/command/src/main/java/org/apache/karaf/demos/command/MyCompleter.java
+++ b/demos/command/src/main/java/org/apache/karaf/demos/command/MyCompleter.java
@@ -19,12 +19,14 @@
package org.apache.karaf.demos.command;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.inject.Service;
-
import java.util.List;
+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;
+
/**
* <p>
* My completer.
@@ -34,17 +36,12 @@ import java.util.List;
@Service
public class MyCompleter implements Completer {
- /**
- * @param buffer it's the beginning string typed by the user
- * @param cursor it's the position of the cursor
- * @param candidates the list of completions proposed to the user
- */
- public int complete(String buffer, int cursor, List candidates) {
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
StringsCompleter delegate = new StringsCompleter();
delegate.getStrings().add("one");
delegate.getStrings().add("two");
delegate.getStrings().add("three");
- return delegate.complete(buffer, cursor, candidates);
+ return delegate.complete(session, commandLine, candidates);
}
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/demos/command/src/main/resources/OSGI-INF/blueprint/mycommand.xml
----------------------------------------------------------------------
diff --git a/demos/command/src/main/resources/OSGI-INF/blueprint/mycommand.xml b/demos/command/src/main/resources/OSGI-INF/blueprint/mycommand.xml
deleted file mode 100644
index 66709b8..0000000
--- a/demos/command/src/main/resources/OSGI-INF/blueprint/mycommand.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
- scan="org.apache.karaf.demos.command" />
-
- <!-- Old style way of declaring commands
- This may be needed for actions that need complicated injections
- based on blueprint.
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.1.0">
- <command>
- <action class="org.apache.karaf.demos.command.MyCommand"/>
- <completers>
- <ref component-id="myCompleter"/>
- <null/>
- </completers>
- </command>
- </command-bundle>
-
- <bean id="myCompleter" class="org.apache.karaf.demos.command.MyCompleter"/>
- -->
-
-</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/manual/src/main/webapp/developers-guide/extending.conf
----------------------------------------------------------------------
diff --git a/manual/src/main/webapp/developers-guide/extending.conf b/manual/src/main/webapp/developers-guide/extending.conf
index 6a762a0..eb04003 100644
--- a/manual/src/main/webapp/developers-guide/extending.conf
+++ b/manual/src/main/webapp/developers-guide/extending.conf
@@ -140,63 +140,37 @@ We can now create the command class {{HelloShellCommand.java}}
{code:lang=java}
package org.apache.karaf.shell.samples;
-import org.apache.karaf.shell.commands.Command;
-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.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "test", name = "hello", description="Says hello")
@Service
-public class HelloShellCommand extends OsgiCommandSupport {
+public class HelloShellCommand implements Action {
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
System.out.println("Executing Hello command");
return null;
}
}
{code}
-h3. Blueprint definition
+h3. Manifest
-Blueprint is an injection framework for OSGi. It allows you to declare beans in a XML file and contains specific statement for OSGi services.
-
-For the command, we use Blueprint to create the command bean and register as an OSGi service.
-
-The blueprint definition file is located in the {{OSGI-INF/blueprint}} folder of our bundle.
-
-If you don't have the {{src/main/resources}} directory yet, create it.
-
-{code}
-mkdir src/main/resources
-{code}
-
-Then, re-generate the IDE project files and reload it so that this folder is now recognized as a source folder.
-
-Inside this directory, create the {{OSGI-INF/blueprint/}} directory and put the following file inside (the name of this file has no impact at all):
-
-For simple cases as above, or even if you only need to inject an OSGi service, you can use the auto-detecting feature provided by the blueprint namespace handler:
-
-{code:lang=xml}
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
- scan="org.apache.karaf.shell.samples" />
-
-</blueprint>
-{code}
-
-Alternatively, if you need more control over the wiring, you can declare the command explicitely:
+In order for Karaf to find your command, you need to add the {{Karaf-Commands=*}} manifest header.
+This is usually done by modifying the maven bundle plugin configuration
{code:lang=xml}
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0">
- <command>
- <action class="org.apache.karaf.shell.samples.HelloShellCommand"/>
- </command>
- </command-bundle>
-
-</blueprint>
+<plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <configuration>
+ <instructions>
+ <Karaf-Commands>*</Karaf-Commands>
+ </instructions>
+ </configuration>
+</plugin>
{code}
h3. Compile
@@ -243,30 +217,28 @@ We add an argument to the HelloCommand:
{code:lang=java}
package org.apache.karaf.shell.samples;
-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.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.Completion;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "test", name = "hello", description="Says hello")
@Service
-public class HelloShellCommand extends OsgiCommandSupport {
+public class HelloShellCommand implements Action {
@Argument(index = 0, name = "name", description = "The name that sends the greet.", required = true, multiValued = false)
- @Completer(SimpleNameCompleter.class)
+ @Completion(SimpleNameCompleter.class)
String name = null;
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
System.out.println("Hello " + name);
return null;
}
}
{code}
-The Blueprint configuration file is the same as previously.
-
h3. Completer bean
A completer is a bean which implements the Completer interface:
@@ -274,9 +246,11 @@ A completer is a bean which implements the Completer interface:
{code:lang=java}
package org.apache.karaf.shell.samples;
-import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.inject.Service;
+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;
/**
* <p>
@@ -286,47 +260,17 @@ import org.apache.karaf.shell.inject.Service;
@Service
public class SimpleNameCompleter implements Completer {
- /**
- * @param buffer the beginning string typed by the user
- * @param cursor the position of the cursor
- * @param candidates the list of completions proposed to the user
- */
- public int complete(String buffer, int cursor, List candidates) {
- StringsCompleter delegate = new StringsCompleter();
- delegate.getStrings().add("Mike");
- delegate.getStrings().add("Eric");
- delegate.getStrings().add("Jenny");
- return delegate.complete(buffer, cursor, candidates);
- }
+ public int complete(Session session, CommandLine commandLine, List<String> candidates) {
+ StringsCompleter delegate = new StringsCompleter();
+ delegate.getStrings().add("Mike");
+ delegate.getStrings().add("Eric");
+ delegate.getStrings().add("Jenny");
+ return delegate.complete(buffer, cursor, candidates);
+ }
}
{code}
-h3. Blueprint with completer
-
-If you're not using the scanning feature, you need to "inject" the completer linked to your command. The same completer could be used for several commands and a command can have several completers:
-
-{code:lang=xml}
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0">
- <command>
- <action class="org.apache.karaf.shell.samples.HelloShellCommand"/>
- <completers>
- <ref component-id="simpleNameCompleter"/>
- <null/>
- </completers>
- </command>
- </command-bundle>
-
- <bean id="simpleNameCompleter" class="org.apache.karaf.shell.samples.SimpleNameCompleter"/>
-
-</blueprint>
-{code}
-
-You can have multiple completers for a single class, each matching a command argument.
-The order of the completers must match the order of the arguments, in order to have the desirable results.
-
h3. Completers for option values
Quite often your commands will not have just arguments, but also options. You can provide completers for option values.
@@ -335,56 +279,33 @@ The snippet below shows the HelloShellCommand with an option to specify what the
{code:lang=java}
package org.apache.karaf.shell.samples;
-import org.apache.karaf.shell.commands.Argument;
-import org.apache.karaf.shell.commands.Command;
-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.Completion;
+import org.apache.karaf.shell.api.action.Option;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
@Command(scope = "test", name = "hello", description="Says hello")
@Service
-public class HelloShellCommand extends OsgiCommandSupport {
+public class HelloShellCommand implements Action {
@Argument(index = 0, name = "name", description = "The name that sends the greet.", required = true, multiValued = false)
- @Completer(SimpleNameCompleter.class)
+ @Completion(SimpleNameCompleter.class)
String name = null;
@Option(name = "-g", aliases = "--greet", description = "The configuration pid", required = false, multiValued = false)
- @Completer(GreetCompleter.class)
+ @Completion(GreetCompleter.class)
String greet = "Hello;
@Override
- protected Object doExecute() throws Exception {
+ public Object execute() throws Exception {
System.out.println(greet + " " + name);
return null;
}
}
{code}
-If you're using explicit wiring for the command, you need to specify the completer for the greet option in the blueprint file.
-All that is required is to add an optional-completer element in the blueprint configuration that will associate a completer with the -g option or its --greet alias.
-
-{code:lang=xml}
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
- <command-bundle xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0">
- <command>
- <action class="org.apache.karaf.shell.samples.HelloShellCommand"/>
- <completers>
- <ref component-id="simpleNameCompleter"/>
- <null/>
- </completers>
- <optional-completers>
- <entry key="-g" value-ref="greetCompleter"/>
- </optional-completers>
- </command>
- </command-bundle>
-
- <bean id="simpleNameCompleter" class="org.apache.karaf.shell.samples.SimpleNameCompleter"/>
- <bean id="greetCompleter" class="org.apache.karaf.shell.samples.GreetCompleter"/>
-
-</blueprint>
-{code}
-
h3. Completers with state
Some times we want to tune the behavior of the completer depending on the commands already executed, in the current shell
@@ -392,19 +313,10 @@ or even the rest of the arguments that have been already passed to the command.
command which will provide auto completion for only for the properties of the pid specified by a previously issued config:edit
command or by the option --pid.
-This is done by accessing the CommandSession object which holds the state of the console. To get access to the CommandSession:
-
-{code}
-CommandSession session = CommandSessionHolder.getSession();
-{code}
-
-CommandSession provides map like methods for storing key/value pairs and can be used to put/get the state.
-
-If you want to get access to the list of arguments that is already passed to the command, you can simply:
-
-{code}
-ArgumentCompleter.ArgumentList list = (ArgumentCompleter.ArgumentList) commandSession.get(ArgumentCompleter.ARGUMENTS_LIST);
-{code}
+The Session object provides map like methods for storing key/value pairs and can be used to put/get the state.
+The pre-parsed CommandLine objects allows you to check the previous arguments and options on the command line and to fine tune
+the behavior of the Completer.
+Those two objects are given to the Completer when calling the {{complete}} method.
h3. Test
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 032442a..5a37852 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1935,21 +1935,6 @@
</configuration>
</plugin>
<plugin>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>karaf-scr-maven-plugin</artifactId>
- <version>${project.version}</version>
- <executions>
- <execution>
- <goals>
- <goal>scr</goal>
- </goals>
- <configuration>
- <ranking>${karaf.service.ranking}</ranking>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<version>2.2.1</version>
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
index 075b986..2dd6976 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/commands/NamespaceHandler.java
@@ -18,11 +18,8 @@
*/
package org.apache.karaf.shell.console.commands;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
import java.net.URL;
import java.util.Arrays;
-import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -34,20 +31,11 @@ import org.apache.aries.blueprint.mutable.MutableCollectionMetadata;
import org.apache.aries.blueprint.mutable.MutableIdRefMetadata;
import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata;
import org.apache.aries.blueprint.mutable.MutableRefMetadata;
-import org.apache.aries.blueprint.mutable.MutableReferenceMetadata;
import org.apache.aries.blueprint.mutable.MutableServiceMetadata;
import org.apache.aries.blueprint.mutable.MutableValueMetadata;
-import org.apache.felix.gogo.commands.Action;
-import org.apache.karaf.shell.console.Completer;
import org.apache.karaf.shell.console.SubShellAction;
import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.inject.Destroy;
-import org.apache.karaf.shell.inject.Init;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.wiring.BundleWiring;
import org.osgi.service.blueprint.container.ComponentDefinitionException;
import org.osgi.service.blueprint.reflect.BeanArgument;
import org.osgi.service.blueprint.reflect.BeanMetadata;
@@ -58,12 +46,9 @@ import org.osgi.service.blueprint.reflect.MapMetadata;
import org.osgi.service.blueprint.reflect.Metadata;
import org.osgi.service.blueprint.reflect.NullMetadata;
import org.osgi.service.blueprint.reflect.RefMetadata;
-import org.osgi.service.blueprint.reflect.ReferenceMetadata;
import org.osgi.service.blueprint.reflect.ServiceMetadata;
import org.osgi.service.blueprint.reflect.ValueMetadata;
-import org.w3c.dom.Attr;
import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -90,7 +75,6 @@ public class NamespaceHandler implements org.apache.aries.blueprint.NamespaceHan
public static final String SHELL_NAMESPACE_1_0_0 = "http://karaf.apache.org/xmlns/shell/v1.0.0";
public static final String SHELL_NAMESPACE_1_1_0 = "http://karaf.apache.org/xmlns/shell/v1.1.0";
- public static final String SHELL_NAMESPACE_1_2_0 = "http://karaf.apache.org/xmlns/shell/v1.2.0";
private int nameCounter = 0;
@@ -99,10 +83,8 @@ public class NamespaceHandler implements org.apache.aries.blueprint.NamespaceHan
return getClass().getResource("karaf-shell-1.0.0.xsd");
} else if(SHELL_NAMESPACE_1_1_0.equals(namespace)) {
return getClass().getResource("karaf-shell-1.1.0.xsd");
- } else if(SHELL_NAMESPACE_1_2_0.equals(namespace)) {
- return getClass().getResource("karaf-shell-1.2.0.xsd");
}
- return getClass().getResource("karaf-shell-1.2.0.xsd");
+ return getClass().getResource("karaf-shell-1.1.0.xsd");
}
public Set<Class> getManagedClasses() {
@@ -117,14 +99,6 @@ public class NamespaceHandler implements org.apache.aries.blueprint.NamespaceHan
public Metadata parse(Element element, ParserContext context) {
if (nodeNameEquals(element, COMMAND_BUNDLE)) {
- NamedNodeMap attrs = element.getAttributes();
- for (int i = 0; i < attrs.getLength(); i++) {
- Node child = attrs.item(i);
- if (child instanceof Attr) {
- Attr childAttr = (Attr) child;
- parseChildAttr(childAttr, context);
- }
- }
NodeList children = element.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
Node child = children.item(i);
@@ -140,164 +114,6 @@ public class NamespaceHandler implements org.apache.aries.blueprint.NamespaceHan
}
}
- private void parseChildAttr(Attr attr, ParserContext context) {
- if (nodeNameEquals(attr, SCAN)) {
- scan(attr, context);
- }
- }
-
- private void scan(Attr attr, ParserContext context) {
- try {
- Bundle bundle = getBundle(context);
- BundleWiring wiring = bundle.adapt(BundleWiring.class);
- for (String pkg : attr.getValue().split(" ")) {
- String name = pkg;
- int options = BundleWiring.LISTRESOURCES_LOCAL;
- name = name.replace('.', '/');
- if (name.endsWith("*")) {
- options |= BundleWiring.LISTRESOURCES_RECURSE;
- name = name.substring(0, name.length() - 1);
- }
- if (!name.startsWith("/")) {
- name = "/" + name;
- }
- if (name.endsWith("/")) {
- name = name.substring(0, name.length() - 1);
- }
- Collection<String> classes = wiring.listResources(name, "*.class", options);
- for (String className : classes) {
- className = className.replace('/', '.').replace(".class", "");
- inspectClass(context, bundle.loadClass(className));
- }
- }
- } catch (ComponentDefinitionException e) {
- throw e;
- } catch (Exception e) {
- throw new ComponentDefinitionException("Unable to scan commands", e);
- }
- }
-
- private void inspectClass(ParserContext context, Class<?> clazz) throws Exception {
- Service reg = clazz.getAnnotation(Service.class);
- if (reg == null) {
- return;
- }
- if (Action.class.isAssignableFrom(clazz)) {
- final Command cmd = clazz.getAnnotation(Command.class);
- if (cmd == null) {
- throw new IllegalArgumentException("Command " + clazz.getName() + " is not annotated with @Command");
- }
- String scope = cmd.scope();
- String function = cmd.name();
- // Create action
- MutableBeanMetadata action = context.createMetadata(MutableBeanMetadata.class);
- action.setId(getName());
- action.setActivation(MutableBeanMetadata.ACTIVATION_LAZY);
- action.setScope(MutableBeanMetadata.SCOPE_PROTOTYPE);
- action.setRuntimeClass(clazz);
- for (Class<?> cl = clazz; cl != Object.class; cl = cl.getSuperclass()) {
- for (Field field : cl.getDeclaredFields()) {
- if (field.getAnnotation(Reference.class) != null) {
- if (field.getType() == BundleContext.class) {
- action.addProperty(field.getName(), createRef(context, "blueprintBundleContext"));
- } else {
- action.addProperty(field.getName(), createRef(context, createServiceRef(context, field.getType()).getId()));
- }
- }
- }
- for (Method method : cl.getDeclaredMethods()) {
- if (method.getAnnotation(Init.class) != null) {
- if (action.getInitMethod() == null) {
- action.setInitMethod(method.getName());
- }
- }
- if (method.getAnnotation(Destroy.class) != null) {
- if (action.getDestroyMethod() == null) {
- action.setDestroyMethod(method.getName());
- }
- }
- }
- }
- context.getComponentDefinitionRegistry().registerComponentDefinition(action);
- // Create command
- MutableBeanMetadata command = context.createMetadata(MutableBeanMetadata.class);
- command.setRuntimeClass(BlueprintCommand.class);
- command.addProperty(BLUEPRINT_CONTAINER, createRef(context, BLUEPRINT_CONTAINER));
- command.addProperty(BLUEPRINT_CONVERTER, createRef(context, BLUEPRINT_CONVERTER));
- command.addProperty(ACTION_ID, createIdRef(context, action.getId()));
- // Create command service
- MutableServiceMetadata commandService = context.createMetadata(MutableServiceMetadata.class);
- commandService.setActivation(MutableServiceMetadata.ACTIVATION_LAZY);
- commandService.setId(getName());
- commandService.setAutoExport(ServiceMetadata.AUTO_EXPORT_ALL_CLASSES);
- commandService.setServiceComponent(command);
- commandService.addServiceProperty(createStringValue(context, "osgi.command.scope"),
- createStringValue(context, scope));
- commandService.addServiceProperty(createStringValue(context, "osgi.command.function"),
- createStringValue(context, function));
- context.getComponentDefinitionRegistry().registerComponentDefinition(commandService);
-
- // create the sub-shell action
- createSubShell(context, scope);
- }
- if (Completer.class.isAssignableFrom(clazz)) {
- MutableBeanMetadata completer = context.createMetadata(MutableBeanMetadata.class);
- completer.setId(getName());
- completer.setActivation(MutableBeanMetadata.ACTIVATION_LAZY);
- completer.setScope(MutableBeanMetadata.SCOPE_SINGLETON);
- completer.setRuntimeClass(clazz);
- // Create completer
- for (Class<?> cl = clazz; cl != Object.class; cl = cl.getSuperclass()) {
- for (Field field : cl.getDeclaredFields()) {
- if (field.getAnnotation(Reference.class) != null) {
- if (field.getType() == BundleContext.class) {
- completer.addProperty(field.getName(), createRef(context, "blueprintBundleContext"));
- } else {
- completer.addProperty(field.getName(), createRef(context, createServiceRef(context, field.getType()).getId()));
- }
- }
- }
- for (Method method : cl.getDeclaredMethods()) {
- if (method.getAnnotation(Init.class) != null) {
- if (completer.getInitMethod() == null) {
- completer.setInitMethod(method.getName());
- }
- }
- if (method.getAnnotation(Destroy.class) != null) {
- if (completer.getDestroyMethod() == null) {
- completer.setDestroyMethod(method.getName());
- }
- }
- }
- }
- context.getComponentDefinitionRegistry().registerComponentDefinition(completer);
- // Create completer service
- MutableServiceMetadata completerService = context.createMetadata(MutableServiceMetadata.class);
- completerService.setActivation(MutableServiceMetadata.ACTIVATION_LAZY);
- completerService.setId(getName());
- completerService.setAutoExport(ServiceMetadata.AUTO_EXPORT_ALL_CLASSES);
- completerService.setServiceComponent(createRef(context, completer.getId()));
- context.getComponentDefinitionRegistry().registerComponentDefinition(completerService);
- }
- }
-
- private ComponentMetadata createServiceRef(ParserContext context, Class<?> cls) {
- String id = ".serviceref." + cls.getName();
- ComponentMetadata metadata = context.getComponentDefinitionRegistry().getComponentDefinition(id);
- if (metadata == null) {
- MutableReferenceMetadata m = context.createMetadata(MutableReferenceMetadata.class);
- m.setRuntimeInterface(cls);
- m.setInterface(cls.getName());
- m.setActivation(ReferenceMetadata.ACTIVATION_EAGER);
- m.setAvailability(ReferenceMetadata.AVAILABILITY_MANDATORY);
- m.setId(id);
- context.getComponentDefinitionRegistry().registerComponentDefinition(m);
- return m;
- } else {
- return metadata;
- }
- }
-
private Bundle getBundle(ParserContext context) {
PassThroughMetadata ptm = (PassThroughMetadata) context.getComponentDefinitionRegistry().getComponentDefinition("blueprintBundle");
return (Bundle) ptm.getObject();
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java
deleted file mode 100644
index d985db3..0000000
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Destroy.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.shell.inject;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD})
-@Deprecated
-public @interface Destroy {
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java
deleted file mode 100644
index 99744e2..0000000
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Init.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.shell.inject;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD})
-@Deprecated
-public @interface Init {
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java
deleted file mode 100644
index 61feabc..0000000
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Reference.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.shell.inject;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.FIELD})
-@Deprecated
-public @interface Reference {
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java b/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java
deleted file mode 100644
index ef0d813..0000000
--- a/shell/console/src/main/java/org/apache/karaf/shell/inject/Service.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.shell.inject;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE})
-@Deprecated
-public @interface Service {
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/shell/console/src/main/resources/OSGI-INF/blueprint/shell-namespacehandler.xml
----------------------------------------------------------------------
diff --git a/shell/console/src/main/resources/OSGI-INF/blueprint/shell-namespacehandler.xml b/shell/console/src/main/resources/OSGI-INF/blueprint/shell-namespacehandler.xml
index b2b5566..be1dd92 100644
--- a/shell/console/src/main/resources/OSGI-INF/blueprint/shell-namespacehandler.xml
+++ b/shell/console/src/main/resources/OSGI-INF/blueprint/shell-namespacehandler.xml
@@ -33,10 +33,4 @@
</service-properties>
</service>
- <service ref="namespaceHandler" interface="org.apache.aries.blueprint.NamespaceHandler">
- <service-properties>
- <entry key="osgi.service.blueprint.namespace" value="http://karaf.apache.org/xmlns/shell/v1.2.0" />
- </service-properties>
- </service>
-
</blueprint>
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/shell/console/src/main/resources/org/apache/karaf/shell/console/commands/karaf-shell-1.2.0.xsd
----------------------------------------------------------------------
diff --git a/shell/console/src/main/resources/org/apache/karaf/shell/console/commands/karaf-shell-1.2.0.xsd b/shell/console/src/main/resources/org/apache/karaf/shell/console/commands/karaf-shell-1.2.0.xsd
deleted file mode 100644
index afc00f4..0000000
--- a/shell/console/src/main/resources/org/apache/karaf/shell/console/commands/karaf-shell-1.2.0.xsd
+++ /dev/null
@@ -1,225 +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.
--->
-
-<!-- $Rev: 699828 $ $Date: 2008-09-28 16:35:27 +0200 (Sun, 28 Sep 2008) $ -->
-
-<xsd:schema xmlns="http://karaf.apache.org/xmlns/shell/v1.2.0"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- targetNamespace="http://karaf.apache.org/xmlns/shell/v1.2.0"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified">
-
- <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0"/>
-
- <xsd:annotation>
- <xsd:documentation>
- Defines the configuration elements for Apache Karaf commands support.
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:element name="command-bundle">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a command bundle.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element ref="command" minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="scan" type="Tscan"/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:simpleType name="Tscan">
- <xsd:restriction>
- <xsd:simpleType>
- <xsd:list itemType="Tpackage" />
- </xsd:simpleType>
- <xsd:minLength value="1" />
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:simpleType name="Tpackage">
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="\*|[a-z]+(\.[a-z]+)+(\.\*)?" />
- </xsd:restriction>
- </xsd:simpleType>
-
- <xsd:element name="command">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a command.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <!--
- NOTE: Not using an xsd:choice here, as I can't seem to figure out how to get it to properly
- validate the min/max of the containted elements. W/o the xsd:choice the validation
- works, though have to define elements in order :-(
- -->
- <xsd:element ref="action" minOccurs="1" maxOccurs="1"/>
- <xsd:element ref="documenter" minOccurs="0" maxOccurs="1"/>
- <xsd:choice minOccurs="0" maxOccurs="1">
- <xsd:element ref="completer"/>
- <xsd:element ref="completers"/>
- </xsd:choice>
- <xsd:element ref="optional-completers" minOccurs="0" maxOccurs="1"/>
- <xsd:element ref="message-source" minOccurs="0" maxOccurs="1"/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:group name="commandComponentElements">
- <xsd:annotation>
- <xsd:documentation>
- Defines the valid elements for command components. This is based on beans:beanElements,
- stripping off the bits which are not valid in the command component context.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="argument" type="bp:Targument"/>
- <xsd:element name="property" type="bp:Tproperty"/>
- <!--
- NOTE: This seems to cause schema validation problems... not really sure why
- <xsd:any namespace="##other" processContents="strict" minOccurs="0" maxOccurs="unbounded"/>
- -->
- </xsd:choice>
- </xsd:sequence>
- </xsd:group>
-
- <xsd:attributeGroup name="commandComponentAttributes">
- <xsd:annotation>
- <xsd:documentation>
- Defines the valid attributes for command components. This is based on beans:beanAttributes,
- stripping off the bits which are not valid in the command component context.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="class" type="xsd:string"/>
- <xsd:attribute name="depends-on" type="xsd:string"/>
- <xsd:attribute name="init-method" type="xsd:string"/>
- <xsd:attribute name="factory-method" type="xsd:string"/>
- <xsd:attribute name="factory-bean" type="xsd:string"/>
- <xsd:anyAttribute namespace="##other" processContents="lax"/>
- </xsd:attributeGroup>
-
- <xsd:complexType name="commandComponent" abstract="true">
- <xsd:annotation>
- <xsd:documentation>
- Support for command component elements, which are all basically just beans.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:group ref="commandComponentElements"/>
- <xsd:attributeGroup ref="commandComponentAttributes"/>
- </xsd:complexType>
-
- <xsd:element name="action">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a command action.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="commandComponent"/>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="documenter">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a command documenter.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="commandComponent"/>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="completer">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a command completer.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="commandComponent"/>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="completers">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a configurable command completer with a set of completers.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:choice minOccurs="1" maxOccurs="unbounded">
- <xsd:element name="bean" type="bp:Tbean"/>
- <xsd:element name="ref" type="bp:Tref"/>
- <xsd:element name="null" type="bp:Tnull"/>
- </xsd:choice>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="optional-completers">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a configurable command completer with a set of completers.
- These completers are used for option value completion.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="bp:TtypedCollection">
- <xsd:sequence>
- <xsd:element name="entry" type="bp:TmapEntry" minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="key-type" type="bp:Ttype" />
- </xsd:extension>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name="message-source">
- <xsd:complexType>
- <xsd:annotation>
- <xsd:documentation>
- Defines a command message source.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexContent>
- <xsd:extension base="commandComponent"/>
- </xsd:complexContent>
- </xsd:complexType>
- </xsd:element>
-
-</xsd:schema>
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/tooling/karaf-scr-maven-plugin/NOTICE
----------------------------------------------------------------------
diff --git a/tooling/karaf-scr-maven-plugin/NOTICE b/tooling/karaf-scr-maven-plugin/NOTICE
deleted file mode 100644
index 7ec727b..0000000
--- a/tooling/karaf-scr-maven-plugin/NOTICE
+++ /dev/null
@@ -1,71 +0,0 @@
-Apache Karaf
-Copyright 2010-2014 The Apache Software Foundation
-
-
-I. Included Software
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright (c) OSGi Alliance (2000, 2010).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-OW2 (http://www.ow2.org/).
-Licensed under the BSD License.
-
-This product includes software developed at
-OPS4J (http://www.ops4j.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software developed at
-Eclipse Foundation (http://www.eclipse.org/).
-Licensed under the EPL.
-
-This product includes software written by
-Antony Lesuisse.
-Licensed under Public Domain.
-
-
-II. Used Software
-
-This product uses software developed at
-FUSE Source (http://www.fusesource.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-AOP Alliance (http://aopalliance.sourceforge.net/).
-Licensed under the Public Domain.
-
-This product uses software developed at
-Tanuki Software (http://www.tanukisoftware.com/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-Jasypt (http://jasypt.sourceforge.net/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-JLine (http://jline.sourceforge.net).
-Licensed under the BSD License.
-
-This product uses software developed at
-SLF4J (http://www.slf4j.org/).
-Licensed under the MIT License.
-
-This product uses software developed at
-SpringSource (http://www.springsource.org/).
-Licensed under the Apache License 2.0.
-
-This product includes software from http://www.json.org.
-Copyright (c) 2002 JSON.org
-
-
-III. License Summary
-- Apache License 2.0
-- BSD License
-- EPL License
-- MIT License
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/tooling/karaf-scr-maven-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/tooling/karaf-scr-maven-plugin/pom.xml b/tooling/karaf-scr-maven-plugin/pom.xml
deleted file mode 100644
index 6189e8f..0000000
--- a/tooling/karaf-scr-maven-plugin/pom.xml
+++ /dev/null
@@ -1,243 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <!--
-
- 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.
- -->
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.karaf.tooling</groupId>
- <artifactId>tooling</artifactId>
- <version>3.1.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
-
- <artifactId>karaf-scr-maven-plugin</artifactId>
- <packaging>maven-plugin</packaging>
- <name>Apache Karaf :: Tooling :: Maven Karaf SCR Plugin</name>
-
- <properties>
- <appendedResourcesDirectory>${basedir}/../../etc/appended-resources</appendedResourcesDirectory>
- </properties>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>3.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.sonatype.aether</groupId>
- <artifactId>aether-api</artifactId>
- <version>1.11</version>
- </dependency>
- <dependency>
- <groupId>org.sonatype.aether</groupId>
- <artifactId>aether-util</artifactId>
- <version>1.11</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-artifact</artifactId>
- <version>3.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-core</artifactId>
- <version>3.0.3</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-compat</artifactId>
- <version>3.0.3</version>
- </dependency>
-
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-jdk14</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven.shared</groupId>
- <artifactId>maven-filtering</artifactId>
- <version>1.0-beta-4</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- <version>3.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.bundlerepository</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.fileinstall</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.features</groupId>
- <artifactId>org.apache.karaf.features.core</artifactId>
- <exclusions>
- <exclusion>
- <artifactId>org.apache.karaf.shell.console</artifactId>
- <groupId>org.apache.karaf.shell</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.url</groupId>
- <artifactId>pax-url-wrap</artifactId>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.url</groupId>
- <artifactId>pax-url-aether</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.deployer</groupId>
- <artifactId>org.apache.karaf.deployer.spring</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.deployer</groupId>
- <artifactId>org.apache.karaf.deployer.blueprint</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.deployer</groupId>
- <artifactId>org.apache.karaf.deployer.features</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.deployer</groupId>
- <artifactId>org.apache.karaf.deployer.kar</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.kar</groupId>
- <artifactId>org.apache.karaf.kar.core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.servicemix.bundles</groupId>
- <artifactId>org.apache.servicemix.bundles.ant</artifactId>
- </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.scr</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.gogo.runtime</artifactId>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.xbean</groupId>
- <artifactId>xbean-finder-shaded</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.scr.generator</artifactId>
- <version>1.5.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.felix</groupId>
- <artifactId>org.apache.felix.scr.ds-annotations</artifactId>
- <version>1.2.4</version>
- </dependency>
- <dependency>
- <groupId>org.sonatype.plexus</groupId>
- <artifactId>plexus-build-api</artifactId>
- <version>0.0.7</version>
- </dependency>
- </dependencies>
-
- <profiles>
- <profile>
- <id>ci-build-profile</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-invoker-plugin</artifactId>
- <version>1.6</version>
- <configuration>
- <debug>true</debug>
- <projectsDirectory>src/it</projectsDirectory>
- <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
- <pomIncludes>
- <pomInclude>*/pom.xml</pomInclude>
- </pomIncludes>
- <postBuildHookScript>verify</postBuildHookScript>
- <localRepositoryPath>${project.build.directory}/system</localRepositoryPath>
- <!--<settingsFile>src/it/settings.xml</settingsFile>-->
- <mavenOpts>-Djava.io.tmpdir=${project.build.directory}</mavenOpts>
- <goals>
- <goal>install</goal>
- </goals>
- </configuration>
- <executions>
- <execution>
- <id>integration-test</id>
- <goals>
- <goal>install</goal>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>xmlunit</groupId>
- <artifactId>xmlunit</artifactId>
- <version>1.3</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- <reporting>
- <!--<outputDirectory>target/site</outputDirectory>-->
- <plugins>
- <plugin>
- <artifactId>maven-plugin-plugin</artifactId>
- <version>2.9</version>
- </plugin>
- </plugins>
- </reporting>
-
-</project>
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandMojo.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandMojo.java b/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandMojo.java
deleted file mode 100644
index 413bc6c..0000000
--- a/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandMojo.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.scr;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.apache.felix.service.command.CommandProcessor;
-import org.apache.felix.service.command.Function;
-import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.CommandWithAction;
-import org.apache.karaf.shell.console.CompletableFunction;
-import org.apache.karaf.shell.inject.Destroy;
-import org.apache.karaf.shell.inject.Init;
-import org.apache.karaf.shell.inject.Reference;
-import org.apache.karaf.shell.inject.Service;
-import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import org.apache.maven.model.Resource;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.xbean.finder.ClassFinder;
-
-/**
- * The <code>ScrCommandMojo</code> generates a service descriptor file based
- * on annotations found in the sources.
- *
- * @goal scr
- * @phase process-classes
- * @threadSafe
- * @description Build Service Descriptors from Java Source
- * @requiresDependencyResolution compile
- */
-public class ScrCommandMojo extends AbstractMojo {
-
- /**
- * The Maven project.
- *
- * @parameter expression="project"
- * @required
- * @readonly
- */
- private MavenProject project;
-
- /**
- * @parameter expression="${project.build.directory}/generated-scr-commands"
- */
- private File outputDirectory;
-
- /**
- * @parameter
- */
- private int ranking;
-
- @Override
- public void execute() throws MojoExecutionException, MojoFailureException {
- try {
- ClassFinder finder = new ClassFinder(getClassLoader());
- List<String> components = new ArrayList<String>();
- boolean hasCommand = false;
- for (Class<?> clazz : finder.findAnnotatedClasses(Service.class)) {
-
- Command cmd = clazz.getAnnotation(Command.class);
- if (cmd != null) {
-// System.out.println("\nFound command: " + clazz.getName() + "\n\t" + cmd.scope() + ":" + cmd.name() + "\n");
-
- StringBuilder sb = new StringBuilder();
- sb.append("<?xml version='1.1'?>\n");
- sb.append("<scr:component xmlns:scr=\"http://www.osgi.org/xmlns/scr/v1.1.0\" name=\"")
- .append(clazz.getName())
- .append("\" activate=\"activate\" deactivate=\"deactivate\">\n");
- sb.append(" <implementation class=\"").append(ScrCommandSupport.class.getName()).append("\"/>\n");
- sb.append(" <service>\n");
- sb.append(" <provide interface=\"").append(Function.class.getName()).append("\"/>\n");
- sb.append(" <provide interface=\"").append(CompletableFunction.class.getName()).append("\"/>\n");
- sb.append(" <provide interface=\"").append(CommandWithAction.class.getName()).append("\"/>\n");
- sb.append(" </service>\n");
- Map<String, Class> refs = getReferences(clazz);
- for (String key : refs.keySet()) {
- sb.append(" <reference name=\"").append(key).append("\" cardinality=\"1..1\" interface=\"")
- .append(refs.get(key).getName()).append("\"/>\n");
- }
- sb.append(" <property name=\"hidden.component\" value=\"true\"/>\n");
- if (ranking != 0) {
- sb.append(" <property name=\"service.ranking\" value=\"").append(ranking).append("\"/>\n");
- }
- sb.append(" <property name=\"").append(CommandProcessor.COMMAND_SCOPE).append("\" value=\"").append(cmd.scope()).append("\"/>\n");
- sb.append(" <property name=\"").append(CommandProcessor.COMMAND_FUNCTION).append("\" value=\"").append(cmd.name()).append("\"/>\n");
- sb.append("</scr:component>\n");
- String component = "OSGI-INF/" + clazz.getName() + ".xml";
- components.add(component);
- File file = new File(outputDirectory, component);
- file.getParentFile().mkdirs();
- Writer w = new FileWriter(file);
- w.write(sb.toString());
- w.close();
- hasCommand = true;
- } else {
-// System.out.println("\nFound service: " + clazz.getName() + "\n");
-
- StringBuilder sb = new StringBuilder();
- sb.append("<?xml version='1.1'?>\n");
-
- String[] lf = getLifecycleMethods(clazz);
- sb.append("<scr:component xmlns:scr=\"http://www.osgi.org/xmlns/scr/v1.1.0\" name=\"")
- .append(clazz.getName()).append("\"");
- if (lf[0] != null) {
- sb.append(" activate=\"activate\"");
- }
- if (lf[1] != null) {
- sb.append(" deactivate=\"deactivate\"");
- }
- sb.append(">\n");
- sb.append(" <implementation class=\"").append(clazz.getName()).append("\"/>\n");
- sb.append(" <service>\n");
- List<Class> allClasses = new ArrayList<Class>();
- addAllClasses(allClasses, clazz);
- for (Class cl : allClasses) {
- sb.append(" <provide interface=\"").append(cl.getName()).append("\"/>\n");
- }
- sb.append(" </service>\n");
- Map<String, Class> refs = getReferences(clazz);
- for (String key : refs.keySet()) {
- sb.append(" <reference name=\"").append(key).append("\" cardinality=\"1..1\" interface=\"")
- .append(refs.get(key).getName()).append("\"");
- String[] bind = getBindMethods(clazz, key, refs.get(key));
- if (bind[0] != null) {
- sb.append(" bind=\"").append(bind[0]).append("\"");
- }
- if (bind[1] != null) {
- sb.append(" unbind=\"").append(bind[1]).append("\"");
- }
- sb.append("/>\n");
- }
- sb.append(" <property name=\"hidden.component\" value=\"true\"/>\n");
- if (ranking != 0) {
- sb.append(" <property name=\"service.ranking\" value=\"").append(ranking).append("\"/>\n");
- }
- sb.append("</scr:component>\n");
- String component = "OSGI-INF/" + clazz.getName() + ".xml";
- components.add(component);
- File file = new File(outputDirectory, component);
- file.getParentFile().mkdirs();
- Writer w = new FileWriter(file);
- w.write(sb.toString());
- w.close();
- }
- }
- if (!components.isEmpty()) {
- if (hasCommand) {
- String name = ScrCommandSupport.class.getName().replace('.', '/') + ".class";
- File file = new File(outputDirectory, name);
- file.getParentFile().mkdirs();
- URL url = getClass().getClassLoader().getResource(name);
- InputStream is = url.openStream();
- FileOutputStream fos = new FileOutputStream(file);
- copy(is, fos);
- is.close();
- fos.close();
- name = ScrCommandSupport.class.getName();
- name = name.substring(0, name.lastIndexOf('.'));
- setPrivatePackageHeader(name);
- }
- setServiceComponentHeader(components);
- updateProjectResources();
- }
- } catch (Exception e) {
- throw new MojoExecutionException("Error executing SCR command scanner", e);
- }
- }
-
- private String[] getLifecycleMethods(Class<?> clazz) {
- Method activate = null;
- Method deactivate = null;
- for (Method method : clazz.getMethods()) {
- if (method.getAnnotation(Init.class) != null) {
- if (activate == null) {
- activate = method;
- } else {
- throw new IllegalArgumentException("Multiple methods annotated with @Init found");
- }
- }
- if (method.getAnnotation(Destroy.class) != null) {
- if (deactivate == null) {
- deactivate = method;
- } else {
- throw new IllegalArgumentException("Multiple methods annotated with @Destroy found");
- }
- }
- }
- return new String[]{
- activate != null ? activate.getName() : null,
- deactivate != null ? deactivate.getName() : null
- };
- }
-
- private String[] getBindMethods(Class<?> clazz, String key, Class type) {
- String cap = key.substring(0, 1).toUpperCase() + key.substring(1);
- Method bind = null;
- Method unbind = null;
- try {
- bind = clazz.getMethod("set" + cap, type);
- } catch (NoSuchMethodException e0) {
- try {
- bind = clazz.getMethod("bind" + cap, type);
- } catch (NoSuchMethodException e1) {
- }
- }
- if (bind != null) {
- try {
- unbind = clazz.getMethod("un" + bind.getName(), type);
- } catch (NoSuchMethodException e0) {
- }
- }
- return new String[]{
- bind != null ? bind.getName() : null,
- unbind != null ? unbind.getName() : null
- };
- }
-
- private void addAllClasses(List<Class> allClasses, Class<?> clazz) {
- if (clazz != null && clazz != Object.class) {
- if (allClasses.add(clazz)) {
- addAllClasses(allClasses, clazz.getSuperclass());
- for (Class cl : clazz.getInterfaces()) {
- addAllClasses(allClasses, cl);
- }
- }
- }
- }
-
- private Map<String, Class> getReferences(Class<?> clazz) {
- Map<String, Class> refs = new HashMap<String, Class>();
- while (clazz != null) {
- for (Field field : clazz.getDeclaredFields()) {
- if (field.getAnnotation(Reference.class) != null) {
- refs.put(field.getName(), field.getType());
- }
- }
- clazz = clazz.getSuperclass();
- }
- return refs;
- }
-
- private ClassLoader getClassLoader() throws MojoFailureException, DependencyResolutionRequiredException, MalformedURLException {
- List<String> roots = Arrays.asList(project.getBuild().getOutputDirectory());
- List<String> paths = project.getCompileClasspathElements();
- List<URL> parentUrls = new ArrayList<URL>();
- List<URL> childUrls = new ArrayList<URL>();
-
-// System.out.println("Roots: " + roots);
-// System.out.println("Paths: " + paths);
- for (String path : paths) {
- URL url = new File(path).toURL();
- if (roots.contains(path)) {
- childUrls.add(url);
- } else {
- parentUrls.add(url);
- }
- }
- ClassLoader classLoader = new URLClassLoader(childUrls.toArray(new URL[]{}),
- new URLClassLoader(parentUrls.toArray(new URL[]{}), getClass().getClassLoader()));
- return classLoader;
- }
-
- private void setPrivatePackageHeader(String pkg) {
- String header = project.getProperties().getProperty("Private-Package");
- if (header != null && header.length() > 0) {
- header += "," + pkg;
- } else {
- header = pkg;
- }
- project.getProperties().setProperty("Private-Package", header);
-// System.out.println("\nPrivate-Package: " + header + "\n");
- }
-
- /**
- * Set the service component header based on the scr files.
- */
- private void setServiceComponentHeader(final List<String> files) {
- if (files != null && files.size() > 0) {
- final String svcHeader = project.getProperties().getProperty("Service-Component");
- final Set<String> xmlFiles = new HashSet<String>();
- if (svcHeader != null) {
- final StringTokenizer st = new StringTokenizer(svcHeader, ",");
- while (st.hasMoreTokens()) {
- final String token = st.nextToken();
- xmlFiles.add(token.trim());
- }
- }
-
- for (final String path : files) {
- xmlFiles.add(path);
- }
- final StringBuilder sb = new StringBuilder();
- boolean first = true;
- for (final String entry : xmlFiles) {
- if (!first) {
- sb.append(", ");
- } else {
- first = false;
- }
- sb.append(entry);
- }
- project.getProperties().setProperty("Service-Component", sb.toString());
-// System.out.println("\nService-Component: " + sb.toString() + "\n");
- }
- }
-
- /**
- * Update the Maven project resources.
- */
- private void updateProjectResources() {
- // now add the descriptor directory to the maven resources
- final String ourRsrcPath = this.outputDirectory.getAbsolutePath();
- boolean found = false;
- @SuppressWarnings("unchecked")
- final Iterator<Resource> rsrcIterator = this.project.getResources().iterator();
- while (!found && rsrcIterator.hasNext()) {
- final Resource rsrc = rsrcIterator.next();
- found = rsrc.getDirectory().equals(ourRsrcPath);
- }
- if (!found) {
- final Resource resource = new Resource();
- resource.setDirectory(this.outputDirectory.getAbsolutePath());
- this.project.addResource(resource);
- }
- }
-
- static void copy(InputStream is, OutputStream os) throws IOException {
- byte[] buffer = new byte[8192];
- int l;
- while ((l = is.read(buffer)) > 0) {
- os.write(buffer, 0, l);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandSupport.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandSupport.java b/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandSupport.java
deleted file mode 100644
index 2a16ebb..0000000
--- a/tooling/karaf-scr-maven-plugin/src/main/java/org/apache/karaf/tooling/scr/ScrCommandSupport.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.karaf.tooling.scr;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.felix.gogo.commands.Action;
-import org.apache.karaf.shell.commands.basic.AbstractCommand;
-import org.apache.karaf.shell.console.BundleContextAware;
-import org.apache.karaf.shell.console.CompletableFunction;
-import org.apache.karaf.shell.console.Completer;
-import org.apache.karaf.shell.inject.Init;
-import org.apache.karaf.shell.inject.Reference;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.component.ComponentContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ScrCommandSupport extends AbstractCommand implements CompletableFunction {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(ScrCommandSupport.class);
-
- private ComponentContext componentContext;
-
- public ScrCommandSupport() {
- }
-
- public void activate(ComponentContext componentContext) {
- LOGGER.info("Activating SCR command for " + componentContext.getProperties().get("component.name"));
- this.componentContext = componentContext;
- }
-
- public void deactivate(ComponentContext componentContext) {
- }
-
- public Class<? extends Action> getActionClass() {
- try {
- String className = (String) componentContext.getProperties().get("component.name");
- return (Class<? extends Action>) componentContext.getBundleContext().getBundle().loadClass(className);
- } catch (ClassNotFoundException e) {
- throw new IllegalStateException(e);
- }
- }
-
- @Override
- public Action createNewAction() {
- Class actionClass = getActionClass();
- try {
- Action action = (Action) actionClass.newInstance();
- // Inject services
- for (Class<?> cl = actionClass; cl != Object.class; cl = cl.getSuperclass()) {
- for (Field field : cl.getDeclaredFields()) {
- if (field.getAnnotation(Reference.class) != null) {
- Object value;
- if (field.getType() == BundleContext.class) {
- value = componentContext.getBundleContext();
- } else {
- value = componentContext.locateService(field.getName());
- }
- if (value == null) {
- throw new RuntimeException("No OSGi service matching " + field.getType().getName());
- }
- field.setAccessible(true);
- field.set(action, value);
- }
- }
- }
- if (action instanceof BundleContextAware) {
- ((BundleContextAware) action).setBundleContext(componentContext.getBundleContext());
- }
- for (Method method : actionClass.getDeclaredMethods()) {
- Init ann = method.getAnnotation(Init.class);
- if (ann != null && method.getParameterTypes().length == 0 && method.getReturnType() == void.class) {
- method.setAccessible(true);
- method.invoke(action);
- }
- }
- return action;
- } catch (Exception e) {
- throw new RuntimeException("Unable to creation command action " + actionClass.getName(), e);
- }
- }
-
- @Override
- public List<Completer> getCompleters() {
- return null;
- }
-
- @Override
- public Map<String, Completer> getOptionalCompleters() {
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/karaf/blob/662c07a6/tooling/pom.xml
----------------------------------------------------------------------
diff --git a/tooling/pom.xml b/tooling/pom.xml
index 619463e..8535a9e 100644
--- a/tooling/pom.xml
+++ b/tooling/pom.xml
@@ -34,7 +34,6 @@
<name>Apache Karaf :: Tooling</name>
<modules>
- <module>karaf-scr-maven-plugin</module>
<module>karaf-maven-plugin</module>
</modules>
[2/6] git commit: [KARAF-2773] Refreshing the console bundle closes
karaf Regression with the new console. Also,
make sure that we usually end up on a new line after stopping the console so
that in case of a restart, the banner is correctly displayed.
Posted by gn...@apache.org.
[KARAF-2773] Refreshing the console bundle closes karaf
Regression with the new console.
Also, make sure that we usually end up on a new line after stopping the console so that in case of a restart, the banner is correctly displayed.
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/7ccf13cc
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/7ccf13cc
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/7ccf13cc
Branch: refs/heads/master
Commit: 7ccf13cc63e8949354db1ff50f3f404aa2ba9e4d
Parents: bc7bf92
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Mar 6 00:55:49 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Thu Mar 6 00:55:49 2014 +0100
----------------------------------------------------------------------
.../org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java | 4 +++-
.../java/org/apache/karaf/shell/impl/console/osgi/Activator.java | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/7ccf13cc/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
----------------------------------------------------------------------
diff --git a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
index 7988035..0bf75f0 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
@@ -213,6 +213,7 @@ public class ConsoleSessionImpl implements Session {
if (!running) {
return;
}
+ out.println();
if (reader.getHistory() instanceof PersistentHistory) {
try {
((PersistentHistory) reader.getHistory()).flush();
@@ -558,7 +559,8 @@ public class ConsoleSessionImpl implements Session {
if (c == -1) {
return;
} else if (c == 4 && !ShellUtil.getBoolean(ConsoleSessionImpl.this, Session.IGNORE_INTERRUPTS)) {
- err.println("^D");
+ err.print("^D");
+ err.flush();
return;
} else if (c == 3 && !ShellUtil.getBoolean(ConsoleSessionImpl.this, Session.IGNORE_INTERRUPTS)) {
err.println("^C");
http://git-wip-us.apache.org/repos/asf/karaf/blob/7ccf13cc/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/Activator.java
----------------------------------------------------------------------
diff --git a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/Activator.java b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/Activator.java
index 921dca3..1dba465 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/Activator.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/Activator.java
@@ -69,8 +69,8 @@ public class Activator implements BundleActivator {
@Override
public void stop(BundleContext context) throws Exception {
sessionFactoryRegistration.unregister();
- sessionFactory.stop();
localConsoleManager.stop();
+ sessionFactory.stop();
actionExtender.stop(context);
threadIO.stop();
terminalFactory.destroy();