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.4
Committed: Thu Jan 18 23:23:14 2001 UTC (23 years, 4 months ago) by tdb
Branch: MAIN
Changes since 1.3: +3 -2 lines
Log Message:
Changes to reflect move of Component, ComponentStartException, and the
ReferenceManager from util to componentmanager.

File Contents

# Content
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: ajm4 $
16 * @version $Id: EnforceEssentialData__Plugin.java,v 1.3 2000/12/13 15:08:01 ajm4 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.3 $";
26
27 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.";
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 false if any of the essential data is not present.
39 if (packet.getParam("packet.attributes.machine_name") == null
40 || packet.getParam("packet.attributes.ip") == null
41 || packet.getParam("packet.attributes.seq_no") == null
42 || packet.getParam("packet.attributes.date") == null){
43 return false;
44 }
45
46 // otherwise return true!
47 return true;
48
49 }
50
51 /**
52 * Overrides the {@link java.lang.Object#toString() Object.toString()}
53 * method to provide clean logging (every class should have this).
54 *
55 * This uses the uk.ac.ukc.iscream.util.NameFormat class
56 * to format the toString()
57 *
58 * @return the name of this class and its CVS revision
59 */
60 public String toString() {
61 return FormatName.getName(
62 _name,
63 getClass().getName(),
64 REVISION);
65 }
66
67 /**
68 * return the String representation of what the filter does
69 */
70 public String getDescription(){
71 return DESC;
72 }
73
74 //---PRIVATE METHODS---
75
76 //---ACCESSOR/MUTATOR METHODS---
77
78 //---ATTRIBUTES---
79
80 /**
81 * This is the friendly identifier of the
82 * component this class is running in.
83 * eg, a Filter may be called "filter1",
84 * If this class does not have an owning
85 * component, a name from the configuration
86 * can be placed here. This name could also
87 * be changed to null for utility classes.
88 */
89 private String _name = FilterMain.NAME;
90
91 /**
92 * This holds a reference to the
93 * system logger that is being used.
94 */
95 private Logger _logger = ReferenceManager.getInstance().getLogger();
96
97 //---STATIC ATTRIBUTES---
98
99 }