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.12
Committed: Tue Jan 23 18:23:03 2001 UTC (23 years, 4 months ago) by tdb
Branch: MAIN
Changes since 1.11: +3 -2 lines
Log Message:
General bug fixing. It now works for the features it should.

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: tdb1 $
17 * @version $Id: ClientInterfaceMain.java,v 1.11 2001/01/23 16:56:31 tdb1 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.11 $";
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
39 _logger.write(toString(), Logger.SYSINIT, "coming up");
40
41 // configuration variables we require
42 String ourName = null;
43 int listenPort = 0;
44
45 Configuration config = _refman.getCM().getConfiguration("ClientInterface");
46 if (config == null) {
47 System.err.println("CRITICAL:Unable to obtain configuration" +
48 "\n Advise you check the i-scream log for more information.");
49 _logger.write(toString(), Logger.FATAL, "ERROR - unable to obtain configuration");
50 System.exit(1);
51 } else {
52 try {
53 ourName = config.getProperty("RootFilter.realtimeInterfaceName");
54 listenPort = Integer.parseInt(config.getProperty("ClientInterface.listenPort"));
55 } catch (org.omg.CORBA.MARSHAL e) {
56 System.err.println ("CRITICAL:Unable to obtain required configuration property" +
57 "\n Advise you check the i-scream log for more information.");
58 _logger.write(toString(), Logger.FATAL, "ERROR - required configuration property not present");
59 System.exit(1);
60
61 }
62 }
63 // now we have the name of the interface we set it
64 NAME = ourName;
65
66 _logger.write(toString(), Logger.SYSINIT, "configured");
67
68 // Setup a PacketSorter
69 PacketSorter ps = new PacketSorter();
70 ps.start();
71
72 // ClientInterfaceServant start (for inbound data)
73 _logger.write(toString(), Logger.DEBUG, "starting servant for inbound data");
74 ClientInterfaceServant ciServant = new ClientInterfaceServant(ps);
75 _refman.bindToOrb(ciServant, "iscream.ClientInterface." + ClientInterfaceMain.NAME);
76
77 TCPClientListener tcpClientListener = new TCPClientListener(listenPort, ps);
78 tcpClientListener.start();
79
80 _logger.write(toString(), Logger.SYSINIT, "started");
81 }
82
83 /**
84 * Overrides the {@link java.lang.Object#toString() Object.toString()}
85 * method to provide clean logging (every class should have this).
86 *
87 * This uses the uk.ac.ukc.iscream.util.NameFormat class
88 * to format the toString()
89 *
90 * @return the name of this class and its CVS revision
91 */
92 public String toString() {
93 return FormatName.getName(
94 NAME,
95 getClass().getName(),
96 REVISION);
97 }
98
99 //---PRIVATE METHODS---
100
101 //---ACCESSOR/MUTATOR METHODS---
102
103 //---ATTRIBUTES---
104
105 /**
106 * This holds a reference to the
107 * system logger that is being used.
108 */
109 private Logger _logger = ReferenceManager.getInstance().getLogger();
110
111 /**
112 * A reference to the reference manager in use
113 */
114 private ReferenceManager _refman = ReferenceManager.getInstance();
115
116 //---STATIC ATTRIBUTES---
117
118 /**
119 * The friendly name for this component, used by
120 * all related classes.
121 * This is set from the configuration.
122 */
123 public static String NAME;
124
125 }