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" );