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, 6 months ago) by tdb
Branch: MAIN
Changes since 1.1: +14 -8 lines
Log Message:
Added the Logger functionality to the ConfigurationServant.

File Contents

# Content
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 * @version $Id: ConfigurationServant.java,v 1.1 2000/11/08 21:24:33 ajm4 Exp $
23 */
24 class ConfigurationServant extends ConfigurationPOA {
25
26 //---FINAL ATTRIBUTES---
27
28 /**
29 * The current CVS revision of this class
30 */
31 public final String REVISION = "$Revision: 1.1 $";
32
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 ConfigurationServant(File configurationFile, Logger logRef) {
44 _logRef = logRef;
45 _logRef.write(this.toString(), "created");
46 try {
47 InputStream configurationStream = new FileInputStream(configurationFile);
48 _properties.load(configurationStream);
49 } 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 return _properties.getProperty(key);
68 }
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 private Properties _properties = new Properties();
90
91 /**
92 * Reference to a Logger
93 */
94 private Logger _logRef;
95
96 //---STATIC ATTRIBUTES---
97
98 }