org.jlab.coda.afecs.supervisor
Class SupervisorAgent

java.lang.Object
  extended by org.jlab.coda.afecs.system.ABase
      extended by org.jlab.coda.afecs.agent.AAParent
          extended by org.jlab.coda.afecs.agent.ACAgent
              extended by org.jlab.coda.afecs.supervisor.SupervisorAgent

public class SupervisorAgent
extends ACAgent

JSA: Thomas Jefferson National Accelerator Facility
This software was developed under a United States Government license,
described in the NOTICE file included as part of this distribution.
Copyright (c), May 6, 2011


Field Summary
 java.util.concurrent.atomic.AtomicBoolean activeServiceExec
           
 CoolServiceExecutor coolSrvManager
           
 GuardedBlock guard
           
 java.util.concurrent.atomic.AtomicBoolean haveCoda2Component
           
 java.util.HashMap<java.lang.String,AComponent> myComponents
           
 java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.String> myCompReportingStates
           
 java.util.concurrent.ConcurrentHashMap<java.lang.String,AgentReportingTime> myCompReportingTimes
           
 java.util.concurrent.ConcurrentHashMap<java.lang.String,AComponent> myReportingComponents
           
 SupervisorAgent mySelf
           
 java.util.HashMap<java.lang.String,java.util.ArrayList<ACondition>> myServiceConditions
           
 java.util.HashMap<java.lang.String,AService> myServices
           
 java.lang.String previousState
           
 java.util.Map<java.lang.String,AComponent> sortedComponentList
           
 java.text.SimpleDateFormat startEndFormatter
           
 java.util.concurrent.atomic.AtomicInteger stateId
           
 SUtility util
           
 
Fields inherited from class org.jlab.coda.afecs.agent.AAParent
isAborting, isResetting, isTransitioning, ldrpT, me, myPlugin, pm, strpT
 
Fields inherited from class org.jlab.coda.afecs.system.ABase
myConfig, myCRCClientConnection, myName, myPlatformConnection, myRcDomainConnection
 
Constructor Summary
SupervisorAgent(AComponent comp)
           
 
Method Summary
 boolean cL_abort()
           
 boolean cL_moveToState(java.lang.String stateName)
           
 boolean cL_reset()
           
 boolean cL_setup(AComponent comp)
           
 boolean cLS_reset()
           
 boolean cLS_setup(AControl cont)
           
 void startAgentMonitor()
          Start status reporting thread
 void stopAgentMonitor()
          Stop reporting threads
 void stopServiceExecutionThread()
          Stops service execution thread
 boolean supervisorSubscribe()
          Supervisor agent specific subscriptions
 
Methods inherited from class org.jlab.coda.afecs.agent.AAParent
differentiate, moveToState, startLoadReporting, startProcess, startStatusReporting, stop_rpp, stopLoadReporting, stopStatusReporting, update_registration
 
Methods inherited from class org.jlab.coda.afecs.system.ABase
B2O, codaInfoGetCodaClass, codaInfoGetObjectType, codaInfoGetState, codaInfoGetStatus, codaInfoSyncGetCodaClass, codaInfoSyncGetObjectType, codaInfoSyncGetStatus, connect, connect, connect, dalogMsg, dalogMsg, disconnect, getCurrentTime, getCurrentTime, getCurrentTimeInMs, getPlDescription, getPlEXPID, getPlMulticastUDL, getPlUDL, isConnected, isNumber, isRcClientConnected, msg2xml, msgForward, multicastConnect, multicastConnect, O2B, p2pSend, p2pSend, p2pSend, p2pSend, rcClientConnect, rcClientDisconnect, rcClientInfoSyncGetState, rcConnect, rcMonitor, rcp2pSend, rcp2pSend, rcSend, rcSend, rcSend, rcSend, rcSend, rcSend, rcSend, rcSend, readFileAsString, removeUnixShellProcess, reporAlarmMsg, reportAlarmMsg, reportAlarmMsg, runControlGetConfigId, runControlGetRunNumber, runControlGetRunType, runControlSetRunNumber, runControlSetRunType, runControlSyncGetRunNumber, runControlSyncGetRunType, runShellCommand, send, send, send, send, send, send, send, sessionControlConfigure, sessionControlExit, sessionControlGetSession, sessionControlSetInterval, sessionControlSetSession, sessionControlSetState, sessionControlStartReporting, sessionControlStopReporting, sessionControlSyncGetSession, sleep, updateHostUdl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myComponents

public java.util.HashMap<java.lang.String,AComponent> myComponents

sortedComponentList

public java.util.Map<java.lang.String,AComponent> sortedComponentList

myServices

public java.util.HashMap<java.lang.String,AService> myServices

myServiceConditions

public java.util.HashMap<java.lang.String,java.util.ArrayList<ACondition>> myServiceConditions

myReportingComponents

public java.util.concurrent.ConcurrentHashMap<java.lang.String,AComponent> myReportingComponents

myCompReportingStates

public java.util.concurrent.ConcurrentHashMap<java.lang.String,java.lang.String> myCompReportingStates

myCompReportingTimes

public java.util.concurrent.ConcurrentHashMap<java.lang.String,AgentReportingTime> myCompReportingTimes

previousState

public volatile java.lang.String previousState

startEndFormatter

public java.text.SimpleDateFormat startEndFormatter

guard

public GuardedBlock guard

stateId

public java.util.concurrent.atomic.AtomicInteger stateId

activeServiceExec

public java.util.concurrent.atomic.AtomicBoolean activeServiceExec

haveCoda2Component

public java.util.concurrent.atomic.AtomicBoolean haveCoda2Component

coolSrvManager

public CoolServiceExecutor coolSrvManager

util

public SUtility util

mySelf

public SupervisorAgent mySelf
Constructor Detail

SupervisorAgent

public SupervisorAgent(AComponent comp)
Method Detail

cL_setup

public boolean cL_setup(AComponent comp)
Specified by:
cL_setup in class ACAgent

cLS_setup

public boolean cLS_setup(AControl cont)
Specified by:
cLS_setup in class ACAgent

cL_moveToState

public boolean cL_moveToState(java.lang.String stateName)
Specified by:
cL_moveToState in class ACAgent

cL_reset

public boolean cL_reset()
Specified by:
cL_reset in class ACAgent

cLS_reset

public boolean cLS_reset()
Specified by:
cLS_reset in class ACAgent

cL_abort

public boolean cL_abort()
Specified by:
cL_abort in class ACAgent

supervisorSubscribe

public boolean supervisorSubscribe()
Supervisor agent specific subscriptions

Returns:
status of the subscriptions

startAgentMonitor

public void startAgentMonitor()
Start status reporting thread


stopAgentMonitor

public void stopAgentMonitor()
Stop reporting threads


stopServiceExecutionThread

public void stopServiceExecutionThread()
Stops service execution thread