KickJava   Java API By Example, From Geeks To Geeks.

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


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.PluginConfigurationException;
20 import org.apache.maven.plugin.PluginParameterException;
21 import org.apache.maven.usability.diagnostics.DiagnosisUtils;
22 import org.apache.maven.usability.diagnostics.ErrorDiagnoser;
23 import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
24
25 public class PluginConfigurationDiagnoser
26     implements ErrorDiagnoser
27 {
28     public boolean canDiagnose( Throwable JavaDoc error )
29     {
30         return DiagnosisUtils.containsInCausality( error, PluginConfigurationException.class );
31     }
32
33     public String JavaDoc diagnose( Throwable JavaDoc error )
34     {
35         PluginConfigurationException pce =
36             (PluginConfigurationException) DiagnosisUtils.getFromCausality( error, PluginConfigurationException.class );
37
38         if ( pce instanceof PluginParameterException )
39         {
40             PluginParameterException exception = (PluginParameterException) pce;
41
42             return exception.buildDiagnosticMessage();
43         }
44         else if ( DiagnosisUtils.containsInCausality( pce, ComponentConfigurationException.class ) )
45         {
46             ComponentConfigurationException cce = (ComponentConfigurationException) DiagnosisUtils.getFromCausality(
47                 pce, ComponentConfigurationException.class );
48
49             return pce.buildConfigurationDiagnosticMessage( cce );
50         }
51         else
52         {
53             return pce.getMessage();
54         }
55     }
56 }
57
Popular Tags