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/plugins/EnforceEssentialData__Plugin.java
(Generate patch)

Comparing projects/cms/source/server/uk/org/iscream/cms/server/filter/plugins/EnforceEssentialData__Plugin.java (file contents):
Revision 1.1 by tdb, Wed Dec 6 22:59:29 2000 UTC vs.
Revision 1.7 by tdb, Fri Jan 19 00:36:45 2001 UTC

# Line 1 | Line 1
1 < //---PACKAGE DECLARATION---
2 < package uk.ac.ukc.iscream.filter.plugins;
3 <
4 < //---IMPORTS---
5 < import uk.ac.ukc.iscream.filter.PluginFilter;
6 < import uk.ac.ukc.iscream.util.XMLPacket;
7 <
8 < /**
9 < * A first plugin! ;-)
10 < * this one rejects packets that do not contain all of the 'essential' data.
11 < *
12 < * @author  $Author$
13 < * @version $Id$
14 < */
15 < public class EnforceEssentialData__Plugin implements PluginFilter {
16 <
17 < //---FINAL ATTRIBUTES---
18 <
19 <    /**
20 <     * The current CVS revision of this class
21 <     */
22 <    public final String REVISION = "$Revision$";
23 <    
24 <    public final String DESC = "Rejects packets that do not have an ip, machine_name, seq_no and date specified as attributes of the root packet tag.";
25 <    
26 < //---STATIC METHODS---
27 <
28 < //---CONSTRUCTORS---
29 <
30 < //---PUBLIC METHODS---
31 <
32 <    // apply the filter and return true if successful.
33 <    public boolean runFilter(XMLPacket packet){
34 <        
35 <        // return false if any of the essential data is not present.
36 <        if (packet.getParam("packet.attributes.machine_name") == null
37 <                || packet.getParam("packet.attributes.ip") == null
38 <                || packet.getParam("packet.attributes.seq_no") == null
39 <                || packet.getParam("packet.attributes.date") == null){
40 <            return false;
41 <        }
42 <        
43 <        // otherwise return true!
44 <        return true;
45 <        
46 <    }
47 <
48 <    /**
49 <     * Overrides the {@link java.lang.Object#toString() Object.toString()}
50 <     * method to provide clean logging (every class should have this).
51 <     *
52 <     * @return the name of this class and its CVS revision
53 <     */
54 <    public String toString() {
55 <        return this.getClass().getName() + "(" + REVISION.substring(11, REVISION.length() - 2) + ")";
56 <    }
57 <
58 <    // return the String representation of what the filter does
59 <    public String getDescription(){
60 <        return DESC;
61 <    }
62 <
63 < //---PRIVATE METHODS---
64 <
65 < //---ACCESSOR/MUTATOR METHODS---
66 <
67 < //---ATTRIBUTES---
68 <
69 < //---STATIC ATTRIBUTES---
70 <
71 < }
1 > //---PACKAGE DECLARATION---
2 > package uk.ac.ukc.iscream.filter.plugins;
3 >
4 > //---IMPORTS---
5 > import uk.ac.ukc.iscream.filter.PluginFilter;
6 > import uk.ac.ukc.iscream.filter.*;
7 > import uk.ac.ukc.iscream.core.*;
8 > import uk.ac.ukc.iscream.util.*;
9 > import uk.ac.ukc.iscream.componentmanager.*;
10 >
11 > /**
12 > * A first plugin! ;-)
13 > * this one rejects packets that do not contain all of the 'essential' data.
14 > *
15 > * @author  $Author$
16 > * @version $Id$
17 > */
18 > public class EnforceEssentialData__Plugin implements PluginFilter {
19 >
20 > //---FINAL ATTRIBUTES---
21 >
22 >    /**
23 >     * The current CVS revision of this class
24 >     */
25 >    public final String REVISION = "$Revision$";
26 >    
27 >    public final String DESC = "Rejects packets that do not have an ip, machine_name, seq_no, date and type specified as attributes of the root packet tag.";
28 >    
29 > //---STATIC METHODS---
30 >
31 > //---CONSTRUCTORS---
32 >
33 > //---PUBLIC METHODS---
34 >
35 >    // apply the filter and return true if successful.
36 >    public boolean runFilter(XMLPacket packet){
37 >        
38 >        // need a special case for heartbeats
39 >        if (packet.getParam("packet.attributes.type").equals("heartbeat")
40 >                && packet.getParam("packet.attributes.date") != null
41 >                && packet.getParam("packet.attributes.ip") != null
42 >                && packet.getParam("packet.attributes.machine_name") != null){
43 >            return true;
44 >        }
45 >        
46 >        // return false if any of the essential data is not present.
47 >        if (packet.getParam("packet.attributes.machine_name") == null
48 >                || packet.getParam("packet.attributes.ip") == null
49 >                || packet.getParam("packet.attributes.seq_no") == null
50 >                || packet.getParam("packet.attributes.date") == null
51 >                || packet.getParam("packet.attributes.type") == null){
52 >            return false;
53 >        }
54 >        
55 >        // otherwise return true!
56 >        return true;
57 >        
58 >    }
59 >
60 >    /**
61 >     * Overrides the {@link java.lang.Object#toString() Object.toString()}
62 >     * method to provide clean logging (every class should have this).
63 >     *
64 >     * This uses the uk.ac.ukc.iscream.util.NameFormat class
65 >     * to format the toString()
66 >     *
67 >     * @return the name of this class and its CVS revision
68 >     */
69 >    public String toString() {
70 >        return FormatName.getName(
71 >            _name,
72 >            getClass().getName(),
73 >            REVISION);
74 >    }
75 >
76 >    /**
77 >     * return the String representation of what the filter does
78 >     */
79 >    public String getDescription(){
80 >        return DESC;
81 >    }
82 >
83 > //---PRIVATE METHODS---
84 >
85 > //---ACCESSOR/MUTATOR METHODS---
86 >
87 > //---ATTRIBUTES---
88 >
89 >    /**
90 >     * This is the friendly identifier of the
91 >     * component this class is running in.
92 >     * eg, a Filter may be called "filter1",
93 >     * If this class does not have an owning
94 >     * component,  a name from the configuration
95 >     * can be placed here.  This name could also
96 >     * be changed to null for utility classes.
97 >     */
98 >    private String _name = FilterMain.NAME;
99 >
100 >    /**
101 >     * This holds a reference to the
102 >     * system logger that is being used.
103 >     */
104 >    private Logger _logger = ReferenceManager.getInstance().getLogger();
105 >
106 > //---STATIC ATTRIBUTES---
107 >
108 > }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines