You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/02/15 21:53:46 UTC
svn commit: r1071051 - in /commons/sandbox/digester3/trunk/src/main:
java/org/apache/commons/digester3/xmlrules/metaparser/CallMethodRule.java
resources/org/apache/commons/digester3/xmlrules/digester-rules.dtd
Author: simonetripodi
Date: Tue Feb 15 20:53:46 2011
New Revision: 1071051
URL: http://svn.apache.org/viewvc?rev=1071051&view=rev
Log:
added missing support for XML "useExactMatch" and "usingElementBodyAsArgument" attributes for "call-method-rule"
Modified:
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/CallMethodRule.java
commons/sandbox/digester3/trunk/src/main/resources/org/apache/commons/digester3/xmlrules/digester-rules.dtd
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/CallMethodRule.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/CallMethodRule.java?rev=1071051&r1=1071050&r2=1071051&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/CallMethodRule.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/xmlrules/metaparser/CallMethodRule.java Tue Feb 15 20:53:46 2011
@@ -49,24 +49,29 @@ final class CallMethodRule extends Abstr
builder.withTargetOffset(targetOffset);
}
+ if ("true".equalsIgnoreCase(attributes.getValue("usingElementBodyAsArgument"))) {
+ builder.usingElementBodyAsArgument();
+ return; // this takes advantage
+ }
+
+ builder.useExactMatch("true".equalsIgnoreCase(attributes.getValue("useExactMatch")));
+
String paramCountStr = attributes.getValue("paramcount");
if (paramCountStr != null) {
int paramCount = Integer.parseInt(attributes.getValue("paramcount"));
builder.withParamCount(paramCount);
+ }
- String paramTypesStr = attributes.getValue("paramtypes");
- if (paramTypesStr != null && paramTypesStr.length() > 0) {
- StringTokenizer tokens = new StringTokenizer(paramTypesStr, " \t\n\r,");
- String[] paramTypeNames = new String[tokens.countTokens()];
- int counter = 0;
- while (tokens.hasMoreTokens()) {
- paramTypeNames[counter++] = tokens.nextToken();
- }
- builder.withParamTypes(paramTypeNames);
+ String paramTypesStr = attributes.getValue("paramtypes");
+ if (paramTypesStr != null && paramTypesStr.length() > 0) {
+ StringTokenizer tokens = new StringTokenizer(paramTypesStr, " \t\n\r,");
+ String[] paramTypeNames = new String[tokens.countTokens()];
+ int counter = 0;
+ while (tokens.hasMoreTokens()) {
+ paramTypeNames[counter++] = tokens.nextToken();
}
- } else {
- builder.usingElementBodyAsArgument();
+ builder.withParamTypes(paramTypeNames);
}
}
Modified: commons/sandbox/digester3/trunk/src/main/resources/org/apache/commons/digester3/xmlrules/digester-rules.dtd
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/resources/org/apache/commons/digester3/xmlrules/digester-rules.dtd?rev=1071051&r1=1071050&r2=1071051&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/resources/org/apache/commons/digester3/xmlrules/digester-rules.dtd (original)
+++ commons/sandbox/digester3/trunk/src/main/resources/org/apache/commons/digester3/xmlrules/digester-rules.dtd Tue Feb 15 20:53:46 2011
@@ -98,11 +98,13 @@
-->
<!ELEMENT call-method-rule EMPTY>
<!ATTLIST call-method-rule
- pattern CDATA #IMPLIED
- targetoffset CDATA #IMPLIED
- methodname CDATA #REQUIRED
- paramcount CDATA #IMPLIED
- paramtypes CDATA #IMPLIED>
+ pattern CDATA #IMPLIED
+ targetoffset CDATA #IMPLIED
+ methodname CDATA #REQUIRED
+ paramcount CDATA #IMPLIED
+ paramtypes CDATA #IMPLIED
+ usingElementBodyAsArgument CDATA #IMPLIED
+ useExactMatch CDATA #IMPLIED>
<!--
CallParamRule