ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/core/ConfigurationServant.java
Revision: 1.2
Committed: Thu Nov 9 03:29:13 2000 UTC (23 years, 7 months ago) by tdb
Branch: MAIN
Changes since 1.1: +14 -8 lines
Log Message:
Added the Logger functionality to the ConfigurationServant.

File Contents

# User Rev Content
1 ajm 1.1 //---PACKAGE DECLARATION---
2    
3     //---IMPORTS---
4     import core.*;
5     import java.util.*;
6     import java.io.*;
7    
8     /**
9     * An implementation of the Configuration IDL
10     * This class allows i-scream modules to read and even
11     * set their configuration from a central location.
12     *
13     * When classes want their configuration, they contact
14     * the Configurator, which will locate their config,
15     * open it and pass it to a Configuration object which is
16     * then passed back to the calling class.
17     *
18     * Essentially this class behaves in a similar fashion
19     * to the java.util.Properties class.
20     *
21     * @author $Author: ajm4 $
22 tdb 1.2 * @version $Id: ConfigurationServant.java,v 1.1 2000/11/08 21:24:33 ajm4 Exp $
23 ajm 1.1 */
24     class ConfigurationServant extends ConfigurationPOA {
25    
26     //---FINAL ATTRIBUTES---
27    
28     /**
29     * The current CVS revision of this class
30     */
31 tdb 1.2 public final String REVISION = "$Revision: 1.1 $";
32 ajm 1.1
33     //---STATIC METHODS---
34    
35     //---CONSTRUCTORS---
36    
37     /**
38     * Creates a new ConfigurationServant taking a hook
39     * to a file containing the configuration.
40     *
41     * @param propertiesStream an InputStream connected to the configuration
42     */
43 tdb 1.2 ConfigurationServant(File configurationFile, Logger logRef) {
44     _logRef = logRef;
45     _logRef.write(this.toString(), "created");
46 ajm 1.1 try {
47     InputStream configurationStream = new FileInputStream(configurationFile);
48 tdb 1.2 _properties.load(configurationStream);
49 ajm 1.1 } catch (Exception e) {
50     // ****************************************
51     // either IOException from the .load() or
52     // a SecurityException or FileNotFoundException from
53     // the inputStream, not sure what to do yet!!!
54     }
55     }
56    
57     //---PUBLIC METHODS---
58    
59     /**
60     * A wrapper for java.util.Properties.getProperty
61     * When given a key it returns the value of that key
62     * ie, key = value
63     *
64     * @param key the key the value of which is wanted
65     */
66     public String getProperty(String key) {
67 tdb 1.2 return _properties.getProperty(key);
68 ajm 1.1 }
69    
70     /**
71     * Overrides the {@link #java.lang.Object.toString() Object.toString()}
72     * method to provide clean logging (every class should have this).
73     *
74     * @return the name of this class and its CVS revision
75     */
76     public String toString() {
77     return this.getClass().getName() + ":" + REVISION;
78     }
79    
80     //---PRIVATE METHODS---
81    
82     //---ACCESSOR/MUTATOR METHODS---
83    
84     //---ATTRIBUTES---
85    
86     /**
87     * The properties object that this class provides a CORBA interface to
88     */
89 tdb 1.2 private Properties _properties = new Properties();
90    
91     /**
92     * Reference to a Logger
93     */
94     private Logger _logRef;
95 ajm 1.1
96     //---STATIC ATTRIBUTES---
97    
98 tdb 1.2 }