View Javadoc

1   /*
2    * Copyright 2001-2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.jdiagnose.library;
17  
18  import org.jdiagnose.DiagnosticUnit;
19  
20  import java.util.StringTokenizer;
21  import java.io.File;
22  
23  /***
24   * User: jamie
25   * Date: Jun 4, 2004
26   * Time: 8:44:57 PM
27   */
28  public class CheckClassPathDiagnostic extends DiagnosticUnit {
29      
30      /***
31       * Default constructor 
32       */
33      public CheckClassPathDiagnostic() {
34          super();
35      }
36      
37      /***
38       * Construct with a new fully qualified name
39       * @param name the fqn of this diagnostic
40       */
41      public CheckClassPathDiagnostic(String name) {
42          super(name);
43      }
44  
45      public void diagnoseClasspath() {
46          String classPath = System.getProperty("java.class.path");
47          String pathSeparator = System.getProperty("path.separator");
48          StringTokenizer st = new StringTokenizer(classPath, pathSeparator);
49          while (st.hasMoreTokens()) {
50              String classPathEntry = st.nextToken();
51              File file = new File(classPathEntry);
52              assertTrue(file + " is in the classpath but does not exist", file.exists());
53          }
54      }
55  }