/** * Funkce pro inicializaci Metasource pro konkrétní miner * * @param Miner $miner * @param MinersFacade $minersFacade * @return MetasourceTask */ public function startMinerMetasourceInitialization(Miner $miner, MinersFacade $minersFacade) { //vytvoření úlohy pro $ppType = $this->preprocessingFactory->getPreprocessingTypeByDatabaseType($miner->datasource->type); /** @var PpConnection $ppConnection - DB/API connection for preprocessing */ $ppConnection = $this->preprocessingFactory->getDefaultPpConnection($ppType, $miner->user); $metasource = Metasource::newFromPpConnection($ppConnection); $metasource->datasource = $miner->datasource; $metasource->state = Metasource::STATE_PREPARATION; $metasource->user = $miner->user; $this->saveMetasource($metasource); //připojení metasource k mineru $miner->metasource = $metasource; $minersFacade->saveMiner($miner); //vytvoření úlohy, v rámci které dojde k inicializaci $metasourceTask = new MetasourceTask(); $metasourceTask->type = MetasourceTask::TYPE_INITIALIZATION; $metasourceTask->state = MetasourceTask::STATE_NEW; $metasourceTask->metasource = $metasource; $this->saveMetasourceTask($metasourceTask); return $metasourceTask; }