stella.environment
Class ShelterMaster

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by util.rmi.RmiPropertyContainer
                  extended by util.rmi.AbstractRmiListener
                      extended by stella.rmi.AbstractRmiCasterAndListener
                          extended by stella.rmi.ReceiverTorso
                              extended by stella.rmi.GenericMaster
                                  extended by stella.environment.ShelterMaster
All Implemented Interfaces:
Cloneable, Remote, EventListener, Caster, ErrorSending, ErrorCaster, Alive, ListenerControlling, RmiAcknowledgeCaster, RmiCommandListener, RmiDoneCaster, RmiErrorCaster, RmiParameterClustering, ShelterControlling, WeatherListener, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying, RmiCaster, RmiEventListener, RmiListener, RmiPropertyBearing, TriggerableReload, StepInitializable
Direct Known Subclasses:
DomeMaster, EnvironmentMaster

public abstract class ShelterMaster
extends GenericMaster
implements ShelterControlling, WeatherListener

The master program running at the environment control. It comprises shelter control and a weather station. The environment master is not directly controling the weather station or the shelter but merely acts as a high-level control device and speaks to the waether station via the WeatherSurveying interface and to the shelter via the RoofOperating interface. Since version 1.1 also the command handling abilities (RmiCommandListener, RmiAcknowledgeCaster and RmiDoneCaster) are embedded within the environment master rather than within the shelter receiver. To allow remote control of the environment this class supports building control via the BuildingControlling interface. This interface allows the remote registering and deregistering of command casters and can thus be used to change the shelter mode between automatic, when the command caster is the SCS, and manual, when the registered command caster is a launch box.

The principal idea is that the shelter may only have a single driver object registered to itself, while the weather station can get an entire list of driveres, all registered sequentially by calls to the weather station's WeatherSurveying.registerSensorDriver(io.Driver) method. For implementations where the weather station and the shelter control uses the same hardware for reading sensors and operating relays, a common driver can be used if the #KEY_COMMONDRIVER is present. In this case, this single driver is constructed and initialized once and then registered at both, the shelter operator and the weather surveyer. If this key is not set, the KEY_WEATHERDRIVER and the KEY_SHELTERDRIVER are used to specify two different drivers for the shelter operator (single driver only) and the weather surveyer (can be a list of drivers), respectively.
If the host is booted and the environment master is started for the first time, the GenericMaster.KEY_AUTOMATIC key determines whether automatic shelter control is immediately enabled: If this property is true the environment master tries to register at the #KEY_ENVIRONMENTCASTER as a command listener immediately after startup, otherwise no command caster is registered at. If the environment master starts up in manual mode the KEY_STARTUPSHELTER is read and the actual position of the shelter is compared to the desired position. Possible values of KEY_STARTUPSHELTER are: close to close the shelter if found open at boot, open to open the shelter if found close, indifferent if the shelter should be left in whatever state encountered. See also SHELTER_OPEN, SHELTER_CLOSE, and SHELTER_INDIFFERENT.
If the weather station is hosted on the same machine as the shelter control it may be advisable to directly link bad-weather events to a close-shelter command, in case of lost connection to the SCS. If this behaviour is desired, the KEY_DIRECTCLOSE key should point to true. For direct opening, the KEY_DIRECTOPEN may be used. Note that direct linking is only enabled in automatic mode.
Note that the ReceiverTorso.KEY_BIND-key only determines if the environment master should nail its building control ability to the rmi-registry. The binding of the weather station and of the shelter receiver is determined within their own property files.


Nested Class Summary
 
Nested classes/interfaces inherited from class stella.rmi.GenericMaster
GenericMaster.Standalone
 
Nested classes/interfaces inherited from class stella.rmi.ReceiverTorso
ReceiverTorso.CommandHandler
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private  Timer checker
          Timer to check nominal against actual state on automatic shelter ops.
private  TimerTask checkit
          The task the does the ckeck.
private static boolean DEFCHECK
          The default nominal/actual check property.
private static long DEFCHECKINTERVALL
          The default check intervall, in ms.
