package org.eurocarbdb.util.glycomedb; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; import java.util.Properties; public class Configuration { private String[] m_databases = {"bcsdb","carbbank","cfg","eurocarbdb(nibrt)","glycobase(dublin)","glycobase(lille)","GlycomeDB","glycosciences.de","kegg","pdb"}; private String username = ""; private String userEmailAddress = ""; private String url = ""; private String ignoreDatabase = ""; private String userFullName=""; private String currentFolder=""; private String outXMLFilename=""; private HashMap<String, String> m_hashDatabaseNames = new HashMap<String, String>(); private HashMap<String, String> m_hashDatabaseURL = new HashMap<String, String>(); /*get a database name from HashMap */ public String getDatabaseName(String a_key) { String t_result = this.m_hashDatabaseNames.get(a_key); if ( t_result == null ) { return a_key; } return t_result; } /*get a database url from HashMap */ public String getDatabaseUrl(String a_key) { return this.m_hashDatabaseURL.get(a_key); } /*constructor * loading up all information from ini file and save databseName and URL into hashMap */ public Configuration(String a_file ) throws FileNotFoundException, IOException { Properties p = new Properties(); p.load(new FileInputStream(a_file)); setUsername(p.getProperty("DBuser")); setUserFullName(p.getProperty("DBuserFullName")); setUserEmailAddress(p.getProperty("DBuserEmailAddress")); setUrl(p.getProperty("DBurl")); setCurrentFolder(p.getProperty("CurrentFolder")); setOutXMLFilename(p.getProperty("outXMLFilename")); setIgnoreDatabase(p.getProperty("ignoredatabase")); for (String t_name : this.m_databases) { String[] t_properties = p.getProperty(t_name).split("\\|"); this.m_hashDatabaseNames.put(t_name, t_properties[0]); if(t_properties.length == 2){ this.m_hashDatabaseURL.put(t_name, t_properties[1]); } } } public void setUsername(String username) { this.username = username; } public String getUsername() { return username; } public void setUserEmailAddress(String userEmailAddress) { this.userEmailAddress = userEmailAddress; } public String getUserEmailAddress() { return userEmailAddress; } public void setUrl(String url) { this.url = url; } public String getUrl() { return url; } public void setIgnoreDatabase(String ignoreDatabase) { this.ignoreDatabase = ignoreDatabase; } public String getIgnoreDatabase() { return ignoreDatabase; } public boolean isIgnoreDatabase(String db) { if(db.equals(getIgnoreDatabase())){ return true; } return false; } public void setUserFullName(String userFullName) { this.userFullName = userFullName; } public String getUserFullName() { return userFullName; } public String getOutXMLFilename() { return outXMLFilename; } public void setOutXMLFilename(String outXMLFilename) { this.outXMLFilename = outXMLFilename; } public void setCurrentFolder(String currentFolder) { this.currentFolder = currentFolder; } public String getCurrentFolder() { return currentFolder; } }