KickJava   Java API By Example, From Geeks To Geeks.

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


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.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 JavaDoc error )
29     {
30         return DiagnosisUtils.containsInCausality( error, ProfileActivationException.class );
31     }
32
33     public String JavaDoc diagnose( Throwable JavaDoc error )
34     {
35         ProfileActivationException activationException =
36             (ProfileActivationException) DiagnosisUtils.getFromCausality( error, ProfileActivationException.class );
37
38         StringBuffer JavaDoc messageBuffer = new StringBuffer JavaDoc();
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