/** * {@inheritdoc} */ public function configureProcedureBuilder(ProcedureBuilder $builder) { $builder->createProcedure('import')->createProcedure('contenttype')->addSource(new LocalDirectoryAdapter(array('directory' => __DIR__ . '/../resources/yaml')))->addWorker(function (ValueObject $object) { return $object->data; })->addWorker(new YamlToArrayTransformer())->split()->addWorker(function ($data) { return new ContentTypeObject($data); })->addTarget(new EzPlatformAdapter($this->repository))->end()->end(); }
/** * {@inheritdoc} */ public function configureProcedureBuilder(ProcedureBuilder $builder) { $builder->createProcedure('import')->createProcedure('google_news_contenttype')->addSource(new LocalDirectoryAdapter(array('directory' => __DIR__ . '/../../Resources/contenttypes')))->addWorker(function (ValueObject $object) { return $object->data; })->addWorker(new YamlToArrayTransformer())->split()->addWorker(function ($data) { return new ContentTypeObject($data); })->addTarget(new EzPlatformAdapter($this->repository))->end()->createProcedure('google_news_content')->addSource(new GoogleNewsAdapter(array('url' => $this->options['url'])))->addWorker(new StringToSimpleXmlTransformer())->addWorker(new SimpleXmlToArrayTransformer())->addWorker(new GoogleNewsToContentTransformer())->split()->addWorker(function ($data) { /* @var $data ContentObject */ $data->addParentLocation($this->options['location_id']); return $data; })->addTarget(new EzPlatformAdapter($this->repository))->end()->end(); }
/** * Tests getTargets method. */ public function testGetTargets() { $pb = new ProcedureBuilder(); $adapter = $this->getMock('Transfer\\Adapter\\TargetAdapterInterface'); $pb->addTarget($adapter)->createProcedure('procedure_1')->addTarget($adapter)->end(); $procedure = $pb->getProcedure(); $children = $procedure->getChildren(); /** @var Procedure $child */ foreach ($children as $child) { $targets = $child->getTargets(); $this->assertCount(2, $targets); } }
/** * Tests insertion of callable components (sources, workers and targets). */ public function testAddCallableComponent() { $pb = new ProcedureBuilder(); $pb->addSource(function (Request $request) { return new Response(); }); $pb->addWorker(function (ObjectInterface $object) { }); $pb->addTarget(function (Request $request) { return new Response(); }); $procedure = $pb->getProcedure(); $sources = $procedure->getSources(); $workers = $procedure->getWorkers(); $targets = $procedure->getTargets(); $this->assertCount(1, $sources); $this->assertInstanceOf('Transfer\\Adapter\\CallbackAdapter', $sources[0][0]); $this->assertCount(1, $workers); $this->assertInstanceOf('Transfer\\Worker\\WorkerInterface', $workers[0]); $this->assertCount(1, $targets); $this->assertInstanceOf('Transfer\\Adapter\\CallbackAdapter', $targets[0]); }