ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/client/ClientMain.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/client/ClientMain.java (file contents):
Revision 1.8 by tdb, Wed Feb 28 19:02:58 2001 UTC vs.
Revision 1.16 by tdb, Thu Mar 15 22:12:22 2001 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 < package uk.ac.ukc.iscream.client;
2 > package uk.org.iscream.client;
3  
4   //---IMPORTS---
5 < import uk.ac.ukc.iscream.clientinterface.*;
6 < import uk.ac.ukc.iscream.componentmanager.*;
7 < import uk.ac.ukc.iscream.core.*;
8 < import uk.ac.ukc.iscream.util.*;
5 > import uk.org.iscream.clientinterface.*;
6 > import uk.org.iscream.componentmanager.*;
7 > import uk.org.iscream.core.*;
8 > import uk.org.iscream.util.*;
9  
10   /**
11   * A startup component for the Local Clients.
# Line 39 | Line 39 | public class ClientMain implements Component {
39       */
40      public void start() throws ComponentStartException {
41          // get references to key objects
42 <        _refman = ReferenceManager.getInstance();
43 <        _logger = ReferenceManager.getInstance().getLogger();
42 >        _logger = _refman.getLogger();
43  
44          _logger.write(toString(), Logger.SYSINIT, "coming up");
46            
47        // configuration variables we require
48        int queueMonitorInterval = 0;
45          
46 <        Configuration config = _refman.getCM().getConfiguration("LocalClient");
51 <        if (config == null) {
52 <            throw new ComponentStartException("Unable to obtain configuration for component");
53 <        }
54 <        else {
55 <            try {
56 <                // get the configuration properties we need
57 <                queueMonitorInterval = Integer.parseInt(config.getProperty("Queue.MonitorInterval"));
58 <            } catch (org.omg.CORBA.MARSHAL e) {
59 <                throw new ComponentStartException("Unable to obtain requried configuration property for component");
60 <            }
61 <        }
62 <              
63 <        _logger.write(toString(), Logger.SYSINIT, "configured");
64 <        
46 >        // setup the queues, this must be done before both managers are setup
47          // setup a Queue for the servant -> monitor manager
48 <        Queue queue = new Queue();
49 <        // startup a monitor on this queue
50 <        String queueName = NAME + " ServantToMonMan";
69 <        queue.startMonitor(queueMonitorInterval*1000, queueName);
48 >        _monitorQueue = new Queue();
49 >        // setup a Queue for the monitors -> alert manager
50 >        _alerterQueue = new Queue();
51          
52          // setup the servant and connect
53          _logger.write(toString(), Logger.SYSINIT, "starting servant and connecting");          
54          try {
55 <            ClientServant ref = new ClientServant(queue);
55 >            ClientServant ref = new ClientServant(_monitorQueue);
56              org.omg.CORBA.Object objRef = _refman.getRootPOA().servant_to_reference(ref);
57              Client client = ClientHelper.narrow(objRef);
58              
# Line 90 | Line 71 | public class ClientMain implements Component {
71          }
72          
73          // setup the MonitorManager
74 <        MonitorManager monMan = new MonitorManager(queue);
74 >        MonitorManager monMan = MonitorManager.getInstance();
75 >        monMan.start();
76          
77 +        // setup the AlerterManager
78 +        AlerterManager alertMan = AlerterManager.getInstance();
79 +        alertMan.start();
80 +      
81          _logger.write(toString(), Logger.SYSINIT, "started");
82          
83      }
84 <
84 >    
85      /**
86 +     * Does a dependency check. Used mainly at startup to
87 +     * see if the required dependencies (components) are up
88 +     * and running.
89 +     *
90 +     * @return a boolean value, true if the depdencies are satisfied
91 +     */
92 +    public boolean depCheck() {
93 +        try {
94 +            org.omg.CORBA.Object obj;
95 +            // first check the ConfigurationManager is alive
96 +            obj = _refman.getCORBARef("iscream.ConfigurationManager");
97 +            // then get some info on the CLI
98 +            ConfigurationProxy cp = ConfigurationProxy.getInstance();
99 +            String cli = cp.getProperty("RootFilter", "RootFilter.realtimeInterfaceName");
100 +            // finally check the CLI is alive
101 +            obj = _refman.getCORBARef("iscream.ClientInterface." + cli);
102 +        } catch(ComponentCORBAException e) {
103 +            System.err.println(toString() + ": Dependency Failure: "+e);
104 +            return false;
105 +        } catch(PropertyNotFoundException e) {
106 +            System.err.println(toString() + ": Unable to obtain configuration: "+e);
107 +            return false;
108 +        }
109 +        // dependency check suceeded
110 +        return true;
111 +    }
112 +    
113 +    /**
114       * Overrides the {@link java.lang.Object#toString() Object.toString()}
115       * method to provide clean logging (every class should have this).
116       *
117 <     * This uses the uk.ac.ukc.iscream.util.FormatName class
117 >     * This uses the uk.org.iscream.util.FormatName class
118       * to format the toString()
119       *
120       * @return the name of this class and its CVS revision
# Line 127 | Line 141 | public class ClientMain implements Component {
141      /**
142       * A reference to the reference manager in use
143       */
144 <    private ReferenceManager _refman;
144 >    private ReferenceManager _refman = ReferenceManager.getInstance();
145  
146   //---STATIC ATTRIBUTES---
147 +
148 +    /**
149 +     * A queue for the alerter manager
150 +     */
151 +    public static Queue _alerterQueue;
152 +    
153 +    /**
154 +     * A queue for the monitor manager
155 +     */
156 +    public static Queue _monitorQueue;
157  
158   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines