diff --git a/cml/controller/api.py b/cml/controller/api.py index 6fcd5a367dcc9beec3e706e5c1708c8696c318f6..ac9ced7256dae9c368ab8d135f3619ec52d25c88 100644 --- a/cml/controller/api.py +++ b/cml/controller/api.py @@ -3,12 +3,13 @@ """ from os.path import join, expanduser -from cml.usecases.query import ( +from cml.usecases.query import KnowledgeSearchUsecase +from usecases.command import ( PreprocessUsecase, - KnowledgeSearchUsecase, - CreateConstructorUsecase, FeatureSelectionUsecase, - ReconstructionUsecase + ReconstructionUsecase, + CreateConstructorUsecase, + DeconstructionUsecase ) from cml.ports.source_adapters import PandasAdapter from cml.ports.ml_adapter import ( @@ -23,7 +24,8 @@ from cml.shared.request import ( KnowledgeSearchRequest, CreateConstructorRequest, FeatureSelectionRequest, - ReconstructionRequest + ReconstructionRequest, + DeconstructionRequest ) from cml.ports.ml_adapter import ( KernelDensityEstimator, @@ -141,11 +143,15 @@ def reconstruction(reconstruction_type, *args, **kwargs): def search_knowledge(constructor, feature_selector, reconstructor, data_source, stdout=False): deconstruction_settings = specific_settings_factory("deconstruction") + deconstruction_req = DeconstructionRequest(deconstruction_settings, + constructor.construction_type) + deconstruction_usecase = DeconstructionUsecase() + deconstructor = deconstruction_usecase.execute(deconstruction_req) knowledge_search_req = KnowledgeSearchRequest(constructor, feature_selector, reconstructor, + deconstructor, data_source, - deconstruction_settings, stdout) knowledge_search_usecase = KnowledgeSearchUsecase() return knowledge_search_usecase.execute(knowledge_search_req)