private static long DEFCLOSETIME
          The default timeout on total close, 5min.
private static boolean DEFDIRECTCLOSE
          The default direct linkage between weather and shelter control.
private static boolean DEFDIRECTOPEN
          The default direct linkage between weather and shelter control.
private static String DEFNIGHTREMAIN
          The default name of the light switch.
private static long DEFNIGHTTIME
          The default minimum remaining night time.
private static long DEFOPENTIME
          The default timeout on total open, 5min.
private static String DEFSHELTER
          The default name of the shelter-operator properties file.
private static String DEFSTARTUPSHELTER
          The default nominal shelter condition on start-up.
private static String DEFWEATHER
          The default name of the weatherstation properties file.
private  boolean islisten
          True, if listening to weather events.
static String KEY_CHECK
          If true, a repetitive check of nominal/actual shelter status is done.
static String KEY_CHECKINTERVALL
          The intervall between checks.
static String KEY_CLOSESHELTER
          The shelter trigger for open, if present.
static String KEY_CLOSETIME
          The key for the whole closing phase time (ms).
static String KEY_DIRECTCLOSE
          If pointing to true, bad weather sparks a close-shelter command.
static String KEY_DIRECTOPEN
          If pointing to true, bad weather sparks a close-shelter command.
static String KEY_LIGHTSWITCH
          The light-switch.
static String KEY_NIGHTREMAIN
          If given, shelters open only if at least KEY_NIGHTTIME left.
static String KEY_NIGHTTIME
          The minimum time in ms that must remain for automatic shelter open.
static String KEY_OPENSHELTER
          The shelter trigger for open, if present.
static String KEY_OPENTIME
          The key for the whole opening phase time (ms).
static String KEY_SHELTER
          The properties of the shelter command handler.
static String KEY_SHELTERDRIVER
          A key to the driver name of the shelter control.
static String KEY_STARTUPSHELTER
          A key to the default nominal condition of the shelter if manual.
static String KEY_WEATHER
          The properties of the weather station.
static String KEY_WEATHERDRIVER
          A key to the list of drivernames of the weather station.
protected  Sheltering shelter
          The shelter command handler.
static String SHELTER_CLOSE
          Useful constant for close shelter at start-up.
static String SHELTER_INDIFFERENT
          Useful constant for open shelter at start-up.
static String SHELTER_OPEN
          Useful constant for open shelter at start-up.
private static int SHELTERPRIORITY
          The priority of the shelter exit.
private  WeatherSurveying weather
          The weather station.
private static int WEATHERPRIORITY
          The priority of the weather exit.
 
Fields inherited from class stella.rmi.GenericMaster
DEFUNIQUE, KEY_ABORTTIME, KEY_AUTOMATIC, KEY_COMMTIME, KEY_COMMUNICATOR, KEY_DRIVERS, KEY_HISTORYDB, KEY_INITTIME, KEY_NODB, KEY_OBSERVEDB, KEY_OVERRULEAUTO, KEY_PARKTIME, KEY_PERMISSIONDB, KEY_PROPOSALDB, KEY_QUITTIME, KEY_REAUTO, KEY_RESETTIME, KEY_SET, KEY_SHUTDOWNDELAY, KEY_STATUSTIME, KEY_TARGETDB, KEY_TASKDB, KEY_UNIQUE, KEY_USERDB, lastabort, lastinit, lastpark, lastreset, telescope
 
Fields inherited from class stella.rmi.ReceiverTorso
KEY_BIND, KEY_BINDNAME, KEY_COMMANDCASTER, KEY_ERRORCOOL
 
Fields inherited from class util.rmi.AbstractRmiListener
KEY_ALIVE, KEY_EXPORTPORT, KEY_INIT, KEY_LISTENERNAME, KEY_RETRY, KEY_RETRYSLEEP
 
Fields inherited from class util.PropertyBundles
KEY_LOCALECOUNTRY, KEY_LOCALELANGUAGE, KEY_RESOURCEBUNDLES
 
