ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/filter/TCPReaderInit.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/filter/TCPReaderInit.java (file contents):
Revision 1.6 by tdb, Wed Nov 29 20:59:09 2000 UTC vs.
Revision 1.14 by tdb, Thu Feb 1 00:18:42 2001 UTC

# Line 4 | Line 4 | package uk.ac.ukc.iscream.filter;
4   //---IMPORTS---
5   import uk.ac.ukc.iscream.core.*;
6   import uk.ac.ukc.iscream.filter.*;
7 + import uk.ac.ukc.iscream.componentmanager.*;
8   import java.net.Socket;
9   import java.io.InputStream;
10   import java.io.OutputStream;
11   import java.io.IOException;
12   import java.io.*;
13 < import org.omg.CORBA.*;
13 < import org.omg.CosNaming.*;
13 > import uk.ac.ukc.iscream.util.*;
14  
15   /**
16 < * <ONE LINE DESCRIPTION>
17 < * <DETAILED DESCRIPTION>
16 > * This provides Host heartbeat functionality
17   *
18   * @author  $Author$
19   * @version $Id$
# Line 31 | Line 30 | class TCPReaderInit extends Thread {
30   //---STATIC METHODS---
31  
32   //---CONSTRUCTORS---
33 <
34 <    public TCPReaderInit(Socket socket, ConfigurationManager configManager, Logger logRef, Filter parent) throws IOException {
35 <        _configManager = configManager;
36 <        _logRef = logRef;
33 >    
34 >    /**
35 >     * Construct a new TCPReaderInit.
36 >     *
37 >     * @param socket the Socket to which the host is connected
38 >     * @param queue the Queue to which we'll add data
39 >     * @throws IOException if something goes badly wrong
40 >     */
41 >    public TCPReaderInit(Socket socket, Queue queue) throws IOException {
42          _socket = socket;
43 <        _parent = parent;
43 >        _queue = queue;
44 >        // setup the reader & writer
45          _socketIn = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
46          _socketOut = new PrintWriter(_socket.getOutputStream());
47 <        _logRef.write(toString(), Logger.SYSINIT, "created");
47 >        _logger.write(toString(), Logger.SYSINIT, "created");
48      }
49      
50   //---PUBLIC METHODS---
51 <
52 <    //NEED TO MAJORILY CHANGE THIS BIT !
51 >    
52 >    /**
53 >     * Main run method. Will communicate with the host, inform it
54 >     * if any updates to it's configuration are needed, and send
55 >     * a heartbeat packet into the system.
56 >     */
57      public void run() {
58          try {
59              //variables
# Line 105 | Line 114 | class TCPReaderInit extends Thread {
114              String ipadd = _socket.getInetAddress().getHostAddress();
115              String xml = "<packet type=\"heartbeat\" machine_name=\""+hostname+"\" date=\""+date+"\" ip=\""+ipadd+"\"></packet>";
116              
117 <            FilterThread t = new FilterThread(xml, _parent, _logRef);
109 <            t.start();
117 >            _queue.add(xml);
118              
119          } catch (Exception e) {
120 <            _logRef.write(toString(), Logger.ERROR, "ERROR: " + e.getMessage());
120 >            _logger.write(toString(), Logger.ERROR, "ERROR: " + e.getMessage());
121          }
122          
123          _socketOut.flush();
# Line 119 | Line 127 | class TCPReaderInit extends Thread {
127              _socketOut.close();
128              _socket.close();
129          } catch (IOException e) {
130 <            _logRef.write(toString(), Logger.ERROR, "exception on socket close");
130 >            _logger.write(toString(), Logger.ERROR, "exception on socket close");
131          }
132 <        _logRef.write(toString(), Logger.SYSMSG, "finished");
132 >        _logger.write(toString(), Logger.DEBUG, "finished");
133      }
134      
135      /**
136       * Overrides the {@link java.lang.Object#toString() Object.toString()}
137       * method to provide clean logging (every class should have this).
138       *
139 +     * This uses the uk.ac.ukc.iscream.util.NameFormat class
140 +     * to format the toString()
141 +     *
142       * @return the name of this class and its CVS revision
143       */
144      public String toString() {
145 <        return this.getClass().getName() + "{" + _socket.getInetAddress().getHostName()
146 <         + "}(" + REVISION.substring(11, REVISION.length() - 2) + ")";
147 <        
145 >        return FormatName.getName(
146 >            _name,
147 >            getClass().getName(),
148 >            REVISION);
149      }
150  
151   //---PRIVATE METHODS---
# Line 142 | Line 154 | class TCPReaderInit extends Thread {
154  
155   //---ATTRIBUTES---
156  
157 <    ConfigurationManager _configManager;
158 <    Logger _logRef;
157 >    /**
158 >     * A reference to the configuration manager
159 >     */
160 >    ConfigurationManager _configManager = ReferenceManager.getInstance().getCM();
161 >    
162 >    /**
163 >     * This is the friendly identifier of the
164 >     * component this class is running in.
165 >     * eg, a Filter may be called "filter1",
166 >     * If this class does not have an owning
167 >     * component,  a name from the configuration
168 >     * can be placed here.  This name could also
169 >     * be changed to null for utility classes.
170 >     */
171 >    private String _name = FilterMain.NAME;
172 >
173 >    /**
174 >     * This holds a reference to the
175 >     * system logger that is being used.
176 >     */
177 >    private Logger _logger = ReferenceManager.getInstance().getLogger();
178 >    
179 >    /**
180 >     * The socket we are talking on
181 >     */
182      Socket _socket;
183 +    
184 +    /**
185 +     * The input from the socket
186 +     */
187      BufferedReader _socketIn;
188 +    
189 +    /**
190 +     * The output from the socket
191 +     */
192      PrintWriter _socketOut;
193 <    Filter _parent;
193 >    
194 >    /**
195 >     * A reference to our Queue
196 >     */
197 >    Queue _queue;
198   //---STATIC ATTRIBUTES---
199  
200   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines