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.2
Committed: Mon Dec 4 18:42:19 2000 UTC (23 years, 5 months ago) by ajm
Branch: MAIN
Changes since 1.1: +7 -2 lines
Log Message:
fixed Tim's REALLY silly mistake in the TCPClientHandler ;-p

Added support for the ClientListener to the ClientInterface

File Contents

# User Rev Content
1 ajm 1.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     * A ClientInterface startup class
10     *
11     * @author $Author: ajm4 $
12 ajm 1.2 * @version $Id: ClientInterfaceMain.java,v 1.1 2000/12/04 18:12:00 ajm4 Exp $
13 ajm 1.1 */
14     class ClientInterfaceMain {
15    
16     //---FINAL ATTRIBUTES---
17    
18     /**
19     * The current CVS revision of this class
20     */
21 ajm 1.2 public static final String REVISION = "$Revision: 1.1 $";
22 ajm 1.1
23     //---STATIC METHODS---
24    
25     public static void main(String[] args) {
26     // ***************************************
27     // VERY TEMPORARY - will find a better way
28     System.setProperty("org.omg.CORBA.ORBClass","jacorb.orb.ORB");
29     System.setProperty("org.omg.CORBA.ORBSingletonClass","jacorb.orb.ORBSingleton");
30     // ***************************************
31    
32     ReferenceManager refman = ReferenceManager.init(null, null);
33    
34     // can't have a real toString() :)
35     String toString = "ClientInterface{" + refman.getName() + "}(" + REVISION.substring(11, REVISION.length() - 2) + ")";
36    
37     refman.getLogger().write(toString, Logger.SYSINIT, "coming up");
38    
39     // configuration variables we require
40     String ourName = null;
41 ajm 1.2 int listenPort = 0;
42 ajm 1.1
43     Configuration config = refman.getCM().getConfiguration("ClientInterface");
44     if (config == null) {
45     throw new RuntimeException ("CRITICAL:Unable to obtain configuration" +
46     " Advise you check the i-scream log for more information.");
47     } else {
48     try {
49     ourName = config.getProperty("RootFilter.realtimeInterfaceName");
50 ajm 1.2 listenPort = Integer.parseInt(config.getProperty("ClientInterface.listenPort"));
51 ajm 1.1 } catch (org.omg.CORBA.MARSHAL e) {
52     refman.getLogger().write(toString, Logger.FATAL, "required config property not present");
53     throw new RuntimeException ("CRITICAL:Unable to obtain required configuration property" +
54     " Advise you check the i-scream log for more information.");
55    
56     }
57     }
58     // now we have the name of the interface we set it
59     refman.setName(ourName);
60     toString = "RootFilter{" + refman.getName() + "}(" + REVISION.substring(11, REVISION.length() - 2) + ")";
61     refman.getLogger().write(toString, Logger.SYSINIT, "configured");
62    
63     // ClientInterfaceServant start (for inbound data)
64     refman.getLogger().write(toString, Logger.DEBUG, "starting servant for inbound data");
65     ClientInterfaceServant ciServant = new ClientInterfaceServant();
66     refman.bindToOrb(ciServant, "iscream.ClientInterface." + refman.getName());
67 ajm 1.2
68     ClientListener clientListener = new ClientListener(listenPort, ciServant);
69     clientListener.start();
70 ajm 1.1
71     // start the POA off
72     // now we are running, we just need to serve
73     // so we ask the orb to block for us until it has finished
74     refman.activatePOA();
75     refman.getLogger().write(toString, Logger.SYSINIT, "started");
76     refman.getORB().run();
77     }
78    
79     //---CONSTRUCTORS---
80    
81     //---PUBLIC METHODS---
82    
83     //---PRIVATE METHODS---
84    
85     //---ACCESSOR/MUTATOR METHODS---
86    
87     //---ATTRIBUTES---
88    
89     //---STATIC ATTRIBUTES---
90    
91     }