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

Comparing projects/cms/source/server/uk/org/iscream/cms/server/filtermanager/HostInit.java (file contents):
Revision 1.19 by tdb, Wed Feb 28 10:36:05 2001 UTC vs.
Revision 1.25 by tdb, Tue Mar 13 02:19:47 2001 UTC

# Line 8 | Line 8 | import uk.ac.ukc.iscream.util.*;
8   import uk.ac.ukc.iscream.componentmanager.*;
9   import java.net.*;
10   import java.io.*;
11 + import java.util.*;
12  
13   /**
14   * Handles setting up a host.
# Line 36 | Line 37 | class HostInit extends Thread {
37       * @param socket The socket to which the host is connected
38       */
39      public HostInit(Socket socket) throws IOException {
40 +        // set the Thread name
41 +        setName("filtermanager.HostInit");
42 +        
43          _socket = socket;
44          // setup reader & writer
45          _socketIn = new BufferedReader(new InputStreamReader(_socket.getInputStream()));
# Line 96 | Line 100 | class HostInit extends Thread {
100                      throw new IOException("protocol error - expected:FQDN got:" + inBound);
101                  }
102                  else {
103 <                    try {
104 <                        // try to send the fqdn to the host
101 <                            _socketOut.println(_socket.getInetAddress().getHostName());
102 <                        }
103 <                        catch(UnknownHostException e) {
104 <                            // we failed for some reason
105 <                            _socketOut.println("ERROR");
106 <                        }
103 >                    // send the fqdn (of the host) to the host
104 >                    _socketOut.println(_socket.getInetAddress().getHostName().toLowerCase());
105                  }
106                  
107                  // get properties
# Line 133 | Line 131 | class HostInit extends Thread {
131                  }
132                  else {
133                          // send info
134 <                        String parentFilter =  myConfig.getProperty("Host.filter");
135 <                        _logger.write(toString(), Logger.DEBUG, " looking for parent - " + parentFilter);
136 <                    Filter filter = FilterHelper.narrow(ReferenceManager.getInstance().getCORBARef("iscream.Filter." + parentFilter));
137 <                        _socketOut.println(filter.getHostName() + ";"
138 <                                         + filter.getUDPPort() + ";"
139 <                                         + filter.getTCPPort());
134 >                        String filterList = myConfig.getProperty("Host.filter");
135 >                        Filter filterRef = null;
136 >                        String filter = null;
137 >                        StringTokenizer st = new StringTokenizer(filterList, ";");
138 >                    while (filterRef==null && st.hasMoreTokens()) {
139 >                        filter = st.nextToken();
140 >                        _logger.write(toString(), Logger.DEBUG, " looking for filter- " + filter);
141 >                        try {
142 >                            filterRef = FilterHelper.narrow(ReferenceManager.getInstance().getCORBARef("iscream.Filter." + filter));
143 >                        } catch (ComponentCORBAException e) {
144 >                            _logger.write(toString(), Logger.DEBUG, " unable to find filter- " + filter);
145 >                        }
146 >                    }
147 >                        
148 >                        // hopefully we found a filter
149 >                    if(filterRef != null) {
150 >                        _logger.write(toString(), Logger.DEBUG, " found filter- " + filter);
151 >                        // tell the host about it...
152 >                            _socketOut.println(filterRef.getHostName() + ";"
153 >                                             + filterRef.getUDPPort() + ";"
154 >                                             + filterRef.getTCPPort());
155 >                        }
156 >                        else {
157 >                            // ...or throw a wobbly (and tell the host!)
158 >                            _socketOut.println("ERROR");
159 >                            throw new IOException("unable to find filter for host");
160 >                        }
161                  }
162                  
163                  // confirm that all is ok

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines