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.5 by tdb, Wed Feb 21 22:48:20 2001 UTC vs.
Revision 1.13 by tdb, Wed Mar 14 01:43:47 2001 UTC

# Line 38 | Line 38 | public class ClientMain implements Component {
38       * This starts the Local Client component
39       */
40      public void start() throws ComponentStartException {
41 +        // get references to key objects
42 +        _logger = _refman.getLogger();
43  
44          _logger.write(toString(), Logger.SYSINIT, "coming up");
45              
# Line 59 | Line 61 | public class ClientMain implements Component {
61                
62          _logger.write(toString(), Logger.SYSINIT, "configured");
63          
64 <        // setup the servant
65 <        _logger.write(toString(), Logger.SYSINIT, "starting servant");          
64 >        // setup the queues, this must be done before both managers are setup
65 >        String queueName;
66 >        // setup a Queue for the servant -> monitor manager
67 >        _monitorQueue = new Queue();
68          
69 <        Client client;
69 >        // setup a Queue for the monitors -> alert manager
70 >        _alerterQueue = new Queue();
71          
72 +        
73 +        
74 +        // setup the servant and connect
75 +        _logger.write(toString(), Logger.SYSINIT, "starting servant and connecting");          
76          try {
77 <            ClientServant ref = new ClientServant();
77 >            ClientServant ref = new ClientServant(_monitorQueue);
78              org.omg.CORBA.Object objRef = _refman.getRootPOA().servant_to_reference(ref);
79 <            client = ClientHelper.narrow(objRef);
79 >            Client client = ClientHelper.narrow(objRef);
80              
81              // this name maybe shouldn't be static
82              objRef = _refman.getCORBARef("iscream.ClientInterface.CorbaListener");
83              CorbaClientListener listener = CorbaClientListenerHelper.narrow(objRef);
84              
85              _logger.write(toString(), Logger.SYSINIT, "connecting");
86 <            CorbaControlHandler handler = listener.connect(client);
86 >            CorbaControlHandler handler = listener.connect(client, NAME);
87              handler.startData();
88          }
89          catch(Exception e) {
# Line 83 | Line 92 | public class ClientMain implements Component {
92              _logger.write(toString(), Logger.ERROR, "ERROR - " + e.getMessage());
93          }
94          
95 +        // setup the MonitorManager
96 +        MonitorManager monMan = MonitorManager.getInstance();
97 +        monMan.start();
98 +        
99 +        // setup the AlerterManager
100 +        AlerterManager alertMan = AlerterManager.getInstance();
101 +        alertMan.start();
102 +      
103          _logger.write(toString(), Logger.SYSINIT, "started");
104          
105      }
106 <
106 >    
107      /**
108 +     * Does a dependency check. Used mainly at startup to
109 +     * see if the required dependencies (components) are up
110 +     * and running.
111 +     *
112 +     * @return a boolean value, true if the depdencies are satisfied
113 +     */
114 +    public boolean depCheck() {
115 +        try {
116 +            org.omg.CORBA.Object obj;
117 +            // first check the ConfigurationManager is alive
118 +            obj = _refman.getCORBARef("iscream.ConfigurationManager");
119 +            // then get some info on the CLI
120 +            ConfigurationProxy cp = ConfigurationProxy.getInstance();
121 +            String cli = cp.getProperty("RootFilter", "RootFilter.realtimeInterfaceName");
122 +            // finally check the CLI is alive
123 +            obj = _refman.getCORBARef("iscream.ClientInterface." + cli);
124 +        } catch(ComponentCORBAException e) {
125 +            _logger.write(toString(), Logger.WARNING, "Dependency Failure: "+e);
126 +            return false;
127 +        } catch(PropertyNotFoundException e) {
128 +            _logger.write(toString(), Logger.WARNING, "Unable to obtain configuration: "+e);
129 +            return false;
130 +        }
131 +        // dependency check suceeded
132 +        return true;
133 +    }
134 +    
135 +    /**
136       * Overrides the {@link java.lang.Object#toString() Object.toString()}
137       * method to provide clean logging (every class should have this).
138       *
# Line 113 | Line 158 | public class ClientMain implements Component {
158       * This holds a reference to the
159       * system logger that is being used.
160       */
161 <    private Logger _logger = ReferenceManager.getInstance().getLogger();
161 >    private Logger _logger;
162  
163      /**
164       * A reference to the reference manager in use
# Line 121 | Line 166 | public class ClientMain implements Component {
166      private ReferenceManager _refman = ReferenceManager.getInstance();
167  
168   //---STATIC ATTRIBUTES---
169 +
170 +    /**
171 +     * A queue for the alerter manager
172 +     */
173 +    public static Queue _alerterQueue;
174 +    
175 +    /**
176 +     * A queue for the monitor manager
177 +     */
178 +    public static Queue _monitorQueue;
179  
180   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines