You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2005/10/13 23:04:01 UTC
svn commit: r320918 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/usability/
maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/
Author: jdcasey
Date: Thu Oct 13 14:03:54 2005
New Revision: 320918
URL: http://svn.apache.org/viewcvs?rev=320918&view=rev
Log:
Adding conditional logic to pull out root cause to a couple diagnosers.
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/MojoExecutionExceptionDiagnoser.java
maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/DiagnosisUtils.java
maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/ErrorDiagnostics.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java?rev=320918&r1=320917&r2=320918&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/ArtifactResolverDiagnoser.java Thu Oct 13 14:03:54 2005
@@ -21,6 +21,8 @@
import org.apache.maven.usability.diagnostics.DiagnosisUtils;
import org.apache.maven.usability.diagnostics.ErrorDiagnoser;
+import java.io.IOException;
+
public class ArtifactResolverDiagnoser
implements ErrorDiagnoser
{
@@ -42,6 +44,13 @@
message.append( "Failed to resolve artifact." );
message.append( "\n\n" );
message.append( exception.getMessage() );
+
+ IOException ioe = (IOException) DiagnosisUtils.getFromCausality( exception, IOException.class );
+
+ if ( ioe != null && exception.getMessage().indexOf( ioe.getMessage() ) < 0 )
+ {
+ message.append( "\n\nCaused by I/O exception: " ).append( ioe.getMessage() );
+ }
if ( !wagonManager.isOnline() )
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/MojoExecutionExceptionDiagnoser.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/MojoExecutionExceptionDiagnoser.java?rev=320918&r1=320917&r2=320918&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/MojoExecutionExceptionDiagnoser.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/usability/MojoExecutionExceptionDiagnoser.java Thu Oct 13 14:03:54 2005
@@ -55,6 +55,22 @@
{
message.append( "\n\n" ).append( longMessage );
}
+
+ Throwable directCause = mee.getCause();
+
+ if ( directCause != null )
+ {
+ message.append( "\n" );
+
+ String directCauseMessage = directCause.getMessage();
+
+ if ( directCauseMessage != null && mee.getMessage().indexOf( directCauseMessage ) < 0 )
+ {
+ message.append( "\nEmbedded error: " ).append( directCauseMessage );
+ }
+
+ DiagnosisUtils.appendRootCauseIfPresentAndUnique( directCause, message, false );
+ }
return message.toString();
}
Modified: maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/DiagnosisUtils.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/DiagnosisUtils.java?rev=320918&r1=320917&r2=320918&view=diff
==============================================================================
--- maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/DiagnosisUtils.java (original)
+++ maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/DiagnosisUtils.java Thu Oct 13 14:03:54 2005
@@ -77,4 +77,24 @@
return null;
}
+
+ public static void appendRootCauseIfPresentAndUnique( Throwable error, StringBuffer message, boolean includeTypeInfo )
+ {
+ Throwable root = DiagnosisUtils.getRootCause( error );
+
+ if ( root != null && root != error )
+ {
+ String rootMsg = root.getMessage();
+
+ if ( rootMsg != null && error.getMessage().indexOf(rootMsg) < 0 )
+ {
+ message.append( "\nRoot message: " ).append( rootMsg );
+
+ if ( includeTypeInfo )
+ {
+ message.append( "\nRoot error type: " ).append( root.getClass().getName() );
+ }
+ }
+ }
+ }
}
Modified: maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/ErrorDiagnostics.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/ErrorDiagnostics.java?rev=320918&r1=320917&r2=320918&view=diff
==============================================================================
--- maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/ErrorDiagnostics.java (original)
+++ maven/components/trunk/maven-error-diagnostics/src/main/java/org/apache/maven/usability/diagnostics/ErrorDiagnostics.java Thu Oct 13 14:03:54 2005
@@ -128,6 +128,10 @@
StringBuffer message = new StringBuffer();
message.append( error.getMessage() );
+
+ message.append( "\nError type: " ).append( error.getClass().getName() );
+
+ DiagnosisUtils.appendRootCauseIfPresentAndUnique( error, message, true );
return message.toString();
}