Fields inherited from class util.PropertyResources
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset
 
Fields inherited from class util.PropertyContainer
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR
 
Fields inherited from interface stella.rmi.RmiAcknowledgeCaster
NAMING_EXTENSION
 
Fields inherited from interface stella.rmi.RmiDoneCaster
NAMING_EXTENSION
 
Fields inherited from interface util.StepInitializable
KEY_INITDEPTH
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Fields inherited from interface util.PropertySupplying
CONFIG, KEY_CLASS
 
Constructor Summary
protected ShelterMaster(Map<String,String> prop)
          Constructs a new environment master.
 
Method Summary
 boolean accepts(CommandEvent ce)
          Returns true if this receiver accepts commands of the type handed over as an argument.
 boolean automatic()
          Enables automatic roof operation.
 boolean close()
          Closes all roofs if in manual mode.
protected  void direct()
          Enables direct close-roof events on bad weather situations (only in automatic mode).
 void exit()
          Exits the environement master.
protected  int getAcknowledgeNumber(CommandEvent cmd)
          Returns the number of acknowledge events produced for each command.
protected  long getCompletionTime(CommandEvent cmd, int acknr)
          Returns the individual completion times.
private  void init2()
          Third init step.
private  void init5()
          Delay the init method of the receiver torso until we finished the initialization of the environment master.
 void initStep(int curstep)
          The initializing section.
 boolean manual()
          Disables automatic roof operation.
 boolean open()
          Opens all shelters if in manual mode.
protected  boolean processCommand(CommandEvent cmd, int acknr)
          Process the command.
 void quit()
          Deregisters the environment master from the registry.
 double reload()
          On reload, we also issue a reload to the shelter and the weather station, if those are reloadable.
 boolean setDirectClose(boolean dirclose)
          Changes the value of the direct-access close flag.
 boolean setDirectOpen(boolean diropen)
          Changes the value of the direct-access open flag.
protected  Object statusMaster()
          The method actually delivering the status lines.
 void weatherChanged(WeatherEvent we)
          The weather event receiving edge of the environment master.
 
Methods inherited from class stella.rmi.GenericMaster
abortMaster, addErrorListener, addRmiErrorListener, createCommunicator, external, formatWithGlobals, getAllDrivers, getDriver, getHistorySql, getLastError, getObserveSql, getParameterByKey, getParameterByName, getParameterCluster, getParameterValueByKey, getParameterValueByName, getPermissionSql, getProposalSql, getStatus, getTargetSql, getTaskSql, getUnique, getUserSql, initialize, initializeMaster, isAlive, isAuto, isManual, isPassive, park, parkMaster, quitMaster, rescanned, reset, resetMaster, restartAllDrivers, restartNamedDriver, revert, rmiAddParameter, rmiCommand, rmiGet, rmiGetAllParameterNames, rmiRemoveParameter, rmiSet, setLastError, setParameterValueByKey, setParameterValueByName, setPassive, shutdown, zeroAllOmc
 
Methods inherited from class stella.rmi.ReceiverTorso
addRmiAcknowledgeListener, addRmiDoneListener, bindDefault, containsRemoteProperty, deregisterAtCaster, equals, getRemoteProperties, getRemoteProperty, hashCode, notifyAcknowledgeListener, notifyDoneListener, registerAtCaster, removeRmiAcknowledgeListener, removeRmiDoneListener, sendAllPrematureDone, sendPrematureDone, setRemoteProperty, toString, unbindDefault
 
Methods inherited from class stella.rmi.AbstractRmiCasterAndListener
bindToRegistry, getBindName, isValid, notifyErrorListener, removeErrorListener, removeRmiErrorListener, sendError, sendError, sendError, sendStatus, sendStatus, sendStatus, unbindFromRegistry
 
Methods inherited from class util.rmi.AbstractRmiListener
allBound, blockBinding, blockBinding, disconnect, getIP, getListenerName, isConnected, listenerName, releaseBinding, releaseBinding, startBinding, startBinding
 
