Author: jeremias
Date: Fri Dec 28 00:38:26 2007
New Revision: 607188

URL: http://svn.apache.org/viewvc?rev=607188&view=rev
Log:
Throwing IllegalStateException causes a prior exception to be swallowed by 
Xalan-J. Need to throw a SAXException instead.
Instead of logging an error about the element mismatch throw a SAXException 
because the logging only confuses the user as it's practically always a 
follow-up exception of an exception happening earlier in the respective 
startElement() event.

Modified:
    
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java

Modified: 
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java?rev=607188&r1=607187&r2=607188&view=diff
==============================================================================
--- 
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java
 (original)
+++ 
xmlgraphics/fop/branches/Temp_ImagePackageRedesign/src/java/org/apache/fop/fo/FOTreeBuilder.java
 Fri Dec 28 00:38:26 2007
@@ -21,25 +21,27 @@
 
 import java.io.OutputStream;
 
+import org.xml.sax.Attributes;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.Locator;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+import org.xml.sax.helpers.DefaultHandler;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.fop.fo.extensions.ExtensionElementMapping;
+
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.apps.FOUserAgent;
 import org.apache.fop.apps.FormattingResults;
 import org.apache.fop.area.AreaTreeHandler;
 import org.apache.fop.fo.ElementMapping.Maker;
+import org.apache.fop.fo.extensions.ExtensionElementMapping;
 import org.apache.fop.fo.pagination.Root;
 import org.apache.fop.image.ImageFactory;
 import org.apache.fop.util.ContentHandlerFactory;
-import org.apache.fop.util.ContentHandlerFactory.ObjectSource;
 import org.apache.fop.util.ContentHandlerFactory.ObjectBuiltListener;
-import org.xml.sax.Attributes;
-import org.xml.sax.ContentHandler;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
+import org.apache.fop.util.ContentHandlerFactory.ObjectSource;
 
 /**
  * SAX Handler that passes parsed data to the various
@@ -268,9 +270,7 @@
          */
         private int nestedMarkerDepth = 0;
 
-        /**
-         * [EMAIL PROTECTED] 
-         */
+        /** [EMAIL PROTECTED] */
         public void startElement(String namespaceURI, String localName, String 
rawName,
                                  Attributes attlist) throws SAXException {
 
@@ -350,19 +350,16 @@
             }
         }
 
-        /**
-         * [EMAIL PROTECTED] 
-         */
+        /** [EMAIL PROTECTED] */
         public void endElement(String uri, String localName, String rawName)
                     throws SAXException {
             if (currentFObj == null) {
-                throw new IllegalStateException(
+                throw new SAXException(
                         "endElement() called for " + rawName 
                             + " where there is no current element.");
-            } else
-            if (!currentFObj.getLocalName().equals(localName) 
+            } else if (!currentFObj.getLocalName().equals(localName) 
                     || !currentFObj.getNamespaceURI().equals(uri)) {
-                log.warn("Mismatch: " + currentFObj.getLocalName() 
+                throw new SAXException("Mismatch: " + 
currentFObj.getLocalName() 
                         + " (" + currentFObj.getNamespaceURI() 
                         + ") vs. " + localName + " (" + uri + ")");
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to