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.7
Committed: Mon Nov 27 21:47:13 2000 UTC (23 years, 5 months ago) by tdb
Branch: MAIN
Changes since 1.6: +1 -1 lines
Log Message:
Yuck, a System.out.println() :)

File Contents

# Content
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 // Class constructor. Obtains the byte[] from a DatagramPacket.
11 public FilterThread(DatagramPacket packet, Filter parent, Logger logger){
12 this.parent = parent;
13 this.rawPacket = packet.getData();
14 this.logger = logger;
15 }
16
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
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) {
28 xml = xml.substring(0, xml.indexOf(0));
29 }
30 else {
31 xml = xml.substring(0, xml.length());
32 }
33 //System.out.println(xml);
34
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 // 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
45 // Now do something with this XMLPacket!!!
46 // .... let's try this...
47 parent.receiveXML(xml);
48
49 }
50
51 Filter parent;
52 byte[] rawPacket;
53 Logger logger;
54 }