1 package org.apache.maven.usability; 2 3 18 19 import org.apache.maven.artifact.manager.WagonManager; 20 import org.apache.maven.artifact.resolver.ArtifactResolutionException; 21 import org.apache.maven.usability.diagnostics.DiagnosisUtils; 22 import org.apache.maven.usability.diagnostics.ErrorDiagnoser; 23 24 import java.io.IOException ; 25 26 public class ArtifactResolverDiagnoser 27 implements ErrorDiagnoser 28 { 29 30 private WagonManager wagonManager; 31 32 public boolean canDiagnose( Throwable error ) 33 { 34 return DiagnosisUtils.containsInCausality( error, ArtifactResolutionException.class ); 35 } 36 37 public String diagnose( Throwable error ) 38 { 39 ArtifactResolutionException exception = 40 (ArtifactResolutionException) DiagnosisUtils.getFromCausality( error, ArtifactResolutionException.class ); 41 42 StringBuffer message = new StringBuffer (); 43 44 message.append( "Failed to resolve artifact." ); 45 message.append( "\n\n" ); 46 message.append( exception.getMessage() ); 47 48 IOException ioe = (IOException ) DiagnosisUtils.getFromCausality( exception, IOException .class ); 49 50 if ( ioe != null && exception.getMessage().indexOf( ioe.getMessage() ) < 0 ) 51 { 52 message.append( "\n\nCaused by I/O exception: " ).append( ioe.getMessage() ); 53 } 54 55 if ( !wagonManager.isOnline() ) 56 { 57 message.append( "\n" ).append( SystemWarnings.getOfflineWarning() ); 58 } 59 60 message.append( "\n" ); 61 62 return message.toString(); 63 } 64 65 } 66 | Popular Tags |