directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akaras...@apache.org
Subject svn commit: rev 9932 - in incubator/directory/snickers/trunk/ber: . src/java/org/apache/snickers/ber/digester src/test/org/apache/snickers/ber/digester
Date Thu, 08 Apr 2004 06:53:08 GMT
Author: akarasulu
Date: Wed Apr  7 23:53:07 2004
New Revision: 9932

Added:
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigesterLoggingMonitor.java
  (contents, props changed)
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigesterMonitor.java
  (contents, props changed)
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/ObjectCreateRule.java
  (contents, props changed)
Modified:
   incubator/directory/snickers/trunk/ber/project.xml
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/AbstractRule.java
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigester.java
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/IntStack.java
  (props changed)
   incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/Rule.java
   incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/AbstractRuleTest.java
  (contents, props changed)
   incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/BERDigesterTest.java
  (contents, props changed)
   incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/IntStackTest.java
  (props changed)
   incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/RulesBaseTest.java
  (props changed)
   incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/TagNodeTest.java
  (props changed)
Log:
o added logging using commons-logging
o added monitor interfaces and logging monitor
o integrated monitor callbacks into digester
o added a simple rule
o set various properties for eol and keywords


Modified: incubator/directory/snickers/trunk/ber/project.xml
==============================================================================
--- incubator/directory/snickers/trunk/ber/project.xml	(original)
+++ incubator/directory/snickers/trunk/ber/project.xml	Wed Apr  7 23:53:07 2004
@@ -33,6 +33,13 @@
     </dependency>
 
     <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.0.3</version>
+      <url>http://jakarta.apache.org/commons/logging</url>
+    </dependency>
+
+    <dependency>
       <groupId>commons-collections</groupId>
       <artifactId>commons-collections</artifactId>
       <version>3.0</version>

Modified: incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/AbstractRule.java
==============================================================================
--- incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/AbstractRule.java
(original)
+++ incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/AbstractRule.java
Wed Apr  7 23:53:07 2004
@@ -35,9 +35,9 @@
 
     
     /* (non-Javadoc)
-     * @see org.apache.snickers.ber.rulesBase.Rule#getDecoder()
+     * @see org.apache.snickers.ber.rulesBase.Rule#getDigester()
      */
-    public BERDigester getDecoder()
+    public BERDigester getDigester()
     {
         return digester ;
     }

Modified: incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigester.java
==============================================================================
--- incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigester.java
(original)
+++ incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigester.java
Wed Apr  7 23:53:07 2004
@@ -80,7 +80,9 @@
      * that was popped.
      */
     private Object root = null ;
-    
+    /** The monitor used by this digester */
+    private BERDigesterMonitor monitor = null ;
+
 
     /**
      * Creates a BER TLV event rulesBase.
@@ -93,6 +95,7 @@
         this.objectStack = new ArrayStack() ;
         this.decoder = new BERDecoder() ;
         this.decoder.setCallback( new DigesterCallback() ) ;
+        this.monitor = new BERDigesterLoggingMonitor() ;
     }
     
     
@@ -221,11 +224,6 @@
      */
     public Object peek() 
     {
-        if ( objectStack.size() == 0 )
-        {
-            return null ;
-        }
-
         return ( objectStack.peek() ) ;
     }
     
@@ -239,11 +237,6 @@
      */
     public Object peek( int n )
     {
-        if ( objectStack.size() < n || objectStack.size() <= 0 )
-        {
-            return null ;
-        }
-
         return ( objectStack.peek( n ) ) ;
     }
               
@@ -255,11 +248,6 @@
      */
     public Object pop()
     {
-        if ( objectStack.size() == 0 )
-        {
-            return null ;
-        }
-
         return ( objectStack.pop() ) ;
     }
               
@@ -440,12 +428,12 @@
             } 
             catch ( RuntimeException e ) 
             {
-                // log.error( "Tag event threw exception", e ) ;
+                monitor.ruleFailed( this, rule, "Rule.tag() threw exception", e ) ;
                 throw e ;
             }
             catch ( Error e ) 
             {
-                // log.error( "Tag event threw error", e ) ;
+                monitor.ruleFailed( this, rule, "Rule.tag() threw error", e ) ;
                 throw e ;
             }
         }
@@ -475,12 +463,12 @@
             } 
             catch ( RuntimeException e )
             {
-                // log.error( "Length event threw exception", e ) ;
+                monitor.ruleFailed( this, rule, "Rule.length() threw exception", e ) ;
                 throw e ;
             }
             catch ( Error e ) 
             {
-                // log.error( "Length event threw error", e ) ;
+                monitor.ruleFailed( this, rule, "Rule.length() threw error", e ) ;
                 throw e ;
             }
         }
