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.26 by tdb, Sat Mar 10 04:03:07 2001 UTC vs.
Revision 1.32 by tdb, Tue May 29 17:02:35 2001 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 < package uk.ac.ukc.iscream.filter;
2 > package uk.org.iscream.cms.server.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.componentmanager.*;
10 < import uk.ac.ukc.iscream.filter.*;
11 < import uk.ac.ukc.iscream.util.*;
8 > import uk.org.iscream.cms.server.core.*;
9 > import uk.org.iscream.cms.server.componentmanager.*;
10 > import uk.org.iscream.cms.server.filter.*;
11 > import uk.org.iscream.cms.server.util.*;
12  
13   /**
14   * Handle an incoming packet as a separate thread.
# Line 38 | Line 38 | public class FilterThread extends Thread{
38       * Constructs an instance of a FilterThread
39       *
40       * @param queue the Queue this filter is using
41     * @param parent a CORBA reference to our parent filter
41       */
42 <    public FilterThread(Queue queue, Filter parent){
43 <        _parent = parent;
42 >    public FilterThread(Queue queue){
43 >        // set the Thread name
44 >        setName("filter.FilterThread");
45 >        
46          _queue = queue;
47          _logger.write(toString(), Logger.SYSINIT, "created");
48      }
# Line 59 | Line 60 | public class FilterThread extends Thread{
60          int n = _queue.getQueue();
61          // keep these out here, saves recreating the object
62          String xml = null;
63 +        String parentFilterName = "";
64 +        Filter parent = null;
65          while(true) {
66              // get a String of xml
67              try {
# Line 94 | Line 97 | public class FilterThread extends Thread{
97                  // skip the rest of this loop iteration
98                  continue;
99              }
100 <                              
101 <            // XMLPacket is ok, so run filters...
100 >            
101 >            // get parent
102 >            try {
103 >                String newParent = ConfigurationProxy.getInstance().getProperty(FilterMain.NAME, "Filter.parentFilter");
104 >                if(!parentFilterName.equals(newParent)) {
105 >                    parentFilterName = newParent;
106 >                    parent = FilterHelper.narrow(_refman.getCORBARef("iscream.Filter." + parentFilterName));
107 >                    _logger.write(toString(), Logger.DEBUG, "Parent filter changed to: "+parentFilterName);
108 >                }
109 >            } catch (PropertyNotFoundException e) {
110 >                continue;
111 >            }
112 >                    
113 >            // XMLPacket is ok, run filters...
114              if(PluginFilterManager.getInstance().runFilters(packet)) {
115                  // and pass it on...
116 <                _parent.receiveXML(xml);
116 >                parent.receiveXML(xml);
117              }
118              else {
119                  // ... or filtered it
# Line 111 | Line 126 | public class FilterThread extends Thread{
126       * Overrides the {@link java.lang.Object#toString() Object.toString()}
127       * method to provide clean logging (every class should have this).
128       *
129 <     * This uses the uk.ac.ukc.iscream.util.NameFormat class
129 >     * This uses the uk.org.iscream.cms.server.util.NameFormat class
130       * to format the toString()
131       *
132       * @return the name of this class and its CVS revision
# Line 128 | Line 143 | public class FilterThread extends Thread{
143   //---ACCESSOR/MUTATOR METHODS---
144  
145   //---ATTRIBUTES---
131
132    /**
133     * Our parent filter
134     */
135    Filter _parent;
146      
147      /**
148       * The Queue object
# Line 155 | Line 165 | public class FilterThread extends Thread{
165       * system logger that is being used.
166       */
167      private Logger _logger = ReferenceManager.getInstance().getLogger();
168 +
169 +    /**
170 +     * A reference to the reference manager in use
171 +     */
172 +    private ReferenceManager _refman = ReferenceManager.getInstance();
173  
174   //---STATIC ATTRIBUTES---
175  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines