Author: mszefler
Date: Wed Nov  8 14:26:01 2006
New Revision: 472665

URL: http://svn.apache.org/viewvc?view=rev&rev=472665
Log:
Fixe lineno in literal.

Modified:
    
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/DOMBuilderContentHandler.java

Modified: 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/DOMBuilderContentHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/DOMBuilderContentHandler.java?view=diff&rev=472665&r1=472664&r2=472665
==============================================================================
--- 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/DOMBuilderContentHandler.java
 (original)
+++ 
incubator/ode/trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/DOMBuilderContentHandler.java
 Wed Nov  8 14:26:01 2006
@@ -29,6 +29,7 @@
 public class DOMBuilderContentHandler extends DOMBuilder {
     private Locator _locator;
 
+    private int _suppressLineNo = 0;
 
     public DOMBuilderContentHandler(Document doc) {
         super(doc);
@@ -37,7 +38,10 @@
 
     @Override
     public void startElement(String ns, String localName, String name, 
Attributes atts) throws SAXException {
-        if (_locator != null) {
+        if (localName.equals("literal") || _suppressLineNo > 0)
+            ++_suppressLineNo;
+                
+        if (_locator != null && _suppressLineNo > 0) {
             AttributesImpl a = new AttributesImpl(atts);
             a.addAttribute(BpelObject.ATTR_LINENO.getNamespaceURI(), 
BpelObject.ATTR_LINENO.getLocalPart(),
                     "odebpelc:"+BpelObject.ATTR_LINENO.getLocalPart(), 
"CDATA", "" + _locator.getLineNumber());
@@ -46,6 +50,15 @@
         super.startElement(ns, localName, name, atts);
     }
 
+
+    @Override
+    public void endElement(String ns, String localName, String name) throws 
SAXException {
+        if (_suppressLineNo > 0)
+            --_suppressLineNo;
+        
+        super.endElement(ns, localName, name);
+        
+    }
 
     @Override
     public void setDocumentLocator(Locator locator) {


Reply via email to