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.5
Committed: Wed Dec 13 15:48:36 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Changes since 1.4: +3 -14 lines
Log Message:
fixed the static naming problem again

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.ac.ukc.iscream.clientinterface;
3
4 //---IMPORTS---
5 import uk.ac.ukc.iscream.util.*;
6 import uk.ac.ukc.iscream.core.*;
7
8 /**
9 * This class starts the real time clients
10 * client interface.
11 * This is an iscream component that sends data
12 * direct to clients running on desktops to provide
13 * real time information.
14 *
15 * @author $Author: ajm4 $
16 * @version $Id: ClientInterfaceMain.java,v 1.4 2000/12/13 12:57:38 ajm4 Exp $
17 */
18 public class ClientInterfaceMain implements uk.ac.ukc.iscream.util.Component {
19
20 //---FINAL ATTRIBUTES---
21
22 /**
23 * The current CVS revision of this class
24 */
25 public static final String REVISION = "$Revision: 1.4 $";
26
27 //---STATIC METHODS---
28
29 //---CONSTRUCTORS---
30
31 //---PUBLIC METHODS---
32
33 /**
34 * This method starts the ClientInterface
35 */
36 public void start() throws ComponentStartException {
37
38 _logger.write(toString(), Logger.SYSINIT, "coming up");
39
40 // configuration variables we require
41 String ourName = null;
42 int listenPort = 0;
43
44 Configuration config = _refman.getCM().getConfiguration("ClientInterface");
45 if (config == null) {
46 System.err.println("CRITICAL:Unable to obtain configuration" +
47 "\n Advise you check the i-scream log for more information.");
48 _logger.write(toString(), Logger.FATAL, "ERROR - unable to obtain configuration");
49 System.exit(1);
50 } else {
51 try {
52 ourName = config.getProperty("RootFilter.realtimeInterfaceName");
53 listenPort = Integer.parseInt(config.getProperty("ClientInterface.listenPort"));
54 } catch (org.omg.CORBA.MARSHAL e) {
55 System.err.println ("CRITICAL:Unable to obtain required configuration property" +
56 "\n Advise you check the i-scream log for more information.");
57 _logger.write(toString(), Logger.FATAL, "ERROR - required configuration property not present");
58 System.exit(1);
59
60 }
61 }
62 // now we have the name of the interface we set it
63 NAME = ourName;
64
65 _logger.write(toString(), Logger.SYSINIT, "configured");
66
67 // ClientInterfaceServant start (for inbound data)
68 _logger.write(toString(), Logger.DEBUG, "starting servant for inbound data");
69 ClientInterfaceServant ciServant = new ClientInterfaceServant();
70 _refman.bindToOrb(ciServant, "iscream.ClientInterface." + ClientInterfaceMain.NAME);
71
72 ClientListener clientListener = new ClientListener(listenPort, ciServant);
73 clientListener.start();
74
75 _logger.write(toString(), Logger.SYSINIT, "started");
76 }
77
78 /**
79 * Overrides the {@link java.lang.Object#toString() Object.toString()}
80 * method to provide clean logging (every class should have this).
81 *
82 * This uses the uk.ac.ukc.iscream.util.NameFormat class
83 * to format the toString()
84 *
85 * @return the name of this class and its CVS revision
86 */
87 public String toString() {
88 return FormatName.getName(
89 NAME,
90 getClass().getName(),
91 REVISION);
92 }
93
94 //---PRIVATE METHODS---
95
96 //---ACCESSOR/MUTATOR METHODS---
97
98 //---ATTRIBUTES---
99
100 /**
101 * This holds a reference to the
102 * system logger that is being used.
103 */
104 private Logger _logger = ReferenceManager.getInstance().getLogger();
105
106 /**
107 * A reference to the reference manager in use
108 */
109 private ReferenceManager _refman = ReferenceManager.getInstance();
110
111 //---STATIC ATTRIBUTES---
112
113 /**
114 * The friendly name for this component, used by
115 * all related classes.
116 * This is set from the configuration.
117 */
118 public static String NAME;
119
120 }