--- projects/cms/source/server/uk/org/iscream/cms/server/filter/FilterThread.java 2000/11/22 09:33:52 1.2 +++ projects/cms/source/server/uk/org/iscream/cms/server/filter/FilterThread.java 2000/11/23 09:08:07 1.3 @@ -3,28 +3,26 @@ import java.net.*; import java.util.*; import uk.ac.ukc.iscream.filter.*; +// Handle an incoming UDP packet as a separate thread. public class FilterThread extends Thread{ - public FilterThread(Filter parent){ + // Class constructor. Obtains the byte[] from a DatagramPacket. + public FilterThread(Filter parent, DatagramPacket packet){ this.parent = parent; - // no-args constructor. + this.rawPacket = packet.getData(); } - public void run(DatagramPacket packet){ - rawPacket = packet.getData(); - start(); + // Class constructor for passing XML Strings. + public FilterThread(Filter parent, String xml){ + this.parent = parent; + this.rawPacket = xml.getBytes(); } - public void run(String xml){ - rawPacket = xml.getBytes(); - start(); - } - public void run(){ // Get a string without any null characters in it. String xml = new String(rawPacket); - if(xml.indexOf(0)!=-1) { + if (xml.indexOf(0) != -1) { xml = xml.substring(0, xml.indexOf(0)); } else { @@ -32,7 +30,7 @@ public class FilterThread extends Thread{ } System.out.println(xml); - // USe my XMLPacketMaker to make an XMLPacket object. + // Use my XMLPacketMaker to make an XMLPacket object. XMLPacketMaker xmlPacketMaker = new XMLPacketMaker(xml); XMLPacket packet = xmlPacketMaker.createXMLPacket(); @@ -43,7 +41,7 @@ public class FilterThread extends Thread{ System.out.println("UDPReaderThread - An XML Packet was read sucessfully: -"); packet.printAll(); // Now do something with this XMLPacket!!! - // .... but what? ;-) + // .... let's try this... parent.receiveXML(xml); }