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/FilterThread.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/filter/FilterThread.java (file contents):
Revision 1.2 by tdb, Wed Nov 22 09:33:52 2000 UTC vs.
Revision 1.6 by pjm2, Thu Nov 23 09:36:07 2000 UTC

# Line 1 | Line 1
1   import java.io.*;
2   import java.net.*;
3   import java.util.*;
4 + import uk.ac.ukc.iscream.core.*;
5   import uk.ac.ukc.iscream.filter.*;
6  
7 + // Handle an incoming UDP packet as a separate thread.
8   public class FilterThread extends Thread{
9  
10 <    public FilterThread(Filter parent){
10 >    // Class constructor. Obtains the byte[] from a DatagramPacket.
11 >    public FilterThread(DatagramPacket packet, Filter parent, Logger logger){
12          this.parent = parent;
13 <        // no-args constructor.
13 >        this.rawPacket = packet.getData();
14 >        this.logger = logger;
15      }
16      
17 <    public void run(DatagramPacket packet){
18 <        rawPacket = packet.getData();
19 <        start();
17 >    // Class constructor for passing XML Strings.
18 >    public FilterThread(String xml, Filter parent, Logger logger){
19 >        this.parent = parent;
20 >        this.rawPacket = xml.getBytes();
21      }
22      
18    public void run(String xml){
19        rawPacket = xml.getBytes();
20        start();
21    }
22    
23      public void run(){
24  
25          // Get a string without any null characters in it.
26          String xml = new String(rawPacket);
27 <        if(xml.indexOf(0)!=-1) {
27 >        if (xml.indexOf(0) != -1) {
28              xml = xml.substring(0, xml.indexOf(0));
29          }
30          else {
# Line 32 | Line 32 | public class FilterThread extends Thread{
32          }
33          System.out.println(xml);
34  
35 <        // USe my XMLPacketMaker to make an XMLPacket object.
36 <        XMLPacketMaker xmlPacketMaker = new XMLPacketMaker(xml);
35 >        // Use my XMLPacketMaker to make an XMLPacket object.
36 >        XMLPacketMaker xmlPacketMaker = new XMLPacketMaker(xml, logger);
37          XMLPacket packet = xmlPacketMaker.createXMLPacket();
38  
39          if (packet == null){
40 <            System.out.println("UDPReaderThread - A null XMLPacket was returned, I think I'll ignore it!");
40 >            // A null XML packet was returned - don't pass it on.
41 >            logger.write(this.toString(), Logger.SYSMSG, "An XML UDP packet was sucessfully filtered from the system.");
42              return;
43          }
44 <        System.out.println("UDPReaderThread - An XML Packet was read sucessfully: -");
44 <        packet.printAll();
44 >        
45          // Now do something with this XMLPacket!!!
46 <        // .... but what? ;-)
46 >        // .... let's try this...
47          parent.receiveXML(xml);
48      
49      }
50      
51      Filter parent;
52      byte[] rawPacket;
53 +    Logger logger;
54   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines