Class ConfigurationManagerServiceImpl
- java.lang.Object
-
- org.opennms.features.config.service.impl.ConfigurationManagerServiceImpl
-
- All Implemented Interfaces:
ConfigurationManagerService
@Component public class ConfigurationManagerServiceImpl extends Object implements ConfigurationManagerService
-
-
Field Summary
-
Fields inherited from interface org.opennms.features.config.service.api.ConfigurationManagerService
BASE_PATH
-
-
Constructor Summary
Constructors Constructor Description ConfigurationManagerServiceImpl(ConfigStoreDao<org.json.JSONObject> configStoreDao)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
changeConfigDefinition(String configName, ConfigDefinition configDefinition)
Changes a ConfigDefinition.Map<String,ConfigDefinition>
getAllConfigDefinitions()
Optional<ConfigData<org.json.JSONObject>>
getConfigData(String configName)
get whole ConfigData by configNameSet<String>
getConfigIds(String configName)
return configIds by configNameSet<String>
getConfigNames()
get a list of registered configNameOptional<org.json.JSONObject>
getJSONConfiguration(String configName, String configId)
get config as json by configName, configIdOptional<String>
getJSONStrConfiguration(String configName, String configId)
Use for osgi APIOptional<ConfigDefinition>
getRegisteredConfigDefinition(String configName)
void
registerConfigDefinition(String configName, ConfigDefinition configDefinition)
Registers a ConfigDefinition under a unique configName.void
registerConfiguration(String configName, String inConfigId, JsonAsString configObject)
register a new configuration by config object.void
registerEventHandler(EventType type, ConfigUpdateInfo info, java.util.function.Consumer<ConfigUpdateInfo> consumer)
void
unregisterConfiguration(String configName, String configId)
remove configure from servicevoid
unregisterSchema(String configName)
it will remove both config and schemavoid
updateConfiguration(String configName, String configId, JsonAsString config, boolean isReplace)
update config to a registered service name.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.opennms.features.config.service.api.ConfigurationManagerService
getJSONStrConfiguration, registerConfiguration, registerEventHandler
-
-
-
-
Constructor Detail
-
ConfigurationManagerServiceImpl
public ConfigurationManagerServiceImpl(ConfigStoreDao<org.json.JSONObject> configStoreDao)
-
-
Method Detail
-
registerConfigDefinition
public void registerConfigDefinition(String configName, ConfigDefinition configDefinition)
Description copied from interface:ConfigurationManagerService
Registers a ConfigDefinition under a unique configName. If the schema id is present it will throw an IllegalArgumentException.- Specified by:
registerConfigDefinition
in interfaceConfigurationManagerService
-
changeConfigDefinition
public void changeConfigDefinition(String configName, ConfigDefinition configDefinition)
Description copied from interface:ConfigurationManagerService
Changes a ConfigDefinition. If the configName is not present it will throw an IllegalArgumentException.- Specified by:
changeConfigDefinition
in interfaceConfigurationManagerService
-
getAllConfigDefinitions
public Map<String,ConfigDefinition> getAllConfigDefinitions()
- Specified by:
getAllConfigDefinitions
in interfaceConfigurationManagerService
-
getRegisteredConfigDefinition
public Optional<ConfigDefinition> getRegisteredConfigDefinition(String configName)
- Specified by:
getRegisteredConfigDefinition
in interfaceConfigurationManagerService
-
registerEventHandler
public void registerEventHandler(EventType type, ConfigUpdateInfo info, java.util.function.Consumer<ConfigUpdateInfo> consumer)
- Specified by:
registerEventHandler
in interfaceConfigurationManagerService
-
registerConfiguration
public void registerConfiguration(String configName, String inConfigId, JsonAsString configObject)
register a new configuration by config object. It will make sure the configId is not duplicated !!!- Specified by:
registerConfiguration
in interfaceConfigurationManagerService
configObject
- (config object / JSONObject)
-
unregisterConfiguration
public void unregisterConfiguration(String configName, String configId)
Description copied from interface:ConfigurationManagerService
remove configure from service- Specified by:
unregisterConfiguration
in interfaceConfigurationManagerService
-
updateConfiguration
public void updateConfiguration(String configName, String configId, JsonAsString config, boolean isReplace)
Description copied from interface:ConfigurationManagerService
update config to a registered service name. It can be partial data and copy into existing config. The flow of update 1. reading the config by configName & configId 2. if replace is true, the whole new config will be replaced directly if replace is false, the new config will copy to existing database config by its property keys to config in database 3. validate 4. update db- Specified by:
updateConfiguration
in interfaceConfigurationManagerService
-
getJSONConfiguration
public Optional<org.json.JSONObject> getJSONConfiguration(String configName, String configId)
Description copied from interface:ConfigurationManagerService
get config as json by configName, configId- Specified by:
getJSONConfiguration
in interfaceConfigurationManagerService
- Returns:
- JSONObject
-
getJSONStrConfiguration
public Optional<String> getJSONStrConfiguration(String configName, String configId)
Description copied from interface:ConfigurationManagerService
Use for osgi API- Specified by:
getJSONStrConfiguration
in interfaceConfigurationManagerService
- Returns:
- config in json string
- See Also:
ConfigurationManagerService.getJSONStrConfiguration(String, String)
-
getConfigNames
public Set<String> getConfigNames()
Description copied from interface:ConfigurationManagerService
get a list of registered configName- Specified by:
getConfigNames
in interfaceConfigurationManagerService
- Returns:
- configName set
-
unregisterSchema
public void unregisterSchema(String configName)
Description copied from interface:ConfigurationManagerService
it will remove both config and schema- Specified by:
unregisterSchema
in interfaceConfigurationManagerService
-
getConfigIds
public Set<String> getConfigIds(String configName)
Description copied from interface:ConfigurationManagerService
return configIds by configName- Specified by:
getConfigIds
in interfaceConfigurationManagerService
-
getConfigData
public Optional<ConfigData<org.json.JSONObject>> getConfigData(String configName)
Description copied from interface:ConfigurationManagerService
get whole ConfigData by configName- Specified by:
getConfigData
in interfaceConfigurationManagerService
- Returns:
- ConfigData
-
-