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

File Contents

# User Rev Content
1 ajm 1.3 //---PACKAGE DECLARATION---
2     package uk.ac.ukc.iscream.clientinterface;
3    
4     //---IMPORTS---
5 tdb 1.6 import uk.ac.ukc.iscream.componentmanager.*;
6 ajm 1.3 import uk.ac.ukc.iscream.core.*;
7    
8     /**
9 ajm 1.4 * 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 ajm 1.3 *
15     * @author $Author: ajm4 $
16 tdb 1.6 * @version $Id: ClientInterfaceMain.java,v 1.5 2000/12/13 15:48:36 ajm4 Exp $
17 ajm 1.3 */
18 ajm 1.4 public class ClientInterfaceMain implements uk.ac.ukc.iscream.util.Component {
19 ajm 1.3
20     //---FINAL ATTRIBUTES---
21    
22     /**
23     * The current CVS revision of this class
24     */
25 tdb 1.6 public static final String REVISION = "$Revision: 1.5 $";
26 ajm 1.3
27     //---STATIC METHODS---
28    
29 ajm 1.4 //---CONSTRUCTORS---
30 ajm 1.3
31 ajm 1.4 //---PUBLIC METHODS---
32 ajm 1.3
33 ajm 1.4 /**
34     * This method starts the ClientInterface
35     */
36     public void start() throws ComponentStartException {
37    
38     _logger.write(toString(), Logger.SYSINIT, "coming up");
39 ajm 1.3
40     // configuration variables we require
41     String ourName = null;
42     int listenPort = 0;
43    
44 ajm 1.4 Configuration config = _refman.getCM().getConfiguration("ClientInterface");
45 ajm 1.3 if (config == null) {
46 ajm 1.4 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 ajm 1.3 } 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 ajm 1.4 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 ajm 1.3
60     }
61     }
62     // now we have the name of the interface we set it
63 ajm 1.4 NAME = ourName;
64    
65     _logger.write(toString(), Logger.SYSINIT, "configured");
66 ajm 1.3
67     // ClientInterfaceServant start (for inbound data)
68 ajm 1.4 _logger.write(toString(), Logger.DEBUG, "starting servant for inbound data");
69 ajm 1.3 ClientInterfaceServant ciServant = new ClientInterfaceServant();
70 ajm 1.4 _refman.bindToOrb(ciServant, "iscream.ClientInterface." + ClientInterfaceMain.NAME);
71 ajm 1.3
72     ClientListener clientListener = new ClientListener(listenPort, ciServant);
73     clientListener.start();
74    
75 ajm 1.4 _logger.write(toString(), Logger.SYSINIT, "started");
76 ajm 1.3 }
77    
78 ajm 1.4 /**
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 ajm 1.5 NAME,
90 ajm 1.4 getClass().getName(),
91     REVISION);
92     }
93 ajm 1.3
94     //---PRIVATE METHODS---
95    
96     //---ACCESSOR/MUTATOR METHODS---
97    
98     //---ATTRIBUTES---
99 ajm 1.4
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 ajm 1.3 //---STATIC ATTRIBUTES---
112    
113 ajm 1.4 /**
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     }