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/08 20:27:38 UTC
svn commit: r1068538 - in
/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3:
RulesBinderImpl.java rulesbinder/NestedPropertiesBuilder.java
Author: simonetripodi
Date: Tue Feb 8 19:27:38 2011
New Revision: 1068538
URL: http://svn.apache.org/viewvc?rev=1068538&view=rev
Log:
added method to ignore a child XML element when SetNestedPropertiesRule
when explicitly specifying an alias on SetNestedPropertiesRule, null values are not allowed
Modified:
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java
commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java?rev=1068538&r1=1068537&r2=1068538&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java Tue Feb 8 19:27:38 2011
@@ -320,12 +320,27 @@ final class RulesBinderImpl implements R
return this;
}
+ public NestedPropertiesBuilder ignoreElement(String elementName) {
+ if (elementName == null) {
+ addError("{forPattern(\"%s\").setNestedProperties().ignoreElement(String)} empty 'elementName' not allowed",
+ keyPattern);
+ } else {
+ this.elementNames.put(elementName, null);
+ }
+ return this;
+ }
+
public NestedPropertiesBuilder addAlias(String elementName, String propertyName) {
if (elementName == null) {
- addError("{forPattern(\"%s\").setNestedProperties().addAlias(String,String)} empty 'methodName' not allowed",
+ addError("{forPattern(\"%s\").setNestedProperties().addAlias(String,String)} empty 'elementName' not allowed",
keyPattern);
} else {
- this.elementNames.put(elementName, propertyName);
+ if (propertyName == null) {
+ addError("{forPattern(\"%s\").setNestedProperties().addAlias(String,String)} empty 'propertyName' not allowed",
+ keyPattern);
+ } else {
+ this.elementNames.put(elementName, propertyName);
+ }
}
return this;
}
Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java?rev=1068538&r1=1068537&r2=1068538&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/rulesbinder/NestedPropertiesBuilder.java Tue Feb 8 19:27:38 2011
@@ -25,6 +25,14 @@ import org.apache.commons.digester3.SetN
public interface NestedPropertiesBuilder extends BackToLinkedRuleBuilder<SetNestedPropertiesRule> {
/**
+ * Allows ignore a matching element.
+ *
+ * @param elementName The child xml element to be ignored
+ * @return this builder instance
+ */
+ NestedPropertiesBuilder ignoreElement(String elementName);
+
+ /**
* Allows element2property mapping to be overridden.
*
* @param elementName The child xml element to match