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.17
Committed: Fri Feb 23 17:12:40 2001 UTC (23 years, 2 months ago) by ajm
Branch: MAIN
Changes since 1.16: +8 -5 lines
Log Message:
now only uses the reference manager on calls to start()

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.16 2001/01/28 06:03:58 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.16 $";
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 // get references to key objects
44 _refman = ReferenceManager.getInstance();
45 _logger = ReferenceManager.getInstance().getLogger();
46
47 _logger.write(toString(), Logger.SYSINIT, "coming up");
48
49 // configuration variable we require
50 int listenPort = 0;
51
52 Configuration config = _refman.getCM().getConfiguration("FilterManager");
53 if (config == null) {
54 throw new ComponentStartException("Unable to obtain configuration for component");
55 }
56 else {
57 try {
58 // get the configuration properties we need
59 listenPort = Integer.parseInt(config.getProperty("FilterManager.listenPort"));
60 } catch (org.omg.CORBA.MARSHAL e) {
61 throw new ComponentStartException("Unable to obtain requried configuration property for component");
62 }
63 }
64
65 _logger.write(toString(), Logger.SYSMSG, "configured");
66
67 // startup a thread to listen for hosts
68 HostListener hostListener = new HostListener(listenPort);
69 hostListener.start();
70
71 _logger.write(toString(), Logger.SYSINIT, "started");
72 }
73
74 /**
75 * Overrides the {@link java.lang.Object#toString() Object.toString()}
76 * method to provide clean logging (every class should have this).
77 *
78 * This uses the uk.ac.ukc.iscream.util.NameFormat class
79 * to format the toString()
80 *
81 * @return the name of this class and its CVS revision
82 */
83 public String toString() {
84 return FormatName.getName(
85 _name,
86 getClass().getName(),
87 REVISION);
88 }
89
90 //---PRIVATE METHODS---
91
92 //---ACCESSOR/MUTATOR METHODS---
93
94 //---ATTRIBUTES---
95
96 /**
97 * This is the friendly identifier of the
98 * component this class is running in.
99 * eg, a Filter may be called "filter1",
100 * If this class does not have an owning
101 * component, a name from the configuration
102 * can be placed here. This name could also
103 * be changed to null for utility classes.
104 */
105 private String _name = FilterManager.NAME;
106
107 /**
108 * This holds a reference to the
109 * system logger that is being used.
110 */
111 private Logger _logger;
112
113 /**
114 * A reference to the reference manager in use
115 */
116 private ReferenceManager _refman;
117
118 //---STATIC ATTRIBUTES---
119
120 }