ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/rootfilter/RootFilter.java
Revision: 1.5
Committed: Thu Nov 30 03:06:39 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Changes since 1.4: +48 -110 lines
Log Message:
Updated to use the uk.ac.ukc.iscream.util.ReferenceManager

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.ac.ukc.iscream.rootfilter;
3
4 //---IMPORTS---
5 import uk.ac.ukc.iscream.util.*;
6 import uk.ac.ukc.iscream.core.*;
7
8 /**
9 * A Filter Startup Class
10 *
11 * @author $Author: ajm4 $
12 * @version $Id: FilterMain.java,v 1.14 2000/11/30 02:38:09 ajm4 Exp $
13 */
14 class FilterMain {
15
16 //---FINAL ATTRIBUTES---
17
18 /**
19 * The current CVS revision of this class
20 */
21 public static final String REVISION = "$Revision: 1.14 $";
22
23 //---STATIC METHODS---
24
25 public static void main(String[] args) {
26 // ***************************************
27 // VERY TEMPORARY - will find a better way
28 System.setProperty("org.omg.CORBA.ORBClass","jacorb.orb.ORB");
29 System.setProperty("org.omg.CORBA.ORBSingletonClass","jacorb.orb.ORBSingleton");
30 // ***************************************
31
32 ReferenceManager refman = ReferenceManager.init(null, null);
33
34 // can't have a real toString() :)
35 String toString = "RootFilter{" + refman.getName() + "}(" + REVISION.substring(11, REVISION.length() - 2) + ")";
36
37 refman.getLogger().write(toString, Logger.SYSINIT, "coming up");
38
39 // configuration variables we require
40 String ourName = null;
41
42 Configuration config = refman.getCM().getConfiguration("RootFilter");
43 if (config == null) {
44 throw new RuntimeException ("CRITICAL:Unable to obtain configuration" +
45 " Advise you check the i-scream log for more information.");
46 } else {
47 try {
48 ourName = config.getProperty("Filter.rootFilter");
49 } catch (org.omg.CORBA.MARSHAL e) {
50 refman.getLogger().write(toString, Logger.FATAL, "required config property not present");
51 throw new RuntimeException ("CRITICAL:Unable to obtain required configuration property" +
52 " Advise you check the i-scream log for more information.");
53
54 }
55 }
56 // now we have the name of the Root Filter we set it
57 refman.setName(ourName);
58 refman.getLogger().write(toString, Logger.SYSINIT, "configured");
59
60 // FilterServant start (for inbound child filter data)
61 refman.getLogger().write(toString, Logger.DEBUG, "starting Root Filter");
62 RootFilterServant filterServant = new RootFilterServant();
63 refman.bindToOrb(filterServant, "iscream.Filter." + refman.getName());
64
65 // start the POA off
66 // now we are running, we just need to serve
67 // so we ask the orb to block for us until it has finished
68 refman.activatePOA();
69 refman.getLogger().write(toString, Logger.SYSINIT, "started");
70 refman.getORB().run();
71 }
72
73 /**
74 * A simple method to print the usage of this class.
75 * It never returns, but instead exits to the system
76 * with a value 1, to indicate the system did not start
77 * properly.
78 */
79 public static void usage() {
80 System.out.println("USAGE: java FilterMain <name>");
81 System.out.println("WHERE <name>:");
82 System.out.println(" The unique identifier for the Filter in the system.");
83 System.exit(1);
84 }
85
86 //---CONSTRUCTORS---
87
88 //---PUBLIC METHODS---
89
90 //---PRIVATE METHODS---
91
92 //---ACCESSOR/MUTATOR METHODS---
93
94 //---ATTRIBUTES---
95
96 //---STATIC ATTRIBUTES---
97
98 }