refactored get_config_types to get_all_configs and NewConfigurableManager back to ConfigurableManager

This commit is contained in:
Blake J. Harnden 2018-06-08 10:30:41 -07:00
parent f6656f0245
commit 52bfd1edf4
5 changed files with 34 additions and 26 deletions

View file

@ -129,7 +129,7 @@ class ConfigurableOptions(object):
return OrderedDict([(config.id, config.default) for config in cls.configurations()]) return OrderedDict([(config.id, config.default) for config in cls.configurations()])
class NewConfigurableManager(object): class ConfigurableManager(object):
_default_node = -1 _default_node = -1
_default_type = "default" _default_type = "default"
@ -153,7 +153,7 @@ class NewConfigurableManager(object):
def set_configs(self, config, node_id=_default_node, config_type=_default_type): def set_configs(self, config, node_id=_default_node, config_type=_default_type):
logger.debug("setting config for node(%s) type(%s): %s", node_id, config_type, config) logger.debug("setting config for node(%s) type(%s): %s", node_id, config_type, config)
node_configs = self.get_config_types(node_id) node_configs = self.get_all_configs(node_id)
node_configs[config_type] = config node_configs[config_type] = config
def get_config(self, _id, node_id=_default_node, config_type=_default_type): def get_config(self, _id, node_id=_default_node, config_type=_default_type):
@ -163,9 +163,9 @@ class NewConfigurableManager(object):
def get_configs(self, node_id=_default_node, config_type=_default_type): def get_configs(self, node_id=_default_node, config_type=_default_type):
logger.debug("getting configs for node(%s) type(%s)", node_id, config_type) logger.debug("getting configs for node(%s) type(%s)", node_id, config_type)
node_map = self.get_config_types(node_id) node_map = self.get_all_configs(node_id)
return node_map.setdefault(config_type, {}) return node_map.setdefault(config_type, {})
def get_config_types(self, node_id=_default_node): def get_all_configs(self, node_id=_default_node):
logger.debug("getting all configs for node(%s)", node_id) logger.debug("getting all configs for node(%s)", node_id)
return self._configuration_maps.setdefault(node_id, {}) return self._configuration_maps.setdefault(node_id, {})

View file

@ -13,7 +13,7 @@ from core.api import coreapi
from core.api import dataconversion from core.api import dataconversion
from core.conf import ConfigShim from core.conf import ConfigShim
from core.conf import Configuration from core.conf import Configuration
from core.conf import NewConfigurableManager from core.conf import ConfigurableManager
from core.emane import emanemanifest from core.emane import emanemanifest
from core.emane.bypass import EmaneBypassModel from core.emane.bypass import EmaneBypassModel
from core.emane.commeffect import EmaneCommEffectModel from core.emane.commeffect import EmaneCommEffectModel
@ -54,7 +54,7 @@ EMANE_MODELS = [
] ]
class EmaneManager(NewConfigurableManager): class EmaneManager(ConfigurableManager):
""" """
EMANE controller object. Lives in a Session instance and is used for EMANE controller object. Lives in a Session instance and is used for
building EMANE config files from all of the EmaneNode objects in this building EMANE config files from all of the EmaneNode objects in this
@ -208,7 +208,7 @@ class EmaneManager(NewConfigurableManager):
""" """
Used with XML export. Used with XML export.
""" """
configs = self.get_config_types(node.objid) configs = self.get_all_configs(node.objid)
models = [] models = []
for model_name, config in configs.iteritems(): for model_name, config in configs.iteritems():
model_class = self._modelclsmap[model_name] model_class = self._modelclsmap[model_name]
@ -572,7 +572,7 @@ class EmaneManager(NewConfigurableManager):
def setnodemodel(self, node_id): def setnodemodel(self, node_id):
logger.debug("setting emane models for node: %s", node_id) logger.debug("setting emane models for node: %s", node_id)
node_config_types = self.get_config_types(node_id) node_config_types = self.get_all_configs(node_id)
if not node_config_types: if not node_config_types:
logger.debug("no emane node model configuration, leaving: %s", node_id) logger.debug("no emane node model configuration, leaving: %s", node_id)
return False return False

View file

@ -11,7 +11,7 @@ import time
from core import logger from core import logger
from core.conf import ConfigurableOptions from core.conf import ConfigurableOptions
from core.conf import Configuration from core.conf import Configuration
from core.conf import NewConfigurableManager from core.conf import ConfigurableManager
from core.coreobj import PyCoreNode from core.coreobj import PyCoreNode
from core.data import EventData from core.data import EventData
from core.data import LinkData from core.data import LinkData
@ -26,7 +26,7 @@ from core.misc import utils
from core.misc.ipaddress import IpAddress from core.misc.ipaddress import IpAddress
class MobilityManager(NewConfigurableManager): class MobilityManager(ConfigurableManager):
""" """
Member of session class for handling configuration data for mobility and Member of session class for handling configuration data for mobility and
range models. range models.
@ -69,7 +69,7 @@ class MobilityManager(NewConfigurableManager):
:return: list of model and values tuples for the network node :return: list of model and values tuples for the network node
:rtype: list :rtype: list
""" """
configs = self.get_config_types(node.objid) configs = self.get_all_configs(node.objid)
models = [] models = []
for model_name, config in configs.iteritems(): for model_name, config in configs.iteritems():
model_class = self._modelclsmap[model_name] model_class = self._modelclsmap[model_name]
@ -96,7 +96,7 @@ class MobilityManager(NewConfigurableManager):
logger.warn("skipping mobility configuration for unknown node: %s", node_id) logger.warn("skipping mobility configuration for unknown node: %s", node_id)
continue continue
node_configs = self.get_config_types(node_id) node_configs = self.get_all_configs(node_id)
if not node_configs: if not node_configs:
logger.warn("missing mobility configuration for node: %s", node_id) logger.warn("missing mobility configuration for node: %s", node_id)
continue continue

View file

@ -22,7 +22,7 @@ from core.broker import CoreBroker
from core.conf import ConfigShim from core.conf import ConfigShim
from core.conf import ConfigurableOptions from core.conf import ConfigurableOptions
from core.conf import Configuration from core.conf import Configuration
from core.conf import NewConfigurableManager from core.conf import ConfigurableManager
from core.data import ConfigData from core.data import ConfigData
from core.data import EventData from core.data import EventData
from core.data import ExceptionData from core.data import ExceptionData
@ -1221,7 +1221,7 @@ class Session(object):
logger.info("informed GUI about %d nodes and %d links", len(nodes_data), len(links_data)) logger.info("informed GUI about %d nodes and %d links", len(nodes_data), len(links_data))
class SessionConfig(NewConfigurableManager, ConfigurableOptions): class SessionConfig(ConfigurableManager, ConfigurableOptions):
""" """
Session configuration object. Session configuration object.
""" """
@ -1256,7 +1256,7 @@ class SessionConfig(NewConfigurableManager, ConfigurableOptions):
self.set_configs(config) self.set_configs(config)
class SessionMetaData(NewConfigurableManager): class SessionMetaData(ConfigurableManager):
""" """
Metadata is simply stored in a configs[] dict. Key=value pairs are Metadata is simply stored in a configs[] dict. Key=value pairs are
passed in from configure messages destined to the "metadata" object. passed in from configure messages destined to the "metadata" object.

View file

@ -1,4 +1,4 @@
from core.conf import NewConfigurableManager, ConfigurableOptions, Configuration from core.conf import ConfigurableManager, ConfigurableOptions, Configuration
from core.enumerations import ConfigDataTypes from core.enumerations import ConfigDataTypes
@ -9,8 +9,16 @@ class TestConfigurableOptions(ConfigurableOptions):
@classmethod @classmethod
def configurations(cls): def configurations(cls):
return [ return [
Configuration(_id=TestConfigurableOptions.name_one, _type=ConfigDataTypes.STRING, label="value1"), Configuration(
Configuration(_id=TestConfigurableOptions.name_two, _type=ConfigDataTypes.STRING, label="value2") _id=TestConfigurableOptions.name_one,
_type=ConfigDataTypes.STRING,
label=TestConfigurableOptions.name_one
),
Configuration(
_id=TestConfigurableOptions.name_two,
_type=ConfigDataTypes.STRING,
label=TestConfigurableOptions.name_two
)
] ]
@ -33,7 +41,7 @@ class TestConf:
def test_nodes(self): def test_nodes(self):
# given # given
config_manager = NewConfigurableManager() config_manager = ConfigurableManager()
test_config = {1: 2} test_config = {1: 2}
node_id = 1 node_id = 1
config_manager.set_configs(test_config) config_manager.set_configs(test_config)
@ -48,7 +56,7 @@ class TestConf:
def test_config_reset_all(self): def test_config_reset_all(self):
# given # given
config_manager = NewConfigurableManager() config_manager = ConfigurableManager()
test_config = {1: 2} test_config = {1: 2}
node_id = 1 node_id = 1
config_manager.set_configs(test_config) config_manager.set_configs(test_config)
@ -62,7 +70,7 @@ class TestConf:
def test_config_reset_node(self): def test_config_reset_node(self):
# given # given
config_manager = NewConfigurableManager() config_manager = ConfigurableManager()
test_config = {1: 2} test_config = {1: 2}
node_id = 1 node_id = 1
config_manager.set_configs(test_config) config_manager.set_configs(test_config)
@ -76,7 +84,7 @@ class TestConf:
def test_configs_setget(self): def test_configs_setget(self):
# given # given
config_manager = NewConfigurableManager() config_manager = ConfigurableManager()
test_config = {1: 2} test_config = {1: 2}
node_id = 1 node_id = 1
config_manager.set_configs(test_config) config_manager.set_configs(test_config)
@ -92,7 +100,7 @@ class TestConf:
def test_config_setget(self): def test_config_setget(self):
# given # given
config_manager = NewConfigurableManager() config_manager = ConfigurableManager()
name = "test" name = "test"
value = "1" value = "1"
node_id = 1 node_id = 1
@ -109,7 +117,7 @@ class TestConf:
def test_all_configs(self): def test_all_configs(self):
# given # given
config_manager = NewConfigurableManager() config_manager = ConfigurableManager()
name = "test" name = "test"
value_one = "1" value_one = "1"
value_two = "2" value_two = "2"
@ -126,8 +134,8 @@ class TestConf:
defaults_value_two = config_manager.get_config(name, config_type=config_two) defaults_value_two = config_manager.get_config(name, config_type=config_two)
node_value_one = config_manager.get_config(name, node_id=node_id, config_type=config_one) node_value_one = config_manager.get_config(name, node_id=node_id, config_type=config_one)
node_value_two = config_manager.get_config(name, node_id=node_id, config_type=config_two) node_value_two = config_manager.get_config(name, node_id=node_id, config_type=config_two)
default_all_configs = config_manager.get_config_types() default_all_configs = config_manager.get_all_configs()
node_all_configs = config_manager.get_config_types(node_id=node_id) node_all_configs = config_manager.get_all_configs(node_id=node_id)
# then # then
assert defaults_value_one == value_one assert defaults_value_one == value_one