Changeset 24896

Show
Ignore:
Timestamp:
14.12.2011 16:01:55 (8 years ago)
Author:
sjm84
Message:

Reformatting this file ahead of some changes

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/util/GlobalProperties.java

    r22085 r24896  
    2525import org.apache.log4j.*; 
    2626 
    27 /** holds some global properties for the application. Read from a properties file */ 
    28 public class GlobalProperties { 
     27/** 
     28 * holds some global properties for the application. Read from a properties file 
     29 */ 
     30public class GlobalProperties 
     31{ 
     32    static Logger logger = Logger.getLogger(org.greenstone.util.GlobalProperties.class.getName()); 
     33    private static Properties properties = null; 
     34    private static String properties_filename = "global.properties"; 
     35    private static String gsdl3_home = null; 
     36    private static String gsdl3_web_address = null; 
    2937 
     38    // Note, that if the servlet is reloadable, then it is reloaded each time the file is changed. 
     39    static 
     40    { 
     41        //load in the properties 
     42        properties = new Properties(); 
     43        reload(); 
     44    } 
    3045 
    31     static Logger logger = Logger.getLogger(org.greenstone.util.GlobalProperties.class.getName()); 
    32     private static Properties properties = null; 
    33     private static String properties_filename = "global.properties"; 
    34     private static String gsdl3_home = null; 
    35     private static String gsdl3_web_address = null; 
    36      
    37     // Note, that if the servlet is reloadable, then it is reloaded each time the file is changed. 
    38     static { 
    39         //load in the properties 
    40         properties = new Properties(); 
    41         reload(); 
    42     } 
    43      
    44     /** get the value of the property 'key'. returns null if not found */ 
    45     public static String getProperty(String key) { 
    46         return properties.getProperty(key); 
    47     } 
     46    /** get the value of the property 'key'. returns null if not found */ 
     47    public static String getProperty(String key) 
     48    { 
     49        return properties.getProperty(key); 
     50    } 
    4851 
    49     /** get the value of the property 'key'.  
    50      * returns default_value if not found */ 
    51     public static String getProperty(String key, String default_value) { 
    52         return properties.getProperty(key, default_value); 
    53     } 
     52    /** 
     53     * get the value of the property 'key'. returns default_value if not found 
     54     */ 
     55    public static String getProperty(String key, String default_value) 
     56    { 
     57        return properties.getProperty(key, default_value); 
     58    } 
    5459 
    55     /** some special ones */ 
    56     public static String getGSDL3Home() { 
    57         return gsdl3_home; 
    58     } 
     60    /** some special ones */ 
     61    public static String getGSDL3Home() 
     62    { 
     63        return gsdl3_home; 
     64    } 
    5965 
    60     public static String getGSDL3WebAddress() { 
    61         return gsdl3_web_address; 
    62     } 
    63      
    64     public static void reload() { 
    65         try { 
     66    public static String getGSDL3WebAddress() 
     67    { 
     68        return gsdl3_web_address; 
     69    } 
    6670 
     71    public static void reload() 
     72    { 
     73        try 
     74        { 
    6775 
    68             InputStream in = Class.forName("org.greenstone.util.GlobalProperties").getClassLoader().getResourceAsStream(properties_filename); 
    69             if (in != null) { 
    70             logger.debug("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(); 
     76            InputStream in = Class.forName("org.greenstone.util.GlobalProperties").getClassLoader().getResourceAsStream(properties_filename); 
     77            if (in != null) 
     78            { 
     79                logger.debug("loading global properties"); 
     80                properties.load(in); 
     81                in.close(); 
     82            } 
     83            else 
     84            { 
     85                logger.error("couldn't load global properties!"); 
     86            } 
     87            gsdl3_home = properties.getProperty("gsdl3.home"); 
     88            // make sure the path separators are correct 
     89            File gs3_file = new File(gsdl3_home); 
     90            gsdl3_home = gs3_file.getPath(); 
    8091 
    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; 
     92            //build the gsdl3 web address, in a way resilient to errors and ommisions in global.properties, simplifying where possible 
     93            //aiming for a string with no trailing slash, eg "http://localhost:8080/greenstone3" or "http://www.mygreenstonelibrary.com" 
     94            String protocolSpecifier = null, hostSpecifier = null, portSpecifier = null, contextSpecifier = null; 
    8495 
    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             } 
     96            //protocol 
     97            if (properties.getProperty("tomcat.protocol") == null || properties.getProperty("tomcat.protocol").equals("")) 
     98            { 
     99                protocolSpecifier = "http://"; 
     100            } 
     101            else 
     102            { 
     103                if (properties.getProperty("tomcat.protocol").endsWith("://")) 
     104                { 
     105                    protocolSpecifier = properties.getProperty("tomcat.protocol"); 
     106                } 
     107                else 
     108                { 
     109                    protocolSpecifier = properties.getProperty("tomcat.protocol") + "://"; 
     110                } 
     111            } 
    95112 
    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             } 
     113            //hostname 
     114            if (properties.getProperty("tomcat.server") == null) 
     115            { 
     116                hostSpecifier = "localhost"; 
     117            } 
     118            else 
     119            { 
     120                hostSpecifier = properties.getProperty("tomcat.server"); 
     121                while (hostSpecifier.endsWith("/")) 
     122                { 
     123                    hostSpecifier = hostSpecifier.substring(0, hostSpecifier.length() - 1); 
     124                } 
     125            } 
    105126 
    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             } 
     127            //port 
     128            if (properties.getProperty("tomcat.port") == null || properties.getProperty("tomcat.port").equals("") || (protocolSpecifier.equals("http://") && properties.getProperty("tomcat.port").equals("80")) || (protocolSpecifier.equals("https://") && properties.getProperty("tomcat.port").equals("443"))) 
     129            { 
     130                portSpecifier = ""; 
     131            } 
     132            else 
     133            { 
     134                portSpecifier = ":" + properties.getProperty("tomcat.port"); 
     135            } 
    117136 
    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             } 
     137            //context path 
     138            if (properties.getProperty("tomcat.context") == null || properties.getProperty("tomcat.context").equals("") || properties.getProperty("tomcat.context").equals("/")) 
     139            { 
     140                contextSpecifier = ""; 
     141            } 
     142            else 
     143            { 
     144                contextSpecifier = properties.getProperty("tomcat.context"); 
     145                if (!contextSpecifier.startsWith("/")) 
     146                { 
     147                    contextSpecifier = "/" + contextSpecifier; 
     148                } 
     149            } 
    127150 
    128             //string it all together 
    129             gsdl3_web_address = protocolSpecifier + hostSpecifier + portSpecifier + contextSpecifier; 
     151            //string it all together 
     152            gsdl3_web_address = protocolSpecifier + hostSpecifier + portSpecifier + contextSpecifier; 
    130153 
    131         } catch (Exception e) { 
    132             logger.error( "Exception trying to reload global.properties: " + e ); 
    133         } 
    134     } 
     154        } 
     155        catch (Exception e) 
     156        { 
     157            logger.error("Exception trying to reload global.properties: " + e); 
     158        } 
     159    } 
    135160}