Ignore:
Timestamp:
08/09/08 09:36:44 (11 years ago)
Author:
cbyrom
Message:

Change ServiceProperties? class so that it loads the webservice properties
from a flat properties text file + change to static access from
classes that use it + fine tune build to ensure that common utilities
are build before client/server code - to avoid problems building on
different OS.

Location:
TI01-discovery/branches/ws-Discovery2-upgrade
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery/DBProperties.java

    r3975 r4179  
    11package ndg.services.discovery; 
    22 
     3import java.io.IOException; 
    34import java.util.Properties; 
    45import java.util.logging.Logger; 
     
    910 * 
    1011 */ 
    11 public class DBProperties  
     12public class DBProperties 
    1213{ 
    1314    private static Logger logger = Logger.getLogger(DBProperties.class.getName()); 
    1415 
    15     private static Properties properties = new ServiceProperties().getProperties(); 
     16    private static Properties properties = null; 
    1617 
    1718        // info on the DB table structure 
     
    3435         *  
    3536         * @return DBClient ready to accept SQL queries to run 
    36          * @throws DiscoveryDBException  
     37         * @throws DiscoveryDBException if problems loading config file or setting up DB connection 
    3738         */ 
    3839        public static InterfaceDBClient setupDBClient() throws DiscoveryDBException  
    3940        { 
    4041                logger.info("Setting up DBClient using config info from properties file..."); 
     42                if (properties == null) 
     43                { 
     44                        try  
     45                        { 
     46                                properties = ServiceProperties.getProperties(); 
     47                        }  
     48                        catch (IOException e)  
     49                        { 
     50                                logger.warning(e.getLocalizedMessage()); 
     51                                throw new DiscoveryDBException("Problem encountered whilst " + 
     52                                                "setting up service config: " + e.getMessage()); 
     53                        } 
     54                } 
    4155                String connectionString = properties.getProperty("jdbc.uri"); 
    4256                String userName = properties.getProperty("jdbc.username"); 
    4357                String pw = properties.getProperty("jdbc.password"); 
    4458                 
    45                 InterfaceDBClient client = new PostgresDBClient(connectionString, userName, pw); 
     59                logger.info("Using connection string: " + connectionString); 
     60                InterfaceDBClient client =  
     61                        new PostgresDBClient(connectionString, userName, pw); 
    4662                logger.info("DBClient set up for use with Discovery service."); 
    4763                return client; 
  • TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery/PostgresDBClient.java

    r3976 r4179  
    3232         * @throws DiscoveryDBException 
    3333         */ 
    34         public PostgresDBClient(String connectionString, String userName, String pw) throws DiscoveryDBException 
     34        public PostgresDBClient(String connectionString,  
     35                        String userName, String pw) throws DiscoveryDBException 
    3536        { 
    3637                this.userName = userName; 
     
    5152         * @throws DiscoveryDBException 
    5253         */ 
    53         public PostgresDBClient(String db, String userName, String pw, String host, int portNo)  
     54        public PostgresDBClient(String db, String userName,  
     55                        String pw, String host, int portNo)  
    5456                throws DiscoveryDBException 
    5557        { 
  • TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery/PresentAgent.java

    r3990 r4179  
    11package ndg.services.discovery; 
    22 
     3import java.io.IOException; 
    34import java.util.Iterator; 
    45import java.util.Properties; 
     
    1516    private static Logger logger = Logger.getLogger(PresentAgent.class.getName()); 
    1617 
    17         static Properties properties = new ServiceProperties().getProperties(); 
     18        static Properties properties = null; 
    1819 
    1920        // Input parameters 
     
    2930         * Minimal constructor 
    3031         * @param documentName String containing name (eg. somedoc.xml) 
     32         * @throws IOException  
    3133         */ 
    32         public PresentAgent(Vector<String> documentNames) 
     34        public PresentAgent(Vector<String> documentNames) throws IOException 
    3335        { 
     36                properties = ServiceProperties.getProperties(); 
    3437                this.documentNames = documentNames; 
    3538        } 
  • TI01-discovery/branches/ws-Discovery2-upgrade/src/ndg/services/discovery/ServiceProperties.java

    r3957 r4179  
    11package ndg.services.discovery; 
    22 
     3import java.io.FileInputStream; 
     4import java.io.IOException; 
    35import java.util.Properties; 
     6import java.util.logging.Logger; 
    47 
    58public class ServiceProperties 
    69{ 
    7         static Properties properties = new Properties(); 
     10    private static Logger logger = Logger.getLogger( 
     11                ServiceProperties.class.getName()); 
     12 
     13    static Properties properties = null; 
    814         
    9         /** 
    10          * Default constructor 
     15    private final static String  DEFAULT_PROPERTIES_FILENAME = "service.properties"; 
     16 
     17    /** 
     18         * Returns properties object containing pre-set properties for use by agents 
     19         * - NB, uses the default, 'service.properties' file 
     20         * @throws IOException  
    1121         */ 
    12         public ServiceProperties() 
     22        public static Properties getProperties()  
     23                throws IOException 
    1324        { 
    14                 properties.setProperty("jdbc.uri","jdbc:postgresql://glue.badc.rl.ac.uk:51000/calum"); 
    15                 properties.setProperty("jdbc.username","calum"); 
    16                 properties.setProperty("jdbc.password","boybear"); 
    17 //              properties.setProperty("jdbc.uri","jdbc:postgresql://glue.badc.rl.ac.uk/ndg_spatial"); 
    18 //              properties.setProperty("jdbc.username","postgres"); 
    19 //              properties.setProperty("jdbc.password","postgresDB"); 
     25                getProperties(DEFAULT_PROPERTIES_FILENAME); 
     26                return properties; 
     27        } 
     28            /** 
     29                 * Returns properties object containing pre-set properties for use by agents 
     30                 * @param propertiesFileName - name of properties file to use 
     31                 * - NB, this should be put in the top level tomcat dir 
     32                 * @throws IOException  
     33                 */ 
     34                public static Properties getProperties(String propertiesFileName)  
     35                        throws IOException 
     36                { 
     37                        if (properties == null)  
     38                        { 
     39                                logger.info("Setting up service properties..."); 
     40                                String path = System.getenv("CATALINA_HOME") + "/" 
     41                                        + propertiesFileName; 
     42                                logger.info("Looking for path: " + path); 
    2043 
    21                 properties.setProperty("namespace.DIF", "http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/"); 
    22                 properties.setProperty("namespace.DC","http://www.openarchives.org/OAI/2.0/oai_dc/"); 
    23                 properties.setProperty("namespace.MDIP", "http://www.oceannet.org/mdip/xml"); 
    24                 properties.setProperty("namespace.moles", "http://ndg.nerc.ac.uk/moles"); 
    25                 properties.setProperty("namespace.ISO19115", "http://www.isotc211.org/2005/gmd"); 
    26                  
    27                 properties.setProperty("rootElement.DIF", "DIF"); 
    28                 properties.setProperty("rootElement.DC","dc"); 
    29                 properties.setProperty("rootElement.MDIP", "Metadata"); 
    30                 properties.setProperty("rootElement.moles", "dgMetadata"); 
    31                 properties.setProperty("rootElement.moles", "MD_Metadata"); 
    32  
    33                 properties.setProperty("namespacePrefix.DIF", ""); 
    34                 properties.setProperty("namespacePrefix.DC","oai_dc"); 
    35                 properties.setProperty("namespacePrefix.MDIP", ""); 
    36                 properties.setProperty("namespacePrefix.moles", "moles"); 
    37                 properties.setProperty("namespacePrefix.ISO19115", ""); 
    38  
    39         } 
    40  
    41         /** 
    42          * Returns properties object containing pre-set properties for use by agents 
    43          */ 
    44         public Properties getProperties() 
    45         { 
    46                 return this.properties; 
     44                                FileInputStream in = new FileInputStream(path); 
     45                                properties = new Properties(); 
     46                                properties.load(in); 
     47                                in.close(); 
     48                                logger.info("Service properties set up."); 
     49                        } 
     50                return properties; 
    4751        } 
    4852} 
  • TI01-discovery/branches/ws-Discovery2-upgrade/srcgen/buildDiscovery.xml

    r4142 r4179  
    1212        <property name="jar.server" value="${build}/lib/${name}.aar"/> 
    1313        <property name="build.src" value="${build}/src"/> 
     14        <property name="build.src.common" value="${build}/src/common"/> 
    1415        <property name="build.classes" value="${build}/classes"/> 
    1516        <property name="lib" value="${build}/lib"/> 
     
    4647                <mkdir dir="${build}"/> 
    4748                <mkdir dir="${build.classes}"/> 
     49                <mkdir dir="${build.src}"/> 
     50                <mkdir dir="${build.src.common}"/> 
    4851                <mkdir dir="${lib}"/> 
    4952                <mkdir dir="${test}"/> 
     
    112115        <target name="compile.src.server" depends="wsdl2java.server,pre.compile.test,copygen,copynongen.server,compile.src"/> 
    113116        <target name="compile.src.client" depends="wsdl2java.client,fixchunking,pre.compile.test,copygen,copynongen.client,compile.src"/> 
    114         <target name="compile.src" depends="" if="jars.ok"> 
     117        <target name="compile.src" depends="compile.common" if="jars.ok"> 
    115118                <javac debug="on" destdir="${build.classes}" srcdir="${build.src}"> 
    116119                        <classpath location="${lib}/${xbeans.packaged.jar.name}"/> 
     
    118121                </javac> 
    119122                <delete dir="${build.src}"/> 
     123        </target> 
     124        <target name="compile.common" depends="" if="jars.ok"> 
     125                <javac debug="on" destdir="${build.classes}" srcdir="${build.src.common}" > 
     126                        <classpath location="${lib}/${xbeans.packaged.jar.name}"/> 
     127                        <classpath refid="axis2.class.path"/> 
     128                </javac> 
     129                <delete dir="${build.src.common}"/> 
    120130        </target> 
    121131        <target name="compile.test" depends="compile.src.client" if="jars.ok"> 
     
    136146                                <include name="*.wsdl"/> 
    137147                                <include name="*.xsd"/> 
     148                                <include name="**.config"/> 
    138149                                <exclude name="**/schemaorg_apache_xmlbean/**"/> 
    139150                        </fileset> 
     
    161172                                <exclude name="**/*.xsd"/> 
    162173                                <exclude name="**/*.xml"/> 
     174                                <exclude name="*.config"/> 
    163175                        </fileset> 
    164176                </jar> 
     
    238250                                <include name="**/*.java"/> 
    239251                                <include name="**/*.html"/> 
     252                                <exclude name="**/Tst.java"/> 
    240253                        </fileset> 
    241254                </copy> 
     
    250263                        </fileset> 
    251264                </copy> 
     265                <copy toDir="${resources}" overwrite="true" verbose="true"> 
     266                        <fileset dir="${src.nongen.server}/discovery"> 
     267                                <include name="service.config"/> 
     268                        </fileset> 
     269                </copy> 
    252270        </target> 
    253271 
    254272        <target name="copy.common"> 
    255                 <copy toDir="${build.src}" overwrite="true" verbose="true"> 
     273                <copy toDir="${build.src.common}" overwrite="true" verbose="true"> 
    256274                        <fileset dir="${src.common}"> 
    257275                                <include name="**/*.java"/> 
Note: See TracChangeset for help on using the changeset viewer.