Methods inherited from class util.PropertyBundles
clone, getLocalized, getLocalized, getLocalizedString, getLocalizedString, loadResource
 
Methods inherited from class util.PropertyResources
createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, init, keyCreate, keyCreate, reload, setApplet
 
Methods inherited from class util.PropertyContainer
augment, augment, augment, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, isNew, parseObject, removeProperty, setObject, setProperties, setProperty, stringProperties
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface stella.rmi.ListenerControlling
external, getStatus, initialize, park, reset, setPassive
 
Methods inherited from interface util.rmi.RmiCaster
bindToRegistry, isValid, unbindFromRegistry
 
Methods inherited from interface stella.ErrorCaster
removeErrorListener
 
Methods inherited from interface util.rmi.RmiEventListener
getListenerName
 
Methods inherited from interface util.rmi.RmiListener
disconnect, isConnected
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 
Methods inherited from interface util.PropertySupplying
defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringProperties
 
Methods inherited from interface util.Initializable
init
 

Field Detail

KEY_WEATHER

public static final String KEY_WEATHER
The properties of the weather station.

See Also:
Constant Field Values

KEY_SHELTER

public static final String KEY_SHELTER
The properties of the shelter command handler.

See Also:
Constant Field Values

KEY_WEATHERDRIVER

public static final String KEY_WEATHERDRIVER
A key to the list of drivernames of the weather station.

See Also:
Constant Field Values

KEY_SHELTERDRIVER

public static final String KEY_SHELTERDRIVER
A key to the driver name of the shelter control.

See Also:
Constant Field Values

KEY_CHECK

public static final String KEY_CHECK
If true, a repetitive check of nominal/actual shelter status is done.

See Also:
Constant Field Values

KEY_CHECKINTERVALL

public static final String KEY_CHECKINTERVALL
The intervall between checks.

See Also:
Constant Field Values

KEY_STARTUPSHELTER

public static final String KEY_STARTUPSHELTER
A key to the default nominal condition of the shelter if manual.

See Also:
Constant Field Values

KEY_DIRECTOPEN

public static final String KEY_DIRECTOPEN
If pointing to true, bad weather sparks a close-shelter command.

See Also:
Constant Field Values

KEY_DIRECTCLOSE

public static final String KEY_DIRECTCLOSE
If pointing to true, bad weather sparks a close-shelter command.

See Also:
Constant Field Values

KEY_OPENTIME

public static final String KEY_OPENTIME
The key for the whole opening phase time (ms).

See Also:
Constant Field Values

KEY_CLOSETIME

public static final String KEY_CLOSETIME
The key for the whole closing phase time (ms).

See Also:
Constant Field Values

KEY_OPENSHELTER

public static final String KEY_OPENSHELTER
The shelter trigger for open, if present.

See Also:
Constant Field Values

KEY_CLOSESHELTER

public static final String KEY_CLOSESHELTER
The shelter trigger for open, if present.

See Also:
Constant Field Values

KEY_LIGHTSWITCH

public static final String KEY_LIGHTSWITCH
The light-switch. If given, turned off on automatic roof opens.

See Also:
Constant Field Values

KEY_NIGHTREMAIN

public static final String KEY_NIGHTREMAIN
If given, shelters open only if at least KEY_NIGHTTIME left.

See Also:
Constant Field Values

KEY_NIGHTTIME

public static final String KEY_NIGHTTIME
The minimum time in ms that must remain for automatic shelter open.

See Also:
Constant Field Values

SHELTER_OPEN

public static final String SHELTER_OPEN
Useful constant for open shelter at start-up.

See Also:
Constant Field Values

SHELTER_CLOSE

public static final String SHELTER_CLOSE
Useful constant for close shelter at start-up.

See Also:
Constant Field Values

SHELTER_INDIFFERENT

public static final String SHELTER_INDIFFERENT
Useful constant for open shelter at start-up.

See Also:
Constant Field Values

DEFWEATHER

private static final String DEFWEATHER
The default name of the weatherstation properties file.

See Also:
Constant Field Values

DEFSHELTER

private static final String DEFSHELTER
The default name of the shelter-operator properties file.

See Also:
Constant Field Values

DEFCHECK

private static final boolean DEFCHECK
The default nominal/actual check property.

See Also:
Constant Field Values

DEFCHECKINTERVALL

private static final long DEFCHECKINTERVALL
The default check intervall, in ms.

See Also:
Constant Field Values

DEFSTARTUPSHELTER

private static final String DEFSTARTUPSHELTER
The default nominal shelter condition on start-up.

See Also:
Constant Field Values

DEFDIRECTOPEN

private static final boolean DEFDIRECTOPEN
The default direct linkage between weather and shelter control.

See Also:
Constant Field Values

DEFDIRECTCLOSE

private static final boolean DEFDIRECTCLOSE
The default direct linkage between weather and shelter control.

See Also:
Constant Field Values

DEFOPENTIME

private static final long DEFOPENTIME
The default timeout on total open, 5min.

See Also:
Constant Field Values

DEFCLOSETIME

private static final long DEFCLOSETIME
The default timeout on total close, 5min.

See Also:
Constant Field Values

DEFNIGHTREMAIN

private static final String DEFNIGHTREMAIN
The default name of the light switch.

See Also:
Constant Field Values

DEFNIGHTTIME

private static final long DEFNIGHTTIME
The default minimum remaining night time.

See Also:
Constant Field Values

weather

private WeatherSurveying weather
The weather station. It serves also rs485-bound sensors.


islisten

private boolean islisten
True, if listening to weather events.


shelter

protected Sheltering shelter
The shelter command handler.


checker

private Timer checker
Timer to check nominal against actual state on automatic shelter ops.


checkit

private TimerTask checkit
The task the does the ckeck.


WEATHERPRIORITY

private static final int WEATHERPRIORITY
The priority of the weather exit.

See Also:
Constant Field Values

SHELTERPRIORITY

private static final int SHELTERPRIORITY
The priority of the shelter exit.

See Also:
Constant Field Values
Constructor Detail

ShelterMaster

protected ShelterMaster(Map<String,String> prop)
                 throws RemoteException
Constructs a new environment master. Sets default values for the properties if not given. Initializing of the helper classes is done in the PropertyResources.init() method. As common in final, rmi-enabled classes, the environment master calls exportObject on the UnicastRemoteObject server class.

Throws:
RemoteException
Method Detail

initStep

public void initStep(int curstep)
The initializing section. Only called after construction. In this method, the weather surveyer and the shelter operator along with their drivers are initialized. The environment master binding to the registry and the determination of the shelter control mode and the initial shelter status is also done here.

Specified by:
initStep in interface StepInitializable
Overrides:
initStep in class GenericMaster
Parameters:
curstep - The current initialization depth.

init2

private void init2()
Third init step.


init5

private void init5()
Delay the init method of the receiver torso until we finished the initialization of the environment master.


exit

public void exit()
Exits the environement master. The weather surveyor, the shelter operator and the checker time task are exited/canceld. All drivers are closed, or, if they support ExitCleaning, their exit method is called.

Specified by:
exit in interface ExitCleaning
Overrides:
exit in class GenericMaster

reload

public double reload()
On reload, we also issue a reload to the shelter and the weather station, if those are reloadable.

Overrides:
reload in class GenericMaster

accepts

public boolean accepts(CommandEvent ce)
                throws RemoteException
Returns true if this receiver accepts commands of the type handed over as an argument. An environment master accepts all sort of EnvironmentCommands.

Specified by:
accepts in interface RmiCommandListener
Throws:
RemoteException

open

public boolean open()
             throws RemoteException
Opens all shelters if in manual mode. Directly invokes the RoofOperating#open method.

Specified by:
open in interface ShelterControlling
Returns:
True if opening was successful.
Throws:
RemoteException

close

public boolean close()
              throws RemoteException
Closes all roofs if in manual mode. Directly invokes the RoofOperating#close method.

Specified by:
close in interface ShelterControlling
Returns:
True if closing was successful.
Throws:
RemoteException

