Changeset 18599
- Timestamp:
- 2009-02-27T14:29:52+13:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
greenstone3/trunk/src/java/org/greenstone/gsdl3/util/GlobalProperties.java
r16869 r18599 29 29 30 30 31 31 static Logger logger = Logger.getLogger(org.greenstone.gsdl3.util.GlobalProperties.class.getName()); 32 32 private static Properties properties = null; 33 33 private static String properties_filename = "global.properties"; … … 37 37 // Note, that if the servlet is reloadable, then it is reloaded each time the file is changed. 38 38 static { 39 40 41 reload(); 39 //load in the properties 40 properties = new Properties(); 41 reload(); 42 42 } 43 43 44 44 /** get the value of the property 'key'. returns null if not found */ 45 45 public static String getProperty(String key) { 46 46 return properties.getProperty(key); 47 47 } 48 48 … … 50 50 * returns default_value if not found */ 51 51 public static String getProperty(String key, String default_value) { 52 52 return properties.getProperty(key, default_value); 53 53 } 54 54 55 55 /** some special ones */ 56 56 public static String getGSDL3Home() { 57 57 return gsdl3_home; 58 58 } 59 59 60 60 public static String getGSDL3WebAddress() { 61 61 return gsdl3_web_address; 62 62 } 63 63 64 64 public static void reload() { 65 try { 66 InputStream in = Class.forName("org.greenstone.gsdl3.util.GlobalProperties").getClassLoader().getResourceAsStream(properties_filename); 67 if (in != null) { 68 logger.error("loading global properties"); 69 properties.load(in); 70 in.close(); 71 } else { 72 logger.error("couldn't load global properties!"); 73 } 74 gsdl3_home = properties.getProperty("gsdl3.home"); 75 // make sure the path separators are correct 76 File gs3_file = new File(gsdl3_home); 77 gsdl3_home = gs3_file.getPath(); 78 gsdl3_web_address = "http://"+ properties.getProperty("tomcat.server")+":"+ properties.getProperty("tomcat.port")+"/"+properties.getProperty("tomcat.context"); 79 } catch (Exception e) { 80 logger.error("Exception trying to reload global.properties: "+e); 81 } 82 65 try { 66 67 68 InputStream in = Class.forName("org.greenstone.gsdl3.util.GlobalProperties").getClassLoader().getResourceAsStream(properties_filename); 69 if (in != null) { 70 logger.error("loading global properties"); 71 properties.load(in); 72 in.close(); 73 } else { 74 logger.error("couldn't load global properties!"); 75 } 76 gsdl3_home = properties.getProperty("gsdl3.home"); 77 // make sure the path separators are correct 78 File gs3_file = new File(gsdl3_home); 79 gsdl3_home = gs3_file.getPath(); 80 81 //build the gsdl3 web address, in a way resilient to errors and ommisions in global.properties, simplifying where possible 82 //aiming for a string with no trailing slash, eg "http://localhost:8080/greenstone3" or "http://www.mygreenstonelibrary.com" 83 String protocolSpecifier = null, hostSpecifier = null, portSpecifier = null, contextSpecifier = null; 84 85 //protocol 86 if ( properties.getProperty("tomcat.protocol") == null || properties.getProperty("tomcat.protocol").equals("") ) { 87 protocolSpecifier = "http://"; 88 } else { 89 if ( properties.getProperty("tomcat.protocol").endsWith("://") ) { 90 protocolSpecifier = properties.getProperty("tomcat.protocol"); 91 } else { 92 protocolSpecifier = properties.getProperty("tomcat.protocol") + "://"; 93 } 94 } 95 96 //hostname 97 if ( properties.getProperty("tomcat.server") == null ) { 98 hostSpecifier = "localhost"; 99 } else { 100 hostSpecifier = properties.getProperty("tomcat.server"); 101 while ( hostSpecifier.endsWith("/") ) { 102 hostSpecifier = hostSpecifier.substring( 0, hostSpecifier.length()-1 ); 103 } 104 } 105 106 //port 107 if ( 108 properties.getProperty("tomcat.port") == null || 109 properties.getProperty("tomcat.port").equals("") || 110 ( protocolSpecifier.equals("http://") && properties.getProperty("tomcat.port").equals("80") ) || 111 ( protocolSpecifier.equals("https://") && properties.getProperty("tomcat.port").equals("443") ) 112 ) { 113 portSpecifier = ""; 114 } else { 115 portSpecifier = ":" + properties.getProperty("tomcat.port"); 116 } 117 118 //context path 119 if ( properties.getProperty("tomcat.context") == null || properties.getProperty("tomcat.context").equals("") || properties.getProperty("tomcat.context").equals("/") ) { 120 contextSpecifier = ""; 121 } else { 122 contextSpecifier = properties.getProperty("tomcat.context"); 123 if ( !contextSpecifier.startsWith("/") ) { 124 contextSpecifier = "/" + contextSpecifier; 125 } 126 } 127 128 //string it all together 129 gsdl3_web_address = protocolSpecifier + hostSpecifier + portSpecifier + contextSpecifier; 130 131 } catch (Exception e) { 132 logger.error( "Exception trying to reload global.properties: " + e ); 133 } 83 134 } 84 135 }
Note:
See TracChangeset
for help on using the changeset viewer.