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
Revision: 1.10
Committed: Tue May 29 17:02:35 2001 UTC (22 years, 11 months ago) by tdb
Branch: MAIN
Changes since 1.9: +9 -9 lines
Log Message:
Major change in the java package naming. This has been held off for some time
now, but it really needed doing. The future packaging of all i-scream products
will be;

uk.org.iscream.<product>.<subpart>.*

In the case of the central monitoring system server this will be;

uk.org.iscream.cms.server.*

The whole server has been changed to follow this structure, and tested to a
smallish extent. Further changes in other parts of the CMS will follow.

File Contents

# Content
1 //---PACKAGE DECLARATION---
2 package uk.org.iscream.cms.server.filter.plugins;
3
4 //---IMPORTS---
5 import uk.org.iscream.cms.server.filter.PluginFilter;
6 import uk.org.iscream.cms.server.filter.*;
7 import uk.org.iscream.cms.server.core.*;
8 import uk.org.iscream.cms.server.util.*;
9 import uk.org.iscream.cms.server.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: tdb1 $
16 * @version $Id: EnforceEssentialData__Plugin.java,v 1.9 2001/03/14 23:25:29 tdb1 Exp $
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: 1.9 $";
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 // return true if a heartbeat packet seems ok
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 true if a queueStat packet seems ok
47 if (packet.getParam("packet.attributes.type").equals("queueStat")
48 && packet.getParam("packet.attributes.date") != null
49 && packet.getParam("packet.attributes.name") != null){
50 return true;
51 }
52
53 // return false if any of the essential data is not present
54 // in a "data" packet
55 if (packet.getParam("packet.attributes.machine_name") == null
56 || packet.getParam("packet.attributes.ip") == null
57 || packet.getParam("packet.attributes.seq_no") == null
58 || packet.getParam("packet.attributes.date") == null
59 || packet.getParam("packet.attributes.type") == null){
60 return false;
61 }
62
63 // otherwise return true!
64 return true;
65
66 }
67
68 /**
69 * Overrides the {@link java.lang.Object#toString() Object.toString()}
70 * method to provide clean logging (every class should have this).
71 *
72 * This uses the uk.org.iscream.cms.server.util.NameFormat class
73 * to format the toString()
74 *
75 * @return the name of this class and its CVS revision
76 */
77 public String toString() {
78 return FormatName.getName(
79 _name,
80 getClass().getName(),
81 REVISION);
82 }
83
84 /**
85 * return the String representation of what the filter does
86 */
87 public String getDescription(){
88 return DESC;
89 }
90
91 //---PRIVATE METHODS---
92
93 //---ACCESSOR/MUTATOR METHODS---
94
95 //---ATTRIBUTES---
96
97 /**
98 * This is the friendly identifier of the
99 * component this class is running in.
100 * eg, a Filter may be called "filter1",
101 * If this class does not have an owning
102 * component, a name from the configuration
103 * can be placed here. This name could also
104 * be changed to null for utility classes.
105 */
106 private String _name = FilterMain.NAME;
107
108 /**
109 * This holds a reference to the
110 * system logger that is being used.
111 */
112 private Logger _logger = ReferenceManager.getInstance().getLogger();
113
114 //---STATIC ATTRIBUTES---
115
116 }