Interface ConfigurableService
- All Superinterfaces:
ADEPT2Service
- All Known Subinterfaces:
CommunicationService<I1,,O1, I2, O2> ExecutionManager,LogManager,MappingCommService<I1,,O1, I2, O2> OrgModelManager,ProcessManager,RuntimeManager,RuntimeService,SubprocessManager,WorklistManager
- All Known Implementing Classes:
AbstractConfigurableAuthenticatedService,AbstractConfigurableService
This interface extends an
ADEPT2Service by the means to retrieve
and change the configuration. Not all services allow to change their
configuration at runtime and not all of the configuration may be changed at
all and not by all users. This is reflected in this interface.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringA prefix for runtime configuration values that have defaults in the normal configuration to be overridden by the runtime configuration. -
Method Summary
Modifier and TypeMethodDescriptionstatic SerialisableConfigurationcopyConfiguration(Configuration conf, int retries, Logger logger) Creates a new serialisable configuration containing the values of the designated configuration.Gets a list of configuration keys that may be changed by the owner of the designated session token.getConfiguration(SessionToken session) Gets the configuration of this service for displaying it.getConfigurationValue(SessionToken session, String key) Gets the string representation of the configuration value for the designated key ornullif the key does not exist or has no value.voidsetConfigurationValue(SessionToken session, String key, String value) Sets the designated configuration value.Methods inherited from interface de.aristaflow.adept2.base.service.ADEPT2Service
getLocalUris, getRelease, getRuntimeRequiredServices, getServiceInstanceName, getStartupRequiredServices, getURIs, init, ping, preShutdown, shutdown, start
-
Field Details
-
CONF_RUNTIME_CONF_PREFIX
A prefix for runtime configuration values that have defaults in the normal configuration to be overridden by the runtime configuration. The default and the runtime configuration values need to have different keys otherwise deleting a value will also delete the default value. The default value will reappear after the next reboot.- See Also:
-
-
Method Details
-
getConfiguration
Gets the configuration of this service for displaying it. It usually contains all configuration values of a service. Not all of them may be changed and not all of them by all users! Therefore filter the configuration appropriately based on the changeable keys. The returned configuration must not be changed directly since it usually is a copy of the configuration. UsesetConfigurationValue(SessionToken, String, String)for changing configuration values.Note to implementors: As stated above return a copy of the configuration and not the configuration itself. Additionally make sure the returned configuration is serialisable since it may be transfered to a remote machine.
- Parameters:
session- The session which is used to check for access rights on this method.- Returns:
- The configuration of the service. Some of its values may be changed.
-
getConfigurationValue
Gets the string representation of the configuration value for the designated key ornullif the key does not exist or has no value.- Parameters:
session- The session which is used to check for access rights on this method.key- The key of the configuration value.- Returns:
- The string representation of the configuration value of the designated key or
nullif the key does not exist or has no value.
-
getChangeableConfigurationKeys
Gets a list of configuration keys that may be changed by the owner of the designated session token. Note that these may contain keys that are not yet in the configuration.- Parameters:
session- The session which is used to check for access rights on this method and to determine which configuration keys can be changed by the designated user.- Returns:
- A list of strings that represent the keys that may be changed by the user identified by the designated session token.
-
setConfigurationValue
void setConfigurationValue(SessionToken session, String key, String value) throws ConfigurationException Sets the designated configuration value. Be sure to use a valid key. The keys are specified by the service. The value has to conform to the key, for instance, if the value is a list, the string has to reflect this appropriately. Use the empty string as value to delete the configuration.Note to implementors: Check the configuration value for validity and the session token for whether it is allowed to change the configuration.
- Parameters:
session- The session which is used to check for access rights on this method.key- The key for the configuration value.value- The string representation of the configuration value to be set.- Throws:
ConfigurationException- If there are problems setting the designated value, for instance, the value does not conform to the designated key or is not a valid value at all, aConfigurationExceptionwill be thrown.
-
copyConfiguration
Creates a new serialisable configuration containing the values of the designated configuration. In case of concurrent modifications, reading of the complete configuration will be retried for the designated amount of retries. If they all fail, this will be logged and the incomplete copy will be returned.- Parameters:
conf- The configuration which to copy to a new configuration.retries- The amount of copying retries in case of a concurrent modification of the configuration value.logger- The logger in which to log that there have been to many concurrent modifications and that an incomplete configuration will be returned.- Returns:
- A serialisable copy of the designated configuration containing the same values unless reading the configuration could not be completed several times due to concurrent modifications. In this case the returned configuration will be incomplete.
-