public abstract class ConfigurableSubsystem extends Subsystem
Agent.RunningCommandcommandExecutorLock, currentAction, currentQueries, currentSignals, heartbeatPublisher, innerStateLock, LOCAL_EXECUTION_INFO, log, logBusHandler, runtimeInfoPublisher| Constructor and Description |
|---|
ConfigurableSubsystem(String name,
ConfigurationProxy configProxy,
org.lsst.ccs.bus.states.ConfigurationState initialState) |
| Modifier and Type | Method and Description |
|---|---|
void |
commitBulkChange()
Changes that have been submitted are processed as a group.
|
void |
doStart() |
void |
dropAllChanges()
All unsaved changes are dropped, each parameter goes back to the value specified
by the current configuration for this category.
|
void |
dropBulkChange() |
void |
dropChangesForCategories(String... categories)
Changes occurring for one of the mentioned categories in categories are dropped,
other categories are left untouched.
|
org.lsst.ccs.bus.data.ConfigurationInfo |
getConfigurationInfo() |
ConfigurationProxy |
getConfigurationProxy() |
abstract ComponentLookupService |
getLookup()
The structure of a Configurable Subsystem may be modular (eg {@link NodeModularSubsystem),
in that case changing a parameter requires knowledge of this modular structure.
|
String |
getTag() |
void |
loadCategories(String... taggedCategories)
Loads the configuration specified for each category, parameters that belong
to other categories are left unchanged.
|
void |
loadConfiguration(String... taggedCategories)
Loads the configuration specified for each category specified in configName
and loads the default configuration for the other categories.
|
void |
saveAllChanges()
Saves all changes in their current configuration.
|
void |
saveChangesForCategories(String... categories)
Changes made in the specified categories are saved under the current configuration
for this category, changes on parameters that belong to other categories
are left unchanged.
|
void |
saveChangesForCategoriesAs(String... taggedCategories)
Changes made in the specified categories are saved under the newly specified
name for this category, changes on parameters that belong to other categories
are left unchanged.
|
protected void |
setConfigurationProxy(ConfigurationProxy configurationProxy)
this method should not be used once the proxy is delegated to all components
so it should not be public!
|
void |
submitChange(String componentName,
String parameterName,
Object value)
Stores a change parameter to be validated later.
|
abort, abort, addClearAlertHandler, checkAllHardwareStarted, checkAllHardwareStopped, checkHardware, clearAlarms, clearAlerts, clearAllAlerts, completeInitialization, completeInitialization, doShutdown, forceShutdown, getLogger, getNumberCommandThreads, getRaisedAlertSummary, initialisationEndPhase, internalShutdown, internalStart, interruptActionThread, ping, postStart, printRunningCommands, publishMetaData, publishStatus, publishStatus, publishStatus, publishStatus, publishStatus, publishStatusData, raiseAlarm, raiseAlert, removeLogPanicState, sendRawStatus, setBusLogHandlerLevel, setLogFormat, setLogHandlerLevel, setLogLevel, setStackTraceDepth, stop, switchToEngineeringMode, switchToNormalMode, warningaddCommandSet, broadcastStatus, executeCommandRequest, fillStatus, getAgentInfo, getAgentState, getAgentState, getCCSVersions, getCommandCount, getCommandSet, getCurrentAction, getDictionaries, getDistributionInfo, getEnvironmentMessagingAccess, getMessagingAccess, getName, getScheduler, getState, getState, getStatusBroadcastPeriod, getSystemDictionary, isAgentInState, isAgentInState, isInEngineeringMode, isInState, isInState, publishStateChange, publishSubsystemDataOnStatusBus, setStatusBroadcastPeriod, shutdown, shutdownAgent, start, startAgent, startStatusBroadcasting, stopStatusBroadcasting, updateAgentState, updateHeartBeat, updateInternalState, waitForpublic ConfigurableSubsystem(String name, ConfigurationProxy configProxy, org.lsst.ccs.bus.states.ConfigurationState initialState)
public String getTag()
public ConfigurationProxy getConfigurationProxy()
protected void setConfigurationProxy(ConfigurationProxy configurationProxy)
configurationProxy - @Command(description="Saves all changes in the current configurations", type=CONFIGURATION) public final void saveAllChanges() throws ConfigurationServiceException
ConfigurationServiceException - if configuration service unavailable@Command(description="Saves the specified categories with a name", type=CONFIGURATION) public final void saveChangesForCategories(@Argument(name="taggedCategories",description="A list of categories") String... categories) throws ConfigurationServiceException
categories - a list of categoriesConfigurationServiceException - if configuration service
unavailable.@Command(description="Saves the specified categories with a name", type=CONFIGURATION) public final void saveChangesForCategoriesAs(@Argument(name="taggedCategories",description="A list of pairs categoryName:configurationName") String... taggedCategories) throws ConfigurationServiceException
taggedCategories - a list of pairs categoryName:configurationNameConfigurationServiceException@Command(description="drop all unsaved changes", type=CONFIGURATION) public void dropAllChanges() throws Exception
Exception@Command(description="drop unsaved changes for the specified categories", type=CONFIGURATION) public void dropChangesForCategories(@Argument(name="categories",description="A list of categories") String... categories) throws Exception
categories - A list of categoriesException@Command(description="loads a new configuration", type=CONFIGURATION) public void loadConfiguration(@Argument(name="taggedCategories",description="a list of pairs categoryName:configurationName") String... taggedCategories) throws ConfigurationServiceException, Exception
taggedCategories - a list of pairs categoryName:configurationNameConfigurationServiceExceptionException@Command(description="loads the configuration for the specified categories", type=CONFIGURATION) public void loadCategories(@Argument(name="taggedCategories",description="a list of pairs categoryName:configurationName") String... taggedCategories) throws ConfigurationServiceException, Exception
taggedCategories - a list of pairs categoryName:configurationNameConfigurationServiceExceptionException@Command(description="return a ConfigurationInfo object", type=CONFIGURATION) public org.lsst.ccs.bus.data.ConfigurationInfo getConfigurationInfo()
public abstract ComponentLookupService getLookup()
@Command(description="Submits a change of parameter to be validated later", type=CONFIGURATION) public void submitChange(String componentName, String parameterName, Object value)
componentName - parameterName - value - @Command(description="processes the bulk change", type=CONFIGURATION) public void commitBulkChange()
@Command(description="Drops the submitted changes", type=CONFIGURATION) public void dropBulkChange()
Copyright © 2015 LSST. All rights reserved.