diff --git a/force_bdss/api.py b/force_bdss/api.py index 7480b1b5ec447f3978df3421800be225de92f510..129f5ccd7c1e1e3048282abc9b8f0173bd735187 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 2b34ddb6a6ffb616482ff2036e4aab3c6223b4d8..d5cf1f62724edb7b2a633a6b25ec0aa03ee2f19b 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 4a9915b0b5fa395d5cefbb742b26a9cc4943a9f1..be11411ef64a0a9c56455e65ab756bf9a766e320 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 29c7f2517fd63c69a1d82f24b3bb0677bb487895..2cc751620af346bcad03a6db223f75ec4faaa29c 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 8315f8401e9c6e8c7485bdf3a94f30f63b438d2f..2ff044e8520b13dcdcc7cc60f305ab4b26846de9 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 da740f9d99e0e6083247b36568c56a866b28227d..457f853163c238bc493b79cb3a2675a12fcfcade 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 30dedeeb0dbd7a72f2c09a47bee76759a4205e28..db28075d1e265b57909c1d20a202fae800702722 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 b5a563f889a698c349918bccd5b38f30dd445a20..ffba0b4c8bd85ccf1e238cbd99b787aec7afc4ce 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 429b15ac1426a833dee4292429882c6a7adc9066..89f8f80617397648f3ca6c8e5b7be6b7bb338e14 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 189c27c1d2ecfc350995bd556483bbf5cb7269a2..6e6c5ccbe164cb5bbeee657f63b673a5b48f06c8 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 2114efe81bc550500064a74f8466e87fe36f399b..5b1291a93e01a111b289f410fd03578f02bb850d 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 673fdd05f3fbf5da8fb436484d334cdac483e497..baa84047ae357929345abbb046a9211bbd4882c8 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 03e8e85328522fcbb3990933eac22ad18269138f..90420b5d0a2e24aeb818351ef57a85422f7de272 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 b8be17e7f34a1444162c0e2d873f30dcb34ad321..65e0cce69bd33e5f31614fe5b2a1e4fc00a950e9 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 1ed7905b6de1269307a21da864c36be231492ac0..9743e72bd8ff86698b2d18d947a9d794e1b5f3df 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 d0a0eb2c6e6d56e997a0cfdce0647dcc83fc143c..db0b6e4912ba7dd9eb647463d528dd298a10d9b0 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 617c4edfd73c77c2144f30e04d4473a0eadd4a22..ad3cc3397728fddf3a729e0b8faf9f6c698f4fe6 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 065361812bb5ecef475ce2b951f9f81f39e9787f..18176e362a03266c344f6d99ecf0c507e40a8443 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 b0cd5c48070b7d62d2c748c65234fd52d5483414..cf9e96df1da03ca0bb4b7ddab9849861d490d017 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 5fd0dc9d6d9d5a1f179c79ff538802e8f61043d8..78a15ebc99b6ffffe66ef8a68c4742f66a875e1e 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 6fe74b066e8fc0fc11c40caa1b6a9f64800e0365..903e9616b3b536dac86415d8f6c469a4dfdd5e5f 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 76535e51491d2cb84c297362600c27454cb05997..f001ff5b719abfc67a6bc2f4b4cf830e27a28709 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 a71462d78f9427b6a71a08757d93fd06fc4b7369..42ac211a5f9c0b66aab45dc4e5d0a23bd235e6c9 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 f0bb6bc09c596284879132198a6d06d532e6df8a..d12f68990f72a2534405b6b93423f1daae7c7c0b 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 011a2b3f99f00b176810426b2687942092778fe7..c37d2083b041573c83116c90197a767a551cabbe 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 d89ccef2f89048d9da70a68690f74b82663feeb0..8f6208f962d810ea8bcda47c15e154570cb9556a 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 7f4b73648aec4740ab8e8af62fc7b4186dc027f9..2accf3264cdb5d7894b0a5bc8ac194f03083a196 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 be9fb39f4f338fb5cca32664ac3a4970596d0f4b..0c7d487f6a73ef607aa5c9702f3da54e86a78b10 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 585e31b0b4e1f553dda42a469c4c24ebdf27662a..ed98aa1d46a15ae99c258b0629901fac5e95dbf2 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 2326075deff38378a0aa868cb465cb7a2ef4db21..eb5ee77a1e94eb5fa14ad26a28a53577d805df62 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 0f803e3b8ae7f68445b71f643d0c5a1f614ada68..9213c09d4842c429ade8262ba8d016ffaa13060e 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 a4de04182cb54cfd711cbf18ba7517ab2149151e..23c643dd5103a1bf2ce8b09f7e4e645a99e5f93a 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 b6994236760f5e9944f6d37e8c3c5e6a28627733..3c0a5e1b8e1450f7905a7b464dc492844f525273 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 e0e3a0f9e63115f062561f2490ba12a0c01aff82..25b8d9a9c2b06374010bc6fe5cff680216019937 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 44e7d4808f6e58429dc1efa566b90d3fd0afa90e..60b4b23be48647a823d8a29b289c2cdcb05d83be 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 4e5c4144566323d7e93e9f5b65592358bbf0ab16..3c999d8cccf2f3c16ede279361142e9812ca3054 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 9119702953768f065117f69df99ac039981f03e4..1e1eebf59d971864659ec30ecd850c91ec503cfb 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 0dc1397d8c0a4c0dcbaf4df7c91cccac22b02a46..16cf15a342b78d2377e4c0cbc6e884f08d675085 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 d82c917440ebdbc5afe3fd8bbe7f39b48191a27b..dde02891ce5125f181864d8b31561b8a0e619696 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 4b959893dc98c8211fccb215460dec7d8bd87fd4..8335d5b3a95ff669c863b6c7a3a8175aaf312ef7 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 b757dd403a9460d53e04d3aa7dd13ac833c5d2a2..110d9771ea21cd514aef8460a058c17e10138686 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 44e934fbcd4f360d7f48ca938cc7650aac67f5f6..57f3e0279c08b98ec6931230c2e4bbeb0baad75f 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 825b460905f799d8a3bdace9ea017ba0109c64ae..ffe6aa06210844f118cef03e73ef465f76cc4c5f 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 2c32b24f72316d44d452af211cf41151cd680256..65a40c5e587c80d3c1c9649cc48bb6401913258a 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 334c1915535d576c9d444a4de0e60fef6f13706a..35fd17805bdbc15a4534e2fc011d0ffe15fbe3d3 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 f3cc87d981890778075ebd95057e3c09ae5c49dd..61f1970aaac963a4f69e3db168882f7a08a58664 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 64b81c20e111a5bce44e8e9d1987323f1f213813..5957a459bbf9b89457f2be24295ce25ee9954b81 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 d2afbec85a54984a41b2fecd733b775d8ff5b14a..9c50c1c02f2a24cd5942b2a586732cc6295415cd 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 cad5ef3b965e4689d7394848d2cc98dd65ea4a2f..830e9986671994066c53b5f28f629224c523236d 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 c8e0d6d730918507ac25c7faeedf37b17ce7df03..a2703039440d158611b7a25029b1a67f80e61c08 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 b096aed5abc2fb5ac5d07e30693f4cba8592a024..896f484f2c1df81fc41f41876552cb687a0bba22 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 8c6afcef40dc23c4d8ca1a1f7169a22f52752ba6..f3491e69d32ace4ccf76ccf865487bbddb1721e5 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 efaa70c9ef13884a486e29b9683139f7664566cc..cda303e96e54b6b4ce3c7fe7969dee5e8f62353a 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 45d586defe8500c5c8b09101e496de8084f1d09b..4c3a0ab8d3965bfaf6513673a2e7c14bbac06aa2 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 e5e9130a5d9bfa3cc3081c12179d5e3531f0cddb..2fc002ff62006b653711f840d78d657483239dcd 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 d5dfddce43b13b444e85ba9ba790654ab781b5a6..9d2b3a5ebbf095d3e9a11284b1ab986cb9bdfbd0 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 5769444dba7d6884a337f25a4d49dece4c20b0eb..c70905d45f056e703f5fa65c3d8fb2fea47e734f 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 3050087502e47b1424db5ab2ba19788c57c9f176..1cc889c8a0145de5b9374e1e27121ff13d0d7bb9 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 9f680fa52ac94c16226889fc215a21337273c584..2649d191903869c4c1481da33ff4ceb96278d347 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 e8dbbb74a2fa4b2fc927786ab908590f24d54495..19c083fdf3434efe513fc6a3a7e0940915afb308 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")