Author: brett
Date: Sat Apr  1 21:52:05 2006
New Revision: 390780

URL: http://svn.apache.org/viewcvs?rev=390780&view=rev
Log:
[MSITE-105] correct issues with presenting line number where errors occur
Submitted by Jesse McConnell

Modified:
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParseException.java
    
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
    
maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParseException.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParseException.java?rev=390780&r1=390779&r2=390780&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParseException.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParseException.java
 Sat Apr  1 21:52:05 2006
@@ -21,15 +21,38 @@
 public class AptParseException
     extends ParseException
 {
+    /**
+     * @deprecated source isn't a safe place to get linenumbers from
+     * @param message
+     * @param source
+     */
     public AptParseException( String message, AptSource source )
     {
         super( null, message, source.getName(), source.getLineNumber() );
     }
 
+    /**
+     * @deprecated source isn't a safe place to get linenumbers from
+     * @param message
+     * @param source
+     * @param e
+     */
     public AptParseException( String message, AptSource source, Exception e )
     {
         super( e, message, source.getName(), source.getLineNumber() );
     }
+
+
+    public AptParseException( String message, String name, int lineNumber, 
Exception e)
+    {
+        super( e, message, name, lineNumber);
+    }
+
+    public AptParseException( String message, Exception e )
+    {
+        super( message, e );
+    }
+
 
     public AptParseException( String message )
     {

Modified: 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java?rev=390780&r1=390779&r2=390780&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
 (original)
+++ 
maven/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
 Sat Apr  1 21:52:05 2006
@@ -101,27 +101,34 @@
     public void parse( Reader source, Sink sink )
         throws AptParseException
     {
-        this.source = new AptReaderSource( source );
+        try
+        {
+            this.source = new AptReaderSource( source );
 
-        this.sink = sink;
+            this.sink = sink;
 
-        blockFileName = null;
+            blockFileName = null;
 
-        blockLineNumber = -1;
+            blockLineNumber = -1;
 
-        // Lookahead line.
-        nextLine();
+            // Lookahead line.
+            nextLine();
 
-        // Lookahead block.
-        nextBlock( /*first*/ true );
+            // Lookahead block.
+            nextBlock( /*first*/ true );
 
-        traverseHead();
+            traverseHead();
 
-        traverseBody();
+            traverseBody();
 
-        this.source = null;
+            this.source = null;
 
-        this.sink = null;
+            this.sink = null;
+        }
+        catch ( AptParseException ape )
+        {
+            throw new AptParseException( ape.getMessage(), getSourceName(), 
getSourceLineNumber(), ape );
+        }
     }
 
     public String getSourceName()
@@ -768,8 +775,7 @@
         if ( blockType != type )
         {
             throw new AptParseException(
-                "expected " + typeNames[type] + ", found " + 
typeNames[blockType] + " at line " + getSourceLineNumber(),
-                source );
+                "expected " + typeNames[type] + ", found " + 
typeNames[blockType] );
         }
     }
 
@@ -2139,11 +2145,11 @@
             }
             catch ( MacroExecutionException e )
             {
-                throw new AptParseException( "Unable to execute macro in the 
APT document", source, e );
+                throw new AptParseException( "Unable to execute macro in the 
APT document", e );
             }
             catch ( MacroNotFoundException e )
             {
-                throw new AptParseException( "Unable to find macro used in the 
APT document", source, e );
+                throw new AptParseException( "Unable to find macro used in the 
APT document", e );
             }
         }
     }

Modified: 
maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java?rev=390780&r1=390779&r2=390780&view=diff
==============================================================================
--- 
maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
 (original)
+++ 
maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java
 Sat Apr  1 21:52:05 2006
@@ -242,7 +242,7 @@
         }
         catch ( ParseException e )
         {
-            getLogger().error( "Error parsing " + fullPathDoc + ": " + 
e.getMessage(), e );
+            getLogger().error( "Error parsing " + fullPathDoc + ": line [" + 
e.getLineNumber() + "] " + e.getMessage() , e );
         }
         finally
         {


Reply via email to