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/01/30 15:58:49 UTC
svn commit: r1065300 - in
/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3:
CallMethodRule.java Digester.java
Author: simonetripodi
Date: Sun Jan 30 14:58:49 2011
New Revision: 1065300
URL: http://svn.apache.org/viewvc?rev=1065300&view=rev
Log:
added the converters lookup method, initially a façade on commons-beanutils converter
Modified:
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/CallMethodRule.java
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/Digester.java
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/CallMethodRule.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/CallMethodRule.java?rev=1065300&r1=1065299&r2=1065300&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/CallMethodRule.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/CallMethodRule.java Sun Jan 30 14:58:49 2011
@@ -19,7 +19,6 @@ package org.apache.commons.digester3;
import java.util.Formatter;
-import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.MethodUtils;
import org.xml.sax.Attributes;
@@ -250,10 +249,9 @@ public class CallMethodRule extends Rule
// convert nulls and convert stringy parameters
// for non-stringy param types
if (parameters[i] == null
- || (parameters[i] instanceof String
- && !String.class.isAssignableFrom(this.paramTypes[i]))) {
+ || (parameters[i] instanceof String && !String.class.isAssignableFrom(this.paramTypes[i]))) {
- paramValues[i] = ConvertUtils.convert((String) parameters[i], this.paramTypes[i]);
+ paramValues[i] = this.getDigester().lookupConverter(this.paramTypes[i]).convert((String) parameters[i]);
} else {
paramValues[i] = parameters[i];
}
@@ -268,7 +266,7 @@ public class CallMethodRule extends Rule
}
if (target == null) {
- throw new org.xml.sax.SAXException(
+ throw this.getDigester().createSAXException(
String.format("[CallMethodRule]{%s} Call target is null (targetOffset=%s, stackdepth=%s)",
this.getDigester().getMatch(),
this.targetOffset,
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/Digester.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/Digester.java?rev=1065300&r1=1065299&r2=1065300&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/Digester.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/Digester.java Sun Jan 30 14:58:49 2011
@@ -26,6 +26,7 @@ import java.util.EmptyStackException;
import java.util.Map;
import org.apache.commons.digester3.spi.Rules;
+import org.apache.commons.digester3.spi.TypeConverter;
import org.apache.commons.logging.Log;
import org.xml.sax.ContentHandler;
import org.xml.sax.DTDHandler;
@@ -367,4 +368,15 @@ public interface Digester extends Conten
*/
SAXException createSAXException(String message);
+ /**
+ * Allows retrieve the bound converter for the given type.
+ *
+ * NOTE: the first version will be a commons-beanutils Converter façade.
+ *
+ * @param <T>
+ * @param type
+ * @return
+ */
+ <T> TypeConverter<T> lookupConverter(Class<T> type);
+
}