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/02/14 13:44:20 UTC
[10/15] git commit: [KARAF-2756] Allow simple StringsCompleter
definitions using @Completer
[KARAF-2756] Allow simple StringsCompleter definitions using @Completer
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/334121ea
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/334121ea
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/334121ea
Branch: refs/heads/master
Commit: 334121ead51a45cd61c8bbd932c24b18825d892f
Parents: bdb8f07
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Thu Feb 13 15:06:38 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Fri Feb 14 13:43:57 2014 +0100
----------------------------------------------------------------------
.../apache/karaf/shell/commands/Completer.java | 4 ++++
.../console/completer/ArgumentCompleter.java | 18 ++++++++++++++----
2 files changed, 18 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/334121ea/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 6724dc6..ece3e1d 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
@@ -27,4 +27,8 @@ public @interface Completer {
Class<? extends org.apache.karaf.shell.console.Completer> value();
+ String[] values() default { };
+
+ boolean caseSensitive() default false;
+
}
http://git-wip-us.apache.org/repos/asf/karaf/blob/334121ea/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 1424bd6..ea6a5d4 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
@@ -122,9 +122,14 @@ public class ArgumentCompleter implements Completer {
org.apache.karaf.shell.commands.Completer ann = completerAnnotations.get(field);
if (ann != null) {
Class clazz = ann.value();
+ String[] values = ann.values();
if (clazz != null) {
- BundleContext context = FrameworkUtil.getBundle(function.getClass()).getBundleContext();
- completer = new ProxyServiceCompleter(context, clazz);
+ if (values.length > 0 && clazz == StringsCompleter.class) {
+ completer = new StringsCompleter(values, ann.caseSensitive());
+ } else {
+ BundleContext context = FrameworkUtil.getBundle(function.getClass()).getBundleContext();
+ completer = new ProxyServiceCompleter(context, clazz);
+ }
}
}
}
@@ -144,9 +149,14 @@ public class ArgumentCompleter implements Completer {
org.apache.karaf.shell.commands.Completer ann = completerAnnotations.get(field);
if (ann != null) {
Class clazz = ann.value();
+ String[] values = ann.values();
if (clazz != null) {
- BundleContext context = FrameworkUtil.getBundle(function.getClass()).getBundleContext();
- completer = new ProxyServiceCompleter(context, clazz);
+ if (values.length > 0 && clazz == StringsCompleter.class) {
+ completer = new StringsCompleter(values, ann.caseSensitive());
+ } else {
+ BundleContext context = FrameworkUtil.getBundle(function.getClass()).getBundleContext();
+ completer = new ProxyServiceCompleter(context, clazz);
+ }
}
}
}