org.jlab.coda.afecs.agent
Class AAParent

java.lang.Object
  extended by org.jlab.coda.afecs.system.ABase
      extended by org.jlab.coda.afecs.agent.AAParent
Direct Known Subclasses:
ACAgent, AClient, ARAgent

public class AAParent
extends ABase

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 5, 2011


Field Summary
 java.util.concurrent.atomic.AtomicBoolean isAborting
           
 java.util.concurrent.atomic.AtomicBoolean isResetting
           
 java.util.concurrent.atomic.AtomicBoolean isTransitioning
           
 ReportLoad ldrpT
           
 AComponent me
           
 IAClientCommunication myPlugin
           
 ProcessManager pm
           
 ReportStatus strpT
           
 
Fields inherited from class org.jlab.coda.afecs.system.ABase
myConfig, myCRCClientConnection, myName, myPlatformConnection, myRcDomainConnection
 
Constructor Summary
AAParent(AComponent comp)
           
AAParent(java.lang.String name)
           
 
Method Summary
 void differentiate(AComponent ad)
          Updates registration with the platform registrar, creats an instance of the representative component communication plugin, and starts the status reporting thread.
 boolean moveToState(java.lang.String sn)
          Chaecks if the required state is known then moves to the state by executing state dependent processes.
 void startLoadReporting()
           
 boolean startProcess(java.lang.String pname)
           
 void startStatusReporting()
           
 void stop_rpp()
          Stops reporting threads ( status and load) and all active periodic processes
 void stopLoadReporting()
           
 void stopStatusReporting()
           
 boolean update_registration()
          Register with the platform registration services
 
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

me

public AComponent me

ldrpT

public ReportLoad ldrpT

strpT

public ReportStatus strpT

pm

public ProcessManager pm

myPlugin

public IAClientCommunication myPlugin

isTransitioning

public java.util.concurrent.atomic.AtomicBoolean isTransitioning

isResetting

public java.util.concurrent.atomic.AtomicBoolean isResetting

isAborting

public java.util.concurrent.atomic.AtomicBoolean isAborting
Constructor Detail

AAParent

public AAParent(java.lang.String name)

AAParent

public AAParent(AComponent comp)
Method Detail

update_registration

public boolean update_registration()
Register with the platform registration services

Returns:
status of the registration

stop_rpp

public void stop_rpp()
Stops reporting threads ( status and load) and all active periodic processes


stopStatusReporting

public void stopStatusReporting()

startStatusReporting

public void startStatusReporting()

stopLoadReporting

public void stopLoadReporting()

startLoadReporting

public void startLoadReporting()

startProcess

public boolean startProcess(java.lang.String pname)

differentiate

public void differentiate(AComponent ad)
Updates registration with the platform registrar, creats an instance of the representative component communication plugin, and starts the status reporting thread.

Parameters:
ad - AComponent object

moveToState

public boolean moveToState(java.lang.String sn)
Chaecks if the required state is known then moves to the state by executing state dependent processes. If the state is in "ing" or "ating" ( in the middle of transition) mode or the required state is not known return false.

Parameters:
sn - The name of the state
Returns:
true if execution of sync processes are successful and fail in all other cases, including async process execution.