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
Revision: 1.19
Committed: Tue Mar 13 18:37:08 2001 UTC (23 years, 2 months ago) by tdb
Branch: MAIN
Changes since 1.18: +17 -28 lines
Log Message:
Now makes use of the ConfigurationProxy.

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.ac.ukc.iscream.clientinterface;
3
4 //---IMPORTS---
5 import uk.ac.ukc.iscream.componentmanager.*;
6 import uk.ac.ukc.iscream.core.*;
7 import uk.ac.ukc.iscream.util.*;
8
9 /**
10 * This class starts the real time clients
11 * client interface.
12 * This is an iscream component that sends data
13 * direct to clients running on desktops to provide
14 * real time information.
15 *
16 * @author $Author: ajm4 $
17 * @version $Id: ClientInterfaceMain.java,v 1.18 2001/02/23 17:07:07 ajm4 Exp $
18 */
19 public class ClientInterfaceMain implements Component {
20
21 //---FINAL ATTRIBUTES---
22
23 /**
24 * The current CVS revision of this class
25 */
26 public static final String REVISION = "$Revision: 1.18 $";
27
28 //---STATIC METHODS---
29
30 //---CONSTRUCTORS---
31
32 //---PUBLIC METHODS---
33
34 /**
35 * This method starts the ClientInterface
36 */
37 public void start() throws ComponentStartException {
38 // get references to key objects
39 _refman = ReferenceManager.getInstance();
40 _logger = ReferenceManager.getInstance().getLogger();
41
42 _logger.write(toString(), Logger.SYSINIT, "coming up");
43
44
45 ConfigurationProxy cp = ConfigurationProxy.getInstance();
46 String configName = "ClientInterface";
47
48 // set our name
49 try {
50 NAME = cp.getProperty(configName, "RootFilter.realtimeInterfaceName");
51 } catch (PropertyNotFoundException e) {
52 NAME = null;
53 _logger.write(toString(), Logger.WARNING, "ClientInterface name not set: "+e);
54 }
55
56 _logger.write(toString(), Logger.SYSINIT, "configured");
57
58 // Setup a PacketSorter
59 PacketSorter ps = new PacketSorter();
60 ps.start();
61
62 // ClientInterfaceServant start (for inbound data)
63 _logger.write(toString(), Logger.DEBUG, "starting servant for inbound data");
64 ClientInterfaceServant ciServant = new ClientInterfaceServant(ps);
65 _refman.bindToOrb(ciServant, "iscream.ClientInterface." + ClientInterfaceMain.NAME);
66
67 // Startup the TCPListener
68 TCPClientListener tcpClientListener = new TCPClientListener(ps);
69 tcpClientListener.start();
70
71 // Startup the CORBA Listener
72 _logger.write(toString(), Logger.DEBUG, "starting servant for inbound clients");
73 CorbaClientListenerServant corbaServant = new CorbaClientListenerServant(ps);
74 // !!! verify this name is correct at some point !!!
75 _refman.bindToOrb(corbaServant, "iscream.ClientInterface.CorbaListener");
76
77 _logger.write(toString(), Logger.SYSINIT, "started");
78 }
79
80 /**
81 * Overrides the {@link java.lang.Object#toString() Object.toString()}
82 * method to provide clean logging (every class should have this).
83 *
84 * This uses the uk.ac.ukc.iscream.util.NameFormat class
85 * to format the toString()
86 *
87 * @return the name of this class and its CVS revision
88 */
89 public String toString() {
90 return FormatName.getName(
91 NAME,
92 getClass().getName(),
93 REVISION);
94 }
95
96 //---PRIVATE METHODS---
97
98 //---ACCESSOR/MUTATOR METHODS---
99
100 //---ATTRIBUTES---
101
102 /**
103 * This holds a reference to the
104 * system logger that is being used.
105 */
106 private Logger _logger;
107
108 /**
109 * A reference to the reference manager in use
110 */
111 private ReferenceManager _refman;
112
113 //---STATIC ATTRIBUTES---
114
115 /**
116 * The friendly name for this component, used by
117 * all related classes.
118 * This is set from the configuration.
119 */
120 public static String NAME;
121
122 }