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.8
Committed: Thu Jan 18 23:08:10 2001 UTC (23 years, 4 months ago) by tdb
Branch: MAIN
Changes since 1.7: +3 -3 lines
Log Message:
Changes to reflect move of Component, ComponentStartException, and the
ReferenceManager from util to componentmanager.

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