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.25
Committed: Sat May 18 18:16:02 2002 UTC (22 years ago) by tdb
Branch: MAIN
Changes since 1.24: +21 -2 lines
Log Message:
i-scream is now licensed under the GPL. I've added the GPL headers to every
source file, and put a full copy of the license in the appropriate places.
I think I've covered everything. This is going to be a mad commit ;)

File Contents

# User Rev Content
1 tdb 1.25 /*
2     * i-scream central monitoring system
3     * Copyright (C) 2000-2002 i-scream
4     *
5     * This program is free software; you can redistribute it and/or
6     * modify it under the terms of the GNU General Public License
7     * as published by the Free Software Foundation; either version 2
8     * of the License, or (at your option) any later version.
9     *
10     * This program is distributed in the hope that it will be useful,
11     * but WITHOUT ANY WARRANTY; without even the implied warranty of
12     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13     * GNU General Public License for more details.
14     *
15     * You should have received a copy of the GNU General Public License
16     * along with this program; if not, write to the Free Software
17     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18     */
19    
20 tdb 1.1 //---PACKAGE DECLARATION---
21 tdb 1.23 package uk.org.iscream.cms.server.filtermanager;
22 tdb 1.1
23     //---IMPORTS---
24 tdb 1.23 import uk.org.iscream.cms.server.util.*;
25     import uk.org.iscream.cms.server.core.*;
26     import uk.org.iscream.cms.server.componentmanager.*;
27 tdb 1.1
28     /**
29 ajm 1.12 * The FilterManager handles initialisation
30     * of hosts with the system, allowing hosts to
31     * gain their configuration and a hook to a Filter
32     * to talk to.
33 tdb 1.1 *
34 tdb 1.24 * @author $Author: tdb $
35 tdb 1.25 * @version $Id: FilterManager.java,v 1.24 2002/03/20 13:40:29 tdb Exp $
36 tdb 1.1 */
37 tdb 1.14 public class FilterManager implements Component {
38 tdb 1.1
39     //---FINAL ATTRIBUTES---
40    
41     /**
42     * The current CVS revision of this class
43     */
44 tdb 1.25 public static final String REVISION = "$Revision: 1.24 $";
45 tdb 1.1
46     //---STATIC METHODS---
47    
48 ajm 1.12 //---CONSTRUCTORS---
49    
50 tdb 1.24 /**
51     * Constructs a FilterManager with the name given
52     *
53     * @param givenName the name
54     */
55     public FilterManager(String givenName) {
56     NAME = givenName;
57     }
58    
59 ajm 1.12 //---PUBLIC METHODS---
60    
61     /**
62     * This method starts the FilterManager
63     */
64     public void start() throws ComponentStartException {
65 ajm 1.17 // get references to key objects
66 tdb 1.20 _logger = _refman.getLogger();
67 ajm 1.17
68 ajm 1.12 _logger.write(toString(), Logger.SYSINIT, "coming up");
69 tdb 1.10
70 tdb 1.15 // startup a thread to listen for hosts
71 tdb 1.18 HostListener hostListener = new HostListener();
72 tdb 1.10 hostListener.start();
73    
74 ajm 1.12 _logger.write(toString(), Logger.SYSINIT, "started");
75 tdb 1.1 }
76 tdb 1.19
77     /**
78     * Does a dependency check. Used mainly at startup to
79     * see if the required dependencies (components) are up
80     * and running.
81     *
82     * @return a boolean value, true if the depdencies are satisfied
83     */
84     public boolean depCheck() {
85 tdb 1.21 // This also depends on Filters.. but only when requested.
86     // I believe the code is in place to handle that elsewhere.
87     try {
88     org.omg.CORBA.Object obj;
89     obj = _refman.getCORBARef("iscream.Logger");
90     obj = _refman.getCORBARef("iscream.ConfigurationManager");
91     } catch(ComponentCORBAException e) {
92     System.err.println(toString() + ": Dependency Failure: "+e);
93     return false;
94     }
95     // dependency check suceeded
96 tdb 1.19 return true;
97     }
98    
99 ajm 1.12 /**
100     * Overrides the {@link java.lang.Object#toString() Object.toString()}
101     * method to provide clean logging (every class should have this).
102     *
103 tdb 1.23 * This uses the uk.org.iscream.cms.server.util.NameFormat class
104 ajm 1.12 * to format the toString()
105     *
106     * @return the name of this class and its CVS revision
107     */
108     public String toString() {
109     return FormatName.getName(
110 tdb 1.24 NAME,
111 ajm 1.13 getClass().getName(),
112 ajm 1.12 REVISION);
113     }
114 tdb 1.1
115     //---PRIVATE METHODS---
116    
117     //---ACCESSOR/MUTATOR METHODS---
118    
119     //---ATTRIBUTES---
120 ajm 1.12
121     /**
122     * This is the friendly identifier of the
123     * component this class is running in.
124     * eg, a Filter may be called "filter1",
125     * If this class does not have an owning
126     * component, a name from the configuration
127     * can be placed here. This name could also
128     * be changed to null for utility classes.
129     */
130     private String _name = FilterManager.NAME;
131    
132     /**
133     * This holds a reference to the
134     * system logger that is being used.
135     */
136 ajm 1.17 private Logger _logger;
137 tdb 1.20
138     /**
139     * A reference to the reference manager in use
140     */
141     private ReferenceManager _refman = ReferenceManager.getInstance();
142 tdb 1.1
143     //---STATIC ATTRIBUTES---
144 tdb 1.24
145     /**
146     * The friendly name for this component, used by
147     * all related classes.
148     * This is set from the configuration.
149     */
150     public static String NAME;
151 tdb 1.1
152     }