ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/uk/org/iscream/cms/server/rootfilter/RootFilter.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/rootfilter/RootFilter.java (file contents):
Revision 1.29 by tdb, Wed Mar 14 01:34:34 2001 UTC vs.
Revision 1.33 by tdb, Fri Mar 16 15:16:01 2001 UTC

# Line 1 | Line 1
1  
2   //---PACKAGE DECLARATION---
3 < package uk.ac.ukc.iscream.rootfilter;
3 > package uk.org.iscream.rootfilter;
4  
5   //---IMPORTS---
6 < import uk.ac.ukc.iscream.util.*;
7 < import uk.ac.ukc.iscream.core.*;
8 < import uk.ac.ukc.iscream.componentmanager.*;
9 < import uk.ac.ukc.iscream.clientinterface.*;
6 > import uk.org.iscream.util.*;
7 > import uk.org.iscream.core.*;
8 > import uk.org.iscream.componentmanager.*;
9 > import uk.org.iscream.clientinterface.*;
10  
11   /**
12   * The root filter is what all filters talk to
# Line 39 | Line 39 | public class RootFilter implements Component {
39       */
40      public void start() throws ComponentStartException {
41          // get references to key objects
42 <        _refman = ReferenceManager.getInstance();
43 <        _logger = ReferenceManager.getInstance().getLogger();
42 >        _logger = _refman.getLogger();
43          
44          _logger.write(toString(), Logger.SYSINIT, "coming up");
45          
# Line 75 | Line 74 | public class RootFilter implements Component {
74          if (dbInterface != null) {
75              ciDB = ClientInterfaceHelper.narrow(_refman.getCORBARef("iscream.ClientInterface." + dbInterface));
76          }
77 <
77 >        
78          // setup a queue
79 <        Queue queue = new Queue();
79 >        Queue queue;
80 >        // see if this Queue needs a size limit
81 >        try {
82 >            int queueSizeLimit = Integer.parseInt(cp.getProperty(configName, "Queue.SizeLimit"));
83 >            String queueRemoveAlgorithm = cp.getProperty(configName, "Queue.RemoveAlgorithm");
84 >            int algorithm = StringUtils.getStringPos(queueRemoveAlgorithm, Queue.algorithms);
85 >            if(algorithm != -1) {
86 >                queue = new Queue(queueSizeLimit, algorithm);
87 >            }
88 >            else {
89 >                _logger.write(toString(), Logger.WARNING, "Bad Queue Algorithm configuration, not known: "+queueRemoveAlgorithm);
90 >                // just don't activate a limit
91 >                queue = new Queue();
92 >            }
93 >            
94 >        } catch (PropertyNotFoundException e) {
95 >            _logger.write(toString(), Logger.DEBUG, "Optional config not set: "+e);
96 >            // just don't activate a limit
97 >            queue = new Queue();
98 >        } catch (NumberFormatException e) {
99 >            _logger.write(toString(), Logger.WARNING, "Bad Queue SizeLimit configuration: "+e);
100 >            // just don't activate a limit
101 >            queue = new Queue();
102 >        }
103          
104          // startup a monitor on this queue
105          try {
# Line 135 | Line 157 | public class RootFilter implements Component {
157              obj = _refman.getCORBARef("iscream.ClientInterface." + cli);
158              obj = _refman.getCORBARef("iscream.ClientInterface." + dbi);
159          } catch(ComponentCORBAException e) {
160 <            _logger.write(toString(), Logger.WARNING, "Dependency Failure: "+e);
160 >            System.err.println(toString() + ": Dependency Failure: "+e);
161              return false;
162          } catch(PropertyNotFoundException e) {
163 <            _logger.write(toString(), Logger.WARNING, "Unable to obtain configuration: "+e);
163 >            System.err.println(toString() + ": Unable to obtain configuration: "+e);
164              return false;
165          }
166          // dependency check suceeded
# Line 149 | Line 171 | public class RootFilter implements Component {
171       * Overrides the {@link java.lang.Object#toString() Object.toString()}
172       * method to provide clean logging (every class should have this).
173       *
174 <     * This uses the uk.ac.ukc.iscream.util.NameFormat class
174 >     * This uses the uk.org.iscream.util.NameFormat class
175       * to format the toString()
176       *
177       * @return the name of this class and its CVS revision
# Line 176 | Line 198 | public class RootFilter implements Component {
198      /**
199       * A reference to the reference manager in use
200       */
201 <    private ReferenceManager _refman;
201 >    private ReferenceManager _refman = ReferenceManager.getInstance();
202  
203   //---STATIC ATTRIBUTES---
204  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines