konark.manager
Class BasicItineraryAgent

java.lang.Object
  extended byajanta.agent.Agent
      extended byajanta.agent.ItinAgent
          extended bykonark.manager.BasicItineraryAgent
All Implemented Interfaces:
Monitor, java.rmi.Remote, java.io.Serializable, Subscriber
Direct Known Subclasses:
ItineraryAgent

public abstract class BasicItineraryAgent
extends ajanta.agent.ItinAgent
implements Monitor

See Also:
Serialized Form

Field Summary
protected  DBModule dbModule
           
protected  ajanta.naming.URN defaultSubscriber
           
protected  EventIDGenerator eventIDGenerator
           
protected  EventTableSync eventTable
           
protected  boolean keepRunning
           
protected  java.util.Hashtable localTriggerTable
           
protected  java.util.Hashtable remoteTriggerTable
           
protected  EventQueueSync reportedEventList
           
protected  boolean sql
           
protected  java.util.Hashtable subscriberHashtable
           
 
Fields inherited from class ajanta.agent.ItinAgent
itin
 
Fields inherited from class ajanta.agent.Agent
creatorSignature, cred, host, myRef, name, ownerSignature, status
 
Constructor Summary
BasicItineraryAgent(ajanta.agent.Credentials cred, ajanta.pattern.Itinerary itin)
           
BasicItineraryAgent(ajanta.agent.Credentials cred, ajanta.naming.URN defSubscriber, boolean ifSql, ajanta.pattern.Itinerary itin)
           
 
Method Summary
 void addEvent(EventDetector detector, EventHandler handler, java.util.Vector subscriberList)
           
 void addEvent(java.lang.String eventClassName, EventHandler handler, java.util.Vector subscriberList)
           
 void addEventDetector(java.lang.String eventName, EventDetector ed)
           
 void addEventHandler(java.lang.String eventName, EventHandler eh)
           
abstract  void addHandlerPostAction(EventHandler handler)
           
 void addOldSynchornizerObjects(java.lang.String eventClassName, java.util.Vector synchronizerObjectsVector)
          If the eventTable contains entries for detectors which depened on the eventClassName to be triggered, then we add those detectors' subscriber objects to the synchornizerObjectsVector
 void addSubscriber(java.lang.String eventName, java.util.Vector subscriberList)
           
 void deleteEvent(java.lang.String eventName)
           
 void deleteSubscriber(java.lang.String eventName, ajanta.naming.URN subscriber)
           
 void deleteSubscriber(java.lang.String eventName, java.util.Vector subscriberList)
           
 ajanta.naming.URN getDefaultSubscriber()
           
 EventIDGenerator getEventIDGenerator()
          returns the unique event id generator for the agent
protected  void handlerAction(Event event)
           
 void modifyDetector(java.lang.String userInput, java.lang.Object[] objectList)
           
 void printRunningThreads()
           
 void removeDetector(java.lang.String detector)
           
 void replaceEventDetector(java.lang.String eventName, EventDetector ed)
           
 void replaceEventHandler(java.lang.String eventName, EventHandler eh)
           
 void restoreDetector(EventDetector detector, EventHandler handler)
           
 void setAlarmLevel(java.lang.String eventClassName, int alarmLevel)
           
 void setAlertLevel(java.lang.String eventClassName, int alertLevel)
           
 void stopAgent()
           
 void subscribeEvent(java.lang.String eventClassName, ajanta.naming.URN subscriber)
           
 void switchOffPrintRunningThreads()
           
 
Methods inherited from class ajanta.agent.ItinAgent
arrive, checkDepartStatus, depart, getItinerary, noOp, run, setItinerary, start
 
Methods inherited from class ajanta.agent.Agent
agentEntry, agentExit, colocate, colocate, meet, recallCommand, signCreator, signOwner, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface konark.manager.Subscriber
addSubscription, removeSubscription, report, resubscribe, subscribeEvent, unsubscribeEvent
 

Field Detail

eventTable

protected EventTableSync eventTable

reportedEventList

protected EventQueueSync reportedEventList

subscriberHashtable

protected java.util.Hashtable subscriberHashtable

localTriggerTable

protected java.util.Hashtable localTriggerTable

remoteTriggerTable

protected java.util.Hashtable remoteTriggerTable

keepRunning

protected boolean keepRunning

dbModule

protected DBModule dbModule

defaultSubscriber

protected ajanta.naming.URN defaultSubscriber

sql

protected boolean sql

eventIDGenerator

protected EventIDGenerator eventIDGenerator
Constructor Detail

BasicItineraryAgent

public BasicItineraryAgent(ajanta.agent.Credentials cred,
                           ajanta.pattern.Itinerary itin)
Parameters:
cred -
itin -

BasicItineraryAgent

public BasicItineraryAgent(ajanta.agent.Credentials cred,
                           ajanta.naming.URN defSubscriber,
                           boolean ifSql,
                           ajanta.pattern.Itinerary itin)
