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.24
Committed: Wed Mar 20 13:40:29 2002 UTC (22 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.23: +20 -10 lines
Log Message:
FilterManager's can now have their own individual configurations. I want to
run more than one, and I want them to have different setups. Specifying a
name for a FilterManager is similar to that of a Filter. There is a "-fm"
flag to the startup which allows you to set it. It will then request a
configuration of "FilterManager.<name>".

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.org.iscream.cms.server.filtermanager;
3
4 //---IMPORTS---
5 import uk.org.iscream.cms.server.util.*;
6 import uk.org.iscream.cms.server.core.*;
7 import uk.org.iscream.cms.server.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: tdb $
16 * @version $Id: FilterManager.java,v 1.23 2001/05/29 17:02:35 tdb 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.23 $";
26
27 //---STATIC METHODS---
28
29 //---CONSTRUCTORS---
30
31 /**
32 * Constructs a FilterManager with the name given
33 *
34 * @param givenName the name
35 */
36 public FilterManager(String givenName) {
37 NAME = givenName;
38 }
39
40 //---PUBLIC METHODS---
41
42 /**
43 * This method starts the FilterManager
44 */
45 public void start() throws ComponentStartException {
46 // get references to key objects
47 _logger = _refman.getLogger();
48
49 _logger.write(toString(), Logger.SYSINIT, "coming up");
50
51 // startup a thread to listen for hosts
52 HostListener hostListener = new HostListener();
53 hostListener.start();
54
55 _logger.write(toString(), Logger.SYSINIT, "started");
56 }
57
58 /**
59 * Does a dependency check. Used mainly at startup to
60 * see if the required dependencies (components) are up
61 * and running.
62 *
63 * @return a boolean value, true if the depdencies are satisfied
64 */
65 public boolean depCheck() {
66 // This also depends on Filters.. but only when requested.
67 // I believe the code is in place to handle that elsewhere.
68 try {
69 org.omg.CORBA.Object obj;
70 obj = _refman.getCORBARef("iscream.Logger");
71 obj = _refman.getCORBARef("iscream.ConfigurationManager");
72 } catch(ComponentCORBAException e) {
73 System.err.println(toString() + ": Dependency Failure: "+e);
74 return false;
75 }
76 // dependency check suceeded
77 return true;
78 }
79
80 /**
81 * Overrides the {@link java.lang.Object#toString() Object.toString()}
82 * method to provide clean logging (every class should have this).
83 *
84 * This uses the uk.org.iscream.cms.server.util.NameFormat class
85 * to format the toString()
86 *
87 * @return the name of this class and its CVS revision
88 */
89 public String toString() {
90 return FormatName.getName(
91 NAME,
92 getClass().getName(),
93 REVISION);
94 }
95
96 //---PRIVATE METHODS---
97
98 //---ACCESSOR/MUTATOR METHODS---
99
100 //---ATTRIBUTES---
101
102 /**
103 * This is the friendly identifier of the
104 * component this class is running in.
105 * eg, a Filter may be called "filter1",
106 * If this class does not have an owning
107 * component, a name from the configuration
108 * can be placed here. This name could also
109 * be changed to null for utility classes.
110 */
111 private String _name = FilterManager.NAME;
112
113 /**
114 * This holds a reference to the
115 * system logger that is being used.
116 */
117 private Logger _logger;
118
119 /**
120 * A reference to the reference manager in use
121 */
122 private ReferenceManager _refman = ReferenceManager.getInstance();
123
124 //---STATIC ATTRIBUTES---
125
126 /**
127 * The friendly name for this component, used by
128 * all related classes.
129 * This is set from the configuration.
130 */
131 public static String NAME;
132
133 }