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.16
Committed: Sun Jan 28 06:03:58 2001 UTC (23 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.15: +9 -13 lines
Log Message:
A tidy up of the configuration getting section.

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.ac.ukc.iscream.filtermanager;
3
4 //---IMPORTS---
5 import uk.ac.ukc.iscream.util.*;
6 import uk.ac.ukc.iscream.core.*;
7 import uk.ac.ukc.iscream.componentmanager.*;
8
9 /**
10 * The FilterManager handles initialisation
11 * of hosts with the system, allowing hosts to
12 * gain their configuration and a hook to a Filter
13 * to talk to.
14 *
15 * @author $Author: tdb1 $
16 * @version $Id: FilterManager.java,v 1.15 2001/01/28 05:38:13 tdb1 Exp $
17 */
18 public class FilterManager implements Component {
19
20 //---FINAL ATTRIBUTES---
21
22 /**
23 * The current CVS revision of this class
24 */
25 public static final String REVISION = "$Revision: 1.15 $";
26
27 /**
28 * The friendly name for this component, used by
29 * all related classes.
30 */
31 public static final String NAME = "FilterManager";
32
33 //---STATIC METHODS---
34
35 //---CONSTRUCTORS---
36
37 //---PUBLIC METHODS---
38
39 /**
40 * This method starts the FilterManager
41 */
42 public void start() throws ComponentStartException {
43
44 _logger.write(toString(), Logger.SYSINIT, "coming up");
45
46 // configuration variable we require
47 int listenPort = 0;
48
49 Configuration config = _refman.getCM().getConfiguration("FilterManager");
50 if (config == null) {
51 throw new ComponentStartException("Unable to obtain configuration for component");
52 }
53 else {
54 try {
55 // get the configuration properties we need
56 listenPort = Integer.parseInt(config.getProperty("FilterManager.listenPort"));
57 } catch (org.omg.CORBA.MARSHAL e) {
58 throw new ComponentStartException("Unable to obtain requried configuration property for component");
59 }
60 }
61
62 _logger.write(toString(), Logger.SYSMSG, "configured");
63
64 // startup a thread to listen for hosts
65 HostListener hostListener = new HostListener(listenPort);
66 hostListener.start();
67
68 _logger.write(toString(), Logger.SYSINIT, "started");
69 }
70
71 /**
72 * Overrides the {@link java.lang.Object#toString() Object.toString()}
73 * method to provide clean logging (every class should have this).
74 *
75 * This uses the uk.ac.ukc.iscream.util.NameFormat class
76 * to format the toString()
77 *
78 * @return the name of this class and its CVS revision
79 */
80 public String toString() {
81 return FormatName.getName(
82 _name,
83 getClass().getName(),
84 REVISION);
85 }
86
87 //---PRIVATE METHODS---
88
89 //---ACCESSOR/MUTATOR METHODS---
90
91 //---ATTRIBUTES---
92
93 /**
94 * This is the friendly identifier of the
95 * component this class is running in.
96 * eg, a Filter may be called "filter1",
97 * If this class does not have an owning
98 * component, a name from the configuration
99 * can be placed here. This name could also
100 * be changed to null for utility classes.
101 */
102 private String _name = FilterManager.NAME;
103
104 /**
105 * This holds a reference to the
106 * system logger that is being used.
107 */
108 private Logger _logger = ReferenceManager.getInstance().getLogger();
109
110 /**
111 * A reference to the reference manager in use
112 */
113 private ReferenceManager _refman = ReferenceManager.getInstance();
114
115 //---STATIC ATTRIBUTES---
116
117 }