Author: simonetripodi
Date: Sun Feb 13 01:22:06 2011
New Revision: 1070172
URL: http://svn.apache.org/viewvc?rev=1070172&view=rev
Log:
fixed parameterIndex/stackIndex misunderstanding
Modified:
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/CallParamHandler.java
Modified:
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/CallParamHandler.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/CallParamHandler.java?rev=1070172&r1=1070171&r2=1070172&view=diff
==============================================================================
---
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/CallParamHandler.java
(original)
+++
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/annotations/handlers/CallParamHandler.java
Sun Feb 13 01:22:06 2011
@@ -21,6 +21,7 @@ import org.apache.commons.digester3.Rule
import org.apache.commons.digester3.annotations.AnnotationHandler;
import org.apache.commons.digester3.annotations.reflect.MethodArgument;
import org.apache.commons.digester3.annotations.rules.CallParam;
+import org.apache.commons.digester3.rulesbinder.CallParamBuilder;
/**
* {@link CallParam} handler.
@@ -31,13 +32,14 @@ public final class CallParamHandler impl
* {@inheritDoc}
*/
public void handle(CallParam annotation, MethodArgument element,
RulesBinder rulesBinder) {
- rulesBinder.forPattern(annotation.pattern())
+ CallParamBuilder builder = rulesBinder.forPattern(annotation.pattern())
.withNamespaceURI(annotation.namespaceURI())
.callParam()
.ofIndex(element.getIndex())
- .fromAttribute(annotation.attributeName().length() > 0 ?
annotation.attributeName() : null)
- .fromStack(annotation.fromStack())
- .ofIndex(annotation.stackIndex());
+ .fromAttribute(annotation.attributeName().length() > 0 ?
annotation.attributeName() : null);
+ if (annotation.fromStack()) {
+ builder.withStackIndex(annotation.stackIndex());
+ }
}
}