KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > maven > usability > MojoFailureExceptionDiagnoser


1 package org.apache.maven.usability;
2
3 /*
4  * Copyright 2001-2005 The Apache Software Foundation.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 import org.apache.maven.plugin.MojoFailureException;
20 import org.apache.maven.usability.diagnostics.DiagnosisUtils;
21 import org.apache.maven.usability.diagnostics.ErrorDiagnoser;
22
23 public class MojoFailureExceptionDiagnoser
24     implements ErrorDiagnoser
25 {
26
27     public boolean canDiagnose( Throwable JavaDoc error )
28     {
29         return DiagnosisUtils.containsInCausality( error, MojoFailureException.class );
30     }
31
32     public String JavaDoc diagnose( Throwable JavaDoc error )
33     {
34         MojoFailureException mfe =
35             (MojoFailureException) DiagnosisUtils.getFromCausality( error, MojoFailureException.class );
36
37         StringBuffer JavaDoc message = new StringBuffer JavaDoc();
38
39         Object JavaDoc source = mfe.getSource();
40         if ( source != null )
41         {
42             message.append( ": " ).append( mfe.getSource() ).append( "\n" );
43         }
44
45         message.append( mfe.getMessage() );
46
47         String JavaDoc longMessage = mfe.getLongMessage();
48         if ( longMessage != null )
49         {
50             message.append( "\n\n" ).append( longMessage );
51         }
52
53         return message.toString();
54     }
55
56 }
57
Popular Tags