Skip to content

Commit

Permalink
修改Global 没有私有构造函数,实现懒汉式单例模式.在第一次调用的时候实例化自己!
Browse files Browse the repository at this point in the history
  • Loading branch information
smallyaohailu committed Jan 5, 2018
1 parent 8ba6653 commit 71c8fc0
Showing 1 changed file with 57 additions and 43 deletions.
100 changes: 57 additions & 43 deletions src/main/java/com/thinkgem/jeesite/common/config/Global.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
*/
package com.thinkgem.jeesite.common.config;
package com.jeesite.common.config;

import java.io.File;
import java.io.IOException;
Expand All @@ -11,26 +11,43 @@

import com.ckfinder.connector.ServletContextFactory;
import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.utils.PropertiesLoader;
import com.thinkgem.jeesite.common.utils.StringUtils;

import com.jeesite.common.utils.PropertiesLoader;
import com.jeesite.common.utils.StringUtils;

/**
* 全局配置类
* @author ThinkGem
* @version 2014-06-25
* 全局配置类 懒汉式单例类.在第一次调用的时候实例化自己
* @author ThinkGem,长春叭哥
* @version 2018年1月5日
*/
public class Global {

private Global() {

}

/**
* 当前对象实例
*/
private static Global global = new Global();
private static Global global = null;

/**
* 静态工厂方法 获取当前对象实例
*/

public static Global getInstance() {

if (global == null) {
global = new Global();
}
return global;
}

/**
* 保存全局属性值
*/
private static Map<String, String> map = Maps.newHashMap();

/**
* 属性文件加载对象
*/
Expand All @@ -47,77 +64,72 @@ public class Global {
*/
public static final String YES = "1";
public static final String NO = "0";

/**
* 对/错
*/
public static final String TRUE = "true";
public static final String FALSE = "false";

/**
* 上传文件基础虚拟路径
*/
public static final String USERFILES_BASE_URL = "/userfiles/";

/**
* 获取当前对象实例
*/
public static Global getInstance() {
return global;
}


/**
* 获取配置
*
* @see ${fns:getConfig('adminPath')}
*/
public static String getConfig(String key) {
String value = map.get(key);
if (value == null){
if (value == null) {
value = loader.getProperty(key);
map.put(key, value != null ? value : StringUtils.EMPTY);
}
return value;
}

/**
* 获取管理端根路径
*/
public static String getAdminPath() {
return getConfig("adminPath");
}

/**
* 获取前端根路径
*/
public static String getFrontPath() {
return getConfig("frontPath");
}

/**
* 获取URL后缀
*/
public static String getUrlSuffix() {
return getConfig("urlSuffix");
}

/**
* 是否是演示模式,演示模式下不能修改用户、角色、密码、菜单、授权
*/
public static Boolean isDemoMode() {
String dm = getConfig("demoMode");
return "true".equals(dm) || "1".equals(dm);
}

/**
* 在修改系统用户和角色时是否同步到Activiti
*/
public static Boolean isSynActivitiIndetity() {
String dm = getConfig("activiti.isSynActivitiIndetity");
return "true".equals(dm) || "1".equals(dm);
}

/**
* 页面获取常量
*
* @see ${fns:getConst('YES')}
*/
public static Object getConst(String field) {
Expand All @@ -131,45 +143,47 @@ public static Object getConst(String field) {

/**
* 获取上传文件的根目录
*
* @return
*/
public static String getUserfilesBaseDir() {
String dir = getConfig("userfiles.basedir");
if (StringUtils.isBlank(dir)){
if (StringUtils.isBlank(dir)) {
try {
dir = ServletContextFactory.getServletContext().getRealPath("/");
} catch (Exception e) {
return "";
}
}
if(!dir.endsWith("/")) {
if (!dir.endsWith("/")) {
dir += "/";
}
// System.out.println("userfiles.basedir: " + dir);
// System.out.println("userfiles.basedir: " + dir);
return dir;
}

/**
* 获取工程路径
* @return
*/
public static String getProjectPath(){
// 如果配置了工程路径,则直接返回,否则自动获取。

/**
* 获取工程路径
*
* @return
*/
public static String getProjectPath() {
// 如果配置了工程路径,则直接返回,否则自动获取。
String projectPath = Global.getConfig("projectPath");
if (StringUtils.isNotBlank(projectPath)){
if (StringUtils.isNotBlank(projectPath)) {
return projectPath;
}
try {
File file = new DefaultResourceLoader().getResource("").getFile();
if (file != null){
while(true){
if (file != null) {
while (true) {
File f = new File(file.getPath() + File.separator + "src" + File.separator + "main");
if (f == null || f.exists()){
if (f == null || f.exists()) {
break;
}
if (file.getParentFile() != null){
if (file.getParentFile() != null) {
file = file.getParentFile();
}else{
} else {
break;
}
}
Expand All @@ -179,6 +193,6 @@ public static String getProjectPath(){
e.printStackTrace();
}
return projectPath;
}
}

}

0 comments on commit 71c8fc0

Please sign in to comment.