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

Introduced base class for the bundles.

parent ddccc7b7
No related branches found
No related tags found
1 merge request!37Introduced base class for the bundles.
from .base_extension_plugin import BaseExtensionPlugin # noqa
from .id_generators import bundle_id # noqa
from .data_sources.i_data_source_bundle import IDataSourceBundle # noqa
from .mco.i_multi_criteria_optimizer_bundle import IMultiCriteriaOptimizerBundle # noqa
from .kpi.i_kpi_calculator_bundle import IKPICalculatorBundle # noqa
from .data_sources.base_data_source_model import BaseDataSourceModel # noqa
from .data_sources.data_source_result import DataSourceResult # noqa
from .data_sources.data_source_parameters import DataSourceParameters # noqa
from .data_sources.base_data_source import BaseDataSource # noqa
from .data_sources.base_data_source_bundle import BaseDataSourceBundle # noqa
from .kpi.base_kpi_calculator import BaseKPICalculator # noqa
from .kpi.kpi_calculator_result import KPICalculatorResult # noqa
from .kpi.base_kpi_calculator_model import BaseKPICalculatorModel # noqa
from .kpi.base_kpi_calculator_bundle import BaseKPICalculatorBundle # noqa
from .mco.base_mco_model import BaseMCOModel # noqa
from .mco.base_mco_communicator import BaseMCOCommunicator # noqa
from .mco.base_multi_criteria_optimizer import BaseMultiCriteriaOptimizer # noqa
from .mco.base_multi_criteria_optimizer_bundle import BaseMultiCriteriaOptimizerBundle # noqa
from traits.api import provides, HasStrictTraits, String
from traits.api import String
from force_bdss.api import bundle_id, IDataSourceBundle
from force_bdss.api import bundle_id, BaseDataSourceBundle
from .csv_extractor_model import CSVExtractorModel
from .csv_extractor_data_source import CSVExtractorDataSource
@provides(IDataSourceBundle)
class CSVExtractorBundle(HasStrictTraits):
class CSVExtractorBundle(BaseDataSourceBundle):
id = String(bundle_id("enthought", "csv_extractor"))
name = String("CSV Extractor")
def create_model(self, model_data=None):
if model_data is None:
model_data = {}
......
from traits.api import provides, HasStrictTraits, String
from traits.api import String
from force_bdss.api import bundle_id
from force_bdss.api import IKPICalculatorBundle
from force_bdss.api import bundle_id, BaseKPICalculatorBundle
from .kpi_adder_model import KPIAdderModel
from .kpi_adder_calculator import KPIAdderCalculator
@provides(IKPICalculatorBundle)
class KPIAdderBundle(HasStrictTraits):
class KPIAdderBundle(BaseKPICalculatorBundle):
id = String(bundle_id("enthought", "kpi_adder"))
name = String("KPI Adder")
def create_model(self, model_data=None):
if model_data is None:
model_data = {}
......
from traits.api import HasStrictTraits, provides, String
from force_bdss.api import bundle_id, IMultiCriteriaOptimizerBundle
from traits.api import String
from force_bdss.api import bundle_id, BaseMultiCriteriaOptimizerBundle
from .dakota_communicator import DakotaCommunicator
from .dakota_model import DakotaModel
from .dakota_optimizer import DakotaOptimizer
@provides(IMultiCriteriaOptimizerBundle)
class DakotaBundle(HasStrictTraits):
class DakotaBundle(BaseMultiCriteriaOptimizerBundle):
id = String(bundle_id("enthought", "dakota"))
name = "Dakota"
def create_model(self, model_data=None):
if model_data is None:
model_data = {}
......
import abc
from traits.api import ABCHasStrictTraits, provides, String
from .i_data_source_bundle import IDataSourceBundle
@provides(IDataSourceBundle)
class BaseDataSourceBundle(ABCHasStrictTraits):
#: Unique identifier that identifies the bundle uniquely in the
#: universe of bundles. Create one with the function bundle_id()
id = String()
#: A human readable name of the bundle
name = String()
@abc.abstractmethod
def create_data_source(self, application, model):
"""Factory method.
Must return the bundle-specific BaseDataSource instance.
"""
pass
@abc.abstractmethod
def create_model(self, model_data=None):
"""Factory method.
Must return the bundle-specific BaseDataSourceModel instance.
"""
import abc
from traits.api import ABCHasStrictTraits, provides, String
from .i_kpi_calculator_bundle import IKPICalculatorBundle
@provides(IKPICalculatorBundle)
class BaseKPICalculatorBundle(ABCHasStrictTraits):
id = String()
name = String()
@abc.abstractmethod
def create_kpi_calculator(self, application, model):
pass
@abc.abstractmethod
def create_model(self, model_data=None):
pass
......@@ -4,6 +4,8 @@ from traits.api import Interface, String
class IKPICalculatorBundle(Interface):
id = String()
name = String()
def create_kpi_calculator(self, application, model):
pass
......
import abc
from traits.api import ABCHasStrictTraits, String
from traits.has_traits import provides
from force_bdss.mco.i_multi_criteria_optimizer_bundle import (
IMultiCriteriaOptimizerBundle
)
@provides(IMultiCriteriaOptimizerBundle)
class BaseMultiCriteriaOptimizerBundle(ABCHasStrictTraits):
id = String()
name = String()
@abc.abstractmethod
def create_optimizer(self, application, model):
pass
@abc.abstractmethod
def create_model(self, model_data=None):
pass
@abc.abstractmethod
def create_communicator(self, model_data):
pass
......@@ -4,6 +4,8 @@ from traits.api import Interface, String
class IMultiCriteriaOptimizerBundle(Interface):
id = String()
name = String()
def create_optimizer(self, application, model):
pass
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment