You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/10/06 23:17:07 UTC

svn commit: r1529691 - /jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java

Author: andy
Date: Sun Oct  6 21:17:06 2013
New Revision: 1529691

URL: http://svn.apache.org/r1529691
Log:
JENA-559 : Line and column number for RDF/XML parsing.

Modified:
    jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java

Modified: jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java?rev=1529691&r1=1529690&r2=1529691&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java (original)
+++ jena/trunk/jena-arq/src/main/java/org/apache/jena/riot/lang/LangRDFXML.java Sun Oct  6 21:17:06 2013
@@ -26,6 +26,7 @@ import java.io.InputStream ;
 import java.io.Reader ;
 
 import org.apache.jena.atlas.io.IO ;
+import org.apache.jena.atlas.lib.Pair ;
 import org.apache.jena.riot.Lang ;
 import org.apache.jena.riot.RDFLanguages ;
 import org.apache.jena.riot.checker.CheckerLiterals ;
@@ -223,7 +224,6 @@ public class LangRDFXML implements LangR
         @Override
         public void endPrefixMapping(String prefix)
         {}
-
     }
     
     private static class ErrorHandlerBridge implements RDFErrorHandler
@@ -234,12 +234,32 @@ public class LangRDFXML implements LangR
         {
             this.errorHandler = hander ;
         }
-        
+
         @Override
-        public void warning(Exception e)        { errorHandler.warning(e.getMessage(), -1, -1) ; }
+        public void warning(Exception e) { 
+            Pair<Integer, Integer> p =  getLineCol(e) ;
+            errorHandler.warning(e.getMessage(), p.getLeft(), p.getRight()) ;
+        }
+
         @Override
-        public void error(Exception e)          { errorHandler.error(e.getMessage(), -1, -1) ; }
+        public void error(Exception e) {
+            Pair<Integer, Integer> p = getLineCol(e) ;
+            errorHandler.error(e.getMessage(), p.getLeft(), p.getRight()) ;
+        }
+
         @Override
-        public void fatalError(Exception e)     { errorHandler.fatal(e.getMessage(), -1, -1) ; }
+        public void fatalError(Exception e) {
+            Pair<Integer, Integer> p = getLineCol(e) ;
+            errorHandler.fatal(e.getMessage(), p.getLeft(), p.getRight()) ;
+        }
+
+        private static Pair<Integer, Integer> getLineCol(Exception e) {
+            if (e instanceof SAXParseException) {
+                SAXParseException esax = (SAXParseException) e;
+                return Pair.create(esax.getLineNumber(), esax.getColumnNumber()) ; 
+            } else {
+                return Pair.create(-1, -1) ;
+            }
+        }
     }
 }