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.7 by tdb, Mon Nov 27 21:47:13 2000 UTC vs.
Revision 1.9 by ajm, Wed Nov 29 21:27:39 2000 UTC

# Line 1 | Line 1
1 + //---PACKAGE DECLARATION---
2 + package uk.ac.ukc.iscream.filter;
3 +
4 + //---IMPORTS---
5   import java.io.*;
6   import java.net.*;
7   import java.util.*;
8   import uk.ac.ukc.iscream.core.*;
9   import uk.ac.ukc.iscream.filter.*;
10 + import uk.ac.ukc.iscream.xml.*;
11  
12 < // Handle an incoming UDP packet as a separate thread.
12 > /**
13 > * Handle an incoming UDP packet as a separate thread.
14 > *
15 > * @author  $Author$
16 > * @version $Id$
17 > */
18   public class FilterThread extends Thread{
19  
20 + //---FINAL ATTRIBUTES---
21 +
22 +    /**
23 +     * The current CVS revision of this class
24 +     */
25 +    public final String REVISION = "$Revision$";
26 +    
27 + //---STATIC METHODS---
28 +
29 + //---CONSTRUCTORS---
30 +
31      // Class constructor. Obtains the byte[] from a DatagramPacket.
32 <    public FilterThread(DatagramPacket packet, Filter parent, Logger logger){
32 >    public FilterThread(DatagramPacket packet, String name, Filter parent, Logger logger){
33 >        _name = name;
34          this.parent = parent;
35          this.rawPacket = packet.getData();
36          this.logger = logger;
37 +        logger.write(this.toString(), Logger.DEBUG, "created");
38 +        
39      }
40      
41      // Class constructor for passing XML Strings.
42 <    public FilterThread(String xml, Filter parent, Logger logger){
42 >    public FilterThread(String xml, String name, Filter parent, Logger logger){
43 >        _name = name;
44 >        this.logger = logger;
45          this.parent = parent;
46          this.rawPacket = xml.getBytes();
47 +        logger.write(this.toString(), Logger.DEBUG, "created");
48      }
49 <    
49 >
50 > //---PUBLIC METHODS---
51 >
52      public void run(){
53  
54          // Get a string without any null characters in it.
# Line 30 | Line 59 | public class FilterThread extends Thread{
59          else {
60              xml = xml.substring(0, xml.length());
61          }
62 <        //System.out.println(xml);
34 <
62 >        
63          // Use my XMLPacketMaker to make an XMLPacket object.
64          XMLPacketMaker xmlPacketMaker = new XMLPacketMaker(xml, logger);
65          XMLPacket packet = xmlPacketMaker.createXMLPacket();
66 <
66 >        
67 >        logger.write(this.toString(), Logger.DEBUG, "got data, filtering and passing to parent - " + packet.printAll());
68 >        
69          if (packet == null){
70              // A null XML packet was returned - don't pass it on.
71              logger.write(this.toString(), Logger.SYSMSG, "An XML UDP packet was sucessfully filtered from the system.");
# Line 47 | Line 77 | public class FilterThread extends Thread{
77          parent.receiveXML(xml);
78      
79      }
80 <    
80 >
81 >    /**
82 >     * Overrides the {@link java.lang.Object#toString() Object.toString()}
83 >     * method to provide clean logging (every class should have this).
84 >     *
85 >     * @return the name of this class and its CVS revision
86 >     */
87 >    public String toString() {
88 >        return this.getClass().getName() + "{" + _name + "}(" + REVISION.substring(11, REVISION.length() - 2) + ")";
89 >    }
90 >
91 > //---PRIVATE METHODS---
92 >
93 > //---ACCESSOR/MUTATOR METHODS---
94 >
95 > //---ATTRIBUTES---
96 >
97      Filter parent;
98      byte[] rawPacket;
99      Logger logger;
100 +    String _name;
101 +
102 + //---STATIC ATTRIBUTES---
103 +
104   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines