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 2010/09/03 22:22:31 UTC
svn commit: r992450 - in
/karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands:
Argument.java basic/DefaultActionPreparator.java
Author: gnodet
Date: Fri Sep 3 20:22:30 2010
New Revision: 992450
URL: http://svn.apache.org/viewvc?rev=992450&view=rev
Log:
KARAF-152: when using the @Argument annotation, if there is no name specified it would be nice to reuse the name of the field, rather than use VAL
Modified:
karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/Argument.java
karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/basic/DefaultActionPreparator.java
Modified: karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/Argument.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/Argument.java?rev=992450&r1=992449&r2=992450&view=diff
==============================================================================
--- karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/Argument.java (original)
+++ karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/Argument.java Fri Sep 3 20:22:30 2010
@@ -30,7 +30,10 @@ import java.lang.annotation.ElementType;
@Target({ElementType.FIELD})
public @interface Argument
{
- String name() default "VAL";
+
+ String DEFAULT = "##default";
+
+ String name() default DEFAULT;
String description() default "";
Modified: karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/basic/DefaultActionPreparator.java
URL: http://svn.apache.org/viewvc/karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/basic/DefaultActionPreparator.java?rev=992450&r1=992449&r2=992450&view=diff
==============================================================================
--- karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/basic/DefaultActionPreparator.java (original)
+++ karaf/trunk/shell/console/src/main/java/org/apache/felix/gogo/commands/basic/DefaultActionPreparator.java Fri Sep 3 20:22:30 2010
@@ -84,6 +84,30 @@ public class DefaultActionPreparator imp
}
Argument argument = field.getAnnotation(Argument.class);
if (argument != null) {
+ if (Argument.DEFAULT.equals(argument.name())) {
+ final Argument delegate = argument;
+ final String name = field.getName();
+ argument = new Argument() {
+ public String name() {
+ return name;
+ }
+ public String description() {
+ return delegate.description();
+ }
+ public boolean required() {
+ return delegate.required();
+ }
+ public int index() {
+ return delegate.index();
+ }
+ public boolean multiValued() {
+ return delegate.multiValued();
+ }
+ public Class<? extends Annotation> annotationType() {
+ return delegate.annotationType();
+ }
+ };
+ }
arguments.put(argument, field);
int index = argument.index();
while (orderedArguments.size() <= index) {