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
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/core/ConfigurationServant.java (file contents):
Revision 1.11 by tdb, Tue Nov 21 15:08:42 2000 UTC vs.
Revision 1.17 by tdb, Tue Mar 13 19:14:15 2001 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 + package uk.ac.ukc.iscream.core;
3  
4   //---IMPORTS---
5 < import uk.ac.ukc.iscream.core.*;
6 < import java.util.*;
7 < import java.io.*;
5 > import uk.ac.ukc.iscream.util.*;
6 > import uk.ac.ukc.iscream.componentmanager.*;
7 > import java.util.Properties;
8 > import java.util.Date;
9   import java.text.DateFormat;
10  
11   /**
# Line 12 | Line 14 | import java.text.DateFormat;
14   * set their configuration from a central location.
15   *
16   * When classes want their configuration, they contact
17 < * the Configurator, which will locate their config,
17 > * the ConfigurationManager, which will locate their config,
18   * open it and pass it to a Configuration object which is
19   * then passed back to the calling class.
20   *
# Line 37 | Line 39 | class ConfigurationServant extends ConfigurationPOA {
39  
40      /**
41       * Creates a new ConfigurationServant taking a hook
42 <     * to a file containing the configuration.
42 >     * to a Properties object containing the configuration.
43       *
44 <     * @param propertiesStream an InputStream connected to the configuration
44 >     * @param properties a Properties object that contains the full properties for this configuration
45 >     * @param fileList the list of config files used to build this configuration
46 >     * @param lastModified the most recent last modified value for the file list
47 >     * @param logRef a reference to the logger system
48       */
49 <    ConfigurationServant(Properties properties, String fileList, long lastModified, Logger logRef) {
49 >    ConfigurationServant(Properties properties, String fileList, long lastModified) {
50 >        // assign local variables
51          _properties = properties;
52          _lastModified = lastModified;
53          _fileList = fileList;
54 <        _logRef = logRef;
49 <        _logRef.write(this.toString(), Logger.SYSINIT, "created");
54 >        _logger.write(toString(), Logger.SYSINIT, "created");
55          String date = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM).format(new Date(getLastModified()));
56 <        _logRef.write(this.toString(), Logger.SYSMSG, "last modified - " + date);
57 <        _logRef.write(this.toString(), Logger.DEBUG, "file list - " + _fileList);
56 >        _logger.write(toString(), Logger.SYSMSG, "last modified - " + date);
57 >        _logger.write(toString(), Logger.DEBUG, "file list - " + _fileList);
58      }
59  
60   //---PUBLIC METHODS---
# Line 69 | Line 74 | class ConfigurationServant extends ConfigurationPOA {
74       * Overrides the {@link java.lang.Object#toString() Object.toString()}
75       * method to provide clean logging (every class should have this).
76       *
77 +     * This uses the uk.ac.ukc.iscream.util.FormatName class
78 +     * to format the toString()
79 +     *
80       * @return the name of this class and its CVS revision
81       */
82      public String toString() {
83 <        return this.getClass().getName() + "(" + REVISION.substring(11, REVISION.length() - 2) + ")";
83 >        return FormatName.getName(
84 >            _name,
85 >            getClass().getName(),
86 >            REVISION);
87      }
88 +    
89 +    /**
90 +     * Unhooks this Configuration object from the ORB
91 +     */
92 +    public void disconnect() {
93 +        try {
94 +            org.omg.CORBA.Object objRef = _refman.getRootPOA().servant_to_reference(this);
95 +            _refman.getORB().disconnect(objRef);
96 +        } catch(Exception e) {
97 +            _logger.write(this.toString(), Logger.ERROR, "disconnect failed: "+e);
98 +        }
99 +    }
100 +        
101  
102   //---PRIVATE METHODS---
103  
104 +    /**
105 +     * Overridden for debugging purposes
106 +     * to see when an instance of this class
107 +     * is destroyed
108 +     */
109      protected void finalize() throws Throwable {
110 <        _logRef.write(this.toString(), Logger.DEBUG, "finalized (ick, us english!)");
110 >        _logger.write(this.toString(), Logger.DEBUG, "finalized");
111      }
112  
113   //---ACCESSOR/MUTATOR METHODS---
# Line 93 | Line 122 | class ConfigurationServant extends ConfigurationPOA {
122          return _lastModified;
123      }
124  
125 +    /**
126 +     * Returns the list of files used to build the Properties
127 +     * this object is using.
128 +     *
129 +     * @return the list of files
130 +     */
131      public String getFileList() {
132          return _fileList;
133      }
# Line 105 | Line 140 | class ConfigurationServant extends ConfigurationPOA {
140      private Properties _properties = new Properties();
141  
142      /**
143 <     * Reference to a Logger
143 >     * This holds a reference to the
144 >     * system logger that is being used.
145       */
146 <    private Logger _logRef;
146 >    private Logger _logger = ReferenceManager.getInstance().getLogger();
147  
148      /**
149 +     * A reference to the reference manager in use
150 +     */
151 +    private ReferenceManager _refman = ReferenceManager.getInstance();
152 +    
153 +    /**
154 +     * This is the friendly identifier of the
155 +     * component this class is running in.
156 +     * eg, a Filter may be called "filter1",
157 +     * If this class does not have an owning
158 +     * component,  a name from the configuration
159 +     * can be placed here.  This name could also
160 +     * be changed to null for utility classes.
161 +     */
162 +    private String _name = Core.NAME;
163 +
164 +    /**
165       * The date stamp of the configuration file
166       * this object is using
167       */
168      private long _lastModified;
169      
170 +    /**
171 +     * The list of files that were used to build this configuration
172 +     */
173      private String _fileList;
174      
175   //---STATIC ATTRIBUTES---

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines