From dffe5dc5505837930b768bb89800a45c3eee5b49 Mon Sep 17 00:00:00 2001 From: Stefano Borini <sborini@enthought.com> Date: Fri, 4 Aug 2017 13:55:41 +0100 Subject: [PATCH] Complete renaming of bundle to factory --- force_bdss/api.py | 14 ++--- force_bdss/base_core_driver.py | 6 +-- force_bdss/base_extension_plugin.py | 12 ++--- force_bdss/bdss_application.py | 4 +- force_bdss/core_evaluation_driver.py | 24 ++++----- force_bdss/core_mco_driver.py | 4 +- ...tor_bundle.py => csv_extractor_factory.py} | 6 +-- .../tests/test_csv_extractor_bundle.py | 14 ++--- .../tests/test_csv_extractor_data_source.py | 22 ++++---- .../{dakota_bundle.py => dakota_factory.py} | 6 +-- .../dummy/dummy_dakota/dakota_optimizer.py | 2 +- .../dummy_dakota/tests/test_dakota_bundle.py | 14 ++--- .../tests/test_dakota_communicator.py | 8 +-- .../tests/test_dakota_optimizer.py | 6 +-- ...bundle.py => dummy_data_source_factory.py} | 6 +-- .../tests/test_dummy_data_source.py | 14 ++--- .../tests/test_dummy_data_source_bundle.py | 12 ++--- ...dle.py => dummy_kpi_calculator_factory.py} | 6 +-- .../tests/test_dummy_kpi_calculator.py | 6 +-- .../tests/test_dummy_kpi_calculator_bundle.py | 14 ++--- force_bdss/core_plugins/dummy/dummy_plugin.py | 22 ++++---- ...i_adder_bundle.py => kpi_adder_factory.py} | 6 +-- .../kpi_adder/tests/test_kpi_adder_bundle.py | 14 ++--- .../tests/test_kpi_adder_calculator.py | 10 ++-- ...n.py => data_source_factory_test_mixin.py} | 12 ++--- ...y => kpi_calculator_factory_test_mixin.py} | 12 ++--- .../dummy/tests/test_direct_execution.py | 4 +- force_bdss/data_sources/base_data_source.py | 8 +-- ..._bundle.py => base_data_source_factory.py} | 8 +-- .../data_sources/base_data_source_model.py | 8 +-- ...rce_bundle.py => i_data_source_factory.py} | 6 +-- .../tests/test_base_data_source.py | 8 +-- .../tests/test_base_data_source_bundle.py | 6 +-- .../tests/test_base_data_source_model.py | 6 +-- ...y_plugin.py => factory_registry_plugin.py} | 18 +++---- force_bdss/ids.py | 2 +- force_bdss/io/tests/test_workflow_reader.py | 6 +-- force_bdss/io/tests/test_workflow_writer.py | 26 ++++----- force_bdss/io/workflow_reader.py | 38 ++++++------- force_bdss/io/workflow_writer.py | 14 ++--- force_bdss/kpi/base_kpi_calculator.py | 8 +-- ...ndle.py => base_kpi_calculator_factory.py} | 16 +++--- force_bdss/kpi/base_kpi_calculator_model.py | 6 +-- ..._bundle.py => i_kpi_calculator_factory.py} | 6 +-- .../kpi/tests/test_base_kpi_calculator.py | 6 +-- .../tests/test_base_kpi_calculator_bundle.py | 6 +-- .../tests/test_base_kpi_calculator_model.py | 4 +- force_bdss/mco/base_mco.py | 10 ++-- force_bdss/mco/base_mco_communicator.py | 4 +- ...base_mco_bundle.py => base_mco_factory.py} | 8 +-- force_bdss/mco/base_mco_model.py | 17 +++--- .../mco/{i_mco_bundle.py => i_mco_factory.py} | 2 +- .../parameters/base_mco_parameter_factory.py | 4 +- .../tests/test_base_mco_parameter_factory.py | 4 +- force_bdss/mco/tests/test_base_mco.py | 6 +-- force_bdss/mco/tests/test_base_mco_bundle.py | 4 +- .../mco/tests/test_base_mco_communicator.py | 4 +- .../tests/test_bundle_registry_plugin.py | 54 +++++++++---------- .../tests/test_core_evaluation_driver.py | 36 ++++++------- force_bdss/tests/test_ids.py | 8 +-- 60 files changed, 323 insertions(+), 324 deletions(-) rename force_bdss/core_plugins/dummy/csv_extractor/{csv_extractor_bundle.py => csv_extractor_factory.py} (71%) rename force_bdss/core_plugins/dummy/dummy_dakota/{dakota_bundle.py => dakota_factory.py} (82%) rename force_bdss/core_plugins/dummy/dummy_data_source/{dummy_data_source_bundle.py => dummy_data_source_factory.py} (66%) rename force_bdss/core_plugins/dummy/dummy_kpi_calculator/{dummy_kpi_calculator_bundle.py => dummy_kpi_calculator_factory.py} (69%) rename force_bdss/core_plugins/dummy/kpi_adder/{kpi_adder_bundle.py => kpi_adder_factory.py} (70%) rename force_bdss/core_plugins/dummy/tests/{data_source_bundle_test_mixin.py => data_source_factory_test_mixin.py} (78%) rename force_bdss/core_plugins/dummy/tests/{kpi_calculator_bundle_test_mixin.py => kpi_calculator_factory_test_mixin.py} (76%) rename force_bdss/data_sources/{base_data_source_bundle.py => base_data_source_factory.py} (88%) rename force_bdss/data_sources/{i_data_source_bundle.py => i_data_source_factory.py} (66%) rename force_bdss/{bundle_registry_plugin.py => factory_registry_plugin.py} (92%) rename force_bdss/kpi/{base_kpi_calculator_bundle.py => base_kpi_calculator_factory.py} (79%) rename force_bdss/kpi/{i_kpi_calculator_bundle.py => i_kpi_calculator_factory.py} (65%) rename force_bdss/mco/{base_mco_bundle.py => base_mco_factory.py} (92%) rename force_bdss/mco/{i_mco_bundle.py => i_mco_factory.py} (94%) diff --git a/force_bdss/api.py b/force_bdss/api.py index 7480b1b..129f5cc 100644 --- a/force_bdss/api.py +++ b/force_bdss/api.py @@ -1,22 +1,22 @@ from .base_extension_plugin import BaseExtensionPlugin # noqa -from .ids import bundle_id, plugin_id # noqa +from .ids import factory_id, plugin_id # noqa from .core.data_value import DataValue # noqa from .data_sources.base_data_source_model import BaseDataSourceModel # noqa from .data_sources.base_data_source import BaseDataSource # noqa -from .data_sources.base_data_source_bundle import BaseDataSourceBundle # noqa -from .data_sources.i_data_source_bundle import IDataSourceBundle # noqa +from .data_sources.base_data_source_factory import BaseDataSourceFactory # noqa +from .data_sources.i_data_source_factory import IDataSourceFactory # noqa from .kpi.base_kpi_calculator import BaseKPICalculator # noqa from .kpi.base_kpi_calculator_model import BaseKPICalculatorModel # noqa -from .kpi.base_kpi_calculator_bundle import BaseKPICalculatorBundle # noqa -from .kpi.i_kpi_calculator_bundle import IKPICalculatorBundle # noqa +from .kpi.base_kpi_calculator_factory import BaseKPICalculatorFactory # noqa +from .kpi.i_kpi_calculator_factory import IKPICalculatorFactory # noqa from .mco.base_mco_model import BaseMCOModel # noqa from .mco.base_mco_communicator import BaseMCOCommunicator # noqa from .mco.base_mco import BaseMCO # noqa -from .mco.base_mco_bundle import BaseMCOBundle # noqa -from .mco.i_mco_bundle import IMCOBundle # noqa +from .mco.base_mco_factory import BaseMCOFactory # noqa +from .mco.i_mco_factory import IMCOFactory # noqa from .mco.parameters.base_mco_parameter_factory import BaseMCOParameterFactory # noqa from .mco.parameters.base_mco_parameter import BaseMCOParameter # noqa diff --git a/force_bdss/base_core_driver.py b/force_bdss/base_core_driver.py index 2b34ddb..d5cf1f6 100644 --- a/force_bdss/base_core_driver.py +++ b/force_bdss/base_core_driver.py @@ -2,8 +2,8 @@ from envisage.plugin import Plugin from traits.trait_types import Instance from .core.workflow import Workflow -from .bundle_registry_plugin import ( - BundleRegistryPlugin, +from .factory_registry_plugin import ( + FactoryRegistryPlugin, BUNDLE_REGISTRY_PLUGIN_ID ) from .io.workflow_reader import WorkflowReader @@ -15,7 +15,7 @@ class BaseCoreDriver(Plugin): """ #: The registry of the bundles. - bundle_registry = Instance(BundleRegistryPlugin) + bundle_registry = Instance(FactoryRegistryPlugin) #: Deserialized content of the workflow file. workflow = Instance(Workflow) diff --git a/force_bdss/base_extension_plugin.py b/force_bdss/base_extension_plugin.py index 4a9915b..be11411 100644 --- a/force_bdss/base_extension_plugin.py +++ b/force_bdss/base_extension_plugin.py @@ -2,9 +2,9 @@ from envisage.plugin import Plugin from traits.trait_types import List from .ids import ExtensionPointID -from .data_sources.i_data_source_bundle import IDataSourceBundle -from .kpi.i_kpi_calculator_bundle import IKPICalculatorBundle -from .mco.i_mco_bundle import IMCOBundle +from .data_sources.i_data_source_factory import IDataSourceFactory +from .kpi.i_kpi_calculator_factory import IKPICalculatorFactory +from .mco.i_mco_factory import IMCOFactory class BaseExtensionPlugin(Plugin): @@ -24,18 +24,18 @@ class BaseExtensionPlugin(Plugin): #: A list of available Multi Criteria Optimizers this plugin exports. mco_bundles = List( - IMCOBundle, + IMCOFactory, contributes_to=ExtensionPointID.MCO_BUNDLES ) #: A list of the available Data Sources this plugin exports. data_source_bundles = List( - IDataSourceBundle, + IDataSourceFactory, contributes_to=ExtensionPointID.DATA_SOURCE_BUNDLES ) #: A list of the available KPI calculators this plugin exports. kpi_calculator_bundles = List( - IKPICalculatorBundle, + IKPICalculatorFactory, contributes_to=ExtensionPointID.KPI_CALCULATOR_BUNDLES ) diff --git a/force_bdss/bdss_application.py b/force_bdss/bdss_application.py index 29c7f25..2cc7516 100644 --- a/force_bdss/bdss_application.py +++ b/force_bdss/bdss_application.py @@ -8,7 +8,7 @@ from envisage.api import Application from envisage.core_plugin import CorePlugin from traits.api import Unicode, Bool -from .bundle_registry_plugin import BundleRegistryPlugin +from .factory_registry_plugin import FactoryRegistryPlugin from .core_evaluation_driver import CoreEvaluationDriver from .core_mco_driver import CoreMCODriver @@ -30,7 +30,7 @@ class BDSSApplication(Application): self.evaluate = evaluate self.workflow_filepath = workflow_filepath - plugins = [CorePlugin(), BundleRegistryPlugin()] + plugins = [CorePlugin(), FactoryRegistryPlugin()] if self.evaluate: plugins.append(CoreEvaluationDriver()) diff --git a/force_bdss/core_evaluation_driver.py b/force_bdss/core_evaluation_driver.py index 8315f84..2ff044e 100644 --- a/force_bdss/core_evaluation_driver.py +++ b/force_bdss/core_evaluation_driver.py @@ -30,8 +30,8 @@ class CoreEvaluationDriver(BaseCoreDriver): sys.exit(1) mco_model = workflow.mco - mco_bundle = mco_model.bundle - mco_communicator = mco_bundle.create_communicator() + mco_factory = mco_model.factory + mco_communicator = mco_factory.create_communicator() mco_data_values = self._get_data_values_from_mco(mco_model, mco_communicator) @@ -54,8 +54,8 @@ class CoreEvaluationDriver(BaseCoreDriver): ds_results = [] for ds_model in workflow.data_sources: - ds_bundle = ds_model.bundle - data_source = ds_bundle.create_data_source() + ds_factory = ds_model.factory + data_source = ds_factory.create_data_source() # Get the slots for this data source. These must be matched to # the appropriate values in the environment data values. @@ -76,7 +76,7 @@ class CoreEvaluationDriver(BaseCoreDriver): # execute data source, passing only relevant data values. logging.info("Evaluating for Data Source {}".format( - ds_bundle.name)) + ds_factory.name)) res = data_source.run(ds_model, passed_data_values) if len(res) != len(out_slots): @@ -85,7 +85,7 @@ class CoreEvaluationDriver(BaseCoreDriver): " by the DataSource '{}' does not match the number" " of output slots it specifies ({} values)." " This is likely a DataSource plugin error.").format( - len(res), ds_bundle.name, len(out_slots) + len(res), ds_factory.name, len(out_slots) ) logging.error(error_txt) @@ -99,7 +99,7 @@ class CoreEvaluationDriver(BaseCoreDriver): " This is either a DataSource plugin error or a file" " error.").format( len(res), - ds_bundle.name, + ds_factory.name, len(ds_model.output_slot_names) ) @@ -125,8 +125,8 @@ class CoreEvaluationDriver(BaseCoreDriver): kpi_results = [] for kpic_model in workflow.kpi_calculators: - kpic_bundle = kpic_model.bundle - kpi_calculator = kpic_bundle.create_kpi_calculator() + kpic_factory = kpic_model.factory + kpi_calculator = kpic_factory.create_kpi_calculator() in_slots, out_slots = kpi_calculator.slots(kpic_model) @@ -136,7 +136,7 @@ class CoreEvaluationDriver(BaseCoreDriver): in_slots) logging.info("Evaluating for KPICalculator {}".format( - kpic_bundle.name)) + kpic_factory.name)) res = kpi_calculator.run(kpic_model, passed_data_values) @@ -146,7 +146,7 @@ class CoreEvaluationDriver(BaseCoreDriver): " the KPICalculator '{}' does not match the" " number of output slots ({} values). This is" " likely a KPICalculator plugin error." - ).format(len(res), kpic_bundle.name, len(out_slots)) + ).format(len(res), kpic_factory.name, len(out_slots)) logging.error(error_txt) raise RuntimeError(error_txt) @@ -157,7 +157,7 @@ class CoreEvaluationDriver(BaseCoreDriver): " number of user-defined names specified ({} values)." " This is either an input file error or a plugin" " error." - ).format(len(res), kpic_bundle.name, + ).format(len(res), kpic_factory.name, len(kpic_model.output_slot_names)) logging.error(error_txt) raise RuntimeError(error_txt) diff --git a/force_bdss/core_mco_driver.py b/force_bdss/core_mco_driver.py index da740f9..457f853 100644 --- a/force_bdss/core_mco_driver.py +++ b/force_bdss/core_mco_driver.py @@ -29,6 +29,6 @@ class CoreMCODriver(BaseCoreDriver): sys.exit(1) mco_model = workflow.mco - mco_bundle = mco_model.bundle - mco = mco_bundle.create_optimizer() + mco_factory = mco_model.factory + mco = mco_factory.create_optimizer() mco.run(mco_model) diff --git a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_bundle.py b/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_factory.py similarity index 71% rename from force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_bundle.py rename to force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_factory.py index 30dedee..db28075 100644 --- a/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_bundle.py +++ b/force_bdss/core_plugins/dummy/csv_extractor/csv_extractor_factory.py @@ -1,13 +1,13 @@ from traits.api import String -from force_bdss.api import bundle_id, BaseDataSourceBundle +from force_bdss.api import factory_id, BaseDataSourceFactory from .csv_extractor_model import CSVExtractorModel from .csv_extractor_data_source import CSVExtractorDataSource -class CSVExtractorBundle(BaseDataSourceBundle): - id = String(bundle_id("enthought", "csv_extractor")) +class CSVExtractorFactory(BaseDataSourceFactory): + id = String(factory_id("enthought", "csv_extractor")) name = String("CSV Extractor") diff --git a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py index b5a563f..ffba0b4 100644 --- a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py +++ b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_bundle.py @@ -1,19 +1,19 @@ import unittest -from force_bdss.core_plugins.dummy.tests.data_source_bundle_test_mixin import \ - DataSourceBundleTestMixin -from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_bundle import \ - CSVExtractorBundle +from force_bdss.core_plugins.dummy.tests.data_source_factory_test_mixin import \ + DataSourceFactoryTestMixin +from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_factory import \ + CSVExtractorFactory from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_data_source \ import CSVExtractorDataSource from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_model import \ CSVExtractorModel -class TestCSVExtractorBundle(DataSourceBundleTestMixin, unittest.TestCase): +class TestCSVExtractorBundle(DataSourceFactoryTestMixin, unittest.TestCase): @property - def bundle_class(self): - return CSVExtractorBundle + def factory_class(self): + return CSVExtractorFactory @property def model_class(self): diff --git a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py index 429b15a..89f8f80 100644 --- a/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py +++ b/force_bdss/core_plugins/dummy/csv_extractor/tests/test_csv_extractor_data_source.py @@ -6,8 +6,8 @@ from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_data_source \ import CSVExtractorDataSource from force_bdss.core_plugins.dummy.csv_extractor.csv_extractor_model import \ CSVExtractorModel -from force_bdss.data_sources.base_data_source_bundle import \ - BaseDataSourceBundle +from force_bdss.data_sources.base_data_source_factory import \ + BaseDataSourceFactory from force_bdss.tests import fixtures try: @@ -18,15 +18,15 @@ except ImportError: class TestCSVExtractorDataSource(unittest.TestCase): def setUp(self): - self.bundle = mock.Mock(spec=BaseDataSourceBundle) + self.factory = mock.Mock(spec=BaseDataSourceFactory) def test_initialization(self): - ds = CSVExtractorDataSource(self.bundle) - self.assertEqual(ds.bundle, self.bundle) + ds = CSVExtractorDataSource(self.factory) + self.assertEqual(ds.factory, self.factory) def test_run(self): - ds = CSVExtractorDataSource(self.bundle) - model = CSVExtractorModel(self.bundle) + ds = CSVExtractorDataSource(self.factory) + model = CSVExtractorModel(self.factory) model.filename = fixtures.get("foo.csv") model.row = 3 model.column = 5 @@ -38,8 +38,8 @@ class TestCSVExtractorDataSource(unittest.TestCase): self.assertEqual(result[0].value, 42) def test_run_with_exception(self): - ds = CSVExtractorDataSource(self.bundle) - model = CSVExtractorModel(self.bundle) + ds = CSVExtractorDataSource(self.factory) + model = CSVExtractorModel(self.factory) model.filename = fixtures.get("foo.csv") mock_params = [] model.row = 30 @@ -53,8 +53,8 @@ class TestCSVExtractorDataSource(unittest.TestCase): ds.run(model, mock_params) def test_slots(self): - ds = CSVExtractorDataSource(self.bundle) - model = CSVExtractorModel(self.bundle) + ds = CSVExtractorDataSource(self.factory) + model = CSVExtractorModel(self.factory) slots = ds.slots(model) self.assertEqual(len(slots), 2) self.assertEqual(len(slots[0]), 0) diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_bundle.py b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_factory.py similarity index 82% rename from force_bdss/core_plugins/dummy/dummy_dakota/dakota_bundle.py rename to force_bdss/core_plugins/dummy/dummy_dakota/dakota_factory.py index 189c27c..6e6c5cc 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_bundle.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_factory.py @@ -1,5 +1,5 @@ from traits.api import String -from force_bdss.api import bundle_id, BaseMCOBundle +from force_bdss.api import factory_id, BaseMCOFactory from force_bdss.core_plugins.dummy.dummy_dakota.parameters import \ RangedMCOParameterFactory @@ -8,8 +8,8 @@ from .dakota_model import DummyDakotaModel from .dakota_optimizer import DummyDakotaOptimizer -class DummyDakotaBundle(BaseMCOBundle): - id = String(bundle_id("enthought", "dummy_dakota")) +class DummyDakotaFactory(BaseMCOFactory): + id = String(factory_id("enthought", "dummy_dakota")) name = "Dummy Dakota" diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_optimizer.py b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_optimizer.py index 2114efe..5b1291a 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/dakota_optimizer.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/dakota_optimizer.py @@ -28,7 +28,7 @@ class DummyDakotaOptimizer(BaseMCO): value_iterator = itertools.product(*values) - application = self.bundle.plugin.application + application = self.factory.plugin.application for value in value_iterator: ps = subprocess.Popen( diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py index 673fdd0..baa8404 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_bundle.py @@ -2,8 +2,8 @@ import unittest from envisage.plugin import Plugin -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_bundle import \ - DummyDakotaBundle +from force_bdss.core_plugins.dummy.dummy_dakota.dakota_factory import \ + DummyDakotaFactory from force_bdss.core_plugins.dummy.dummy_dakota.dakota_model import \ DummyDakotaModel from force_bdss.core_plugins.dummy.dummy_dakota.dakota_optimizer import \ @@ -20,12 +20,12 @@ class TestDakotaBundle(unittest.TestCase): self.plugin = mock.Mock(spec=Plugin) def test_initialization(self): - bundle = DummyDakotaBundle(self.plugin) + bundle = DummyDakotaFactory(self.plugin) self.assertIn("dummy_dakota", bundle.id) self.assertEqual(bundle.plugin, self.plugin) def test_create_model(self): - bundle = DummyDakotaBundle(self.plugin) + bundle = DummyDakotaFactory(self.plugin) model = bundle.create_model({}) self.assertIsInstance(model, DummyDakotaModel) @@ -33,15 +33,15 @@ class TestDakotaBundle(unittest.TestCase): self.assertIsInstance(model, DummyDakotaModel) def test_create_mco(self): - bundle = DummyDakotaBundle(self.plugin) + bundle = DummyDakotaFactory(self.plugin) ds = bundle.create_optimizer() self.assertIsInstance(ds, DummyDakotaOptimizer) def test_create_communicator(self): - bundle = DummyDakotaBundle(self.plugin) + bundle = DummyDakotaFactory(self.plugin) ds = bundle.create_optimizer() self.assertIsInstance(ds, DummyDakotaOptimizer) def test_parameter_factories(self): - bundle = DummyDakotaBundle(self.plugin) + bundle = DummyDakotaFactory(self.plugin) self.assertNotEqual(len(bundle.parameter_factories()), 0) diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py index 03e8e85..90420b5 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_communicator.py @@ -9,8 +9,8 @@ except ImportError: from envisage.plugin import Plugin -from force_bdss.core_plugins.dummy.dummy_dakota.dakota_bundle import ( - DummyDakotaBundle) +from force_bdss.core_plugins.dummy.dummy_dakota.dakota_factory import ( + DummyDakotaFactory) from force_bdss.mco.parameters.base_mco_parameter_factory import \ BaseMCOParameterFactory @@ -20,7 +20,7 @@ from force_bdss.core_plugins.dummy.dummy_dakota.parameters import \ class TestDakotaCommunicator(unittest.TestCase): def test_receive_from_mco(self): - bundle = DummyDakotaBundle(mock.Mock(spec=Plugin)) + bundle = DummyDakotaFactory(mock.Mock(spec=Plugin)) mock_parameter_factory = mock.Mock(spec=BaseMCOParameterFactory) model = bundle.create_model() model.parameters = [ @@ -38,7 +38,7 @@ class TestDakotaCommunicator(unittest.TestCase): self.assertEqual(data[0].type, "") def test_send_to_mco(self): - bundle = DummyDakotaBundle(mock.Mock(spec=Plugin)) + bundle = DummyDakotaFactory(mock.Mock(spec=Plugin)) model = bundle.create_model() comm = bundle.create_communicator() diff --git a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_optimizer.py b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_optimizer.py index b8be17e..65e0cce 100644 --- a/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_optimizer.py +++ b/force_bdss/core_plugins/dummy/dummy_dakota/tests/test_dakota_optimizer.py @@ -7,7 +7,7 @@ from force_bdss.core_plugins.dummy.dummy_dakota.parameters import ( from force_bdss.core_plugins.dummy.dummy_dakota.dakota_model import ( DummyDakotaModel ) -from force_bdss.mco.base_mco_bundle import BaseMCOBundle +from force_bdss.mco.base_mco_factory import BaseMCOFactory try: import mock @@ -20,14 +20,14 @@ from force_bdss.core_plugins.dummy.dummy_dakota.dakota_optimizer import \ class TestDakotaOptimizer(unittest.TestCase): def setUp(self): - self.bundle = mock.Mock(spec=BaseMCOBundle) + self.bundle = mock.Mock(spec=BaseMCOFactory) self.bundle.plugin = mock.Mock() self.bundle.plugin.application = mock.Mock() self.bundle.plugin.application.workflow_filepath = "whatever" def test_initialization(self): opt = DummyDakotaOptimizer(self.bundle) - self.assertEqual(opt.bundle, self.bundle) + self.assertEqual(opt.factory, self.bundle) def test_run(self): opt = DummyDakotaOptimizer(self.bundle) diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_bundle.py b/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_factory.py similarity index 66% rename from force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_bundle.py rename to force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_factory.py index 1ed7905..9743e72 100644 --- a/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_bundle.py +++ b/force_bdss/core_plugins/dummy/dummy_data_source/dummy_data_source_factory.py @@ -1,10 +1,10 @@ -from force_bdss.api import BaseDataSourceBundle, bundle_id +from force_bdss.api import BaseDataSourceFactory, factory_id from .dummy_data_source_model import DummyDataSourceModel from .dummy_data_source import DummyDataSource -class DummyDataSourceBundle(BaseDataSourceBundle): - id = bundle_id("enthought", "dummy_data_source") +class DummyDataSourceFactory(BaseDataSourceFactory): + id = factory_id("enthought", "dummy_data_source") def create_model(self, model_data=None): if model_data is None: diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py index d0a0eb2..db0b6e4 100644 --- a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py +++ b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source.py @@ -5,8 +5,8 @@ from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source import \ from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source_model\ import \ DummyDataSourceModel -from force_bdss.data_sources.base_data_source_bundle import \ - BaseDataSourceBundle +from force_bdss.data_sources.base_data_source_factory import \ + BaseDataSourceFactory try: import mock @@ -16,14 +16,14 @@ except ImportError: class TestDummyDataSource(unittest.TestCase): def setUp(self): - self.bundle = mock.Mock(spec=BaseDataSourceBundle) + self.factory = mock.Mock(spec=BaseDataSourceFactory) def test_initialization(self): - ds = DummyDataSource(self.bundle) - self.assertEqual(ds.bundle, self.bundle) + ds = DummyDataSource(self.factory) + self.assertEqual(ds.factory, self.factory) def test_slots(self): - ds = DummyDataSource(self.bundle) - model = DummyDataSourceModel(self.bundle) + ds = DummyDataSource(self.factory) + model = DummyDataSourceModel(self.factory) slots = ds.slots(model) self.assertEqual(slots, ((), ())) diff --git a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py index 617c4ed..ad3cc33 100644 --- a/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py +++ b/force_bdss/core_plugins/dummy/dummy_data_source/tests/test_dummy_data_source_bundle.py @@ -3,17 +3,17 @@ import unittest from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source import \ DummyDataSource from force_bdss.core_plugins.dummy.dummy_data_source\ - .dummy_data_source_bundle import DummyDataSourceBundle + .dummy_data_source_factory import DummyDataSourceFactory from force_bdss.core_plugins.dummy.dummy_data_source.dummy_data_source_model\ import DummyDataSourceModel -from force_bdss.core_plugins.dummy.tests.data_source_bundle_test_mixin import \ - DataSourceBundleTestMixin +from force_bdss.core_plugins.dummy.tests.data_source_factory_test_mixin import \ + DataSourceFactoryTestMixin -class TestDummyDataSourceBundle(DataSourceBundleTestMixin, unittest.TestCase): +class TestDummyDataSourceBundle(DataSourceFactoryTestMixin, unittest.TestCase): @property - def bundle_class(self): - return DummyDataSourceBundle + def factory_class(self): + return DummyDataSourceFactory @property def model_class(self): diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_bundle.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_factory.py similarity index 69% rename from force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_bundle.py rename to force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_factory.py index 0653618..18176e3 100644 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_bundle.py +++ b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/dummy_kpi_calculator_factory.py @@ -1,11 +1,11 @@ from traits.api import String -from force_bdss.api import bundle_id, BaseKPICalculatorBundle +from force_bdss.api import factory_id, BaseKPICalculatorFactory from .dummy_kpi_calculator import DummyKPICalculator from .dummy_kpi_calculator_model import DummyKPICalculatorModel -class DummyKPICalculatorBundle(BaseKPICalculatorBundle): - id = String(bundle_id("enthought", "dummy_kpi_calculator")) +class DummyKPICalculatorFactory(BaseKPICalculatorFactory): + id = String(factory_id("enthought", "dummy_kpi_calculator")) name = String("Dummy KPI") diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator.py index b0cd5c4..cf9e96d 100644 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator.py +++ b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator.py @@ -8,14 +8,14 @@ except ImportError: from force_bdss.core_plugins.dummy.dummy_kpi_calculator.dummy_kpi_calculator \ import DummyKPICalculator from force_bdss.core_plugins.dummy.dummy_kpi_calculator \ - .dummy_kpi_calculator_bundle import DummyKPICalculatorBundle + .dummy_kpi_calculator_factory import DummyKPICalculatorFactory from force_bdss.core_plugins.dummy.dummy_kpi_calculator \ .dummy_kpi_calculator_model import DummyKPICalculatorModel class TestDummyKPICalculator(unittest.TestCase): def test_run(self): - bundle = mock.Mock(spec=DummyKPICalculatorBundle) + bundle = mock.Mock(spec=DummyKPICalculatorFactory) kpic = DummyKPICalculator(bundle) model = DummyKPICalculatorModel(bundle) input_ = [] @@ -23,7 +23,7 @@ class TestDummyKPICalculator(unittest.TestCase): self.assertEqual(input_, output) def test_slots(self): - bundle = mock.Mock(spec=DummyKPICalculatorBundle) + bundle = mock.Mock(spec=DummyKPICalculatorFactory) kpic = DummyKPICalculator(bundle) model = DummyKPICalculatorModel(bundle) self.assertEqual(kpic.slots(model), ((), ())) diff --git a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator_bundle.py b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator_bundle.py index 5fd0dc9..78a15eb 100644 --- a/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator_bundle.py +++ b/force_bdss/core_plugins/dummy/dummy_kpi_calculator/tests/test_dummy_kpi_calculator_bundle.py @@ -4,22 +4,22 @@ from force_bdss.core_plugins.dummy.dummy_kpi_calculator.dummy_kpi_calculator\ import \ DummyKPICalculator from force_bdss.core_plugins.dummy.dummy_kpi_calculator\ - .dummy_kpi_calculator_bundle import \ - DummyKPICalculatorBundle + .dummy_kpi_calculator_factory import \ + DummyKPICalculatorFactory from force_bdss.core_plugins.dummy.dummy_kpi_calculator\ .dummy_kpi_calculator_model import \ DummyKPICalculatorModel -from force_bdss.core_plugins.dummy.tests.kpi_calculator_bundle_test_mixin \ +from force_bdss.core_plugins.dummy.tests.kpi_calculator_factory_test_mixin \ import \ - KPICalculatorBundleTestMixin + KPICalculatorFactoryTestMixin class TestDummyKPICalculatorBundle( - KPICalculatorBundleTestMixin, unittest.TestCase): + KPICalculatorFactoryTestMixin, unittest.TestCase): @property - def bundle_class(self): - return DummyKPICalculatorBundle + def factory_class(self): + return DummyKPICalculatorFactory @property def kpi_calculator_class(self): diff --git a/force_bdss/core_plugins/dummy/dummy_plugin.py b/force_bdss/core_plugins/dummy/dummy_plugin.py index 6fe74b0..903e961 100644 --- a/force_bdss/core_plugins/dummy/dummy_plugin.py +++ b/force_bdss/core_plugins/dummy/dummy_plugin.py @@ -1,10 +1,10 @@ from force_bdss.api import BaseExtensionPlugin, plugin_id -from .csv_extractor.csv_extractor_bundle import CSVExtractorBundle -from .kpi_adder.kpi_adder_bundle import KPIAdderBundle -from .dummy_dakota.dakota_bundle import DummyDakotaBundle -from .dummy_data_source.dummy_data_source_bundle import DummyDataSourceBundle -from .dummy_kpi_calculator.dummy_kpi_calculator_bundle import ( - DummyKPICalculatorBundle +from .csv_extractor.csv_extractor_factory import CSVExtractorFactory +from .kpi_adder.kpi_adder_factory import KPIAdderFactory +from .dummy_dakota.dakota_factory import DummyDakotaFactory +from .dummy_data_source.dummy_data_source_factory import DummyDataSourceFactory +from .dummy_kpi_calculator.dummy_kpi_calculator_factory import ( + DummyKPICalculatorFactory ) @@ -12,12 +12,12 @@ class DummyPlugin(BaseExtensionPlugin): id = plugin_id("enthought", "DummyPlugin") def _data_source_bundles_default(self): - return [DummyDataSourceBundle(self), - CSVExtractorBundle(self)] + return [DummyDataSourceFactory(self), + CSVExtractorFactory(self)] def _mco_bundles_default(self): - return [DummyDakotaBundle(self)] + return [DummyDakotaFactory(self)] def _kpi_calculator_bundles_default(self): - return [DummyKPICalculatorBundle(self), - KPIAdderBundle(self)] + return [DummyKPICalculatorFactory(self), + KPIAdderFactory(self)] diff --git a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_bundle.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_factory.py similarity index 70% rename from force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_bundle.py rename to force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_factory.py index 76535e5..f001ff5 100644 --- a/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_bundle.py +++ b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_factory.py @@ -1,13 +1,13 @@ from traits.api import String -from force_bdss.api import bundle_id, BaseKPICalculatorBundle +from force_bdss.api import factory_id, BaseKPICalculatorFactory from .kpi_adder_model import KPIAdderModel from .kpi_adder_calculator import KPIAdderCalculator -class KPIAdderBundle(BaseKPICalculatorBundle): - id = String(bundle_id("enthought", "kpi_adder")) +class KPIAdderFactory(BaseKPICalculatorFactory): + id = String(factory_id("enthought", "kpi_adder")) name = String("KPI Adder") diff --git a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_bundle.py b/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_bundle.py index a71462d..42ac211 100644 --- a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_bundle.py +++ b/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_bundle.py @@ -1,22 +1,22 @@ import unittest -from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_bundle import \ - KPIAdderBundle +from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_factory import \ + KPIAdderFactory from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_calculator import \ KPIAdderCalculator from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_model import \ KPIAdderModel -from force_bdss.core_plugins.dummy.tests.kpi_calculator_bundle_test_mixin \ +from force_bdss.core_plugins.dummy.tests.kpi_calculator_factory_test_mixin \ import \ - KPICalculatorBundleTestMixin + KPICalculatorFactoryTestMixin class TestDummyKPICalculatorBundle( - KPICalculatorBundleTestMixin, unittest.TestCase): + KPICalculatorFactoryTestMixin, unittest.TestCase): @property - def bundle_class(self): - return KPIAdderBundle + def factory_class(self): + return KPIAdderFactory @property def kpi_calculator_class(self): diff --git a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_calculator.py b/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_calculator.py index f0bb6bc..d12f689 100644 --- a/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_calculator.py +++ b/force_bdss/core_plugins/dummy/kpi_adder/tests/test_kpi_adder_calculator.py @@ -3,7 +3,7 @@ import unittest from force_bdss.core.data_value import DataValue from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_model import \ KPIAdderModel -from force_bdss.kpi.base_kpi_calculator_bundle import BaseKPICalculatorBundle +from force_bdss.kpi.base_kpi_calculator_factory import BaseKPICalculatorFactory try: import mock @@ -16,8 +16,8 @@ from force_bdss.core_plugins.dummy.kpi_adder.kpi_adder_calculator import \ class TestKPIAdderCalculator(unittest.TestCase): def test_basic_functionality(self): - kpic = KPIAdderCalculator(mock.Mock(spec=BaseKPICalculatorBundle)) - model = KPIAdderModel(mock.Mock(spec=BaseKPICalculatorBundle)) + kpic = KPIAdderCalculator(mock.Mock(spec=BaseKPICalculatorFactory)) + model = KPIAdderModel(mock.Mock(spec=BaseKPICalculatorFactory)) model.cuba_type_in = "PRESSURE" model.cuba_type_out = "TOTAL_PRESSURE" dv1 = DataValue(type="PRESSURE", value=10) @@ -28,8 +28,8 @@ class TestKPIAdderCalculator(unittest.TestCase): self.assertEqual(res[0].value, 40) def test_slots(self): - kpic = KPIAdderCalculator(mock.Mock(spec=BaseKPICalculatorBundle)) - model = KPIAdderModel(mock.Mock(spec=BaseKPICalculatorBundle)) + kpic = KPIAdderCalculator(mock.Mock(spec=BaseKPICalculatorFactory)) + model = KPIAdderModel(mock.Mock(spec=BaseKPICalculatorFactory)) in_slot, out_slot = kpic.slots(model) self.assertEqual(len(in_slot), 3) self.assertEqual(len(out_slot), 1) diff --git a/force_bdss/core_plugins/dummy/tests/data_source_bundle_test_mixin.py b/force_bdss/core_plugins/dummy/tests/data_source_factory_test_mixin.py similarity index 78% rename from force_bdss/core_plugins/dummy/tests/data_source_bundle_test_mixin.py rename to force_bdss/core_plugins/dummy/tests/data_source_factory_test_mixin.py index 011a2b3..c37d208 100644 --- a/force_bdss/core_plugins/dummy/tests/data_source_bundle_test_mixin.py +++ b/force_bdss/core_plugins/dummy/tests/data_source_factory_test_mixin.py @@ -6,15 +6,15 @@ except ImportError: from unittest import mock -class DataSourceBundleTestMixin(object): +class DataSourceFactoryTestMixin(object): def setUp(self): self.plugin = mock.Mock(spec=Plugin) - super(DataSourceBundleTestMixin, self).setUp() + super(DataSourceFactoryTestMixin, self).setUp() # Note: we can't use metaclasses. Apparently using six.with_metaclass # breaks the unittest TestCase mechanism. py3 metaclassing works. @property - def bundle_class(self): + def factory_class(self): raise NotImplementedError() @property @@ -26,12 +26,12 @@ class DataSourceBundleTestMixin(object): raise NotImplementedError() def test_initialization(self): - bundle = self.bundle_class(self.plugin) + bundle = self.factory_class(self.plugin) self.assertNotEqual(bundle.id, "") self.assertEqual(bundle.plugin, self.plugin) def test_create_model(self): - bundle = self.bundle_class(self.plugin) + bundle = self.factory_class(self.plugin) model = bundle.create_model({}) self.assertIsInstance(model, self.model_class) @@ -39,6 +39,6 @@ class DataSourceBundleTestMixin(object): self.assertIsInstance(model, self.model_class) def test_create_data_source(self): - bundle = self.bundle_class(self.plugin) + bundle = self.factory_class(self.plugin) ds = bundle.create_data_source() self.assertIsInstance(ds, self.data_source_class) diff --git a/force_bdss/core_plugins/dummy/tests/kpi_calculator_bundle_test_mixin.py b/force_bdss/core_plugins/dummy/tests/kpi_calculator_factory_test_mixin.py similarity index 76% rename from force_bdss/core_plugins/dummy/tests/kpi_calculator_bundle_test_mixin.py rename to force_bdss/core_plugins/dummy/tests/kpi_calculator_factory_test_mixin.py index d89ccef..8f6208f 100644 --- a/force_bdss/core_plugins/dummy/tests/kpi_calculator_bundle_test_mixin.py +++ b/force_bdss/core_plugins/dummy/tests/kpi_calculator_factory_test_mixin.py @@ -6,13 +6,13 @@ except ImportError: from envisage.api import Plugin -class KPICalculatorBundleTestMixin(object): +class KPICalculatorFactoryTestMixin(object): def setUp(self): self.plugin = mock.Mock(spec=Plugin) - super(KPICalculatorBundleTestMixin, self).setUp() + super(KPICalculatorFactoryTestMixin, self).setUp() @property - def bundle_class(self): + def factory_class(self): raise NotImplementedError() @property @@ -24,12 +24,12 @@ class KPICalculatorBundleTestMixin(object): raise NotImplementedError() def test_initialization(self): - bundle = self.bundle_class(self.plugin) + bundle = self.factory_class(self.plugin) self.assertNotEqual(bundle.id, "") self.assertEqual(bundle.plugin, self.plugin) def test_create_model(self): - bundle = self.bundle_class(self.plugin) + bundle = self.factory_class(self.plugin) model = bundle.create_model({}) self.assertIsInstance(model, self.model_class) @@ -37,6 +37,6 @@ class KPICalculatorBundleTestMixin(object): self.assertIsInstance(model, self.model_class) def test_create_kpi_calculator(self): - bundle = self.bundle_class(self.plugin) + bundle = self.factory_class(self.plugin) ds = bundle.create_kpi_calculator() self.assertIsInstance(ds, self.kpi_calculator_class) diff --git a/force_bdss/core_plugins/dummy/tests/test_direct_execution.py b/force_bdss/core_plugins/dummy/tests/test_direct_execution.py index 7f4b736..2accf32 100644 --- a/force_bdss/core_plugins/dummy/tests/test_direct_execution.py +++ b/force_bdss/core_plugins/dummy/tests/test_direct_execution.py @@ -3,7 +3,7 @@ from traits.api import List from envisage.application import Application -from force_bdss.bundle_registry_plugin import BundleRegistryPlugin +from force_bdss.factory_registry_plugin import FactoryRegistryPlugin from force_bdss.cli.tests.test_execution import cd try: @@ -16,7 +16,7 @@ from force_bdss.core_plugins.dummy.dummy_plugin import DummyPlugin from force_bdss.tests import fixtures -class DummyBundleRegistryPlugin(BundleRegistryPlugin): +class DummyBundleRegistryPlugin(FactoryRegistryPlugin): mco_bundles = List() kpi_calculator_bundles = List() data_source_bundles = List() diff --git a/force_bdss/data_sources/base_data_source.py b/force_bdss/data_sources/base_data_source.py index be9fb39..0c7d487 100644 --- a/force_bdss/data_sources/base_data_source.py +++ b/force_bdss/data_sources/base_data_source.py @@ -1,7 +1,7 @@ from traits.api import ABCHasStrictTraits, Instance import abc -from ..data_sources.i_data_source_bundle import IDataSourceBundle +from ..data_sources.i_data_source_factory import IDataSourceFactory class BaseDataSource(ABCHasStrictTraits): @@ -11,10 +11,10 @@ class BaseDataSource(ABCHasStrictTraits): Inherit from this class for your specific DataSource. """ #: A reference to the bundle - bundle = Instance(IDataSourceBundle) + factory = Instance(IDataSourceFactory) - def __init__(self, bundle, *args, **kwargs): - self.bundle = bundle + def __init__(self, factory, *args, **kwargs): + self.factory = factory super(BaseDataSource, self).__init__(*args, **kwargs) @abc.abstractmethod diff --git a/force_bdss/data_sources/base_data_source_bundle.py b/force_bdss/data_sources/base_data_source_factory.py similarity index 88% rename from force_bdss/data_sources/base_data_source_bundle.py rename to force_bdss/data_sources/base_data_source_factory.py index 585e31b..ed98aa1 100644 --- a/force_bdss/data_sources/base_data_source_bundle.py +++ b/force_bdss/data_sources/base_data_source_factory.py @@ -2,11 +2,11 @@ import abc from traits.api import ABCHasStrictTraits, provides, String, Instance from envisage.plugin import Plugin -from .i_data_source_bundle import IDataSourceBundle +from .i_data_source_factory import IDataSourceFactory -@provides(IDataSourceBundle) -class BaseDataSourceBundle(ABCHasStrictTraits): +@provides(IDataSourceFactory) +class BaseDataSourceFactory(ABCHasStrictTraits): """Base class for DataSource bundles. Reimplement this class to create your own DataSource. """ @@ -24,7 +24,7 @@ class BaseDataSourceBundle(ABCHasStrictTraits): def __init__(self, plugin, *args, **kwargs): self.plugin = plugin - super(BaseDataSourceBundle, self).__init__(*args, **kwargs) + super(BaseDataSourceFactory, self).__init__(*args, **kwargs) @abc.abstractmethod def create_data_source(self): diff --git a/force_bdss/data_sources/base_data_source_model.py b/force_bdss/data_sources/base_data_source_model.py index 2326075..eb5ee77 100644 --- a/force_bdss/data_sources/base_data_source_model.py +++ b/force_bdss/data_sources/base_data_source_model.py @@ -1,7 +1,7 @@ from traits.api import ABCHasStrictTraits, Instance, List, String from force_bdss.core.input_slot_map import InputSlotMap -from .i_data_source_bundle import IDataSourceBundle +from .i_data_source_factory import IDataSourceFactory class BaseDataSourceModel(ABCHasStrictTraits): @@ -14,7 +14,7 @@ class BaseDataSourceModel(ABCHasStrictTraits): """ #: A reference to the creating bundle, so that we can #: retrieve it as the originating factory. - bundle = Instance(IDataSourceBundle, visible=False, transient=True) + factory = Instance(IDataSourceFactory, visible=False, transient=True) #: Specifies binding between input slots and source for that value. #: Each InputSlotMap instance specifies this information for each of the @@ -25,8 +25,8 @@ class BaseDataSourceModel(ABCHasStrictTraits): #: referenced somewhere else (e.g. the KPICalculators). output_slot_names = List(String()) - def __init__(self, bundle, *args, **kwargs): - self.bundle = bundle + def __init__(self, factory, *args, **kwargs): + self.factory = factory super(BaseDataSourceModel, self).__init__(*args, **kwargs) def __getstate__(self): diff --git a/force_bdss/data_sources/i_data_source_bundle.py b/force_bdss/data_sources/i_data_source_factory.py similarity index 66% rename from force_bdss/data_sources/i_data_source_bundle.py rename to force_bdss/data_sources/i_data_source_factory.py index 0f803e3..9213c09 100644 --- a/force_bdss/data_sources/i_data_source_bundle.py +++ b/force_bdss/data_sources/i_data_source_factory.py @@ -2,11 +2,11 @@ from envisage.api import Plugin from traits.api import Interface, String, Instance -class IDataSourceBundle(Interface): - """Envisage required interface for the BaseDataSourceBundle. +class IDataSourceFactory(Interface): + """Envisage required interface for the BaseDataSourceFactory. You should not need to use this directly. - Refer to the BaseDataSourceBundle for documentation. + Refer to the BaseDataSourceFactory for documentation. """ id = String() diff --git a/force_bdss/data_sources/tests/test_base_data_source.py b/force_bdss/data_sources/tests/test_base_data_source.py index a4de041..23c643d 100644 --- a/force_bdss/data_sources/tests/test_base_data_source.py +++ b/force_bdss/data_sources/tests/test_base_data_source.py @@ -1,7 +1,7 @@ import unittest from force_bdss.data_sources.base_data_source import BaseDataSource -from force_bdss.data_sources.i_data_source_bundle import IDataSourceBundle +from force_bdss.data_sources.i_data_source_factory import IDataSourceFactory try: import mock @@ -19,7 +19,7 @@ class DummyDataSource(BaseDataSource): class TestBaseDataSource(unittest.TestCase): def test_initialization(self): - bundle = mock.Mock(spec=IDataSourceBundle) - ds = DummyDataSource(bundle) + factory = mock.Mock(spec=IDataSourceFactory) + ds = DummyDataSource(factory) - self.assertEqual(ds.bundle, bundle) + self.assertEqual(ds.factory, factory) diff --git a/force_bdss/data_sources/tests/test_base_data_source_bundle.py b/force_bdss/data_sources/tests/test_base_data_source_bundle.py index b699423..3c0a5e1 100644 --- a/force_bdss/data_sources/tests/test_base_data_source_bundle.py +++ b/force_bdss/data_sources/tests/test_base_data_source_bundle.py @@ -5,11 +5,11 @@ except ImportError: from unittest import mock from envisage.plugin import Plugin -from force_bdss.data_sources.base_data_source_bundle import \ - BaseDataSourceBundle +from force_bdss.data_sources.base_data_source_factory import \ + BaseDataSourceFactory -class DummyDataSourceBundle(BaseDataSourceBundle): +class DummyDataSourceBundle(BaseDataSourceFactory): id = "foo" name = "bar" diff --git a/force_bdss/data_sources/tests/test_base_data_source_model.py b/force_bdss/data_sources/tests/test_base_data_source_model.py index e0e3a0f..25b8d9a 100644 --- a/force_bdss/data_sources/tests/test_base_data_source_model.py +++ b/force_bdss/data_sources/tests/test_base_data_source_model.py @@ -7,8 +7,8 @@ try: except ImportError: from unittest import mock -from force_bdss.data_sources.base_data_source_bundle import \ - BaseDataSourceBundle +from force_bdss.data_sources.base_data_source_factory import \ + BaseDataSourceFactory from force_bdss.data_sources.base_data_source_model import BaseDataSourceModel @@ -18,7 +18,7 @@ class DummyDataSourceModel(BaseDataSourceModel): class TestBaseDataSourceModel(unittest.TestCase): def test_getstate(self): - model = DummyDataSourceModel(mock.Mock(spec=BaseDataSourceBundle)) + model = DummyDataSourceModel(mock.Mock(spec=BaseDataSourceFactory)) self.assertEqual( model.__getstate__(), { diff --git a/force_bdss/bundle_registry_plugin.py b/force_bdss/factory_registry_plugin.py similarity index 92% rename from force_bdss/bundle_registry_plugin.py rename to force_bdss/factory_registry_plugin.py index 44e7d48..60b4b23 100644 --- a/force_bdss/bundle_registry_plugin.py +++ b/force_bdss/factory_registry_plugin.py @@ -3,18 +3,18 @@ from envisage.plugin import Plugin from traits.api import List from force_bdss.ids import ExtensionPointID -from .data_sources.i_data_source_bundle import ( - IDataSourceBundle) -from .kpi.i_kpi_calculator_bundle import IKPICalculatorBundle -from .mco.i_mco_bundle import ( - IMCOBundle +from .data_sources.i_data_source_factory import ( + IDataSourceFactory) +from .kpi.i_kpi_calculator_factory import IKPICalculatorFactory +from .mco.i_mco_factory import ( + IMCOFactory ) BUNDLE_REGISTRY_PLUGIN_ID = "force.bdss.plugins.bundle_registry" -class BundleRegistryPlugin(Plugin): +class FactoryRegistryPlugin(Plugin): """Main plugin that handles the execution of the MCO or the evaluation. """ @@ -28,19 +28,19 @@ class BundleRegistryPlugin(Plugin): #: A List of the available Multi Criteria Optimizers. #: This will be populated by MCO plugins. mco_bundles = ExtensionPoint( - List(IMCOBundle), + List(IMCOFactory), id=ExtensionPointID.MCO_BUNDLES) #: A list of the available Data Sources. #: It will be populated by plugins. data_source_bundles = ExtensionPoint( - List(IDataSourceBundle), + List(IDataSourceFactory), id=ExtensionPointID.DATA_SOURCE_BUNDLES) #: A list of the available Key Performance Indicator calculators. #: It will be populated by plugins. kpi_calculator_bundles = ExtensionPoint( - List(IKPICalculatorBundle), + List(IKPICalculatorFactory), id=ExtensionPointID.KPI_CALCULATOR_BUNDLES) def data_source_bundle_by_id(self, id): diff --git a/force_bdss/ids.py b/force_bdss/ids.py index 4e5c414..3c999d8 100644 --- a/force_bdss/ids.py +++ b/force_bdss/ids.py @@ -14,7 +14,7 @@ class ExtensionPointID: KPI_CALCULATOR_BUNDLES = 'force.bdss.kpi_calculator.bundles' -def bundle_id(producer, identifier): +def factory_id(producer, identifier): """Creates an id for the bundle. Parameters diff --git a/force_bdss/io/tests/test_workflow_reader.py b/force_bdss/io/tests/test_workflow_reader.py index 9119702..1e1eebf 100644 --- a/force_bdss/io/tests/test_workflow_reader.py +++ b/force_bdss/io/tests/test_workflow_reader.py @@ -2,7 +2,7 @@ import json import unittest from six import StringIO -from force_bdss.bundle_registry_plugin import BundleRegistryPlugin +from force_bdss.factory_registry_plugin import FactoryRegistryPlugin from force_bdss.io.workflow_reader import ( WorkflowReader, InvalidVersionException, InvalidFileException) @@ -15,12 +15,12 @@ except ImportError: class TestWorkflowReader(unittest.TestCase): def setUp(self): - self.mock_bundle_registry = mock.Mock(spec=BundleRegistryPlugin) + self.mock_bundle_registry = mock.Mock(spec=FactoryRegistryPlugin) self.wfreader = WorkflowReader(self.mock_bundle_registry) def test_initialization(self): - self.assertEqual(self.wfreader.bundle_registry, + self.assertEqual(self.wfreader.factory_registry, self.mock_bundle_registry) def test_invalid_version(self): diff --git a/force_bdss/io/tests/test_workflow_writer.py b/force_bdss/io/tests/test_workflow_writer.py index 0dc1397..16cf15a 100644 --- a/force_bdss/io/tests/test_workflow_writer.py +++ b/force_bdss/io/tests/test_workflow_writer.py @@ -3,7 +3,7 @@ import unittest from six import StringIO -from force_bdss.bundle_registry_plugin import BundleRegistryPlugin +from force_bdss.factory_registry_plugin import FactoryRegistryPlugin from force_bdss.io.workflow_reader import WorkflowReader from force_bdss.mco.parameters.base_mco_parameter import BaseMCOParameter from force_bdss.mco.parameters.base_mco_parameter_factory import \ @@ -14,27 +14,27 @@ try: except ImportError: from unittest import mock -from force_bdss.ids import bundle_id, mco_parameter_id +from force_bdss.ids import factory_id, mco_parameter_id from force_bdss.io.workflow_writer import WorkflowWriter from force_bdss.mco.base_mco_model import BaseMCOModel -from force_bdss.mco.i_mco_bundle import IMCOBundle +from force_bdss.mco.i_mco_factory import IMCOFactory from force_bdss.core.workflow import Workflow class TestWorkflowWriter(unittest.TestCase): def setUp(self): - self.mock_registry = mock.Mock(spec=BundleRegistryPlugin) - mock_mco_bundle = mock.Mock(spec=IMCOBundle, - id=bundle_id("enthought", "mock")) + self.mock_registry = mock.Mock(spec=FactoryRegistryPlugin) + mock_mco_factory = mock.Mock(spec=IMCOFactory, + id=factory_id("enthought", "mock")) mock_mco_model = mock.Mock( spec=BaseMCOModel, - bundle=mock_mco_bundle + factory=mock_mco_factory ) - mock_mco_bundle.create_model = mock.Mock( + mock_mco_factory.create_model = mock.Mock( return_value=mock_mco_model ) self.mock_registry.mco_bundle_by_id = mock.Mock( - return_value=mock_mco_bundle) + return_value=mock_mco_factory) def test_write(self): wfwriter = WorkflowWriter() @@ -57,15 +57,15 @@ class TestWorkflowWriter(unittest.TestCase): fp.seek(0) wfreader = WorkflowReader(self.mock_registry) wf_result = wfreader.read(fp) - self.assertEqual(wf_result.mco.bundle.id, - wf.mco.bundle.id) + self.assertEqual(wf_result.mco.factory.id, + wf.mco.factory.id) def _create_mock_workflow(self): wf = Workflow() wf.mco = BaseMCOModel( mock.Mock( - spec=IMCOBundle, - id=bundle_id("enthought", "mock"))) + spec=IMCOFactory, + id=factory_id("enthought", "mock"))) wf.mco.parameters = [ BaseMCOParameter( factory=mock.Mock( diff --git a/force_bdss/io/workflow_reader.py b/force_bdss/io/workflow_reader.py index d82c917..dde0289 100644 --- a/force_bdss/io/workflow_reader.py +++ b/force_bdss/io/workflow_reader.py @@ -5,7 +5,7 @@ from traits.api import HasStrictTraits, Instance from force_bdss.core.input_slot_map import InputSlotMap from force_bdss.core.workflow import Workflow -from ..bundle_registry_plugin import BundleRegistryPlugin +from ..factory_registry_plugin import FactoryRegistryPlugin SUPPORTED_FILE_VERSIONS = ["1"] @@ -23,9 +23,9 @@ class WorkflowReader(HasStrictTraits): """ Reads the workflow from a file. """ - #: The bundle registry. The reader needs it to create the - #: bundle-specific model objects. - bundle_registry = Instance(BundleRegistryPlugin) + #: The Factory registry. The reader needs it to create the + #: specific model objects. + factory_registry = Instance(FactoryRegistryPlugin) def __init__(self, bundle_registry, @@ -35,11 +35,11 @@ class WorkflowReader(HasStrictTraits): Parameters ---------- - bundle_registry: BundleRegistryPlugin + bundle_registry: FactoryRegistryPlugin The bundle registry that provides lookup services for a bundle identified by a given id. """ - self.bundle_registry = bundle_registry + self.factory_registry = bundle_registry super(WorkflowReader, self).__init__(*args, **kwargs) @@ -105,11 +105,11 @@ class WorkflowReader(HasStrictTraits): Returns ------- - a BaseMCOModel instance of the bundle-specific MCO driver, or None + a BaseMCOModel instance of the specific MCO driver, or None if no MCO is specified in the file (as in the case of premature saving). """ - registry = self.bundle_registry + registry = self.factory_registry mco_data = wf_data.get("mco") if mco_data is None: @@ -118,12 +118,12 @@ class WorkflowReader(HasStrictTraits): return None mco_id = mco_data["id"] - mco_bundle = registry.mco_bundle_by_id(mco_id) + mco_factory = registry.mco_bundle_by_id(mco_id) model_data = wf_data["mco"]["model_data"] model_data["parameters"] = self._extract_mco_parameters( mco_id, model_data["parameters"]) - model = mco_bundle.create_model( + model = mco_factory.create_model( wf_data["mco"]["model_data"]) return model @@ -138,19 +138,19 @@ class WorkflowReader(HasStrictTraits): Returns ------- list of BaseDataSourceModel instances. Each BaseDataSourceModel is an - instance of the bundle specific model class. The list can be empty. + instance of the specific model class. The list can be empty. """ - registry = self.bundle_registry + registry = self.factory_registry data_sources = [] for ds_entry in wf_data["data_sources"]: ds_id = ds_entry["id"] - ds_bundle = registry.data_source_bundle_by_id(ds_id) + ds_factory = registry.data_source_bundle_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"] ) - data_sources.append(ds_bundle.create_model(model_data)) + data_sources.append(ds_factory.create_model(model_data)) return data_sources @@ -165,22 +165,22 @@ class WorkflowReader(HasStrictTraits): Returns ------- list of BaseKPICalculatorModel instances. Each BaseKPICalculatorModel - is an instance of the bundle specific model class. The list can be + is an instance of the specific model class. The list can be empty. """ - registry = self.bundle_registry + registry = self.factory_registry kpi_calculators = [] for kpic_entry in wf_data["kpi_calculators"]: kpic_id = kpic_entry["id"] - kpic_bundle = registry.kpi_calculator_bundle_by_id(kpic_id) + kpic_factory = registry.kpi_calculator_bundle_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"] ) kpi_calculators.append( - kpic_bundle.create_model(model_data) + kpic_factory.create_model(model_data) ) return kpi_calculators @@ -197,7 +197,7 @@ class WorkflowReader(HasStrictTraits): ------- List of instances of a subclass of BaseMCOParameter """ - registry = self.bundle_registry + registry = self.factory_registry parameters = [] diff --git a/force_bdss/io/workflow_writer.py b/force_bdss/io/workflow_writer.py index 4b95989..8335d5b 100644 --- a/force_bdss/io/workflow_writer.py +++ b/force_bdss/io/workflow_writer.py @@ -28,10 +28,10 @@ class WorkflowWriter(HasStrictTraits): workflow_data = { "mco": self._mco_data(workflow.mco), "kpi_calculators": [ - self._bundle_model_data(kpic) + self._model_data(kpic) for kpic in workflow.kpi_calculators], "data_sources": [ - self._bundle_model_data(ds) + self._model_data(ds) for ds in workflow.data_sources] } @@ -43,7 +43,7 @@ class WorkflowWriter(HasStrictTraits): if mco is None: return None - data = self._bundle_model_data(mco) + data = self._model_data(mco) parameters_data = [] for param in data["model_data"]["parameters"]: @@ -57,11 +57,11 @@ class WorkflowWriter(HasStrictTraits): data["model_data"]["parameters"] = parameters_data return data - def _bundle_model_data(self, bundle_model): + def _model_data(self, model): """ - Extracts the data from a bundle model and returns its dictionary + Extracts the data from an external model and returns its dictionary """ return { - "id": bundle_model.bundle.id, - "model_data": bundle_model.__getstate__() + "id": model.factory.id, + "model_data": model.__getstate__() } diff --git a/force_bdss/kpi/base_kpi_calculator.py b/force_bdss/kpi/base_kpi_calculator.py index b757dd4..110d977 100644 --- a/force_bdss/kpi/base_kpi_calculator.py +++ b/force_bdss/kpi/base_kpi_calculator.py @@ -2,7 +2,7 @@ import abc from traits.api import ABCHasStrictTraits, Instance -from .i_kpi_calculator_bundle import IKPICalculatorBundle +from .i_kpi_calculator_factory import IKPICalculatorFactory class BaseKPICalculator(ABCHasStrictTraits): @@ -11,10 +11,10 @@ class BaseKPICalculator(ABCHasStrictTraits): Inherit this class for your KPI calculator. """ #: A reference to the bundle - bundle = Instance(IKPICalculatorBundle) + factory = Instance(IKPICalculatorFactory) - def __init__(self, bundle, *args, **kwargs): - self.bundle = bundle + def __init__(self, factory, *args, **kwargs): + self.factory = factory super(BaseKPICalculator, self).__init__(*args, **kwargs) @abc.abstractmethod diff --git a/force_bdss/kpi/base_kpi_calculator_bundle.py b/force_bdss/kpi/base_kpi_calculator_factory.py similarity index 79% rename from force_bdss/kpi/base_kpi_calculator_bundle.py rename to force_bdss/kpi/base_kpi_calculator_factory.py index 44e934f..57f3e02 100644 --- a/force_bdss/kpi/base_kpi_calculator_bundle.py +++ b/force_bdss/kpi/base_kpi_calculator_factory.py @@ -2,25 +2,25 @@ import abc from envisage.plugin import Plugin from traits.api import ABCHasStrictTraits, provides, String, Instance -from .i_kpi_calculator_bundle import IKPICalculatorBundle +from .i_kpi_calculator_factory import IKPICalculatorFactory -@provides(IKPICalculatorBundle) -class BaseKPICalculatorBundle(ABCHasStrictTraits): +@provides(IKPICalculatorFactory) +class BaseKPICalculatorFactory(ABCHasStrictTraits): """Base class for the Key Performance Indicator calculator bundles. Inherit from this class to create a bundle, and reimplement the abstract methods. """ # NOTE: any changes in this interface must be ported to - # IKPICalculatorBundle + # IKPICalculatorFactory - #: A unique ID generated with bundle_id() routine + #: A unique ID generated with factory_id() routine id = String() - #: A UI friendly name for the bundle. Can contain spaces. + #: A UI friendly name for the factory. Can contain spaces. name = String() - #: A reference to the plugin that holds this bundle. + #: A reference to the plugin that holds this factory. plugin = Instance(Plugin) def __init__(self, plugin, *args, **kwargs): @@ -32,7 +32,7 @@ class BaseKPICalculatorBundle(ABCHasStrictTraits): The plugin that holds this bundle. """ self.plugin = plugin - super(BaseKPICalculatorBundle, self).__init__(*args, **kwargs) + super(BaseKPICalculatorFactory, self).__init__(*args, **kwargs) @abc.abstractmethod def create_kpi_calculator(self): diff --git a/force_bdss/kpi/base_kpi_calculator_model.py b/force_bdss/kpi/base_kpi_calculator_model.py index 825b460..ffe6aa0 100644 --- a/force_bdss/kpi/base_kpi_calculator_model.py +++ b/force_bdss/kpi/base_kpi_calculator_model.py @@ -1,7 +1,7 @@ from traits.api import ABCHasStrictTraits, Instance, List, String from ..core.input_slot_map import InputSlotMap -from .i_kpi_calculator_bundle import IKPICalculatorBundle +from .i_kpi_calculator_factory import IKPICalculatorFactory class BaseKPICalculatorModel(ABCHasStrictTraits): @@ -14,7 +14,7 @@ class BaseKPICalculatorModel(ABCHasStrictTraits): """ #: A reference to the creating bundle, so that we can #: retrieve it as the originating factory. - bundle = Instance(IKPICalculatorBundle, visible=False, transient=True) + factory = Instance(IKPICalculatorFactory, visible=False, transient=True) #: Specifies binding between input slots and source for that value. #: Each InputSlotMap instance specifies this information for each of the @@ -26,7 +26,7 @@ class BaseKPICalculatorModel(ABCHasStrictTraits): output_slot_names = List(String()) def __init__(self, bundle, *args, **kwargs): - self.bundle = bundle + self.factory = bundle super(BaseKPICalculatorModel, self).__init__(*args, **kwargs) def __getstate__(self): diff --git a/force_bdss/kpi/i_kpi_calculator_bundle.py b/force_bdss/kpi/i_kpi_calculator_factory.py similarity index 65% rename from force_bdss/kpi/i_kpi_calculator_bundle.py rename to force_bdss/kpi/i_kpi_calculator_factory.py index 2c32b24..65a40c5 100644 --- a/force_bdss/kpi/i_kpi_calculator_bundle.py +++ b/force_bdss/kpi/i_kpi_calculator_factory.py @@ -2,11 +2,11 @@ from traits.api import Interface, String, Instance from envisage.plugin import Plugin -class IKPICalculatorBundle(Interface): - """Envisage required interface for the BaseKPICalculatorBundle. +class IKPICalculatorFactory(Interface): + """Envisage required interface for the BaseKPICalculatorFactory. You should not need to use this directly. - Refer to the BaseKPICalculatorBundle for documentation. + Refer to the BaseKPICalculatorFactory for documentation. """ id = String() diff --git a/force_bdss/kpi/tests/test_base_kpi_calculator.py b/force_bdss/kpi/tests/test_base_kpi_calculator.py index 334c191..35fd178 100644 --- a/force_bdss/kpi/tests/test_base_kpi_calculator.py +++ b/force_bdss/kpi/tests/test_base_kpi_calculator.py @@ -5,7 +5,7 @@ except ImportError: from unittest import mock from force_bdss.kpi.base_kpi_calculator import BaseKPICalculator -from force_bdss.kpi.i_kpi_calculator_bundle import IKPICalculatorBundle +from force_bdss.kpi.i_kpi_calculator_factory import IKPICalculatorFactory class DummyKPICalculator(BaseKPICalculator): @@ -18,7 +18,7 @@ class DummyKPICalculator(BaseKPICalculator): class TestBaseKPICalculator(unittest.TestCase): def test_initialization(self): - bundle = mock.Mock(spec=IKPICalculatorBundle) + bundle = mock.Mock(spec=IKPICalculatorFactory) kpic = DummyKPICalculator(bundle) - self.assertEqual(kpic.bundle, bundle) + self.assertEqual(kpic.factory, bundle) diff --git a/force_bdss/kpi/tests/test_base_kpi_calculator_bundle.py b/force_bdss/kpi/tests/test_base_kpi_calculator_bundle.py index f3cc87d..61f1970 100644 --- a/force_bdss/kpi/tests/test_base_kpi_calculator_bundle.py +++ b/force_bdss/kpi/tests/test_base_kpi_calculator_bundle.py @@ -6,11 +6,11 @@ try: except ImportError: from unittest import mock -from force_bdss.kpi.base_kpi_calculator_bundle import \ - BaseKPICalculatorBundle +from force_bdss.kpi.base_kpi_calculator_factory import \ + BaseKPICalculatorFactory -class DummyKPICalculatorBundle(BaseKPICalculatorBundle): +class DummyKPICalculatorBundle(BaseKPICalculatorFactory): id = "foo" name = "bar" diff --git a/force_bdss/kpi/tests/test_base_kpi_calculator_model.py b/force_bdss/kpi/tests/test_base_kpi_calculator_model.py index 64b81c2..5957a45 100644 --- a/force_bdss/kpi/tests/test_base_kpi_calculator_model.py +++ b/force_bdss/kpi/tests/test_base_kpi_calculator_model.py @@ -1,7 +1,7 @@ import unittest from force_bdss.core.input_slot_map import InputSlotMap -from force_bdss.kpi.base_kpi_calculator_bundle import BaseKPICalculatorBundle +from force_bdss.kpi.base_kpi_calculator_factory import BaseKPICalculatorFactory from force_bdss.kpi.base_kpi_calculator_model import BaseKPICalculatorModel try: @@ -17,7 +17,7 @@ class DummyKPICalculatorModel(BaseKPICalculatorModel): class TestBaseKPICalculatorModel(unittest.TestCase): def test_getstate(self): model = DummyKPICalculatorModel( - mock.Mock(spec=BaseKPICalculatorBundle)) + mock.Mock(spec=BaseKPICalculatorFactory)) self.assertEqual( model.__getstate__(), { diff --git a/force_bdss/mco/base_mco.py b/force_bdss/mco/base_mco.py index d2afbec..9c50c1c 100644 --- a/force_bdss/mco/base_mco.py +++ b/force_bdss/mco/base_mco.py @@ -2,7 +2,7 @@ import abc from traits.api import ABCHasStrictTraits, Instance -from .i_mco_bundle import IMCOBundle +from .i_mco_factory import IMCOFactory class BaseMCO(ABCHasStrictTraits): @@ -11,17 +11,17 @@ class BaseMCO(ABCHasStrictTraits): Inherit this class for your MCO implementation """ #: A reference to the bundle - bundle = Instance(IMCOBundle) + factory = Instance(IMCOFactory) - def __init__(self, bundle, *args, **kwargs): + def __init__(self, factory, *args, **kwargs): """Initializes the MCO. Parameters ---------- - bundle: BaseMCOBundle + factory: BaseMCOBundle The bundle this BaseMCO belongs to """ - self.bundle = bundle + self.factory = factory super(BaseMCO, self).__init__(*args, **kwargs) @abc.abstractmethod diff --git a/force_bdss/mco/base_mco_communicator.py b/force_bdss/mco/base_mco_communicator.py index cad5ef3..830e998 100644 --- a/force_bdss/mco/base_mco_communicator.py +++ b/force_bdss/mco/base_mco_communicator.py @@ -2,7 +2,7 @@ import abc from traits.api import ABCHasStrictTraits, Instance -from .i_mco_bundle import IMCOBundle +from .i_mco_factory import IMCOFactory class BaseMCOCommunicator(ABCHasStrictTraits): @@ -17,7 +17,7 @@ class BaseMCOCommunicator(ABCHasStrictTraits): again specified by the MCO. """ #: A reference to the bundle - bundle = Instance(IMCOBundle) + bundle = Instance(IMCOFactory) def __init__(self, bundle): self.bundle = bundle diff --git a/force_bdss/mco/base_mco_bundle.py b/force_bdss/mco/base_mco_factory.py similarity index 92% rename from force_bdss/mco/base_mco_bundle.py rename to force_bdss/mco/base_mco_factory.py index c8e0d6d..a270303 100644 --- a/force_bdss/mco/base_mco_bundle.py +++ b/force_bdss/mco/base_mco_factory.py @@ -3,11 +3,11 @@ import abc from traits.api import ABCHasStrictTraits, String, provides, Instance from envisage.plugin import Plugin -from .i_mco_bundle import IMCOBundle +from .i_mco_factory import IMCOFactory -@provides(IMCOBundle) -class BaseMCOBundle(ABCHasStrictTraits): +@provides(IMCOFactory) +class BaseMCOFactory(ABCHasStrictTraits): """Base class for the MultiCriteria Optimizer bundle. """ # NOTE: any changes to the interface of this class must be replicated @@ -24,7 +24,7 @@ class BaseMCOBundle(ABCHasStrictTraits): def __init__(self, plugin, *args, **kwargs): self.plugin = plugin - super(BaseMCOBundle, self).__init__(*args, **kwargs) + super(BaseMCOFactory, self).__init__(*args, **kwargs) @abc.abstractmethod def create_optimizer(self): diff --git a/force_bdss/mco/base_mco_model.py b/force_bdss/mco/base_mco_model.py index b096aed..896f484 100644 --- a/force_bdss/mco/base_mco_model.py +++ b/force_bdss/mco/base_mco_model.py @@ -1,26 +1,25 @@ from traits.api import ABCHasStrictTraits, Instance, List from .parameters.base_mco_parameter import BaseMCOParameter -from .i_mco_bundle import IMCOBundle +from .i_mco_factory import IMCOFactory class BaseMCOModel(ABCHasStrictTraits): - """Base class for the bundle specific MCO models. + """Base class for the specific MCO models. This model will also provide, through traits/traitsui magic the View that will appear in the workflow manager UI. - In your bundle definition, your bundle-specific model must reimplement - this class. + In your definition, your specific model must reimplement this class. """ #: A reference to the creating bundle, so that we can #: retrieve it as the originating factory. - bundle = Instance(IMCOBundle, - visible=False, - transient=True) + factory = Instance(IMCOFactory, + visible=False, + transient=True) # A list of the parameters for the MCO parameters = List(BaseMCOParameter) - def __init__(self, bundle, *args, **kwargs): - self.bundle = bundle + def __init__(self, factory, *args, **kwargs): + self.factory = factory super(BaseMCOModel, self).__init__(*args, **kwargs) diff --git a/force_bdss/mco/i_mco_bundle.py b/force_bdss/mco/i_mco_factory.py similarity index 94% rename from force_bdss/mco/i_mco_bundle.py rename to force_bdss/mco/i_mco_factory.py index 8c6afce..f3491e6 100644 --- a/force_bdss/mco/i_mco_bundle.py +++ b/force_bdss/mco/i_mco_factory.py @@ -2,7 +2,7 @@ from traits.api import Interface, String, Instance from envisage.plugin import Plugin -class IMCOBundle(Interface): +class IMCOFactory(Interface): """Interface for the BaseMCOBundle. You should not need it, as its main use is for envisage support. diff --git a/force_bdss/mco/parameters/base_mco_parameter_factory.py b/force_bdss/mco/parameters/base_mco_parameter_factory.py index efaa70c..cda303e 100644 --- a/force_bdss/mco/parameters/base_mco_parameter_factory.py +++ b/force_bdss/mco/parameters/base_mco_parameter_factory.py @@ -1,6 +1,6 @@ from traits.api import HasStrictTraits, String, Type, Instance -from ..base_mco_bundle import BaseMCOBundle +from ..base_mco_factory import BaseMCOFactory class BaseMCOParameterFactory(HasStrictTraits): @@ -13,7 +13,7 @@ class BaseMCOParameterFactory(HasStrictTraits): """ #: A reference to the bundle this parameter factory lives in. - bundle = Instance(BaseMCOBundle) + bundle = Instance(BaseMCOFactory) #: A unique string identifying the parameter id = String() diff --git a/force_bdss/mco/parameters/tests/test_base_mco_parameter_factory.py b/force_bdss/mco/parameters/tests/test_base_mco_parameter_factory.py index 45d586d..4c3a0ab 100644 --- a/force_bdss/mco/parameters/tests/test_base_mco_parameter_factory.py +++ b/force_bdss/mco/parameters/tests/test_base_mco_parameter_factory.py @@ -1,6 +1,6 @@ import unittest -from force_bdss.mco.base_mco_bundle import BaseMCOBundle +from force_bdss.mco.base_mco_factory import BaseMCOFactory try: import mock @@ -27,7 +27,7 @@ class DummyMCOParameterFactory(BaseMCOParameterFactory): class TestBaseMCOParameterFactory(unittest.TestCase): def test_initialization(self): - factory = DummyMCOParameterFactory(mock.Mock(spec=BaseMCOBundle)) + factory = DummyMCOParameterFactory(mock.Mock(spec=BaseMCOFactory)) model = factory.create_model({"x": 42}) self.assertIsInstance(model, DummyMCOParameter) self.assertEqual(model.x, 42) diff --git a/force_bdss/mco/tests/test_base_mco.py b/force_bdss/mco/tests/test_base_mco.py index e5e9130..2fc002f 100644 --- a/force_bdss/mco/tests/test_base_mco.py +++ b/force_bdss/mco/tests/test_base_mco.py @@ -1,7 +1,7 @@ import unittest from force_bdss.mco.base_mco import BaseMCO -from force_bdss.mco.i_mco_bundle import IMCOBundle +from force_bdss.mco.i_mco_factory import IMCOFactory try: import mock @@ -16,7 +16,7 @@ class DummyMCO(BaseMCO): class TestBaseMultiCriteriaOptimizer(unittest.TestCase): def test_initialization(self): - bundle = mock.Mock(spec=IMCOBundle) + bundle = mock.Mock(spec=IMCOFactory) mco = DummyMCO(bundle) - self.assertEqual(mco.bundle, bundle) + self.assertEqual(mco.factory, bundle) diff --git a/force_bdss/mco/tests/test_base_mco_bundle.py b/force_bdss/mco/tests/test_base_mco_bundle.py index d5dfddc..9d2b3a5 100644 --- a/force_bdss/mco/tests/test_base_mco_bundle.py +++ b/force_bdss/mco/tests/test_base_mco_bundle.py @@ -7,10 +7,10 @@ except ImportError: from envisage.plugin import Plugin -from force_bdss.mco.base_mco_bundle import BaseMCOBundle +from force_bdss.mco.base_mco_factory import BaseMCOFactory -class DummyMCOBundle(BaseMCOBundle): +class DummyMCOBundle(BaseMCOFactory): id = "foo" name = "bar" diff --git a/force_bdss/mco/tests/test_base_mco_communicator.py b/force_bdss/mco/tests/test_base_mco_communicator.py index 5769444..c70905d 100644 --- a/force_bdss/mco/tests/test_base_mco_communicator.py +++ b/force_bdss/mco/tests/test_base_mco_communicator.py @@ -1,7 +1,7 @@ import unittest from force_bdss.mco.base_mco_communicator import BaseMCOCommunicator -from force_bdss.mco.i_mco_bundle import IMCOBundle +from force_bdss.mco.i_mco_factory import IMCOFactory try: import mock @@ -19,7 +19,7 @@ class DummyMCOCommunicator(BaseMCOCommunicator): class TestBaseMCOCommunicator(unittest.TestCase): def test_initialization(self): - bundle = mock.Mock(spec=IMCOBundle) + bundle = mock.Mock(spec=IMCOFactory) mcocomm = DummyMCOCommunicator(bundle) self.assertEqual(mcocomm.bundle, bundle) diff --git a/force_bdss/tests/test_bundle_registry_plugin.py b/force_bdss/tests/test_bundle_registry_plugin.py index 3050087..1cc889c 100644 --- a/force_bdss/tests/test_bundle_registry_plugin.py +++ b/force_bdss/tests/test_bundle_registry_plugin.py @@ -2,7 +2,7 @@ import unittest from force_bdss.base_extension_plugin import ( BaseExtensionPlugin) -from force_bdss.ids import bundle_id, mco_parameter_id +from force_bdss.ids import factory_id, mco_parameter_id from force_bdss.mco.parameters.base_mco_parameter_factory import \ BaseMCOParameterFactory @@ -13,16 +13,16 @@ except ImportError: from envisage.application import Application -from force_bdss.bundle_registry_plugin import BundleRegistryPlugin -from force_bdss.data_sources.i_data_source_bundle import IDataSourceBundle -from force_bdss.kpi.i_kpi_calculator_bundle import IKPICalculatorBundle -from force_bdss.mco.i_mco_bundle import \ - IMCOBundle +from force_bdss.factory_registry_plugin import FactoryRegistryPlugin +from force_bdss.data_sources.i_data_source_factory import IDataSourceFactory +from force_bdss.kpi.i_kpi_calculator_factory import IKPICalculatorFactory +from force_bdss.mco.i_mco_factory import \ + IMCOFactory class TestBundleRegistry(unittest.TestCase): def setUp(self): - self.plugin = BundleRegistryPlugin() + self.plugin = FactoryRegistryPlugin() self.app = Application([self.plugin]) self.app.start() self.app.stop() @@ -37,8 +37,8 @@ class MySuperPlugin(BaseExtensionPlugin): def _mco_bundles_default(self): return [ mock.Mock( - spec=IMCOBundle, - id=bundle_id("enthought", "mco1"), + spec=IMCOFactory, + id=factory_id("enthought", "mco1"), parameter_factories=mock.Mock(return_value=[ mock.Mock( spec=BaseMCOParameterFactory, @@ -48,23 +48,23 @@ class MySuperPlugin(BaseExtensionPlugin): )] def _data_source_bundles_default(self): - return [mock.Mock(spec=IDataSourceBundle, - id=bundle_id("enthought", "ds1")), - mock.Mock(spec=IDataSourceBundle, - id=bundle_id("enthought", "ds2"))] + return [mock.Mock(spec=IDataSourceFactory, + id=factory_id("enthought", "ds1")), + mock.Mock(spec=IDataSourceFactory, + id=factory_id("enthought", "ds2"))] def _kpi_calculator_bundles_default(self): - return [mock.Mock(spec=IKPICalculatorBundle, - id=bundle_id("enthought", "kpi1")), - mock.Mock(spec=IKPICalculatorBundle, - id=bundle_id("enthought", "kpi2")), - mock.Mock(spec=IKPICalculatorBundle, - id=bundle_id("enthought", "kpi3"))] + return [mock.Mock(spec=IKPICalculatorFactory, + id=factory_id("enthought", "kpi1")), + mock.Mock(spec=IKPICalculatorFactory, + id=factory_id("enthought", "kpi2")), + mock.Mock(spec=IKPICalculatorFactory, + id=factory_id("enthought", "kpi3"))] class TestBundleRegistryWithContent(unittest.TestCase): def setUp(self): - self.plugin = BundleRegistryPlugin() + self.plugin = FactoryRegistryPlugin() self.app = Application([self.plugin, MySuperPlugin()]) self.app.start() self.app.stop() @@ -75,23 +75,23 @@ class TestBundleRegistryWithContent(unittest.TestCase): self.assertEqual(len(self.plugin.kpi_calculator_bundles), 3) def test_lookup(self): - mco_id = bundle_id("enthought", "mco1") + mco_id = factory_id("enthought", "mco1") parameter_id = mco_parameter_id("enthought", "mco1", "ranged") self.assertEqual(self.plugin.mco_bundle_by_id(mco_id).id, mco_id) self.plugin.mco_parameter_factory_by_id(mco_id, parameter_id) for entry in ["ds1", "ds2"]: - id = bundle_id("enthought", entry) + id = factory_id("enthought", entry) self.assertEqual(self.plugin.data_source_bundle_by_id(id).id, id) for entry in ["kpi1", "kpi2", "kpi3"]: - id = bundle_id("enthought", entry) + id = factory_id("enthought", entry) self.assertEqual(self.plugin.kpi_calculator_bundle_by_id(id).id, id) with self.assertRaises(KeyError): self.plugin.mco_bundle_by_id( - bundle_id("enthought", "foo")) + factory_id("enthought", "foo")) with self.assertRaises(KeyError): self.plugin.mco_parameter_factory_by_id( @@ -101,17 +101,17 @@ class TestBundleRegistryWithContent(unittest.TestCase): with self.assertRaises(KeyError): self.plugin.data_source_bundle_by_id( - bundle_id("enthought", "foo") + factory_id("enthought", "foo") ) with self.assertRaises(KeyError): self.plugin.data_source_bundle_by_id( - bundle_id("enthought", "foo") + factory_id("enthought", "foo") ) with self.assertRaises(KeyError): self.plugin.kpi_calculator_bundle_by_id( - bundle_id("enthought", "foo") + factory_id("enthought", "foo") ) diff --git a/force_bdss/tests/test_core_evaluation_driver.py b/force_bdss/tests/test_core_evaluation_driver.py index 9f680fa..2649d19 100644 --- a/force_bdss/tests/test_core_evaluation_driver.py +++ b/force_bdss/tests/test_core_evaluation_driver.py @@ -1,18 +1,18 @@ import unittest from traits.api import Float, List -from force_bdss.bundle_registry_plugin import BundleRegistryPlugin +from force_bdss.factory_registry_plugin import FactoryRegistryPlugin from force_bdss.core.data_value import DataValue from force_bdss.core.slot import Slot from force_bdss.data_sources.base_data_source import BaseDataSource -from force_bdss.data_sources.base_data_source_bundle import \ - BaseDataSourceBundle +from force_bdss.data_sources.base_data_source_factory import \ + BaseDataSourceFactory from force_bdss.data_sources.base_data_source_model import BaseDataSourceModel -from force_bdss.ids import mco_parameter_id, bundle_id +from force_bdss.ids import mco_parameter_id, factory_id from force_bdss.kpi.base_kpi_calculator import BaseKPICalculator -from force_bdss.kpi.base_kpi_calculator_bundle import BaseKPICalculatorBundle +from force_bdss.kpi.base_kpi_calculator_factory import BaseKPICalculatorFactory from force_bdss.kpi.base_kpi_calculator_model import BaseKPICalculatorModel from force_bdss.mco.base_mco import BaseMCO -from force_bdss.mco.base_mco_bundle import BaseMCOBundle +from force_bdss.mco.base_mco_factory import BaseMCOFactory from force_bdss.mco.base_mco_communicator import BaseMCOCommunicator from force_bdss.mco.base_mco_model import BaseMCOModel from force_bdss.mco.parameters.base_mco_parameter import BaseMCOParameter @@ -70,8 +70,8 @@ class OneDataValueMCOCommunicator(BaseMCOCommunicator): ] -class NullMCOBundle(BaseMCOBundle): - id = bundle_id("enthought", "null_mco") +class NullMCOFactory(BaseMCOFactory): + id = factory_id("enthought", "null_mco") def create_model(self, model_data=None): return NullMCOModel(self, **model_data) @@ -114,8 +114,8 @@ class OneValueKPICalculator(BaseKPICalculator): return (), (Slot(), ) -class NullKPICalculatorBundle(BaseKPICalculatorBundle): - id = bundle_id("enthought", "null_kpic") +class NullKPICalculatorFactory(BaseKPICalculatorFactory): + id = factory_id("enthought", "null_kpic") name = "null_kpic" def create_model(self, model_data=None): @@ -159,8 +159,8 @@ class OneValueDataSource(BaseDataSource): ) -class NullDataSourceBundle(BaseDataSourceBundle): - id = bundle_id("enthought", "null_ds") +class NullDataSourceBundle(BaseDataSourceFactory): + id = factory_id("enthought", "null_ds") name = "null_ds" def create_model(self, model_data=None): @@ -170,18 +170,18 @@ class NullDataSourceBundle(BaseDataSourceBundle): return NullDataSource(self) -class DummyBundleRegistryPlugin(BundleRegistryPlugin): +class DummyFactoryRegistryPlugin(FactoryRegistryPlugin): mco_bundles = List() kpi_calculator_bundles = List() data_source_bundles = List() -def mock_bundle_registry_plugin(): - bundle_registry_plugin = DummyBundleRegistryPlugin() +def mock_factory_registry_plugin(): + bundle_registry_plugin = DummyFactoryRegistryPlugin() bundle_registry_plugin.mco_bundles = [ - NullMCOBundle(bundle_registry_plugin)] + NullMCOFactory(bundle_registry_plugin)] bundle_registry_plugin.kpi_calculator_bundles = [ - NullKPICalculatorBundle(bundle_registry_plugin)] + NullKPICalculatorFactory(bundle_registry_plugin)] bundle_registry_plugin.data_source_bundles = [ NullDataSourceBundle(bundle_registry_plugin)] return bundle_registry_plugin @@ -189,7 +189,7 @@ def mock_bundle_registry_plugin(): class TestCoreEvaluationDriver(unittest.TestCase): def setUp(self): - self.mock_bundle_registry_plugin = mock_bundle_registry_plugin() + self.mock_bundle_registry_plugin = mock_factory_registry_plugin() application = mock.Mock(spec=Application) application.get_plugin = mock.Mock( return_value=self.mock_bundle_registry_plugin diff --git a/force_bdss/tests/test_ids.py b/force_bdss/tests/test_ids.py index e8dbbb7..19c083f 100644 --- a/force_bdss/tests/test_ids.py +++ b/force_bdss/tests/test_ids.py @@ -1,18 +1,18 @@ import unittest -from force_bdss.ids import bundle_id, plugin_id +from force_bdss.ids import factory_id, plugin_id class TestIdGenerators(unittest.TestCase): def test_bundle_id(self): - self.assertEqual(bundle_id("foo", "bar"), + self.assertEqual(factory_id("foo", "bar"), "force.bdss.foo.bundle.bar") for bad_entry in ["", None, " ", "foo bar"]: with self.assertRaises(ValueError): - bundle_id(bad_entry, "bar") + factory_id(bad_entry, "bar") with self.assertRaises(ValueError): - bundle_id("foo", bad_entry) + factory_id("foo", bad_entry) def test_plugin_id(self): self.assertEqual(plugin_id("foo", "bar"), "force.bdss.foo.plugin.bar") -- GitLab