automatic

public boolean automatic()
                  throws RemoteException
Enables automatic roof operation. This method calls the #registerAt method with the default command caster as an argument. Additionally, an automatic flag is set, which is used if direct bad-weather reaction is intended. If the roof driver has watchdogs, they are enabled on automatic mode.

Specified by:
automatic in interface ListenerControlling
Overrides:
automatic in class GenericMaster
Returns:
True if automatic mode was attained.
Throws:
RemoteException

manual

public boolean manual()
               throws RemoteException
Disables automatic roof operation. This method calls the #deregisterAt method with the default command caster as an argument. Additionally, the automatic flag is unset, which is used if direct bad-weather reaction is intended. If the roof driver has watchdogs, they are reset on manual mode.

Specified by:
manual in interface ListenerControlling
Overrides:
manual in class GenericMaster
Returns:
True if manual mode was attained.
Throws:
RemoteException

setDirectOpen

public boolean setDirectOpen(boolean diropen)
                      throws RemoteException
Changes the value of the direct-access open flag.

Specified by:
setDirectOpen in interface ShelterControlling
Returns:
Old value of the direct access to open.
Throws:
RemoteException

setDirectClose

public boolean setDirectClose(boolean dirclose)
                       throws RemoteException
Changes the value of the direct-access close flag.

Specified by:
setDirectClose in interface ShelterControlling
Returns:
Old value of the direct access to close.
Throws:
RemoteException

quit

public void quit()
          throws RemoteException
Deregisters the environment master from the registry. If the roof operator or the weather surveyor are ExitCleaning or CancelRunnable their appropriate exit methods are invoked. Note that cleaning registry of these two helper classes is only done in their exit methods if they exist.

Specified by:
quit in interface ListenerControlling
Specified by:
quit in interface ShelterControlling
Overrides:
quit in class GenericMaster
Throws:
RemoteException

direct

protected void direct()
Enables direct close-roof events on bad weather situations (only in automatic mode). A direct link between bad weather events and roof- closing mechanism is useful if the roof control and the weather station is hosted on the same machine. Note that direct interaction uses the (acknowledge-free) version of open/close shelter, as defined in the RoofOperating interface. Please keep in mind that direct interaction is only allowed in robotic i.e. robotic mode, see weatherChanged(stella.sensor.WeatherEvent).


weatherChanged

public void weatherChanged(WeatherEvent we)
The weather event receiving edge of the environment master. This method is only reached when direct shelter control is enabled with a call to the direct() method. Here, the weather event is checked for bad weather. If so, the shelter operator gets directly a signal to close the shelter without waiting for a close-shelter from the default command caster. Note that closing of the shelter is only allowed in robotic mode.
Implementation note: If the shelter is closed, a new thread for this task is generated to allow fast-return of the listener method.

Specified by:
weatherChanged in interface WeatherListener

getAcknowledgeNumber

protected int getAcknowledgeNumber(CommandEvent cmd)
Returns the number of acknowledge events produced for each command. If the command is unknown an IllegalArgumentException is thrown.

Overrides:
getAcknowledgeNumber in class GenericMaster

getCompletionTime

protected long getCompletionTime(CommandEvent cmd,
                                 int acknr)
Returns the individual completion times. If the command is unknown an IllegalArgumentException is thrown.

Overrides:
getCompletionTime in class GenericMaster
Parameters:
cmd - The command to process.
acknr - The number of the acknowledge that will be sent back.

processCommand

protected boolean processCommand(CommandEvent cmd,
                                 int acknr)
Process the command. Except the status command, only shelter commands are treated by the environment, as of current writing. Therefore, all commands call the appropriate methods in the RoofOperating instance only.

Overrides:
processCommand in class GenericMaster

statusMaster

protected Object statusMaster()
The method actually delivering the status lines. It is deprived of the remote exception thorwn by the GenericMaster.getStatus() method. This method returns a list of status events.

Specified by:
statusMaster in class GenericMaster
Returns:
A list of error events.