Skip to content
Snippets Groups Projects
Unverified Commit b6573396 authored by Stefano Borini's avatar Stefano Borini Committed by GitHub
Browse files

Merge pull request #116 from force-h2020/input-slot-map-renaming

Renamed InputSlotMap to InputSlotInfo
parents 6fc0c93d 03dd5fb4
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@ from traits.api import HasStrictTraits, Enum
from ..local_traits import Identifier
class InputSlotMap(HasStrictTraits):
class InputSlotInfo(HasStrictTraits):
"""
Class that specifies the origin of data for the slots of a data source
or KPI calculator.
......
import unittest
from traits.api import TraitError
from force_bdss.core.input_slot_map import InputSlotMap
from force_bdss.core.input_slot_map import InputSlotInfo
class TestDataValue(unittest.TestCase):
def test_initialization(self):
slotmap = InputSlotMap()
slotmap = InputSlotInfo()
self.assertEqual(slotmap.source, "Environment")
self.assertEqual(slotmap.name, "")
......
......@@ -111,13 +111,13 @@ def _compute_layer_results(environment_data_values,
# Binding performs the extraction of the specified data values
# satisfying the above input slots from the environment data values
# considering what the user specified in terms of names (which is
# in the model input slot maps.
# in the model input slot info
# The resulting data are the ones picked by name from the
# environment data values, and in the appropriate ordering as
# needed by the input slots.
passed_data_values = _bind_data_values(
environment_data_values,
model.input_slot_maps,
model.input_slot_info,
in_slots)
# execute data source, passing only relevant data values.
......
from traits.api import ABCHasStrictTraits, Instance, List, Event
from force_bdss.core.input_slot_map import InputSlotMap
from force_bdss.core.input_slot_map import InputSlotInfo
from force_bdss.local_traits import Identifier
from .i_data_source_factory import IDataSourceFactory
......@@ -20,7 +20,7 @@ class BaseDataSourceModel(ABCHasStrictTraits):
#: Specifies binding between input slots and source for that value.
#: Each InputSlotMap instance specifies this information for each of the
#: slots.
input_slot_maps = List(Instance(InputSlotMap), visible=False)
input_slot_info = List(Instance(InputSlotInfo), visible=False)
#: Allows to assign names to the output slots, so that they can be
#: referenced somewhere else (e.g. the KPICalculators).
......@@ -41,7 +41,7 @@ class BaseDataSourceModel(ABCHasStrictTraits):
def __getstate__(self):
state = super(BaseDataSourceModel, self).__getstate__()
state["input_slot_maps"] = [
x.__getstate__() for x in self.input_slot_maps
state["input_slot_info"] = [
x.__getstate__() for x in self.input_slot_info
]
return state
import unittest
from force_bdss.core.input_slot_map import InputSlotMap
from force_bdss.core.input_slot_map import InputSlotInfo
try:
import mock
......@@ -23,15 +23,15 @@ class TestBaseDataSourceModel(unittest.TestCase):
model.__getstate__(),
{
"__traits_version__": "4.6.0",
"input_slot_maps": [],
"input_slot_info": [],
"output_slot_names": []
})
model.input_slot_maps = [
InputSlotMap(
model.input_slot_info = [
InputSlotInfo(
name="foo"
),
InputSlotMap(
InputSlotInfo(
name="bar"
)
]
......@@ -41,7 +41,7 @@ class TestBaseDataSourceModel(unittest.TestCase):
model.__getstate__(),
{
"__traits_version__": "4.6.0",
"input_slot_maps": [
"input_slot_info": [
{
"__traits_version__": "4.6.0",
"source": "Environment",
......
......@@ -3,7 +3,7 @@ import logging
from traits.api import HasStrictTraits, Instance
from force_bdss.core.input_slot_map import InputSlotMap
from force_bdss.core.input_slot_map import InputSlotInfo
from force_bdss.core.workflow import Workflow
from ..factory_registry_plugin import IFactoryRegistryPlugin
......@@ -154,8 +154,8 @@ class WorkflowReader(HasStrictTraits):
ds_id = ds_entry["id"]
ds_factory = registry.data_source_factory_by_id(ds_id)
model_data = ds_entry["model_data"]
model_data["input_slot_maps"] = self._extract_input_slot_maps(
model_data["input_slot_maps"]
model_data["input_slot_info"] = self._extract_input_slot_info(
model_data["input_slot_info"]
)
layer.append(ds_factory.create_model(model_data))
layers.append(layer)
......@@ -183,8 +183,8 @@ class WorkflowReader(HasStrictTraits):
kpic_id = kpic_entry["id"]
kpic_factory = registry.kpi_calculator_factory_by_id(kpic_id)
model_data = kpic_entry["model_data"]
model_data["input_slot_maps"] = self._extract_input_slot_maps(
model_data["input_slot_maps"]
model_data["input_slot_info"] = self._extract_input_slot_info(
model_data["input_slot_info"]
)
kpi_calculators.append(
......@@ -217,8 +217,8 @@ class WorkflowReader(HasStrictTraits):
return parameters
def _extract_input_slot_maps(self, maps_data):
return [InputSlotMap(**d) for d in maps_data]
def _extract_input_slot_info(self, info):
return [InputSlotInfo(**d) for d in info]
def _extract_notification_listeners(self, wf_data):
registry = self.factory_registry
......
from traits.api import ABCHasStrictTraits, Instance, List, Event
from force_bdss.local_traits import Identifier
from ..core.input_slot_map import InputSlotMap
from ..core.input_slot_map import InputSlotInfo
from .i_kpi_calculator_factory import IKPICalculatorFactory
......@@ -20,7 +20,7 @@ class BaseKPICalculatorModel(ABCHasStrictTraits):
#: Specifies binding between input slots and source for that value.
#: Each InputSlotMap instance specifies this information for each of the
#: slots.
input_slot_maps = List(Instance(InputSlotMap), visible=False)
input_slot_info = List(Instance(InputSlotInfo), visible=False)
#: Allows to assign names to the output slots, so that they can be
#: referenced somewhere else (e.g. the KPICalculators).
......@@ -41,7 +41,7 @@ class BaseKPICalculatorModel(ABCHasStrictTraits):
def __getstate__(self):
state = super(BaseKPICalculatorModel, self).__getstate__()
state["input_slot_maps"] = [
x.__getstate__() for x in self.input_slot_maps
state["input_slot_info"] = [
x.__getstate__() for x in self.input_slot_info
]
return state
import unittest
from force_bdss.core.input_slot_map import InputSlotMap
from force_bdss.core.input_slot_map import InputSlotInfo
from force_bdss.kpi.base_kpi_calculator_factory import BaseKPICalculatorFactory
from force_bdss.kpi.base_kpi_calculator_model import BaseKPICalculatorModel
......@@ -22,15 +22,15 @@ class TestBaseKPICalculatorModel(unittest.TestCase):
model.__getstate__(),
{
"__traits_version__": "4.6.0",
"input_slot_maps": [],
"input_slot_info": [],
"output_slot_names": []
})
model.input_slot_maps = [
InputSlotMap(
model.input_slot_info = [
InputSlotInfo(
name="foo"
),
InputSlotMap(
InputSlotInfo(
name="bar"
)
]
......@@ -40,7 +40,7 @@ class TestBaseKPICalculatorModel(unittest.TestCase):
model.__getstate__(),
{
"__traits_version__": "4.6.0",
"input_slot_maps": [
"input_slot_info": [
{
"__traits_version__": "4.6.0",
"source": "Environment",
......
......@@ -13,7 +13,7 @@
{
"id": "force.bdss.enthought.factory.test_ds",
"model_data": {
"input_slot_maps": [
"input_slot_info": [
],
"output_slot_names": [
]
......@@ -25,7 +25,7 @@
{
"id": "force.bdss.enthought.factory.test_kpic",
"model_data": {
"input_slot_maps": [
"input_slot_info": [
],
"output_slot_names": [
]
......
......@@ -11,7 +11,7 @@ from force_bdss.tests.probe_classes.data_source import ProbeDataSourceFactory
from force_bdss.tests.probe_classes.kpi_calculator import (
ProbeKPICalculatorFactory)
from force_bdss.core.input_slot_map import InputSlotMap
from force_bdss.core.input_slot_map import InputSlotInfo
from force_bdss.core.data_value import DataValue
from force_bdss.core.slot import Slot
from force_bdss.tests import fixtures
......@@ -156,8 +156,8 @@ class TestCoreEvaluationDriver(unittest.TestCase):
]
slot_map = (
InputSlotMap(name="baz"),
InputSlotMap(name="bar")
InputSlotInfo(name="baz"),
InputSlotInfo(name="bar")
)
slots = (
......@@ -171,7 +171,7 @@ class TestCoreEvaluationDriver(unittest.TestCase):
# Check the errors. Only one slot map for two slots.
slot_map = (
InputSlotMap(name="baz"),
InputSlotInfo(name="baz"),
)
with testfixtures.LogCapture():
......@@ -184,8 +184,8 @@ class TestCoreEvaluationDriver(unittest.TestCase):
# missing value in the given data values.
slot_map = (
InputSlotMap(name="blap"),
InputSlotMap(name="bar")
InputSlotInfo(name="blap"),
InputSlotInfo(name="bar")
)
with testfixtures.LogCapture():
......@@ -213,9 +213,9 @@ class TestCoreEvaluationDriver(unittest.TestCase):
run_function=run)
evaluator_model = ds_factory.create_model()
evaluator_model.input_slot_maps = [
InputSlotMap(name="foo"),
InputSlotMap(name="quux")
evaluator_model.input_slot_info = [
InputSlotInfo(name="foo"),
InputSlotInfo(name="quux")
]
evaluator_model.output_slot_names = ["one", "", "three"]
......@@ -288,44 +288,44 @@ class TestCoreEvaluationDriver(unittest.TestCase):
)
# Layer 0
model = adder_factory.create_model()
model.input_slot_maps = [
InputSlotMap(name="in1"),
InputSlotMap(name="in2")
model.input_slot_info = [
InputSlotInfo(name="in1"),
InputSlotInfo(name="in2")
]
model.output_slot_names = ["res1"]
wf.execution_layers[0].append(model)
model = adder_factory.create_model()
model.input_slot_maps = [
InputSlotMap(name="in3"),
InputSlotMap(name="in4")
model.input_slot_info = [
InputSlotInfo(name="in3"),
InputSlotInfo(name="in4")
]
model.output_slot_names = ["res2"]
wf.execution_layers[0].append(model)
# layer 1
model = adder_factory.create_model()
model.input_slot_maps = [
InputSlotMap(name="res1"),
InputSlotMap(name="res2")
model.input_slot_info = [
InputSlotInfo(name="res1"),
InputSlotInfo(name="res2")
]
model.output_slot_names = ["res3"]
wf.execution_layers[1].append(model)
# layer 2
model = multiplier_factory.create_model()
model.input_slot_maps = [
InputSlotMap(name="res3"),
InputSlotMap(name="res1")
model.input_slot_info = [
InputSlotInfo(name="res3"),
InputSlotInfo(name="res1")
]
model.output_slot_names = ["res4"]
wf.execution_layers[2].append(model)
# KPI layer
model = multiplier_kpi_factory.create_model()
model.input_slot_maps = [
InputSlotMap(name="res4"),
InputSlotMap(name="res2")
model.input_slot_info = [
InputSlotInfo(name="res4"),
InputSlotInfo(name="res2")
]
model.output_slot_names = ["out1"]
wf.kpi_calculators.append(model)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment