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.4
Committed: Thu Nov 23 09:14:29 2000 UTC (23 years, 5 months ago) by pjm2
Branch: MAIN
Changes since 1.3: +2 -2 lines
Log Message:
Modified the verbosity of the Logger messages that may occur in the
UDPReader thread.

File Contents

# Content
1 import java.io.*;
2 import java.net.*;
3 import java.util.*;
4 import uk.ac.ukc.iscream.filter.*;
5
6 // Handle an incoming UDP packet as a separate thread.
7 public class FilterThread extends Thread{
8
9 // Class constructor. Obtains the byte[] from a DatagramPacket.
10 public FilterThread(Filter parent, DatagramPacket packet){
11 this.parent = parent;
12 this.rawPacket = packet.getData();
13 }
14
15 // Class constructor for passing XML Strings.
16 public FilterThread(Filter parent, String xml){
17 this.parent = parent;
18 this.rawPacket = xml.getBytes();
19 }
20
21 public void run(){
22
23 // Get a string without any null characters in it.
24 String xml = new String(rawPacket);
25 if (xml.indexOf(0) != -1) {
26 xml = xml.substring(0, xml.indexOf(0));
27 }
28 else {
29 xml = xml.substring(0, xml.length());
30 }
31 System.out.println(xml);
32
33 // Use my XMLPacketMaker to make an XMLPacket object.
34 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 // .... let's try this...
45 parent.receiveXML(xml);
46
47 }
48
49 Filter parent;
50 byte[] rawPacket;
51 }