@@ -510,12 +498,12 @@
             } 
             catch ( RuntimeException e )
             {
-                // log.error( "Value event threw exception", e ) ;
+                monitor.ruleFailed( this, rule, "Rule.value() threw exception", e ) ;
                 throw e ;
             }
             catch ( Error e ) 
             {
-                // log.error( "Value event threw error", e ) ;
+                monitor.ruleFailed( this, rule, "Rule.value() threw exception", e ) ;
                 throw e ;
             }
         }
@@ -524,8 +512,8 @@
     
     void fireFinishEvent()
     {
+        Rule rule = null ;
         HashSet seen = null ;
-        pop() ;
 
         if ( matched != null )
         {
@@ -537,26 +525,20 @@
                 
                 try 
                 {
-                    Rule rule = ( Rule ) matched.get( j ) ;
-                    
-                    /*
-                    if (debug) {
-                        log.debug("  Fire end() for " + rule);
-                    }
-                    */
-                    
+                    rule = ( Rule ) matched.get( j ) ;
                     rule.finish() ;
                     tagStack.pop() ;
+                    monitor.ruleCompleted( this, rule ) ;
                     seen.add( rule ) ;
                 } 
                 catch ( RuntimeException e )
                 {
-                    //log.error("End event threw exception", e);
+                    monitor.ruleFailed( this, rule, "Rule.finish() threw exception", e )
;
                     throw e ;
                 }
                 catch ( Error e ) 
                 {
-                    //log.error("End event threw error", e);
+                    monitor.ruleFailed( this, rule, "Rule.finish() threw error", e ) ;
                     throw e ;
                 }
             }
@@ -570,7 +552,7 @@
         
             while ( rules.hasNext() ) 
             {
-                Rule rule = ( Rule ) rules.next() ;
+                rule = ( Rule ) rules.next() ;
 
                 if ( seen != null && seen.contains( rule ) )
                 {
@@ -581,14 +563,14 @@
                 {
                     rule.finish() ;
                 } 
-                catch ( Exception e ) 
+                catch ( RuntimeException e )
                 {
-                    // log.error( "Finish event threw exception", e ) ;
-                    // throw createSAXException(e);
+                    monitor.ruleFailed( this, rule, "Rule.finish() threw exception", e )
;
+                    throw e ;
                 } 
                 catch ( Error e ) 
                 {
-                    // log.error( "Finish event threw error", e ) ;
+                    monitor.ruleFailed( this, rule, "Rule.finish() threw error", e ) ;
                     throw e ;
                 }
             }

Added: incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigesterLoggingMonitor.java
==============================================================================
--- (empty file)
+++ incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigesterLoggingMonitor.java
Wed Apr  7 23:53:07 2004
@@ -0,0 +1,70 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.snickers.ber.digester ;
+
+
+import org.apache.commons.logging.Log ;
+import org.apache.commons.logging.LogFactory ;
+
+
+/**
+ * A logging BER digestor monitor.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class BERDigesterLoggingMonitor implements BERDigesterMonitor
+{
+    /** logging facility for the digester */
+    private static Log log = LogFactory.getLog( "BERDigester" ) ;
+
+
+    /**
+     * Callback used to log a rule callback failure when triggered by the
+     * digester.
+     *
+     * @param digester the digester triggering the rule
+     * @param rule     the rule that failed
+     * @param msg      a message regarding the failure
+     * @param fault    the fault that caused the failure
+     */
+    public void ruleFailed( BERDigester digester, Rule rule, String msg,
+                            Throwable fault )
+    {
+        if ( log.isErrorEnabled() )
+        {
+            log.error( "Error while triggering rule " + rule
+                    + " with digester " + digester + ": " + msg, fault ) ;
+        }
+    }
+
+
+    /**
+     * Callback used to monitor successful rule firing.
+     *
+     * @param digester the digester triggering the rule
+     * @param rule     the rule that completed firing successfully
+     */
+    public void ruleCompleted( BERDigester digester, Rule rule )
+    {
+        if ( log.isDebugEnabled() )
+        {
+            log.debug( "Rule " + rule + " fired successfully by digester "
+                    + digester ) ;
+        }
+    }
+}

Added: incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigesterMonitor.java
==============================================================================
--- (empty file)
+++ incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/BERDigesterMonitor.java
Wed Apr  7 23:53:07 2004
@@ -0,0 +1,47 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.snickers.ber.digester ;
+
+
+/**
+ * The monitor interface for a BER digester.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public interface BERDigesterMonitor
+{
+    /**
+     * Callback used to monitor rule callback failures on triggered
+     * rules.
+     *
+     * @param digester the digester triggering the rule
+     * @param rule the rule that failed
+     * @param msg a message regarding the failure
+     * @param fault the fault that caused the failure
+     */
+    void ruleFailed( BERDigester digester, Rule rule, String msg,
+                     Throwable fault ) ;
+
+    /**
+     * Callback used to monitor successful rule firing.
+     *
+     * @param digester the digester triggering the rule
+     * @param rule the rule that completed firing successfully
+     */
+    void ruleCompleted( BERDigester digester, Rule rule ) ;
+}

Added: incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/ObjectCreateRule.java
==============================================================================
--- (empty file)
+++ incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/ObjectCreateRule.java
Wed Apr  7 23:53:07 2004
@@ -0,0 +1,80 @@
+/*
+ *   Copyright 2004 The Apache Software Foundation
+ *
+ *   Licensed under the Apache License, Version 2.0 (the "License");
+ *   you may not use this file except in compliance with the License.
+ *   You may obtain a copy of the License at
+ *
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing, software
+ *   distributed under the License is distributed on an "AS IS" BASIS,
+ *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *   See the License for the specific language governing permissions and
+ *   limitations under the License.
+ *
+ */
+package org.apache.snickers.ber.digester ;
+
+
+import org.apache.snickers.ber.TypeClass ;
+import org.apache.commons.lang.exception.NestableRuntimeException;
+
+
+/**
+ * Rule implementation that creates a new object and pushes it onto the
+ * object stack when a TLV is encountered.  When the TLV is complete,
+ * the object will be popped off of the stack.
+ *
+ * @author <a href="mailto:directory-dev@incubator.apache.org">Apache Directory Project</a>
+ * @version $Rev$
+ */
+public class ObjectCreateRule extends AbstractRule
+{
+    /** the class of object to instantiate and push */
+    private final Class clazz ;
+
+
+    /**
+     * Creates a rule that creates an instance of an object when the tag
+     *
+     * @param clazz the class to create an instance of.
+     */
+    public ObjectCreateRule( BERDigester digester, Class clazz )
+    {
+        this.clazz = clazz ;
+        setDigester( digester ) ;
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.apache.snickers.ber.Rule#tag(int, boolean,
+     * org.apache.snickers.ber.TypeClass)
+     */
+    public void tag( int id, boolean isPrimitive, TypeClass typeClass )
+    {
+        try
+        {
+            Object obj = clazz.newInstance() ;
+            getDigester().push( obj ) ;
+        }
+        catch ( InstantiationException e )
+        {
+            throw new NestableRuntimeException( e ) ;
+        }
+        catch ( IllegalAccessException e )
+        {
+            throw new NestableRuntimeException( e ) ;
+        }
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.apache.snickers.ber.Rule#finish()
+     */
+    public void finish()
+    {
+        getDigester().pop() ;
+    }
+}
+

Modified: incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/Rule.java
==============================================================================
--- incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/Rule.java
(original)
+++ incubator/directory/snickers/trunk/ber/src/java/org/apache/snickers/ber/digester/Rule.java
Wed Apr  7 23:53:07 2004
@@ -37,7 +37,7 @@
      * 
      * @return the associated rulesBase
      */
-    BERDigester getDecoder() ;
+    BERDigester getDigester() ;
     
     /**
      * Set the <code>BERDigester</code> with which this <code>Rule</code>
will

Modified: incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/AbstractRuleTest.java
==============================================================================
--- incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/AbstractRuleTest.java
(original)
+++ incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/AbstractRuleTest.java
Wed Apr  7 23:53:07 2004
@@ -31,7 +31,7 @@
     public void testAll()
     {
         AbstractRule rule = new MockRule() ;
-        rule.getDecoder() ;
+        rule.getDigester() ;
         rule.setDigester( null ) ;
         rule.tag( 0, true, TypeClass.APPLICATION ) ;
         rule.length( 3 ) ;

Modified: incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/BERDigesterTest.java
==============================================================================
--- incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/BERDigesterTest.java
(original)
+++ incubator/directory/snickers/trunk/ber/src/test/org/apache/snickers/ber/digester/BERDigesterTest.java
Wed Apr  7 23:53:07 2004
@@ -22,6 +22,7 @@
 import java.nio.ByteBuffer;
 import java.net.URLClassLoader;
 import java.net.URL;
+import java.util.EmptyStackException;
 
 import org.apache.snickers.ber.TypeClass;
 
@@ -112,7 +113,17 @@
      */
     public void testPeek() throws Exception
     {
-        assertNull( digester.peek() ) ;
+        try
+        {
+            digester.peek() ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+            return ;
+        }
+
+        fail( "should never reach this line" ) ;
     }
 
 
@@ -121,10 +132,41 @@
      */
     public void testPeekint() throws Exception
     {
-        assertNull( digester.peek( 0 ) ) ;
-        assertNull( digester.peek( -1 ) ) ;
-        assertNull( digester.peek( Integer.MAX_VALUE ) ) ;
-        assertNull( digester.peek( Integer.MIN_VALUE ) ) ;
+        try
+        {
+            digester.peek() ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+        }
+
+        try
+        {
+            digester.peek( -1 ) ;
+        }
+        catch( IndexOutOfBoundsException e )
+        {
+            assertNotNull( e ) ;
+        }
+
+        try
+        {
+            digester.peek( Integer.MAX_VALUE ) ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+        }
+
+        try
+        {
+            digester.peek( Integer.MIN_VALUE ) ;
+        }
+        catch( IndexOutOfBoundsException e )
+        {
+            assertNotNull( e ) ;
+        }
     }
 
 
@@ -133,7 +175,17 @@
      */
     public void testPop() throws Exception
     {
-        assertNull( digester.pop() ) ;
+        try
+        {
+            digester.pop() ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+            return ;
+        }
+
+        fail( "should never reach this line" ) ;
     }
 
 
@@ -146,7 +198,15 @@
         Object o1 = new Object() ;
         Object o2 = new Object() ;
 
-        assertNull( digester.pop() ) ;
+        try
+        {
+            digester.pop() ;
+            fail( "should not get here" ) ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+        }
 
         digester.push( o0 ) ;
         assertSame( o0, digester.peek() ) ;
@@ -167,7 +227,15 @@
         assertSame( o1, digester.pop() ) ;
         assertSame( o0, digester.pop() ) ;
 
-        assertNull( digester.pop() ) ;
+        try
+        {
+            digester.pop() ;
+            fail( "should not get here" ) ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+        }
     }
 
 
