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

# 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 tdb 1.14 import uk.ac.ukc.iscream.componentmanager.*;
8 tdb 1.1
9     /**
10 ajm 1.12 * 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 tdb 1.1 *
15 tdb 1.19 * @author $Author: tdb1 $
16 tdb 1.21 * @version $Id: FilterManager.java,v 1.20 2001/03/14 01:43:53 tdb1 Exp $
17 tdb 1.1 */
18 tdb 1.14 public class FilterManager implements Component {
19 tdb 1.1
20     //---FINAL ATTRIBUTES---
21    
22     /**
23     * The current CVS revision of this class
24     */
25 tdb 1.21 public static final String REVISION = "$Revision: 1.20 $";
26 ajm 1.12
27     /**
28 ajm 1.13 * The friendly name for this component, used by
29 ajm 1.12 * all related classes.
30     */
31     public static final String NAME = "FilterManager";
32 tdb 1.1
33     //---STATIC METHODS---
34    
35 ajm 1.12 //---CONSTRUCTORS---
36    
37     //---PUBLIC METHODS---
38    
39     /**
40     * This method starts the FilterManager
41     */
42     public void start() throws ComponentStartException {
43 ajm 1.17 // get references to key objects
44 tdb 1.20 _logger = _refman.getLogger();
45 ajm 1.17
46 ajm 1.12 _logger.write(toString(), Logger.SYSINIT, "coming up");
47 tdb 1.10
48 tdb 1.15 // startup a thread to listen for hosts
49 tdb 1.18 HostListener hostListener = new HostListener();
50 tdb 1.10 hostListener.start();
51    
52 ajm 1.12 _logger.write(toString(), Logger.SYSINIT, "started");
53 tdb 1.1 }
54 tdb 1.19
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 tdb 1.21 // 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 tdb 1.19 return true;
75     }
76    
77 ajm 1.12 /**
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 ajm 1.13 getClass().getName(),
90 ajm 1.12 REVISION);
91     }
92 tdb 1.1
93     //---PRIVATE METHODS---
94    
95     //---ACCESSOR/MUTATOR METHODS---
96    
97     //---ATTRIBUTES---
98 ajm 1.12
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 ajm 1.17 private Logger _logger;
115 tdb 1.20
116     /**
117     * A reference to the reference manager in use
118     */
119     private ReferenceManager _refman = ReferenceManager.getInstance();
120 tdb 1.1
121     //---STATIC ATTRIBUTES---
122    
123     }