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
Revision: 1.3
Committed: Thu Nov 23 09:08:07 2000 UTC (23 years, 5 months ago) by pjm2
Branch: MAIN
Changes since 1.2: +11 -13 lines
Log Message:
Altered UDPReader and FilterThread so that the UDP packet data is now
passed via the FilterThread's constructor.

File Contents

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