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.13
Committed: Sat Jan 27 23:30:40 2001 UTC (23 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.12: +3 -2 lines
Log Message:
All of these classes have been javadoc'd and commented.

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.12 2001/01/23 18:23:03 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.12 $";
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 // Startup the TCPListener
78 TCPClientListener tcpClientListener = new TCPClientListener(listenPort, ps);
79 tcpClientListener.start();
80
81 _logger.write(toString(), Logger.SYSINIT, "started");
82 }
83
84 /**
85 * Overrides the {@link java.lang.Object#toString() Object.toString()}
86 * method to provide clean logging (every class should have this).
87 *
88 * This uses the uk.ac.ukc.iscream.util.NameFormat class
89 * to format the toString()
90 *
91 * @return the name of this class and its CVS revision
92 */
93 public String toString() {
94 return FormatName.getName(
95 NAME,
96 getClass().getName(),
97 REVISION);
98 }
99
100 //---PRIVATE METHODS---
101
102 //---ACCESSOR/MUTATOR METHODS---
103
104 //---ATTRIBUTES---
105
106 /**
107 * This holds a reference to the
108 * system logger that is being used.
109 */
110 private Logger _logger = ReferenceManager.getInstance().getLogger();
111
112 /**
113 * A reference to the reference manager in use
114 */
115 private ReferenceManager _refman = ReferenceManager.getInstance();
116
117 //---STATIC ATTRIBUTES---
118
119 /**
120 * The friendly name for this component, used by
121 * all related classes.
122 * This is set from the configuration.
123 */
124 public static String NAME;
125
126 }