1 package org.apache.maven.usability; 2 3 18 19 import org.apache.maven.profiles.activation.ProfileActivationException; 20 import org.apache.maven.usability.diagnostics.DiagnosisUtils; 21 import org.apache.maven.usability.diagnostics.ErrorDiagnoser; 22 import org.codehaus.plexus.component.repository.exception.ComponentLookupException; 23 24 public class ProfileActivationDiagnoser 25 implements ErrorDiagnoser 26 { 27 28 public boolean canDiagnose( Throwable error ) 29 { 30 return DiagnosisUtils.containsInCausality( error, ProfileActivationException.class ); 31 } 32 33 public String diagnose( Throwable error ) 34 { 35 ProfileActivationException activationException = 36 (ProfileActivationException) DiagnosisUtils.getFromCausality( error, ProfileActivationException.class ); 37 38 StringBuffer messageBuffer = new StringBuffer (); 39 40 messageBuffer.append( "Error activating profiles." ); 41 messageBuffer.append( "\n\nReason: " ).append( activationException.getMessage() ); 42 43 if ( DiagnosisUtils.containsInCausality( activationException, ComponentLookupException.class ) ) 44 { 45 ComponentLookupException cle = (ComponentLookupException) DiagnosisUtils.getFromCausality( 46 activationException, ComponentLookupException.class ); 47 48 messageBuffer.append( "\n\nThere was a problem retrieving one or more profile activators." ); 49 messageBuffer.append( "\n" ).append( cle.getMessage() ); 50 } 51 52 messageBuffer.append( "\n" ); 53 54 return messageBuffer.toString(); 55 } 56 57 } 58 | Popular Tags |