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

Comparing projects/cms/source/server/uk/org/iscream/cms/server/clientinterface/ClientInterfaceMain.java (file contents):
Revision 1.22 by tdb, Wed Mar 14 01:54:26 2001 UTC vs.
Revision 1.31 by tdb, Sun Aug 1 10:40:48 2004 UTC

# Line 1 | Line 1
1 + /*
2 + * i-scream central monitoring system
3 + * http://www.i-scream.org
4 + * Copyright (C) 2000-2002 i-scream
5 + *
6 + * This program is free software; you can redistribute it and/or
7 + * modify it under the terms of the GNU General Public License
8 + * as published by the Free Software Foundation; either version 2
9 + * of the License, or (at your option) any later version.
10 + *
11 + * This program is distributed in the hope that it will be useful,
12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 + * GNU General Public License for more details.
15 + *
16 + * You should have received a copy of the GNU General Public License
17 + * along with this program; if not, write to the Free Software
18 + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19 + */
20 +
21   //---PACKAGE DECLARATION---
22 < package uk.ac.ukc.iscream.clientinterface;
22 > package uk.org.iscream.cms.server.clientinterface;
23  
24   //---IMPORTS---
25 < import uk.ac.ukc.iscream.componentmanager.*;
26 < import uk.ac.ukc.iscream.core.*;
27 < import uk.ac.ukc.iscream.util.*;
25 > import uk.org.iscream.cms.server.componentmanager.*;
26 > import uk.org.iscream.cms.server.core.*;
27 > import uk.org.iscream.cms.util.*;
28  
29   /**
30   * This class starts the real time clients
# Line 29 | Line 49 | public class ClientInterfaceMain implements Component
49  
50   //---CONSTRUCTORS---
51  
52 +    /**
53 +     * Constructs a ClientInterface with the name given
54 +     *
55 +     * @param givenName the name
56 +     */
57 +    public ClientInterfaceMain(String givenName) {
58 +        NAME = givenName;
59 +    }
60 +
61   //---PUBLIC METHODS---
62  
63      /**
# Line 40 | Line 69 | public class ClientInterfaceMain implements Component
69          
70          _logger.write(toString(), Logger.SYSINIT, "coming up");
71          
43        
44        ConfigurationProxy cp = ConfigurationProxy.getInstance();
45        String configName = "ClientInterface";
46        
47        // set our name
48        try {
49            NAME = cp.getProperty(configName, "RootFilter.realtimeInterfaceName");
50        } catch (PropertyNotFoundException e) {
51            NAME = null;
52            _logger.write(toString(), Logger.WARNING, "ClientInterface name not set: "+e);
53        }
54        
55        _logger.write(toString(), Logger.SYSINIT, "configured");
56        
72          // Setup a PacketSorter
73          PacketSorter ps = new PacketSorter();
74          ps.start();
75          
76          // ClientInterfaceServant start (for inbound data)
77          _logger.write(toString(), Logger.DEBUG, "starting servant for inbound data");
78 <        ClientInterfaceServant ciServant = new ClientInterfaceServant(ps);
79 <        _refman.bindToOrb(ciServant, "iscream.ClientInterface." + ClientInterfaceMain.NAME);
78 >        try {
79 >            ClientInterfaceServant ciServant = new ClientInterfaceServant(ps);
80 >            //_refman.bindToOrb(ciServant, "iscream.ClientInterface\\." + ClientInterfaceMain.NAME);
81 >            org.omg.CORBA.Object objRef = _refman.getRootPOA().servant_to_reference(ciServant);
82 >            Client client = ClientHelper.narrow(objRef);
83 >            
84 >            String parent = ConfigurationProxy.getInstance().getProperty("ClientInterface." + ClientInterfaceMain.NAME, "ClientInterface.parent");
85 >            objRef = _refman.getCORBARef("iscream.ClientInterface\\." + parent);
86 >            CorbaClientListener listener = CorbaClientListenerHelper.narrow(objRef);
87 >            
88 >            CorbaControlHandler handler = listener.connect(client, NAME);
89 >            handler.startData();
90 >        }
91 >        catch(Exception e) {
92 >            // not sure what to do here
93 >            // so we just log the error
94 >            _logger.write(toString(), Logger.ERROR, "ERROR - " + e.getMessage());
95 >        }
96          
97          // Startup the TCPListener
98          TCPClientListener tcpClientListener = new TCPClientListener(ps);
# Line 70 | Line 101 | public class ClientInterfaceMain implements Component
101          // Startup the CORBA Listener
102          _logger.write(toString(), Logger.DEBUG, "starting servant for inbound clients");
103          CorbaClientListenerServant corbaServant = new CorbaClientListenerServant(ps);
104 <        // !!! verify this name is correct at some point !!!
74 <        _refman.bindToOrb(corbaServant, "iscream.ClientInterface.CorbaListener");
104 >        _refman.bindToOrb(corbaServant, "iscream.ClientInterface\\." + ClientInterfaceMain.NAME);
105          
106          _logger.write(toString(), Logger.SYSINIT, "started");
107      }
# Line 88 | Line 118 | public class ClientInterfaceMain implements Component
118              org.omg.CORBA.Object obj;
119              obj = _refman.getCORBARef("iscream.Logger");
120              obj = _refman.getCORBARef("iscream.ConfigurationManager");
121 +            // suss out the parent client interface
122 +            ConfigurationProxy cp = ConfigurationProxy.getInstance();
123 +            String parentName = cp.getProperty("ClientInterface." + ClientInterfaceMain.NAME, "ClientInterface.parent");
124 +            // check the parent is alive
125 +            obj = _refman.getCORBARef("iscream.ClientInterface\\." + parentName);
126          } catch(ComponentCORBAException e) {
127              System.err.println(toString() + ": Dependency Failure: "+e);
128              return false;
129 +        } catch(PropertyNotFoundException e) {
130 +            System.err.println(toString() + ": Unable to obtain configuration: "+e);
131 +            return false;
132          }
133          // dependency check suceeded
134          return true;
# Line 100 | Line 138 | public class ClientInterfaceMain implements Component
138       * Overrides the {@link java.lang.Object#toString() Object.toString()}
139       * method to provide clean logging (every class should have this).
140       *
141 <     * This uses the uk.ac.ukc.iscream.util.NameFormat class
141 >     * This uses the uk.org.iscream.cms.util.NameFormat class
142       * to format the toString()
143       *
144       * @return the name of this class and its CVS revision

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines