SNMP Stack 5_1

uk.co.westhawk.test
Class Agent

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--java.applet.Applet
                          |
                          +--uk.co.westhawk.test.Agent
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, RawPduListener, RequestPduListener, java.io.Serializable, TrapListener, UsmAgent, java.awt.event.WindowListener

public class Agent
extends java.applet.Applet
implements RawPduListener, RequestPduListener, TrapListener, UsmAgent, java.awt.event.WindowListener

The goal of the test is to see if the stack receives incoming PDUs properly and can send a reply to a request. The class Agent performs all the tests according to agentIPv4.xml. The xml file defines the configuration of the managers. The code will create a ListeningContext for each of the 'managers'. To keep live simple, it will only send a reply to a GetRequest with a single OID, that is configured in the xml. The reply will be a String as well. This class can be used as applet and application. If run as applet the XML_FILE should be passed as applet parameter.

Netscape seems to destroy the applet after half a minute, I don't know how to solve this.

Version:
$Revision: 1.4 $ $Date: 2006/03/02 12:29:07 $
Author:
Birgit Arkesteijn
See Also:
SnmpTarget, Serialized Form

Field Summary
static java.lang.String AGENT
           
static java.lang.String DOC_HEADER
           
static java.lang.String DOC_TYPE
           
static java.lang.String ENGINEBOOTS
           
static java.lang.String ENGINEID
           
static java.lang.String NAME
           
static java.lang.String NODES
           
static java.lang.String OID
           
static java.lang.String SCALAR
           
static java.lang.String TEST
           
static java.lang.String USM
           
static java.lang.String VALUE
           
static java.lang.String XML_FILE
          Name of the XML file.
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface uk.co.westhawk.snmp.event.RawPduListener
version_id
 
Fields inherited from interface uk.co.westhawk.snmp.event.RequestPduListener
version_id
 
Fields inherited from interface uk.co.westhawk.snmp.event.TrapListener
version_id
 
Fields inherited from interface uk.co.westhawk.snmp.stack.UsmAgent
MYFAKEHOSTNAME, version_id
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Agent()
          The constructor.
 
Method Summary
 void analyseDocument(org.w3c.dom.Document doc)
          Builds a (node) list of all tests in the document.
 SnmpContextBasisFace createReplyContext(RequestPduEvent evt)
           
 void freeResources()
           
 int getSnmpEngineBoots()
          Returns the authoritative Engine Boots.
 java.lang.String getSnmpEngineId()
          Returns the authoritative SNMP Engine ID.
 int getSnmpEngineTime()
          Returns the authoritative Engine Time.
 long getUsmStatsNotInTimeWindows()
          Returns the value of the usmStatsNotInTimeWindows counter.
 long getUsmStatsUnknownEngineIDs()
          Returns the value of the usmStatsUnknownEngineIDs counter.
 void init()
          Initialises the applet.
static void main(java.lang.String[] argv)
          The main method in order to run this as an application.
 void printUriDetails(java.net.URI uri)
           
 void rawPduReceived(RawPduEvent evt)
          Invoked when a pdu is received.
 void requestPduReceived(RequestPduEvent evt)
          Invoked when a pdu is received.
 void saveDocument(java.net.URI uri, org.w3c.dom.Document doc)
           
 void setSnmpContext(SnmpContextv3Basis context)
          Sets the current snmp context.
 void start()
          Starts the applet.
 void trapReceived(TrapEvent evt)
          Invoked when a trap is received.
 void tryToReply(RequestPduEvent evt, uk.co.westhawk.test.Agent.ScalarNode sNode)
           
static void usage()
          Prints the usage of this application.
 void windowActivated(java.awt.event.WindowEvent e)
           
 void windowClosed(java.awt.event.WindowEvent e)
           
 void windowClosing(java.awt.event.WindowEvent e)
           
 void windowDeactivated(java.awt.event.WindowEvent e)
           
 void windowDeiconified(java.awt.event.WindowEvent e)
           
 void windowIconified(java.awt.event.WindowEvent e)
           
 void windowOpened(java.awt.event.WindowEvent e)
           
 
Methods inherited from class java.applet.Applet
destroy, getAccessibleContext, getAppletContext, getAppletInfo, getAudioClip, getAudioClip, getCodeBase, getDocumentBase, getImage, getImage, getLocale, getParameter, getParameterInfo, isActive, newAudioClip, play, play, resize, resize, setStub, showStatus, stop
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

XML_FILE

public static java.lang.String XML_FILE
Name of the XML file. Can be overwritten in main and in the html file.


DOC_HEADER

public static final java.lang.String DOC_HEADER
See Also:
Constant Field Values

DOC_TYPE

public static final java.lang.String DOC_TYPE
See Also:
Constant Field Values

AGENT

public static final java.lang.String AGENT
See Also:
Constant Field Values

USM

public static final java.lang.String USM
See Also:
Constant Field Values

ENGINEID

public static final java.lang.String ENGINEID
See Also:
Constant Field Values

ENGINEBOOTS

public static final java.lang.String ENGINEBOOTS
See Also:
Constant Field Values

NODES

public static final java.lang.String NODES
See Also:
Constant Field Values

SCALAR

public static final java.lang.String SCALAR
See Also:
Constant Field Values

VALUE

public static final java.lang.String VALUE
See Also:
Constant Field Values

NAME

public static final java.lang.String NAME
See Also:
Constant Field Values

OID

public static final java.lang.String OID
See Also:
Constant Field Values

TEST

public static final java.lang.String TEST
See Also:
Constant Field Values
Constructor Detail

Agent

public Agent()
The constructor.

Method Detail

init

public void init()
Initialises the applet. It looks for the XML_FILE, reads it and analyses it.

Overrides:
init in class java.applet.Applet
See Also:
analyseDocument(org.w3c.dom.Document)

analyseDocument

public void analyseDocument(org.w3c.dom.Document doc)
Builds a (node) list of all tests in the document. The tests itself are performed later.

Parameters:
doc - The DOM document.

saveDocument

public void saveDocument(java.net.URI uri,
                         org.w3c.dom.Document doc)

start

public void start()
Starts the applet. It starts the thread which will run the tests.

Overrides:
start in class java.applet.Applet

trapReceived

public void trapReceived(TrapEvent evt)
Description copied from interface: TrapListener
Invoked when a trap is received.

Specified by:
trapReceived in interface TrapListener

requestPduReceived

public void requestPduReceived(RequestPduEvent evt)
Description copied from interface: RequestPduListener
Invoked when a pdu is received.

Specified by:
requestPduReceived in interface RequestPduListener

tryToReply

public void tryToReply(RequestPduEvent evt,
                       uk.co.westhawk.test.Agent.ScalarNode sNode)

createReplyContext

public SnmpContextBasisFace createReplyContext(RequestPduEvent evt)
                                        throws java.io.IOException
java.io.IOException

freeResources

public void freeResources()

rawPduReceived

public void rawPduReceived(RawPduEvent evt)
Description copied from interface: RawPduListener
Invoked when a pdu is received.

Specified by:
rawPduReceived in interface RawPduListener

getSnmpEngineId

public java.lang.String getSnmpEngineId()
Description copied from interface: UsmAgent
Returns the authoritative SNMP Engine ID. It uniquely and unambiguously identifies the SNMP engine, within an administrative domain.

The Engine ID is the (case insensitive) string representation of a hexadecimal number, without any prefix, for example 010000a1d41e4946.

Specified by:
getSnmpEngineId in interface UsmAgent
See Also:
SnmpUtilities.toBytes(String)

getSnmpEngineBoots

public int getSnmpEngineBoots()
Description copied from interface: UsmAgent
Returns the authoritative Engine Boots. It is a count of the number of times the SNMP engine has re-booted/re-initialized since snmpEngineID was last configured.

Specified by:
getSnmpEngineBoots in interface UsmAgent

getSnmpEngineTime

public int getSnmpEngineTime()
Description copied from interface: UsmAgent
Returns the authoritative Engine Time. It is the number of seconds since the snmpEngineBoots counter was last incremented.

Specified by:
getSnmpEngineTime in interface UsmAgent

getUsmStatsUnknownEngineIDs

public long getUsmStatsUnknownEngineIDs()
Description copied from interface: UsmAgent
Returns the value of the usmStatsUnknownEngineIDs counter. The stack needs this when responding to a discovery request.

Specified by:
getUsmStatsUnknownEngineIDs in interface UsmAgent

getUsmStatsNotInTimeWindows

public long getUsmStatsNotInTimeWindows()
Description copied from interface: UsmAgent
Returns the value of the usmStatsNotInTimeWindows counter. The stack needs this when responding to a discovery request.

Specified by:
getUsmStatsNotInTimeWindows in interface UsmAgent

setSnmpContext

public void setSnmpContext(SnmpContextv3Basis context)
Description copied from interface: UsmAgent
Sets the current snmp context.

Specified by:
setSnmpContext in interface UsmAgent

windowOpened

public void windowOpened(java.awt.event.WindowEvent e)
Specified by:
windowOpened in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent e)
Specified by:
windowClosed in interface java.awt.event.WindowListener

windowIconified

public void windowIconified(java.awt.event.WindowEvent e)
Specified by:
windowIconified in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent e)
Specified by:
windowDeiconified in interface java.awt.event.WindowListener

windowActivated

public void windowActivated(java.awt.event.WindowEvent e)
Specified by:
windowActivated in interface java.awt.event.WindowListener

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent e)
Specified by:
windowDeactivated in interface java.awt.event.WindowListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent e)
Specified by:
windowClosing in interface java.awt.event.WindowListener

main

public static void main(java.lang.String[] argv)
The main method in order to run this as an application.


printUriDetails

public void printUriDetails(java.net.URI uri)

usage

public static void usage()
Prints the usage of this application.


SNMP Stack 5_1