ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/filtermanager/FilterManager.java
Revision: 1.12
Committed: Tue Dec 12 19:17:02 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Changes since 1.11: +72 -33 lines
Log Message:
is now a component class
also tidied the code a bit

File Contents

# User Rev Content
1 tdb 1.1 //---PACKAGE DECLARATION---
2 tdb 1.9 package uk.ac.ukc.iscream.filtermanager;
3 tdb 1.1
4     //---IMPORTS---
5 ajm 1.12 import uk.ac.ukc.iscream.util.*;
6 tdb 1.1 import uk.ac.ukc.iscream.core.*;
7    
8     /**
9 ajm 1.12 * The FilterManager handles initialisation
10     * of hosts with the system, allowing hosts to
11     * gain their configuration and a hook to a Filter
12     * to talk to.
13 tdb 1.1 *
14 tdb 1.8 * @author $Author: tdb1 $
15 ajm 1.12 * @version $Id: FilterManager.java,v 1.11 2000/12/07 12:30:15 tdb1 Exp $
16 tdb 1.1 */
17 ajm 1.12 public class FilterManager implements uk.ac.ukc.iscream.util.Component {
18 tdb 1.1
19     //---FINAL ATTRIBUTES---
20    
21     /**
22     * The current CVS revision of this class
23     */
24 ajm 1.12 public static final String REVISION = "$Revision: 1.11 $";
25    
26     /**
27     * The friendly name for the FilterManager, used by
28     * all related classes.
29     */
30     public static final String NAME = "FilterManager";
31 tdb 1.1
32     //---STATIC METHODS---
33    
34 ajm 1.12 //---CONSTRUCTORS---
35    
36     //---PUBLIC METHODS---
37    
38     /**
39     * This method starts the FilterManager
40     */
41     public void start() throws ComponentStartException {
42    
43     _logger.write(toString(), Logger.SYSINIT, "coming up");
44 tdb 1.10
45     // configuration variable we require
46     int listenPort = 0;
47    
48 ajm 1.12 Configuration config = _refman.getCM().getConfiguration("FilterManager");
49 tdb 1.10 if (config == null) {
50 ajm 1.12 System.err.println("CRITICAL:Unable to obtain configuration" +
51     "\n Advise you check the i-scream log for more information.");
52     _logger.write(toString(), Logger.FATAL, "ERROR - unable to obtain configuration");
53     System.exit(1);
54 tdb 1.10 } else {
55     try {
56     listenPort = Integer.parseInt(config.getProperty("FilterManager.listenPort"));
57     } catch (org.omg.CORBA.MARSHAL e) {
58 ajm 1.12 System.err.println ("CRITICAL:Unable to obtain required configuration property" +
59     "\n Advise you check the i-scream log for more information.");
60     _logger.write(toString(), Logger.FATAL, "ERROR - required configuration property not present");
61     System.exit(1);
62 tdb 1.1 }
63     }
64 tdb 1.10
65 ajm 1.12 _logger.write(toString(), Logger.SYSMSG, "configured");
66 tdb 1.10
67     HostListener hostListener = new HostListener(listenPort);
68     hostListener.start();
69    
70 ajm 1.12 _logger.write(toString(), Logger.SYSINIT, "started");
71 tdb 1.1 }
72    
73 ajm 1.12 /**
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.NameFormat 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 FormatName.getName(
84     _name,
85     this.getClass().getName(),
86     REVISION);
87     }
88 tdb 1.1
89     //---PRIVATE METHODS---
90    
91     //---ACCESSOR/MUTATOR METHODS---
92    
93     //---ATTRIBUTES---
94 ajm 1.12
95     /**
96     * This is the friendly identifier of the
97     * component this class is running in.
98     * eg, a Filter may be called "filter1",
99     * If this class does not have an owning
100     * component, a name from the configuration
101     * can be placed here. This name could also
102     * be changed to null for utility classes.
103     */
104     private String _name = FilterManager.NAME;
105    
106     /**
107     * This holds a reference to the
108     * system logger that is being used.
109     */
110     private Logger _logger = ReferenceManager.getInstance().getLogger();
111    
112     /**
113     * A reference to the reference manager in use
114     */
115     private ReferenceManager _refman = ReferenceManager.getInstance();
116 tdb 1.1
117     //---STATIC ATTRIBUTES---
118    
119     }