Skip to content
Snippets Groups Projects
Commit d02dfbc1 authored by Stefano Borini's avatar Stefano Borini
Browse files

Introduced "workflow" key in the json dump

parent 38084d47
No related branches found
No related tags found
1 merge request!29Extract io layer to writer/reader class
{
"version": "1",
"multi_criteria_optimizer": {
"id": "force.bdss.bundles.enthought.dakota",
"model_data": {
"value_types": ["DUMMY"]
}
},
"data_sources": [
{
"id": "force.bdss.bundles.enthought.csv_extractor",
"workflow": {
"multi_criteria_optimizer": {
"id": "force.bdss.bundles.enthought.dakota",
"model_data": {
"filename": "foo.csv",
"row": 3,
"column": 5,
"cuba_type": "PRESSURE"
"value_types": ["DUMMY"]
}
},
{
"id": "force.bdss.bundles.enthought.csv_extractor",
"model_data": {
"filename": "foo.csv",
"row": 3,
"column": 5,
"cuba_type": "PRESSURE"
"data_sources": [
{
"id": "force.bdss.bundles.enthought.csv_extractor",
"model_data": {
"filename": "foo.csv",
"row": 3,
"column": 5,
"cuba_type": "PRESSURE"
}
},
{
"id": "force.bdss.bundles.enthought.csv_extractor",
"model_data": {
"filename": "foo.csv",
"row": 3,
"column": 5,
"cuba_type": "PRESSURE"
}
}
}
],
"kpi_calculators": [
{
"id": "force.bdss.bundles.enthought.kpi_adder",
"model_data": {
"cuba_type_in": "PRESSURE",
"cuba_type_out": "TOTAL_PRESSURE"
],
"kpi_calculators": [
{
"id": "force.bdss.bundles.enthought.kpi_adder",
"model_data": {
"cuba_type_in": "PRESSURE",
"cuba_type_out": "TOTAL_PRESSURE"
}
}
}
]
]
}
}
{
"version": "2"
"version": "2",
"workflow": {
}
}
......@@ -24,7 +24,8 @@ class TestWorkflowReader(unittest.TestCase):
def test_invalid_version(self):
data = {
"version": "2"
"version": "2",
"workflow": {}
}
with self.assertRaises(InvalidVersionException):
......
......@@ -47,12 +47,14 @@ class WorkflowReader(HasStrictTraits):
wf = Workflow()
try:
wf.multi_criteria_optimizer = self._extract_mco(json_data)
wf.data_sources[:] = self._extract_data_sources(json_data)
wf.kpi_calculators[:] = self._extract_kpi_calculators(json_data)
workflow_data = json_data["workflow"]
wf.multi_criteria_optimizer = self._extract_mco(workflow_data)
wf.data_sources[:] = self._extract_data_sources(workflow_data)
wf.kpi_calculators[:] = self._extract_kpi_calculators(workflow_data)
except KeyError as e:
logging.exception("Could not read file")
raise InvalidFileException("Could not read file. {}".format(e))
raise InvalidFileException("Could not read file. "
"Unable to find key {}".format(e))
def _extract_mco(self, json_data):
registry = self.bundle_registry
......
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