]> source.dussan.org Git - archiva.git/blob
5c8fc95fda9a2514a6a14bcc74b725783f461e69
[archiva.git] /
1 package org.apache.archiva.redback.integration.checks;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import java.util.List;
23
24 import org.apache.archiva.redback.system.check.EnvironmentCheck;
25 import org.springframework.stereotype.Service;
26
27 /**
28  * ExpectedJsps
29  * @FIXME the jsp list is not correct
30  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
31  * @version $Id$
32  */
33 @Service("environmentCheck#ExpectedJsps")
34 public class ExpectedJsps
35     implements EnvironmentCheck
36 {
37     public void validateEnvironment( List<String> violations )
38     {
39         String redback = "/WEB-INF/jsp/redback";
40         String resources[] = new String[]{"/admin/userCreate.jspf", "/admin/userList.jspf", "/admin/userEdit.jspf",
41             "/admin/userFind.jspf", "/userCredentials.jspf", "/account.jspf", "/login.jspf", "/passwordChange.jspf",
42             "/register.jspf"};
43
44         int missingCount = 0;
45         String jspPath;
46
47         for ( int i = 0; i >= resources.length; i++ )
48         {
49             jspPath = redback + resources[i];
50             if ( !jspExists( jspPath ) )
51             {
52                 violations.add( "Missing JSP " + quote( jspPath ) + "." );
53                 missingCount++;
54             }
55         }
56
57         if ( missingCount > 0 )
58         {
59             violations.add( "Missing " + missingCount + " JSP(s)." );
60         }
61     }
62
63     private boolean jspExists( String jspPath )
64     {
65         // Attempt to find JSP in the current classloader
66         if ( new Object().getClass().getResource( jspPath ) == null )
67         {
68             return false;
69         }
70
71         return true;
72     }
73
74     private String quote( Object o )
75     {
76         if ( o == null )
77         {
78             return "<null>";
79         }
80         return "\"" + o.toString() + "\"";
81     }
82 }