@@ -180,7 +248,15 @@
         Object o1 = new Object() ;
         Object o2 = new Object() ;
 
-        assertNull( digester.getRoot() ) ;
+        try
+        {
+            digester.pop() ;
+            fail( "should not get here" ) ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+        }
 
         digester.push( o0 ) ;
         assertSame( o0, digester.getRoot() ) ;
@@ -194,7 +270,15 @@
         assertSame( o1, digester.pop() ) ;
         assertSame( o0, digester.pop() ) ;
 
-        assertNull( digester.pop() ) ;
+        try
+        {
+            digester.pop() ;
+            fail( "should not get here" ) ;
+        }
+        catch( EmptyStackException e )
+        {
+            assertNotNull( e ) ;
+        }
 
         assertSame( o0, digester.getRoot() ) ;
     }
@@ -386,8 +470,6 @@
      */
     public void testFireFinishEvent() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         CollectorRule rule0 = new CollectorRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -453,8 +535,6 @@
      */
     public void testErrorOnTag() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ErrorRule rule0 = new ErrorRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -480,8 +560,6 @@
 
     public void testErrorOnLength() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ErrorRule rule0 = new ErrorRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -513,8 +591,6 @@
 
     public void testErrorOnValue() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ErrorRule rule0 = new ErrorRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -552,8 +628,6 @@
 
     public void testErrorOnFinish() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ErrorRule rule0 = new ErrorRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -600,8 +674,6 @@
      */
     public void testExceptionOnTag() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ExceptionRule rule0 = new ExceptionRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -627,8 +699,6 @@
 
     public void testExceptionOnLength() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ExceptionRule rule0 = new ExceptionRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -660,8 +730,6 @@
 
     public void testExceptionOnValue() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ExceptionRule rule0 = new ExceptionRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -699,8 +767,6 @@
 
     public void testExceptionOnFinish() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         ExceptionRule rule0 = new ExceptionRule() ;
         digester.addRule( pat0, rule0 ) ;
@@ -744,8 +810,6 @@
 
     public void testFullTlv() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x10000000 } ;
         int[] pat1 = { 0x11000000 } ;
         CollectorRule rule0 = new CollectorRule() ;
@@ -760,8 +824,6 @@
 
     public void testNestedTlvs() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x14000000, 0x10000000 } ;
         int[] pat1 = { 0x11000000 } ;
         CollectorRule rule0 = new CollectorRule() ;
@@ -779,8 +841,6 @@
 
     public void testNestedTlvsWithErrors() throws Exception
     {
-        digester.fireFinishEvent() ;
-
         int[] pat0 = { 0x14000000, 0x10000000 } ;
         int[] pat1 = { 0x11000000 } ;
         ErrorRule rule0 = new ErrorRule() ;

Mime
View raw message