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
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/filtermanager/FilterManager.java (file contents):
Revision 1.4 by tdb, Mon Nov 20 18:55:24 2000 UTC vs.
Revision 1.11 by tdb, Thu Dec 7 12:30:15 2000 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 + package uk.ac.ukc.iscream.filtermanager;
3  
4   //---IMPORTS---
5   import uk.ac.ukc.iscream.core.*;
6 < import uk.ac.ukc.iscream.filter.*;
6 < import org.omg.CORBA.*;
7 < import org.omg.CosNaming.*;
8 < import org.omg.PortableServer.*;
6 > import uk.ac.ukc.iscream.util.*;
7  
8   /**
9 < * A FilterManager
9 > * The FilterManager handles assignment of Filters to hosts.
10   *
11   * @author  $Author$
12   * @version $Id$
# Line 25 | Line 23 | class FilterManager {
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 <        
30 >        // ***************************************
31 >            
32          // can't have a real toString() :)
33          String toString = "FilterManager(" + REVISION.substring(11, REVISION.length() - 2) + ")";
34          
35 <        try {        
36 <            ORB orb = ORB.init(args, null);
37 <            
38 <            // something to hold objects
39 <            org.omg.CORBA.Object objRef = null;    
40 <            
41 <            // get the Root POA
42 <            objRef = orb.resolve_initial_references("RootPOA");
43 <            POA poa = POAHelper.narrow(objRef);
44 <              
45 <            // get a hook to the name service
46 <            objRef = orb.resolve_initial_references("NameService");
47 <            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
48 <                
49 <            // get a ref to the Configurator & the Logger
50 <            objRef = ncRef.resolve(ncRef.to_name("iscream.ConfigurationManager"));
51 <            ConfigurationManager configManager = ConfigurationManagerHelper.narrow(objRef);
52 <            objRef = ncRef.resolve(ncRef.to_name("iscream.Logger"));
53 <            Logger logger = LoggerHelper.narrow(objRef);
53 <            
54 <            logger.write(toString, Logger.SYSINIT, "coming up");
55 <            
56 <            // create the filterManagerRef to our servant
57 <            //filterManagerRef = new FilterManagerServant;
58 <            
59 <            // register the servant with the name service
60 <            //objRef = poa.servant_to_reference(filterManagerRef);
61 <            //ncRef.bind(ncRef.to_name("iscream.FilterManager"), objRef);
62 <            
63 <            // start the POA off
64 <            poa.the_POAManager().activate();
65 <            
66 <            // get the config
67 <            Configuration myConfig = configManager.getConfiguration("filterManager");
68 <            
69 <            // some place holders for the configuration
70 <            int port = 0;
71 <  
72 <            // did we?
73 <            if (myConfig == null) {
74 <                System.out.println("Failed: is it there?, can you read it?");
75 <                System.exit(1);
76 <            } else {
77 <              
78 <                // get the property
79 <                try {
80 <                    port = new Integer(myConfig.getProperty("listenPort")).intValue();
81 <                } catch (org.omg.CORBA.MARSHAL e) {
82 <                    System.out.println("Caught org.omg.CORBA.MARSHAL, must be a null we got back");
83 <                    System.exit(1);
84 <                }
35 >        ReferenceManager refman = ReferenceManager.init(null, null);
36 >        
37 >        refman.getLogger().write(toString, Logger.SYSINIT, "coming up");
38 >        
39 >        // configuration variable we require
40 >        int listenPort = 0;
41 >
42 >        Configuration config = refman.getCM().getConfiguration("FilterManager");
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 >                listenPort = Integer.parseInt(config.getProperty("FilterManager.listenPort"));
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              }
86            logger.write(toString, Logger.SYSINIT, "configured");
87            logger.write(toString, Logger.SYSINIT, "starting listener");
88            
89            FilterManagerListener fml = new FilterManagerListener(logger, configManager, port);
90            fml.start();
91            
92            logger.write(toString, Logger.SYSINIT, "started");
93            
94        } catch (Exception e) {
95            System.err.println("FILTER MANAGER ERROR: " + e);
96            e.printStackTrace(System.out);
55          }
56 +        
57 +        refman.getLogger().write(toString, Logger.SYSINIT, "configured");
58 +        
59 +        refman.getLogger().write(toString, Logger.SYSINIT, "starting listener");
60 +        
61 +        HostListener hostListener = new HostListener(listenPort);
62 +        hostListener.start();
63 +        
64 +        refman.getLogger().write(toString, Logger.SYSINIT, "listener started");
65 +        
66      }
67  
68   //---CONSTRUCTORS---

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines