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/CorbaClientListenerServant.java
Revision: 1.2
Committed: Sat Feb 3 04:44:09 2001 UTC (23 years, 3 months ago) by tdb
Branch: MAIN
Changes since 1.1: +3 -2 lines
Log Message:
A few subtle changes... I keep forgetting to start Threads :)

File Contents

# User Rev Content
1 tdb 1.1 //---PACKAGE DECLARATION---
2     package uk.ac.ukc.iscream.clientinterface;
3    
4     //---IMPORTS---
5     import uk.ac.ukc.iscream.core.*;
6     import uk.ac.ukc.iscream.util.*;
7     import uk.ac.ukc.iscream.componentmanager.*;
8     import uk.ac.ukc.iscream.client.*;
9    
10     /**
11     * This class, a servant, listens for incoming connections from CORBA based
12     * clients. Once it receives a connection it creates and assigns a CorbaHandler
13     * object to it. The CorbaHandler will then handle all requests on behalf of the
14     * client, and will send the client data.
15     *
16 tdb 1.2 * @author $Author: tdb1 $
17     * @version $Id: CorbaClientListenerServant.java,v 1.1 2001/02/03 00:42:54 tdb1 Exp $
18 tdb 1.1 */
19     class CorbaClientListenerServant extends CorbaClientListenerPOA {
20    
21     //---FINAL ATTRIBUTES---
22    
23     /**
24     * The current CVS revision of this class
25     */
26     public final String REVISION = "$Revision: 1.1 $";
27    
28     //---STATIC METHODS---
29    
30     //---CONSTRUCTORS---
31    
32     /**
33     * Creates a new CorbaClientListenerServant.
34     *
35     * @param packetSorter a reference to the PacketSorter object being used
36     */
37     public CorbaClientListenerServant(PacketSorter packetSorter) {
38     _packetSorter = packetSorter;
39     _logger.write(toString(), Logger.SYSINIT, "created");
40     }
41    
42     //---PUBLIC METHODS---
43    
44     /**
45     * Allows a CORBA client to connect to the server.
46     *
47     * @param name the name of the connecting client.
48     * @param client a reference to the "servant" part of the connecting client.
49     * @return a CorbaHandler reference.
50     */
51     public CorbaHandler connect(String name, Client client) {
52     CorbaHandlerServant chServant = new CorbaHandlerServant(_packetSorter, name, client);
53     CorbaHandlerPOATie chPOATie = new CorbaHandlerPOATie(chServant);
54     org.omg.CORBA.Object objRef;
55     try {
56     objRef = _refman.getRootPOA().servant_to_reference(chPOATie);
57     } catch (Exception e) {
58     objRef = null;
59     _logger.write(toString(), Logger.ERROR, "Error creating CorbaHandler: "+e);
60     }
61     CorbaHandler corbaHandler = CorbaHandlerHelper.narrow(objRef);
62 tdb 1.2 corbaHandler.start();
63 tdb 1.1 return corbaHandler;
64     }
65    
66     /**
67     * Overrides the {@link java.lang.Object#toString() Object.toString()}
68     * method to provide clean logging (every class should have this).
69     *
70     * This uses the uk.ac.ukc.iscream.util.NameFormat class
71     * to format the toString()
72     *
73     * @return the name of this class and its CVS revision
74     */
75     public String toString() {
76     return FormatName.getName(
77     _name,
78     getClass().getName(),
79     REVISION);
80     }
81    
82     //---PRIVATE METHODS---
83    
84     //---ACCESSOR/MUTATOR METHODS---
85    
86     //---ATTRIBUTES---
87    
88     /**
89     * This is the friendly identifier of the
90     * component this class is running in.
91     * eg, a Filter may be called "filter1",
92     * If this class does not have an owning
93     * component, a name from the configuration
94     * can be placed here. This name could also
95     * be changed to null for utility classes.
96     */
97     private String _name = ClientInterfaceMain.NAME;
98    
99     /**
100     * This holds a reference to the
101     * system logger that is being used.
102     */
103     private Logger _logger = ReferenceManager.getInstance().getLogger();
104    
105     /**
106     * A reference to the reference manager in use
107     */
108     private ReferenceManager _refman = ReferenceManager.getInstance();
109    
110     /**
111     * A reference to the PacketSorter.
112     */
113     private PacketSorter _packetSorter;
114    
115     //---STATIC ATTRIBUTES---
116    
117     }