/** * * @return \Bpi\ApiBundle\Domain\Entity\Resource */ public function createCharlieResource() { $map = $this->createFilesystemMap(); $resource_builder = new ResourceBuilder($map->get('assets'), new FakeRouter()); $charlie = $resource_builder->body('alpha_body')->teaser('bravo_teaser')->title('charlie_title')->ctime(new \DateTime("now"))->copyleft(new Copyleft('charlie_copyleft')); return $charlie; }
/** * {@inheritdoc} * @return Bpi\ApiBundle\Domain\Factory\ResourceBuilder */ public function extract() { $entity = $this->doc->getEntity('resource'); $builder = new ResourceBuilder(); $fs = new Filesystem(new MemoryAdapter()); $entity->walk(function ($e) use($builder, $fs) { if ($e->typeOf(Property::TYPE_ASSET)) { $file = new File($e->getName(), $fs); $file->setContent($e->getValue()); $builder->addFile($file); } }); return $builder->title($entity->property('title')->getValue())->body($entity->property('body')->getValue())->teaser($entity->property('teaser')->getValue())->ctime(new \DateTime($entity->property('ctime')->getValue())); }
/** * * @param \Bpi\ApiBundle\Domain\ValueObject\NodeId $node_id * @param \Bpi\ApiBundle\Domain\Entity\Author $author * @param ResourceBuilder $builder * @param \Bpi\ApiBundle\Domain\Aggregate\Params $params * @return \Bpi\ApiBundle\Domain\Aggregate\Node */ public function pushRevision(NodeId $node_id, Author $author, ResourceBuilder $builder, Params $params) { $node = $this->manager->getRepository('BpiApiBundle:Aggregate\\Node')->findOneById($node_id->id()); $revision = $node->createRevision($author, $builder->build(), $params); $this->manager->persist($revision); $this->manager->flush(); $this->manager->getRepository('BpiApiBundle:Entity\\Facet')->prepareFacet($revision); return $revision; }