📄 jembossparams.java
字号:
/***************************************************************** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.** @author: Copyright (C) Tim Carver****************************************************************/package org.emboss.jemboss;import java.util.*;import java.io.FileInputStream;import java.io.FileOutputStream;import java.net.InetAddress;/**** Contains all property information about the client* and the server.**/public class JembossParams{/** denotes a server is OK */ static public final int SERVER_OK = 0;/** denotes a server is giving errors */ static public final int SERVER_ERR = 1;/** denotes a server is not responding */ static public final int SERVER_DOWN = 2; // these are the things that could be set private boolean useHTTPSProxy = false; private String useHTTPSProxyName = "useHTTPSProxy"; private boolean useProxy = false; private String useProxyName = "proxy.use"; private String proxyHost = "wwwcache"; private String proxyHostName = "proxy.host"; private int proxyPortNum = 8080; private String proxyPortNumName = "proxy.port";//browser proxy /** use a separate proxy for browsing the web */ private boolean useBrowserProxy = false; /** property name for using separate proxy for browsing the web */ private String useBrowserProxyName = "browserProxy.use"; /** browser proxy host */ private String browserProxyHost = "wwwcache"; /** property name for browser proxy host */ private String browserProxyHostName = "browserProxy.host"; /** browser proxy port */ private int browserProxyPort = 8080; /** property name for browser proxy port */ private String browserProxyPortName = "browserProxy.port"; private boolean useTFM; private String useTFMName = "tfm.use"; /** use proxy authentication */ private boolean useProxyAuth = false; /** property name for using proxy authentication */ private String useProxyAuthName = "proxy.auth"; private String proxyAuthUser = ""; private String proxyAuthUserName = "proxy.user"; private String proxyAuthPasswd = ""; private String proxyAuthPasswdName = "proxy.passwd"; private boolean proxyOverride = false; private String proxyOverrideName = "proxy.override"; /** use unix authentication to run applications on the server */ private boolean useAuth = true; /** property name for using unix authentication */ private String useAuthName = "user.auth"; /** public services URL */ private String publicSoapURL = "https://jemboss.hgmp.mrc.ac.uk:8443/axis/services"; /** property name for public services URL */ private String publicSoapURLName = "server.public"; /** private services URL */ private String privateSoapURL = "https://jemboss.hgmp.mrc.ac.uk:8443/axis/services"; /** property name for private services URL */ private String privateSoapURLName = "server.private"; /** service name */ private String soapService = "EmbossSoap"; /** property name for service name */ private String soapServiceName = "service.name"; /** private service name */ private String privateSoapService = "JembossAuthServer"; /** property name for private service name */ private String privateSoapServiceName = "service.private"; /** public service name */ private String publicSoapService = "JembossAuthServer"; /** property name for public service name */ private String publicSoapServiceName = "service.public"; //soap options private boolean debug = false; private String debugName = "jemboss.debug"; /** batch mode support */ private boolean hasBatchMode = true; /** property name for batch mode support */ private String hasBatchModeName = "jemboss.hasbatchmode"; /** interactive mode support */ private boolean hasInteractiveMode = true; /** property name for interactive mode support */ private String hasInteractiveModeName = "jemboss.hasinteractivemode"; /** current mode for running an application */ private String currentMode = "interactive"; /** property name for current mode */ private String currentModeName = "jemboss.mode"; // server lists for redundancy private String serverPublicList = ""; private String serverPublicListName = "server.publiclist"; private String serverPrivateList = ""; private String serverPrivateListName = "server.privatelist"; // we don't remember these perhaps we should for captive systems private String serviceUserName = ""; private String serviceUserNameName = "user.name"; private char[] servicePasswd = null; /** services password */ private byte[] servicePasswdByte = null; Properties jembossSettings; // Internal flags to help in the dynamic evaluation of properties private boolean useJavaProxy = false; private String javaProxyPort = ""; private String javaProxyHost = ""; private boolean useJavaNoProxy = false; private String javaNoProxy = ""; private Vector javaNoProxyEntries; private int javaProxyPortNum = 8080; // structures for server redundancy private boolean publicServerFailOver = false; private boolean privateServerFailOver = false; private Hashtable serverStatusHash; private Vector publicServers; private Vector privateServers; /** Jemboss java server */ private static boolean jembossServer = false; /** property name for Jemboss java server */ private String jembossServerName = "jemboss.server"; /** cygwin */ private static String cygwin = null; /** property name for Jemboss java server */ private String cygwinName = "cygwin"; //EMBOSS directories /** plplot library location */ private String plplot = "/usr/local/share/EMBOSS/"; /** property name for plplot library location */ private String plplotName = "plplot"; /** emboss data location */ private String embossData = "/usr/local/share/EMBOSS/data/"; /** property name for emboss data location */ private String embossDataName = "embossData"; /** emboss binary location */ private String embossBin = "/usr/local/bin/"; /** property name for emboss binary location */ private String embossBinName = "embossBin"; /** emboss path environment variable */ private String embossPath = "/usr/bin/:/bin"; /** property name for emboss path environment variable */ private String embossPathName = "embossPath"; /** emboss environment */ private String embossEnvironment = ""; /** property name for emboss environment */ private String embossEnvironmentName = "embossEnvironment"; /** acd file location */ private String acdDirToParse = "/usr/local/share/EMBOSS/acd/"; /** property name for acd file location */ private String acdDirToParseName = "acdDirToParse"; //EMBOSS Application pages /** documentation URL */ private String embURL = "http://www.uk.embnet.org/Software/EMBOSS/Apps/"; /** property name for documentation URL */ private String embossURL = "embossURL"; // user properties /** user home directory */ private String userHome = System.getProperty("user.home"); /** property name for user home directory */ private String userHomeName = "user.home"; /** standalone results directory */ private String resultsHome = System.getProperty("user.home")+ "/jemboss"; private String resultsHomeName = "results.home";/**** Loads and holds the properties**/ public JembossParams() { Properties defaults = new Properties(); ClassLoader cl = this.getClass().getClassLoader(); // initialize data structures serverStatusHash = new Hashtable(); publicServers = new Vector(); privateServers = new Vector(); // initialize settings from table above defaults.put(userHomeName,userHome); defaults.put(resultsHomeName,resultsHome); defaults.put(embossURL,embURL); defaults.put(plplotName,plplot); defaults.put(embossDataName,embossData); defaults.put(embossBinName,embossBin); defaults.put(embossPathName,embossPath); defaults.put(embossEnvironmentName,embossEnvironment); defaults.put(acdDirToParseName,acdDirToParse); defaults.put(useBrowserProxyName, new Boolean(useBrowserProxy).toString()); defaults.put(browserProxyHostName,browserProxyHost); defaults.put(browserProxyPortName,new Integer(browserProxyPort).toString()); defaults.put(useTFMName,new Boolean(useTFM).toString()); defaults.put(useProxyName, new Boolean(useProxy).toString()); defaults.put(useHTTPSProxyName, new Boolean(useHTTPSProxy).toString()); defaults.put(proxyHostName,proxyHost); defaults.put(proxyPortNumName, new Integer(proxyPortNum).toString()); defaults.put(useProxyAuthName, new Boolean(useProxyAuth).toString()); defaults.put(proxyAuthUserName, proxyAuthUser); defaults.put(proxyAuthPasswdName, proxyAuthPasswd); defaults.put(proxyOverrideName, new Boolean(proxyOverride).toString()); defaults.put(useAuthName, new Boolean(useAuth).toString()); defaults.put(publicSoapURLName, publicSoapURL); defaults.put(privateSoapURLName, privateSoapURL); defaults.put(privateSoapServiceName, privateSoapService); defaults.put(publicSoapServiceName, publicSoapService); defaults.put(debugName, new Boolean(debug).toString()); defaults.put(hasBatchModeName, new Boolean(hasBatchMode).toString()); defaults.put(hasInteractiveModeName, new Boolean(hasInteractiveMode).toString()); defaults.put(currentModeName, currentMode); defaults.put(serverPublicListName, serverPublicList); defaults.put(serverPrivateListName, serverPrivateList); defaults.put(serviceUserNameName, serviceUserName); // load into real settings jembossSettings = new Properties(defaults); // try out of the classpath try { jembossSettings.load(cl.getResourceAsStream("resources/jemboss.properties")); } catch (Exception e) { if(debug) System.out.println("Didn't find properties file in classpath."); } // override with local system settings loadIn(System.getProperty("user.dir")); // override with local user settings loadIn(System.getProperty("user.home")); // update our settings updateSettingsFromProperties(); if(System.getProperty("useHTTPSProxy") != null) if(System.getProperty("useHTTPSProxy").equalsIgnoreCase("true")) useHTTPSProxy=true; // set up for overrides javaNoProxyEntries = new Vector(); if(System.getProperty("proxyPort") != null) { if(System.getProperty("proxyHost") != null) { useJavaProxy = true; useProxy = useJavaProxy; useBrowserProxy = useJavaProxy; javaProxyPort = System.getProperty("proxyPort"); javaProxyPortNum = Integer.parseInt(javaProxyPort); javaProxyHost = System.getProperty("proxyHost"); browserProxyHost = javaProxyHost; browserProxyPort = javaProxyPortNum; if(System.getProperty("http.nonProxyHosts") != null) { useJavaNoProxy = true; javaNoProxy = System.getProperty("http.nonProxyHosts"); StringTokenizer tok = new StringTokenizer(javaNoProxy,"|"); while (tok.hasMoreTokens()) { String toks = tok.nextToken() + "/"; javaNoProxyEntries.add(toks); } } } } } /** * * Load a property from the jemboss.property file. * @param folder location of jemboss.property * */ private void loadIn(String folder) { FileInputStream in = null; try { String fs = System.getProperty("file.separator"); in = new FileInputStream(folder + fs + "jemboss.properties"); jembossSettings.load(in); } catch (java.io.FileNotFoundException e) { in = null; if(debug) System.out.println("Can't find properties file in"+folder+"."+ " Using defaults."); } catch (java.io.IOException e) { if(debug) System.out.println("Can't read properties file. " + "Using defaults."); } finally { if (in != null) { try { in.close(); } catch (java.io.IOException e) { } in = null; } } } /** * * Update the property settings for jembossSettings. * */ protected void updateSettingsFromProperties() { try { String tmp; userHome = jembossSettings.getProperty(userHomeName); resultsHome = jembossSettings.getProperty(resultsHomeName); embURL = jembossSettings.getProperty(embossURL); plplot = jembossSettings.getProperty(plplotName); embossData = jembossSettings.getProperty(embossDataName); embossBin = jembossSettings.getProperty(embossBinName); embossPath = jembossSettings.getProperty(embossPathName); embossEnvironment = jembossSettings.getProperty(embossEnvironmentName); acdDirToParse = jembossSettings.getProperty(acdDirToParseName); tmp = jembossSettings.getProperty(jembossServerName); jembossServer = new Boolean(tmp).booleanValue(); cygwin = jembossSettings.getProperty(cygwinName); tmp = jembossSettings.getProperty(useHTTPSProxyName); useHTTPSProxy = new Boolean(tmp).booleanValue(); tmp = jembossSettings.getProperty(useProxyName); useProxy = new Boolean(tmp).booleanValue(); proxyHost = jembossSettings.getProperty(proxyHostName); tmp = jembossSettings.getProperty(proxyPortNumName); proxyPortNum = Integer.parseInt(tmp); tmp = jembossSettings.getProperty(useBrowserProxyName); useBrowserProxy = new Boolean(tmp).booleanValue(); browserProxyHost = jembossSettings.getProperty(browserProxyHostName); tmp = jembossSettings.getProperty(browserProxyPortName); browserProxyPort = Integer.parseInt(tmp); tmp = jembossSettings.getProperty(useTFMName); useTFM = new Boolean(tmp).booleanValue(); tmp = jembossSettings.getProperty(useProxyAuthName); useProxyAuth = new Boolean(tmp).booleanValue(); proxyAuthUser = jembossSettings.getProperty(proxyAuthUserName); proxyAuthPasswd = jembossSettings.getProperty(proxyAuthPasswdName); tmp = jembossSettings.getProperty(proxyOverrideName); proxyOverride = new Boolean(tmp).booleanValue(); tmp = jembossSettings.getProperty(useAuthName); useAuth = new Boolean(tmp).booleanValue(); publicSoapURL = jembossSettings.getProperty(publicSoapURLName); privateSoapURL = jembossSettings.getProperty(privateSoapURLName); soapService = jembossSettings.getProperty(soapServiceName); privateSoapService = jembossSettings.getProperty(privateSoapServiceName); publicSoapService = jembossSettings.getProperty(publicSoapServiceName); tmp = jembossSettings.getProperty(debugName); debug = new Boolean(tmp).booleanValue(); tmp = jembossSettings.getProperty(hasBatchModeName); hasBatchMode = new Boolean(tmp).booleanValue(); tmp = jembossSettings.getProperty(hasInteractiveModeName); hasInteractiveMode = new Boolean(tmp).booleanValue(); currentMode = jembossSettings.getProperty(currentModeName); serverPublicList = jembossSettings.getProperty(serverPublicListName); serverPrivateList = jembossSettings.getProperty(serverPrivateListName);// serviceUserName = jembossSettings.getProperty(serviceUserNameName); } catch (Exception e) { }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -