1 package org.apache.maven.usability; 2 3 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 error ) 29 { 30 return DiagnosisUtils.containsInCausality( error, PluginConfigurationException.class ); 31 } 32 33 public String diagnose( Throwable 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 |