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/ClientInterfaceServant.java
Revision: 1.2
Committed: Mon Dec 4 18:42:19 2000 UTC (23 years, 6 months ago) by ajm
Branch: MAIN
Branch point for: SERVER_PACKAGEBUILD
Changes since 1.1: +3 -4 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.core.*;
6     import uk.ac.ukc.iscream.util.*;
7     import java.util.LinkedList;
8     import java.util.Iterator;
9    
10     /**
11     * A client interface servant
12     *
13     * @author $Author: ajm4 $
14 ajm 1.2 * @version $Id: ClientInterfaceServant.java,v 1.1 2000/12/04 18:12:00 ajm4 Exp $
15 ajm 1.1 */
16     class ClientInterfaceServant extends ClientInterfacePOA {
17    
18     //---FINAL ATTRIBUTES---
19    
20     /**
21     * The current CVS revision of this class
22     */
23 ajm 1.2 public final String REVISION = "$Revision: 1.1 $";
24 ajm 1.1
25     //---STATIC METHODS---
26    
27     //---CONSTRUCTORS---
28    
29     /**
30     * Creates a new ClientInterfaceServant.
31     *
32     */
33     public ClientInterfaceServant() {
34     // here would be a nice place to pass in local clients
35     _clients = new LinkedList();
36     _logger.write(this.toString(), Logger.SYSINIT, "created");
37     }
38    
39     //---PUBLIC METHODS---
40    
41     /**
42     * Method to receive a string over corba.
43     *
44     * @param xml the String of XML to print out
45     */
46     public void receiveXML(String xml) {
47 ajm 1.2 _logger.write(this.toString(), Logger.DEBUG, "got data, passing to clients");
48 ajm 1.1 Iterator i = _clients.iterator();
49     while(i.hasNext()) {
50     ((ClientHandler) i.next()).receiveXML(xml);
51     }
52     }
53    
54     public void register(ClientHandler newClient) {
55     _logger.write(this.toString(), Logger.SYSMSG, "registered client - " + newClient.toString());
56     _clients.add(newClient);
57     }
58    
59     /**
60     * Overrides the {@link java.lang.Object#toString() Object.toString()}
61     * method to provide clean logging (every class should have this).
62     *
63     * @return the name of this class and its CVS revision
64     */
65     public String toString() {
66     return this.getClass().getName() + "{" + _name + "}(" + REVISION.substring(11, REVISION.length() - 2) + ")";
67     }
68    
69     //---PRIVATE METHODS---
70    
71     //---ACCESSOR/MUTATOR METHODS---
72    
73     //---ATTRIBUTES---
74    
75     /**
76     * Reference to a Logger
77     */
78     private Logger _logger = ReferenceManager.getInstance().getLogger();
79    
80     /**
81     * Our name
82     */
83     private String _name = ReferenceManager.getInstance().getName();
84    
85     private LinkedList _clients;
86    
87     //---STATIC ATTRIBUTES---
88    
89     }