Home » geronimo-2.2-source-release » org.apache.geronimo.system.serverinfo » [javadoc | source]

    1   /**
    2    *  Licensed to the Apache Software Foundation (ASF) under one or more
    3    *  contributor license agreements.  See the NOTICE file distributed with
    4    *  this work for additional information regarding copyright ownership.
    5    *  The ASF licenses this file to You under the Apache License, Version 2.0
    6    *  (the "License"); you may not use this file except in compliance with
    7    *  the License.  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
   10    *
   11    *  Unless required by applicable law or agreed to in writing, software
   12    *  distributed under the License is distributed on an "AS IS" BASIS,
   13    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    *  See the License for the specific language governing permissions and
   15    *  limitations under the License.
   16    */
   17   package org.apache.geronimo.system.serverinfo;
   18   
   19   import java.io.File;
   20   import java.net.JarURLConnection;
   21   import java.net.URI;
   22   import java.net.URL;
   23   
   24   import org.slf4j.Logger;
   25   import org.slf4j.LoggerFactory;
   26   
   27   /**
   28    * @version $Rev: 651684 $ $Date: 2008-04-25 12:11:52 -0700 (Fri, 25 Apr 2008) $
   29    */
   30   public final class DirectoryUtils {
   31       private static final Logger log = LoggerFactory.getLogger(DirectoryUtils.class);
   32       private static final File geronimoInstallDirectory;
   33   
   34       static {
   35           // guess from the location of the jar
   36           URL url = DirectoryUtils.class.getClassLoader().getResource("META-INF/startup-jar");
   37   
   38           File directory = null;
   39           if (url != null) {
   40               try {
   41                   JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
   42                   url = jarConnection.getJarFileURL();
   43   
   44                   URI baseURI = new URI(url.toString()).resolve("..");
   45                   directory = new File(baseURI);
   46               } catch (Exception ignored) {
   47                   log.error("Error while determining the installation directory of Apache Geronimo", ignored);
   48               }
   49           } else {
   50               log.error("Cound not determine the installation directory of Apache Geronimo, because the startup jar could not be found in the current class loader.");
   51           }
   52           geronimoInstallDirectory = directory;
   53       }
   54   
   55       public static File getGeronimoInstallDirectory() {
   56           return geronimoInstallDirectory;
   57       }
   58   }

Home » geronimo-2.2-source-release » org.apache.geronimo.system.serverinfo » [javadoc | source]