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.21
Committed: Wed Mar 14 02:01:19 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.20: +13 -5 lines
Log Message:
Of course, this class doesn't depend on any Filters at startup... so there is
no transitive dependency to the Core.

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.20 2001/03/14 01:43:53 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.20 $";
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 _logger = _refman.getLogger();
45
46 _logger.write(toString(), Logger.SYSINIT, "coming up");
47
48 // startup a thread to listen for hosts
49 HostListener hostListener = new HostListener();
50 hostListener.start();
51
52 _logger.write(toString(), Logger.SYSINIT, "started");
53 }
54
55 /**
56 * Does a dependency check. Used mainly at startup to
57 * see if the required dependencies (components) are up
58 * and running.
59 *
60 * @return a boolean value, true if the depdencies are satisfied
61 */
62 public boolean depCheck() {
63 // This also depends on Filters.. but only when requested.
64 // I believe the code is in place to handle that elsewhere.
65 try {
66 org.omg.CORBA.Object obj;
67 obj = _refman.getCORBARef("iscream.Logger");
68 obj = _refman.getCORBARef("iscream.ConfigurationManager");
69 } catch(ComponentCORBAException e) {
70 System.err.println(toString() + ": Dependency Failure: "+e);
71 return false;
72 }
73 // dependency check suceeded
74 return true;
75 }
76
77 /**
78 * Overrides the {@link java.lang.Object#toString() Object.toString()}
79 * method to provide clean logging (every class should have this).
80 *
81 * This uses the uk.ac.ukc.iscream.util.NameFormat class
82 * to format the toString()
83 *
84 * @return the name of this class and its CVS revision
85 */
86 public String toString() {
87 return FormatName.getName(
88 _name,
89 getClass().getName(),
90 REVISION);
91 }
92
93 //---PRIVATE METHODS---
94
95 //---ACCESSOR/MUTATOR METHODS---
96
97 //---ATTRIBUTES---
98
99 /**
100 * This is the friendly identifier of the
101 * component this class is running in.
102 * eg, a Filter may be called "filter1",
103 * If this class does not have an owning
104 * component, a name from the configuration
105 * can be placed here. This name could also
106 * be changed to null for utility classes.
107 */
108 private String _name = FilterManager.NAME;
109
110 /**
111 * This holds a reference to the
112 * system logger that is being used.
113 */
114 private Logger _logger;
115
116 /**
117 * A reference to the reference manager in use
118 */
119 private ReferenceManager _refman = ReferenceManager.getInstance();
120
121 //---STATIC ATTRIBUTES---
122
123 }