/** * Create a new Workflow config. * * @param WorkflowDto $workflow * * @return Workflow */ public function create(WorkflowDto $workflow) { $resourceData = new Resource\ResourceData(); $resourceData->setData($workflow->getArrayCopy()); $id = $this->workflowRepository->create($resourceData); $workflow->setId($id->getValue()); return $workflow; }
/** * * @param array $mongoDoc * * @return Resource\ResourceData */ protected function hydrateResourceData(array $mongoDoc) { $id = (string) $mongoDoc['_id']; unset($mongoDoc['_id']); $resourceId = new Resource\ResourceId($id); $resourceData = new Resource\ResourceData($resourceId); $resourceData->setData($mongoDoc); return $resourceData; }
/** * * @param string $resourceId * @param string $jsonDataStr * * @return Resource\ResourceData */ protected function hydrateResourceData($resourceId, $jsonDataStr) { $resourceId = new Resource\ResourceId($resourceId); $resourceDTO = new Resource\ResourceData($resourceId); $resourceDTO->setData(Json::decode($jsonDataStr, Json::TYPE_ARRAY)); return $resourceDTO; }
/** * @covers GingerCore\Repository\Resource\ResourceData::setData * @covers GingerCore\Repository\Resource\ResourceData::getData */ public function testSetGetData() { $this->object->setData(array('akey' => 'somevalue')); $this->assertEquals(array('akey' => 'somevalue'), $this->object->getData()); }
/** * @covers Ginger\Core\Repository\AbstractCrudRepository::listAll */ public function testListAll() { $resourceData = new Resource\ResourceData(); $resourceData->setData(array('name' => 'DataTransfer')); $resourceId1 = $this->object->create($resourceData); $resourceData = new Resource\ResourceData(); $resourceData->setData(array('name' => 'FileUpload')); $resourceId2 = $this->object->create($resourceData); $resources = $this->object->listAll(); $resourceData1 = $resources[0]; $this->assertInstanceOf('GingerCore\\Repository\\Resource\\ResourceData', $resourceData1); $this->assertEquals($resourceId1->getValue(), $resourceData1->getResourceId()->getValue()); $this->assertEquals(array('name' => 'DataTransfer'), $resourceData1->getData()); $resourceData2 = $resources[1]; $this->assertInstanceOf('GingerCore\\Repository\\Resource\\ResourceData', $resourceData2); $this->assertEquals($resourceId2->getValue(), $resourceData2->getResourceId()->getValue()); $this->assertEquals(array('name' => 'FileUpload'), $resourceData2->getData()); }
/** * @covers GingerCore\Repository\Adapter\MongoDbCrudRepositoryAdapter::updateResource */ public function testUpdateResource() { $resourceType = new Resource\ResourceType('workflow'); $resourceData = new Resource\ResourceData(); $resourceData->setData(array('name' => 'DataTransfer', 'desc' => 'simple data transfer')); $resourceId = $this->object->createResource($resourceType, $resourceData); $resourceData = new Resource\ResourceData($resourceId); $resourceData->setData(array('name' => 'FileUpload')); $resourceData = $this->object->updateResource($resourceType, $resourceData); $this->assertInstanceOf('GingerCore\\Repository\\Resource\\ResourceData', $resourceData); $this->assertEquals($resourceId->getValue(), $resourceData->getResourceId()->getValue()); $this->assertEquals(array('name' => 'FileUpload', 'desc' => 'simple data transfer'), $resourceData->getData()); }