Method Detail

deleteEvent

public void deleteEvent(java.lang.String eventName)
Specified by:
deleteEvent in interface Monitor
Parameters:
eventName -

addEvent

public void addEvent(EventDetector detector,
                     EventHandler handler,
                     java.util.Vector subscriberList)
              throws java.rmi.RemoteException,
                     java.rmi.AlreadyBoundException
Specified by:
addEvent in interface Monitor
Parameters:
detector -
handler -
subscriberList -
Throws:
java.rmi.RemoteException
java.rmi.AlreadyBoundException

addEvent

public void addEvent(java.lang.String eventClassName,
                     EventHandler handler,
                     java.util.Vector subscriberList)
              throws java.rmi.RemoteException,
                     java.rmi.AlreadyBoundException
Specified by:
addEvent in interface Monitor
Parameters:
eventClassName -
Throws:
java.rmi.RemoteException
java.rmi.AlreadyBoundException

subscribeEvent

public void subscribeEvent(java.lang.String eventClassName,
                           ajanta.naming.URN subscriber)
                    throws java.rmi.RemoteException,
                           remoteConfigException
Specified by:
subscribeEvent in interface Subscriber
Parameters:
eventClassName -
subscriber -
Throws:
java.rmi.RemoteException
remoteConfigException

deleteSubscriber

public void deleteSubscriber(java.lang.String eventName,
                             java.util.Vector subscriberList)
Specified by:
deleteSubscriber in interface Monitor
Parameters:
eventName -
subscriberList -

deleteSubscriber

public void deleteSubscriber(java.lang.String eventName,
                             ajanta.naming.URN subscriber)
Parameters:
eventName -
subscriber -

addSubscriber

public void addSubscriber(java.lang.String eventName,
                          java.util.Vector subscriberList)
                   throws java.rmi.RemoteException
Specified by:
addSubscriber in interface Monitor
Parameters:
eventName -
subscriberList -
Throws:
java.rmi.RemoteException

removeDetector

public void removeDetector(java.lang.String detector)
                    throws java.rmi.RemoteException
Specified by:
removeDetector in interface Monitor
Parameters:
detector -
Throws:
java.rmi.RemoteException

addEventHandler

public void addEventHandler(java.lang.String eventName,
                            EventHandler eh)
Specified by:
addEventHandler in interface Monitor
Parameters:
eventName -
eh -

replaceEventHandler

public void replaceEventHandler(java.lang.String eventName,
                                EventHandler eh)
Specified by:
replaceEventHandler in interface Monitor
Parameters:
eventName -
eh -

addEventDetector

public void addEventDetector(java.lang.String eventName,
                             EventDetector ed)
Specified by:
addEventDetector in interface Monitor
Parameters:
eventName -
ed -

replaceEventDetector

public void replaceEventDetector(java.lang.String eventName,
                                 EventDetector ed)
Specified by:
replaceEventDetector in interface Monitor
Parameters:
eventName -
ed -

modifyDetector

public void modifyDetector(java.lang.String userInput,
                           java.lang.Object[] objectList)
                    throws java.rmi.RemoteException
Specified by:
modifyDetector in interface Monitor
Parameters:
userInput -
objectList -
Throws:
java.rmi.RemoteException

printRunningThreads

public void printRunningThreads()
Specified by:
printRunningThreads in interface Monitor

switchOffPrintRunningThreads

public void switchOffPrintRunningThreads()
Specified by:
switchOffPrintRunningThreads in interface Monitor

restoreDetector

public void restoreDetector(EventDetector detector,
                            EventHandler handler)
Specified by:
restoreDetector in interface Monitor
Parameters:
detector -
handler -

addOldSynchornizerObjects

public void addOldSynchornizerObjects(java.lang.String eventClassName,
                                      java.util.Vector synchronizerObjectsVector)
If the eventTable contains entries for detectors which depened on the eventClassName to be triggered, then we add those detectors' subscriber objects to the synchornizerObjectsVector


setAlarmLevel

public void setAlarmLevel(java.lang.String eventClassName,
                          int alarmLevel)
Specified by:
setAlarmLevel in interface Monitor
Parameters:
eventClassName -
alarmLevel -

setAlertLevel

public void setAlertLevel(java.lang.String eventClassName,
                          int alertLevel)
Specified by:
setAlertLevel in interface Monitor
Parameters:
eventClassName -
alertLevel -

stopAgent

public void stopAgent()
               throws java.rmi.RemoteException
Specified by:
stopAgent in interface Monitor
Throws:
java.rmi.RemoteException

handlerAction

protected void handlerAction(Event event)
                      throws java.lang.Exception
Parameters:
event -
Throws:
java.lang.Exception

getDefaultSubscriber

public ajanta.naming.URN getDefaultSubscriber()

getEventIDGenerator

public EventIDGenerator getEventIDGenerator()
returns the unique event id generator for the agent


addHandlerPostAction

public abstract void addHandlerPostAction(EventHandler handler)