org.opennms.bb.dp.eventd
Class XMLEventsOverrideParser

java.lang.Object
  |
  +--org.opennms.bb.dp.events.XMLEventsParser
        |
        +--org.opennms.bb.dp.eventd.XMLEventsOverrideParser
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.ErrorHandler

public class XMLEventsOverrideParser
extends XMLEventsParser

This class is an extension of the default events parser from the events package and is used to ensure that non-modifiable fields are stripped from incomming events. This is done by overriding the validate method of the events parser and resetting any secured fields.

*

The security information is loaded at startup by the Eventd class and the events configuration parser.

Version:
$Revision: 1.1 $
Author:
Brian Weaver, OpenNMS.org

Field Summary
private  List m_overrides
          The list of non-modifiable events.
 
Fields inherited from class org.opennms.bb.dp.events.XMLEventsParser
m_attributes, m_data, m_depth, m_event, m_events, m_header, m_parm, m_save, m_snmpInfo, SAVE_AUTOACTION, SAVE_DESCR, SAVE_EVENT, SAVE_EVENTS, SAVE_FORWARD, SAVE_HDR_CREATED, SAVE_HDR_DPNAME, SAVE_HDR_MSTATION, SAVE_HDR_VERSION, SAVE_HEADER, SAVE_HOST, SAVE_IGNORE, SAVE_INTERFACE, SAVE_LOG, SAVE_LOGGROUP, SAVE_LOGMSG, SAVE_MOUSEOVERTEXT, SAVE_NODEID, SAVE_NOTIFICATION, SAVE_OPERACTION, SAVE_OPERINSTRUCT, SAVE_PARM, SAVE_PARM_NAME, SAVE_PARM_VALUE, SAVE_PARMS, SAVE_SERVICE, SAVE_SEVERITY, SAVE_SNMP, SAVE_SNMP_EID, SAVE_SNMP_EIDTEXT, SAVE_SNMP_GENERIC, SAVE_SNMP_SPECIFIC, SAVE_SNMPHOST, SAVE_SOURCE, SAVE_TIME, SAVE_TTICKET, SAVE_UEI, TAG_AUTOACTION, TAG_CREATED, TAG_DESCR, TAG_DPNAME, TAG_EID, TAG_EIDTEXT, TAG_ENCODING, TAG_ENCODING_ATTR_BASE64, TAG_ENCODING_ATTR_TEXT, TAG_EVENT, TAG_EVENTS, TAG_FORWARD, TAG_GENERIC, TAG_HEADER, TAG_HOST, TAG_INTERFACE, TAG_LOG, TAG_LOGGROUP, TAG_LOGMSG, TAG_LOGMSGDEST, TAG_LOGMSGDEST_ATTR_LOGNDISPLAY, TAG_LOGMSGDEST_ATTR_LOGONLY, TAG_LOGMSGDEST_ATTR_SUPPRESS, TAG_MECHANISM, TAG_MECHANISM_ATTR_SNMPTCP, TAG_MECHANISM_ATTR_SNMPUDP, TAG_MECHANISM_ATTR_XMLTCP, TAG_MECHANISM_ATTR_XMLUDP, TAG_MOUSEOVERTEXT, TAG_MSTATION, TAG_NODEID, TAG_NOTIFICATION, TAG_OPERACTION, TAG_OPERACTIONMENU, TAG_OPERINSTR, TAG_PARM, TAG_PARM_NAME, TAG_PARM_VALUE, TAG_PARMS, TAG_SERVICE, TAG_SEVERITY, TAG_SNMP, TAG_SNMPHOST, TAG_SOURCE, TAG_SPECIFIC, TAG_STATE, TAG_STATE_ATTR_OFF, TAG_STATE_ATTR_ON, TAG_TIME, TAG_TIME_ATTR_DAY, TAG_TIME_ATTR_HOUR, TAG_TIME_ATTR_MIN, TAG_TIME_ATTR_MONTH, TAG_TIME_ATTR_SEC, TAG_TIME_ATTR_YEAR, TAG_TTICKET, TAG_TYPE, TAG_TYPE_ATTR_INT, TAG_TYPE_ATTR_SNMP_COUNTER32, TAG_TYPE_ATTR_SNMP_COUNTER64, TAG_TYPE_ATTR_SNMP_GAUGE32, TAG_TYPE_ATTR_SNMP_INT32, TAG_TYPE_ATTR_SNMP_IPADDR, TAG_TYPE_ATTR_SNMP_NULL, TAG_TYPE_ATTR_SNMP_OBJECTID, TAG_TYPE_ATTR_SNMP_OCTETSTR, TAG_TYPE_ATTR_SNMP_OPAQUE, TAG_TYPE_ATTR_SNMP_TIMETICKS, TAG_TYPE_ATTR_STRING, TAG_UEI, TAG_VER
 
Constructor Summary
XMLEventsOverrideParser()
          Constructs a new override parser that can be used to decompose an event stream.
XMLEventsOverrideParser(List overrides)
          Constructs a new override parser that can be used to decompose an event stream.
 
Method Summary
protected  boolean validate(Event e)
          This overridden method is not use for validating the event so much as it is used to modify the event.
 
Methods inherited from class org.opennms.bb.dp.events.XMLEventsParser
characters, dataElement, depthOf, endDocument, endElement, endElement, endPrefixMapping, error, fatalError, getEvents, getHeader, ignorableWhitespace, main, processingInstruction, serializeToXML, serializeToXML, serializeToXML, serializeToXML, setDocumentLocator, skippedEntity, startDocument, startElement, startElement, startPrefixMapping, warning
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

m_overrides

private List m_overrides
The list of non-modifiable events.
Constructor Detail

XMLEventsOverrideParser

public XMLEventsOverrideParser()

Constructs a new override parser that can be used to decompose an event stream. Each incomming event is checked to ensure that it does not have a non-modifiable field set. If a non-modifiable field is set then it is reset to null by this parser.

The list is accessed from the Eventd class.

Parameters:
overrides - The list of element that will be reset to null during parsing.
Throws:
IllegalArgumentException - Thrown if the list from the Eventd class is not been initialized.
See Also:
Eventd.getOverrides()

XMLEventsOverrideParser

public XMLEventsOverrideParser(List overrides)

Constructs a new override parser that can be used to decompose an event stream. Each incomming event is checked to ensure that it does not have a non-modifiable field set. If a non-modifiable field is set then it is reset to null by this parser.

The list passed to this parser must be a list of String objects for use by the parser. If any element is not a String, or derived class thereof, then a ClassCastException may be thrown during parsing.

Parameters:
overrides - The list of element that will be reset to null during parsing.
Throws:
IllegalArgumentException - Thrown if the override list is null.
Method Detail

validate

protected boolean validate(Event e)
This overridden method is not use for validating the event so much as it is used to modify the event. The inbound event is checked againt the list of non-modifiable fields, and if one is found to be set then it is reset to a null value.
Overrides:
validate in class XMLEventsParser
Parameters:
event - The event to validate/modify
Returns:
True if the event should be added to the list, false if it should not be added.
Throws:
ClassCastException - Thrown if the initialized override list contained non-String objects.