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/05/21 17:04:46 UTC
svn commit: r1125723 -
/commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/OverlappingCallMethodRuleTestCase.java
Author: simonetripodi
Date: Sat May 21 15:04:46 2011
New Revision: 1125723
URL: http://svn.apache.org/viewvc?rev=1125723&view=rev
Log:
OverlappingCallMethodRuleTestCase test case moved to Digester EDSL
Modified:
commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/OverlappingCallMethodRuleTestCase.java
Modified: commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/OverlappingCallMethodRuleTestCase.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/OverlappingCallMethodRuleTestCase.java?rev=1125723&r1=1125722&r2=1125723&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/OverlappingCallMethodRuleTestCase.java (original)
+++ commons/sandbox/digester3/trunk/src/test/java/org/apache/commons/digester3/OverlappingCallMethodRuleTestCase.java Sat May 21 15:04:46 2011
@@ -18,12 +18,13 @@
package org.apache.commons.digester3;
+import static org.apache.commons.digester3.binder.DigesterLoader.newLoader;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import java.io.StringReader;
-import org.apache.commons.digester3.Digester;
+import org.apache.commons.digester3.binder.AbstractRulesModule;
import org.junit.Test;
import org.xml.sax.SAXException;
@@ -62,12 +63,22 @@ public class OverlappingCallMethodRuleTe
input.append( " <item id='1'>anitem</item>" );
input.append( "</root>" );
- Digester digester = new Digester();
+ Digester digester = newLoader( new AbstractRulesModule()
+ {
- digester.addCallMethod( "root/item", "setItemId", 1 );
- digester.addCallParam( "root/item", 0, "id" );
- digester.addCallMethod( "root/item", "setItemName", 1 );
- digester.addCallParam( "root/item", 0 );
+ @Override
+ protected void configure()
+ {
+ forPattern( "root/item" ).callMethod( "setItemId" ).withParamCount( 1 )
+ .then()
+ .callParam().fromAttribute( "id" )
+ .then()
+ .callMethod( "setItemName" ).withParamCount( 1 )
+ .then()
+ .callParam();
+ }
+
+ }).newDigester();
this.itemId = null;
this.itemName = null;
@@ -87,12 +98,22 @@ public class OverlappingCallMethodRuleTe
input.append( " <item id='1'>anitem</item>" );
input.append( "</root>" );
- Digester digester = new Digester();
+ Digester digester = newLoader( new AbstractRulesModule()
+ {
- digester.addCallMethod( "root/item", "setItemName", 1 );
- digester.addCallParam( "root/item", 0 );
- digester.addCallMethod( "root/item", "setItemId", 1 );
- digester.addCallParam( "root/item", 0, "id" );
+ @Override
+ protected void configure()
+ {
+ forPattern( "root/item" ).callMethod( "setItemId" ).withParamCount( 1 )
+ .then()
+ .callParam().fromAttribute( "id" )
+ .then()
+ .callMethod( "setItemName" ).withParamCount( 1 )
+ .then()
+ .callParam();
+ }
+
+ }).newDigester();
this.itemId = null;
this.itemName = null;
@@ -112,7 +133,22 @@ public class OverlappingCallMethodRuleTe
input.append( " <item>1</item>" );
input.append( "</root>" );
- Digester digester = new Digester();
+ Digester digester = newLoader( new AbstractRulesModule()
+ {
+
+ @Override
+ protected void configure()
+ {
+ forPattern( "root/item" ).callMethod( "setItemId" ).withParamCount( 1 )
+ .then()
+ .callParam().fromAttribute( "id" )
+ .then()
+ .callMethod( "setItemName" ).withParamCount( 1 )
+ .then()
+ .callParam();
+ }
+
+ }).newDigester();
digester.addCallMethod( "root/item", "setItemId", 1 );
digester.addCallParam( "root/item", 0 );
@@ -158,12 +194,20 @@ public class OverlappingCallMethodRuleTe
input.append( " </item>" );
input.append( "</root>" );
- Digester digester = new Digester();
+ Digester digester = newLoader( new AbstractRulesModule()
+ {
- digester.addCallMethod( "root/item", "setItemId", 1 );
- digester.addCallParam( "root/item/id", 0, "value" );
- digester.addCallMethod( "root/item", "setItemName", 1 );
- digester.addCallParam( "root/item/name", 0, "value" );
+ @Override
+ protected void configure()
+ {
+ forPattern( "root/item" ).callMethod( "setItemId" ).withParamCount( 1 )
+ .then()
+ .callMethod( "setItemName" ).withParamCount( 1 );
+ forPattern( "root/item/id" ).callParam().fromAttribute( "value" );
+ forPattern( "root/item/name" ).callParam().fromAttribute( "value" );
+ }
+
+ }).newDigester();
this.itemId = null;
this.itemName = null;
@@ -196,12 +240,22 @@ public class OverlappingCallMethodRuleTe
input.append( " </box>" );
input.append( "</box>" );
- Digester digester = new Digester();
+ Digester digester = newLoader( new AbstractRulesModule()
+ {
+
+ @Override
+ protected void configure()
+ {
+ forPattern( "*/box" ).createObject().ofType( Box.class )
+ .then()
+ .callMethod( "setId" ).withParamCount( 1 )
+ .then()
+ .callParam().fromAttribute( "id" )
+ .then()
+ .setNext( "addChild" );
+ }
- digester.addObjectCreate( "*/box", Box.class );
- digester.addCallMethod( "*/box", "setId", 1 );
- digester.addCallParam( "*/box", 0, "id" );
- digester.addSetNext( "*/box", "addChild" );
+ }).newDigester();
Box root = new Box();
root.setId( "root" );
@@ -230,12 +284,22 @@ public class OverlappingCallMethodRuleTe
input.append( " </box>" );
input.append( "</box>" );
- Digester digester = new Digester();
+ Digester digester = newLoader( new AbstractRulesModule()
+ {
+
+ @Override
+ protected void configure()
+ {
+ forPattern( "*/box" ).createObject().ofType( Box.class )
+ .then()
+ .callMethod( "setId" ).withParamCount( 1 )
+ .then()
+ .callParam()
+ .then()
+ .setNext( "addChild" );
+ }
- digester.addObjectCreate( "*/box", Box.class );
- digester.addCallMethod( "*/box", "setId", 1 );
- digester.addCallParam( "*/box", 0 );
- digester.addSetNext( "*/box", "addChild" );
+ }).newDigester();
Box root = new Box();
root.setId( "root" );