Author: jdcasey
Date: Thu Jan 31 10:17:05 2008
New Revision: 617178

URL: http://svn.apache.org/viewvc?rev=617178&view=rev
Log:
Adding the concept of recommended stacktrace hints for reported errors, and add 
the ability to directly access the list of exceptions that actually hit the 
error reporter (instead of having to use MavenExecutionResult.getExceptions() 
in conjunction with findReportedException(..) to unwrap them.

Modified:
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/DefaultProjectErrorReporter.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/ProjectErrorReporter.java

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java?rev=617178&r1=617177&r2=617178&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
 Thu Jan 31 10:17:05 2008
@@ -70,9 +70,9 @@
 
     private static final String NEWLINE = "\n";
 
-    public DefaultCoreErrorReporter( Map formattedMessageStore, Map 
realCauseStore )
+    public DefaultCoreErrorReporter( Map formattedMessageStore, Map 
realCauseStore, Map stackTraceRecommendationStore )
     {
-        super( formattedMessageStore, realCauseStore );
+        super( formattedMessageStore, realCauseStore, 
stackTraceRecommendationStore );
     }
 
     public DefaultCoreErrorReporter()

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/DefaultProjectErrorReporter.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/DefaultProjectErrorReporter.java?rev=617178&r1=617177&r2=617178&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/DefaultProjectErrorReporter.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/DefaultProjectErrorReporter.java
 Thu Jan 31 10:17:05 2008
@@ -28,8 +28,10 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -43,16 +45,20 @@
 
     private Map realCauses;
 
-    public DefaultProjectErrorReporter( Map formattedMessageStore, Map 
realCauseStore )
+    private Map stackTraceRecommendations;
+
+    public DefaultProjectErrorReporter( Map formattedMessageStore, Map 
realCauseStore, Map stackTraceRecommendationStore )
     {
         formattedMessages = formattedMessageStore;
         realCauses = realCauseStore;
+        stackTraceRecommendations = stackTraceRecommendationStore;
     }
 
     public DefaultProjectErrorReporter()
     {
-        formattedMessages = new HashMap();
+        formattedMessages = new LinkedHashMap();
         realCauses = new HashMap();
+        stackTraceRecommendations = new HashMap();
     }
 
     /**
@@ -64,6 +70,11 @@
         realCauses.clear();
     }
 
+    public List getReportedExceptions()
+    {
+        return new ArrayList( formattedMessages.keySet() );
+    }
+
     /**
      * @see 
org.apache.maven.project.error.ProjectErrorReporter#hasInformationFor(java.lang.Throwable)
      */
@@ -95,6 +106,23 @@
     public Throwable getRealCause( Throwable error )
     {
         return (Throwable) realCauses.get( error );
+    }
+
+    public boolean isStackTraceRecommended( Throwable error )
+    {
+        Boolean rec = (Boolean) stackTraceRecommendations.get( error );
+
+        if ( rec == null )
+        {
+            return false;
+        }
+
+        return rec.booleanValue();
+    }
+
+    protected void setStackTraceRecommendation( Throwable error, boolean 
recommended )
+    {
+        stackTraceRecommendations.put( error, Boolean.valueOf( recommended ) );
     }
 
     protected void registerBuildError( Throwable error,

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/ProjectErrorReporter.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/ProjectErrorReporter.java?rev=617178&r1=617177&r2=617178&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/ProjectErrorReporter.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/error/ProjectErrorReporter.java
 Thu Jan 31 10:17:05 2008
@@ -36,7 +36,11 @@
 
     Throwable getRealCause( Throwable error );
 
+    List getReportedExceptions();
+
     Throwable findReportedException( Throwable error );
+
+    boolean isStackTraceRecommended( Throwable error );
 
     /**
      * <b>Call Stack:</b>


Reply via email to