knu project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

265 lines
8.0 KiB

package kr.co.kihyun.moumi;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MoumiConfig {
private static final Logger LOG = LoggerFactory.getLogger(MoumiConfig.class);
private static ResourceBundle moumiConfig;
private static ResourceBundle messageBundle;
private static Properties pmfProperties;
private static Properties handyProperties;
private static Properties ecrossProperties;
static {
try {
MoumiConfig.setMoumiConfig(new PropertyResourceBundle(MoumiConfig.class.getResourceAsStream("/moumi.properties")));
} catch (IOException e) {
throw new RuntimeException("unable to read moumi.properties file.");
}
MoumiConfig.setMessageBundle(ResourceBundle.getBundle("moumi_messages"));
LOG.debug("msg bundle: {}", MoumiConfig.getMessageBundle());
MoumiConfig.setPmfProperties(new Properties());
InputStream stream = MoumiConfig.class.getResourceAsStream("/moumi-pmf.properties");
try {
MoumiConfig.getPmfProperties().load(stream);
} catch (IOException e) {
throw new RuntimeException("unable to read moumi-pmf.properties file.");
}
MoumiConfig.setHandyProperties(new Properties());
stream = MoumiConfig.class.getResourceAsStream("/handy-pmf.properties");
try {
MoumiConfig.getHandyProperties().load(stream);
} catch (IOException e) {
throw new RuntimeException("unable to read handy-pmf.properties file.");
}
MoumiConfig.setECrossProperties(new Properties());
stream = MoumiConfig.class.getResourceAsStream("/ecross-pmf.properties");
try {
MoumiConfig.getECrossProperties().load(stream);
} catch (IOException e) {
throw new RuntimeException("unable to read ecross-pmf.properties file.");
}
}
/******** 집계문서 접근권한 상수값 ********/
@Deprecated
public static final int PER = 0;
@Deprecated
public static final int DEPT = 1;
@Deprecated
public static final int PART = 2;
@Deprecated
public static final int ALL = 3;
/******** 사용자 권한 상수 정의 *********/
@Deprecated
public static final int REPOPER = 0; // 보고자
@Deprecated
public static final int SUB_TOTPER = 1; // 집계자
@Deprecated
public static final int TOTPER = 2; // 상위집계자
@Deprecated
public static final int PART_REPOADM = 4; // 기관보고관리자
@Deprecated
public static final int REPOADM = 5; // 학교관리자 20170929 주석에 보고관리자를 학교관리자로 수정 by wonseok Lee
@Deprecated
public static final int SUB_TOTADM = 6; // 부서관리자 20170929 주석에 기관집계관리자를 부서관리자로 수정 by wonseok Lee
@Deprecated
public static final int SUB_SYSADM = 7; // 기관시스템관리자
@Deprecated
public static final int TOTADM = 8; // 집계관리자
@Deprecated
public static final int SYSADM = 9; // 시스템관리자
public static ResourceBundle getMessageBundle() {
return messageBundle;
}
public static String getInitParameter(String paramName) {
return getMoumiConfig().getString(paramName);
}
/******** Setup values ********/
public static File getRoot() {
try {
String moumiPath = MoumiConfig.class.getResource("MoumiConfig.class").getPath();
String rootDirectory = moumiPath.substring(0, moumiPath.indexOf("WEB-INF")).replace("file:", "");
LOG.debug("rootDir: {}", rootDirectory);
return new File(rootDirectory);
} catch (Exception e) {
return new File("/tmp");
}
}
static File getDir(String fileDir) {
return MoumiConfig.getDir(new File(fileDir));
}
private static File getDir(File dir) {
LOG.debug("dir.isDirectory: {}, dir.getParent(): {}, dir.getParent().exists(): {}, dir.getParentFile().isDirectory: {}",
new Object[] {dir.isDirectory(), dir.getParent(), dir.getParentFile().exists(), dir.getParentFile().isDirectory()});
if (!dir.isDirectory())
if (!dir.mkdirs())
throw new RuntimeException(dir + " is not a directory.");
return dir;
}
public static File getFileDirectory() {
try {
return getDir(getInitParameter("moumi.dir.upload"));
} catch (java.util.MissingResourceException mre) {
return getDir(new File(getRoot(), "uploads"));
}
}
public static File getTotRoot() {
return getDir(new File(MoumiConfig.getRoot().getPath(), "totsys"));
}
public static File getTotPerRoot() {
return getDir(new File(MoumiConfig.getTotRoot().getPath(), "totper"));
}
public static File getTotPerTmp() {
return getDir(new File(MoumiConfig.getTotPerRoot().getPath(), "tmp"));
}
public static File getRepoPerRoot() {
File repoperDir = getDir(new File(MoumiConfig.getTotRoot().getPath(), "repoper"));
File fileDir = getDir(new File(repoperDir, "fileUpload"));
return repoperDir;
}
public static File getRepoPerTmp() {
return getDir(new File(MoumiConfig.getRepoPerRoot().getPath(), "tmp"));
}
public static File getBoardFileRoot() {
return getDir(new File(getFileDirectory().getPath(), "board"));
}
public static File getDocFileRoot() {
return getDir(new File(getFileDirectory().getPath(), "document"));
}
public static File getCsvFileRoot() {
return getDir(new File(getFileDirectory().getPath(), "csv"));
}
public static File getSysAdmFileRoot() {
File dir = getDir(new File(getFileDirectory().getPath(), "sysadm"));
File deptDir = getDir(new File(dir, "dept"));
File upDir = getDir(new File(dir, "upfiles"));
return dir;
}
public static String getTitle() {
return getMessageBundle().getString("moumi.message.title");
}
public static String getSysAdmIP() {
return getInitParameter("moumi.sysAdmIp");
}
public static boolean getUseRecog() {
return Boolean.parseBoolean(getInitParameter("moumi.use.recog"));
}
public static boolean getUsePasswdEncrypt() {
return Boolean.parseBoolean(getInitParameter("moumi.use.passwdEncrypt"));
}
public static boolean isSysAdmLoginConstraint() {
return Boolean.parseBoolean(getInitParameter("moumi.isSysAdmLoginConstraint"));
}
public static boolean getUseAssign() {
return Boolean.parseBoolean(getInitParameter("moumi.use.assign"));
}
public static boolean is2Step() {
return Boolean.parseBoolean(getInitParameter("moumi.is2Step"));
}
public static boolean isMonitor() {
return Boolean.parseBoolean(getInitParameter("moumi.isMonitor"));
}
public static boolean is2StepDirect() {
return Boolean.parseBoolean(getInitParameter("moumi.is2StepDirect"));
}
public static boolean isOnLeftMenu() {
return Boolean.parseBoolean(getInitParameter("moumi.turnOnLeftMenu"));
}
public static boolean isOnTopMenu() {
return Boolean.parseBoolean(getInitParameter("moumi.turnOnTopMenu"));
}
public static String getDtdUri() {
String dtdUri = "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
return getInitParameter("xhtml.dtd") == null ? dtdUri : getInitParameter("xhtml.dtd");
}
public static String getMessengerServerAddress() {
return getInitParameter("im.address");
}
public static int getMessengerServerPort() {
return Integer.parseInt(getInitParameter("im.port"));
}
public static Properties getPMFProperties() {
return getPmfProperties();
}
public static void setPmfProperties(Properties pmfProperties) {
MoumiConfig.pmfProperties = pmfProperties;
}
public static Properties getPmfProperties() {
return pmfProperties;
}
public static void setMoumiConfig(ResourceBundle moumiConfig) {
MoumiConfig.moumiConfig = moumiConfig;
}
public static ResourceBundle getMoumiConfig() {
return moumiConfig;
}
public static void setMessageBundle(ResourceBundle messageBundle) {
MoumiConfig.messageBundle = messageBundle;
}
public static void setHandyProperties(Properties handyProperties) {
MoumiConfig.handyProperties = handyProperties;
}
public static Properties getHandyProperties() {
return handyProperties;
}
public static void setECrossProperties(Properties ecrossProperties) {
MoumiConfig.ecrossProperties = ecrossProperties;
}
public static Properties getECrossProperties() {
return ecrossProperties;
}
}