/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package vn.mobile.id.utils; import java.io.FileInputStream; import java.io.InputStream; import java.util.Properties; import org.apache.log4j.Logger; /** * * @author TuoiCM */ public class Configuration { // private static final Logger logger = Logger.getLogger(Configuration.class); private static Configuration instance; private String relyingPartyName; //FMS properties private Properties fmsProperties = new Properties(); private String fmsUrl; private String fmsUsername; private String fmsPassword; private String fmsMaxSession; private String fmsMaxFileInFolder; private String fmsWorkSpace; // // public static Configuration getInstance(String rpName) { if (instance == null) { instance = new Configuration(rpName); } return instance; } // // private Configuration(String rpName) { try { this.relyingPartyName = rpName.toUpperCase(); logger.info("LOAD THE CONFIGUATION FILE FOR RP " + rpName); ClassLoader loader = Thread.currentThread().getContextClassLoader(); //Fms properties InputStream fmsProp = loader.getResourceAsStream("fms.properties"); if (null != fmsProp) { this.fmsProperties.load(fmsProp); if (null == this.fmsProperties) { String propertiesFile = Utils.getPropertiesFile("fms.properties"); if (propertiesFile != null) { logger.info("READ THE CONFIGUATION FILE FROM " + propertiesFile); try (InputStream in = new FileInputStream(propertiesFile)) { this.fmsProperties.load(in); } } else { logger.error("CANNOT FIND FMS CONFIGUATION FILE. THIS IS A BIG PROBLEM"); } } fmsProp.close(); } else { String propertiesFile = Utils.getPropertiesFile("app.properties"); if (propertiesFile != null) { logger.info("Read the configuation file from " + propertiesFile); this.fmsProperties.load(new FileInputStream(propertiesFile)); } else { logger.error("Cannot find any configuation file. This is a big problem"); } } RelyingPartyName rpNameEnum = RelyingPartyName.valueOf(rpName); switch (rpNameEnum) { case ISAPP: this.fmsUrl = fmsProperties.getProperty("fms.conf.isapp.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.isapp.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.isapp.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.isapp.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.isapp.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.isapp.workspace"); break; case CMCCA: this.fmsUrl = fmsProperties.getProperty("fms.conf.cmcca.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.cmcca.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.cmcca.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.cmcca.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.cmcca.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.cmcca.workspace"); break; case FPTCA: this.fmsUrl = fmsProperties.getProperty("fms.conf.fptca.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.fptca.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.fptca.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.fptca.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.fptca.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.fptca.workspace"); break; case MOBILE_ID: this.fmsUrl = fmsProperties.getProperty("fms.conf.mobileid.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.mobileid.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.mobileid.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.mobileid.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.mobileid.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.mobileid.workspace"); break; case MOBILE_ID_DEV: this.fmsUrl = fmsProperties.getProperty("fms.conf.mobileiddev.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.mobileiddev.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.mobileiddev.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.mobileiddev.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.mobileiddev.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.mobileiddev.workspace"); break; case FASTCA: this.fmsUrl = fmsProperties.getProperty("fms.conf.fastca.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.fastca.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.fastca.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.fastca.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.fastca.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.fastca.workspace"); break; case VIETTELCA: this.fmsUrl = fmsProperties.getProperty("fms.conf.viettelca.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.viettelca.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.viettelca.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.viettelca.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.viettelca.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.viettelca.workspace"); break; case EASYCA: this.fmsUrl = fmsProperties.getProperty("fms.conf.easyca.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.easyca.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.easyca.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.easyca.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.easyca.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.easyca.workspace"); break; case PVCOMBANK: this.fmsUrl = fmsProperties.getProperty("fms.conf.pvcombank.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.pvcombank.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.pvcombank.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.pvcombank.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.pvcombank.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.pvcombank.workspace"); break; case PVCOMBANK_TEST: this.fmsUrl = fmsProperties.getProperty("fms.conf.pvcombanktest.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.pvcombanktest.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.pvcombanktest.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.pvcombanktest.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.pvcombanktest.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.pvcombanktest.workspace"); break; case DEMO: this.fmsUrl = fmsProperties.getProperty("fms.conf.demo.url"); this.fmsUsername = fmsProperties.getProperty("fms.conf.demo.username"); this.fmsPassword = fmsProperties.getProperty("fms.conf.demo.password"); this.fmsMaxSession = fmsProperties.getProperty("fms.conf.demo.maxsession"); this.fmsMaxFileInFolder = fmsProperties.getProperty("fms.conf.demo.maxfileinfolder"); this.fmsWorkSpace = fmsProperties.getProperty("fms.conf.demo.workspace"); break; default: logger.error("INVALID RELYINGPART NAME " + rpName); this.fmsUrl = null; this.fmsUsername = null; this.fmsPassword = null; this.fmsMaxSession = null; this.fmsMaxFileInFolder = null; this.fmsWorkSpace = null; break; } } catch (Exception ex) { this.fmsUrl = null; this.fmsUsername = null; this.fmsPassword = null; this.fmsMaxSession = null; this.fmsMaxFileInFolder = null; this.fmsWorkSpace = null; logger.error(Utils.printStackTrace(ex)); } } // // public Properties getFmsProperties() { return fmsProperties; } public void setFmsProperties(Properties fmsProperties) { this.fmsProperties = fmsProperties; } public String getFmsUrl() { return fmsUrl; } public void setFmsUrl(String fmsUrl) { this.fmsUrl = fmsUrl; } public String getFmsUsername() { return fmsUsername; } public void setFmsUsername(String fmsUsername) { this.fmsUsername = fmsUsername; } public String getFmsPassword() { return fmsPassword; } public void setFmsPassword(String fmsPassword) { this.fmsPassword = fmsPassword; } public String getFmsMaxSession() { return fmsMaxSession; } public void setFmsMaxSession(String fmsMaxSession) { this.fmsMaxSession = fmsMaxSession; } public String getFmsMaxFileInFolder() { return fmsMaxFileInFolder; } public void setFmsMaxFileInFolder(String fmsMaxFileInFolder) { this.fmsMaxFileInFolder = fmsMaxFileInFolder; } public String getFmsWorkSpace() { return fmsWorkSpace; } public void setFmsWorkSpace(String fmsWorkSpace) { this.fmsWorkSpace = fmsWorkSpace; } // }