/**
  * 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;
 }
예제 #4
0
 /**
  * @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());
 }