diff --git a/maxkey-core/src/main/java/org/maxkey/util/PathUtils.java b/maxkey-core/src/main/java/org/maxkey/util/PathUtils.java index 117cc8f3..dfe8153e 100644 --- a/maxkey-core/src/main/java/org/maxkey/util/PathUtils.java +++ b/maxkey-core/src/main/java/org/maxkey/util/PathUtils.java @@ -1,71 +1,81 @@ package org.maxkey.util; import java.io.UnsupportedEncodingException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class PathUtils { - private final Logger _logger = LoggerFactory.getLogger(PathUtils.class); - private static PathUtils instance = null; - private String classPath; - private String appPath; - public static String WEB_INFO = "/WEB-INF/"; - - public static synchronized PathUtils getInstance() { - if (instance == null) { - instance = new PathUtils(); - instance._logger.debug("getInstance()" +" new PathUtils instance"); - } - return instance; - } + private static final Logger _logger = LoggerFactory.getLogger(PathUtils.class); + private static PathUtils instance = null; + private String classPath; + private String appPath; + public static String WEB_INFO = "/WEB-INF/"; - public PathUtils() { - try { - classPath = java.net.URLDecoder.decode(PathUtils.class.getResource("PathUtils.properties").getFile(),"UTF-8"); - _logger.debug("PathUtils() PathUtils " +classPath); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - - String fileProtocol=PathUtils.class.getResource("PathUtils.properties").getProtocol(); - _logger.info("Properties Protocol:"+PathUtils.class.getResource("PathUtils.properties").getProtocol()); - - if(fileProtocol.equalsIgnoreCase("file")&&classPath.indexOf("file:")==0){ - classPath=classPath.substring(5, classPath.length()); - }else if(fileProtocol.equalsIgnoreCase("jar")&&classPath.indexOf("file:")==0){ - // file:/Server/webapps/app - classPath=classPath.substring(5, classPath.length()); - }else if(fileProtocol.equalsIgnoreCase("wsjar")&&classPath.indexOf("file:")==0){ - classPath=classPath.substring(5, classPath.length()); - }else if(classPath.equalsIgnoreCase("file:")){ - classPath=classPath.substring(5, classPath.length()); - } - - _logger.info("PathUtils Class Path : " + classPath); - classPath=classPath.substring(0,classPath.indexOf("/org/maxkey/util/PathUtils.properties")); - if(classPath.indexOf(WEB_INFO)==-1) { - appPath=classPath.substring(0,classPath.lastIndexOf("/")); - }else { - appPath=classPath.substring(0,classPath.lastIndexOf(WEB_INFO)); - } - - System.setProperty("APP_PATH", appPath); - System.setProperty("CLASSES_PATH", classPath); - - _logger.info("PathUtils App Path : " + appPath); - _logger.info("PathUtils Class Path : " + classPath); - } - - public String getAppPath(){ - return appPath + "/"; - } - - public String getClassPath(){ - return classPath + "/"; - } - - public String getWebInf(){ - return (classPath.lastIndexOf(WEB_INFO)>-1)? (appPath + WEB_INFO) : ""; - } + /** + * getInstance . + * @return + */ + public static synchronized PathUtils getInstance() { + if (instance == null) { + instance = new PathUtils(); + PathUtils._logger.debug("getInstance()" + " new PathUtils instance"); + } + return instance; + } + + /** + * PathUtils. + */ + public PathUtils() { + try { + classPath = java.net.URLDecoder.decode( + PathUtils.class.getResource("PathUtils.xml").getFile(), + "UTF-8" + ); + _logger.debug("PathUtils() PathUtils " + classPath); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + String fileProtocol = PathUtils.class.getResource("PathUtils.properties").getProtocol(); + _logger.info("Properties Protocol:" + + PathUtils.class.getResource("PathUtils.properties").getProtocol()); + + if (fileProtocol.equalsIgnoreCase("file") && classPath.indexOf("file:") == 0) { + classPath = classPath.substring(5, classPath.length()); + } else if (fileProtocol.equalsIgnoreCase("jar") && classPath.indexOf("file:") == 0) { + // file:/Server/webapps/app + classPath = classPath.substring(5, classPath.length()); + } else if (fileProtocol.equalsIgnoreCase("wsjar") && classPath.indexOf("file:") == 0) { + classPath = classPath.substring(5, classPath.length()); + } else if (classPath.equalsIgnoreCase("file:")) { + classPath = classPath.substring(5, classPath.length()); + } + + _logger.info("PathUtils Class Path : " + classPath); + classPath = classPath.substring(0, classPath.indexOf("/org/maxkey/util/PathUtils.xml")); + if (classPath.indexOf(WEB_INFO) == -1) { + appPath = classPath.substring(0, classPath.lastIndexOf("/")); + } else { + appPath = classPath.substring(0, classPath.lastIndexOf(WEB_INFO)); + } + + System.setProperty("APP_PATH", appPath); + System.setProperty("CLASSES_PATH", classPath); + + _logger.info("PathUtils App Path : " + appPath); + _logger.info("PathUtils Class Path : " + classPath); + } + + public String getAppPath() { + return appPath + "/"; + } + + public String getClassPath() { + return classPath + "/"; + } + + public String getWebInf() { + return (classPath.lastIndexOf(WEB_INFO) > -1) ? (appPath + WEB_INFO) : ""; + } } diff --git a/maxkey-core/src/main/java/org/maxkey/util/PathUtils.properties b/maxkey-core/src/main/java/org/maxkey/util/PathUtils.properties deleted file mode 100644 index c7292c84..00000000 --- a/maxkey-core/src/main/java/org/maxkey/util/PathUtils.properties +++ /dev/null @@ -1 +0,0 @@ -org.maxkey.util.PathUtils \ No newline at end of file diff --git a/maxkey-core/src/main/java/org/maxkey/util/PathUtils.xml b/maxkey-core/src/main/java/org/maxkey/util/PathUtils.xml new file mode 100644 index 00000000..9b45ef06 --- /dev/null +++ b/maxkey-core/src/main/java/org/maxkey/util/PathUtils.xml @@ -0,0 +1,3 @@ + +org.maxkey.util.PathUtils + \ No newline at end of file