package org.bbaw.wsp.cms.general; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; public class Constants { private static Constants instance; private String applicationDirectory; private String configDirectory; private Properties properties; public static Constants getInstance() { if (instance == null) { instance = new Constants(); instance.init(); } return instance; } public static Constants getInstance(String applicationDirectory) { if (instance == null) { instance = new Constants(); instance.applicationDirectory = applicationDirectory; instance.init(); } return instance; } private void init() { File configDir = new File("./config"); if (applicationDirectory != null) configDir = new File(applicationDirectory + "/config"); configDirectory = configDir.getAbsolutePath(); if (configDir.exists()) { File coreConstantsPropFile = new File(configDirectory + "/core/constants.properties"); if (coreConstantsPropFile.exists()) { try { FileInputStream in = new FileInputStream(coreConstantsPropFile); properties = new Properties(); properties.load(in); System.out.println("CMS core property file: " + coreConstantsPropFile.getAbsolutePath() + " loaded"); } catch (IOException e) { e.printStackTrace(); } } else { System.out.println("CMS core property file: " + coreConstantsPropFile.getAbsolutePath() + " not found"); } } else { System.out.println("Application configuration directory: " + configDirectory + " not found"); } } public String getDocumentsDir() { if (properties != null) return properties.getProperty("documentsDir"); else return "no properties file"; } public String getLuceneDocumentsDir() { if (properties != null) return properties.getProperty("luceneDocumentsDir"); else return "no properties file"; } public String getLuceneNodesDir() { if (properties != null) return properties.getProperty("luceneNodesDir"); else return "no properties file"; } public String getLuceneTaxonomyDir() { if (properties != null) return properties.getProperty("luceneTaxonomyDir"); else return "no properties file"; } public String getCollectionConfDir() { return configDirectory + "/collections"; } }