1 package org.apache.maven.usability;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.plugin.MojoFailureException;
23 import org.apache.maven.usability.diagnostics.DiagnosisUtils;
24 import org.apache.maven.usability.diagnostics.ErrorDiagnoser;
25
26 public class MojoFailureExceptionDiagnoser
27 implements ErrorDiagnoser
28 {
29
30 public boolean canDiagnose( Throwable error )
31 {
32 return DiagnosisUtils.containsInCausality( error, MojoFailureException.class );
33 }
34
35 public String diagnose( Throwable error )
36 {
37 MojoFailureException mfe =
38 (MojoFailureException) DiagnosisUtils.getFromCausality( error, MojoFailureException.class );
39
40 StringBuffer message = new StringBuffer();
41
42 Object source = mfe.getSource();
43 if ( source != null )
44 {
45 message.append( ": " ).append( mfe.getSource() ).append( "\n" );
46 }
47
48 message.append( mfe.getMessage() );
49
50 String longMessage = mfe.getLongMessage();
51 if ( longMessage != null )
52 {
53 message.append( "\n\n" ).append( longMessage );
54 }
55
56 return message.toString();
57 }
58
59 }