Exemplo n.º 1
0
 public function testObjectWithLinks()
 {
     $object = new RiakObject();
     $object->setValue('{"name": "fabio"}');
     $object->setContentType('application/json');
     $object->addLink(new RiakLink(null, null, null));
     $object->addLink(new RiakLink(null, null, null));
     $object->getLinks()->get(0)->setBucket('bucket');
     $object->getLinks()->get(0)->setKey('first');
     $object->getLinks()->get(0)->setTag('foo');
     $object->getLinks()->get(1)->setBucket('bucket');
     $object->getLinks()->get(1)->setKey('second');
     $object->getLinks()->get(1)->setTag('bar');
     $store = StoreValue::builder($this->location, $object)->withPw(1)->withW(1)->build();
     $fetch = FetchValue::builder($this->location)->withR(1)->build();
     $this->client->execute($store);
     $result = $this->client->execute($fetch);
     $riakObject = $result->getValue();
     $riakLinks = $riakObject->getLinks();
     $this->assertFalse($result->getNotFound());
     $this->assertInstanceOf('Riak\\Client\\Command\\Kv\\Response\\FetchValueResponse', $result);
     $this->assertInstanceOf('Riak\\Client\\Core\\Query\\Link\\RiakLinkList', $riakLinks);
     $this->assertInstanceOf('Riak\\Client\\Core\\Query\\RiakObject', $riakObject);
     $this->assertEquals('{"name": "fabio"}', $riakObject->getValue());
     $this->assertCount(2, $riakLinks);
     $this->assertInstanceOf('Riak\\Client\\Core\\Query\\Link\\RiakLink', $riakLinks[0]);
     $this->assertInstanceOf('Riak\\Client\\Core\\Query\\Link\\RiakLink', $riakLinks[1]);
     $this->assertEquals('bucket', $riakLinks[0]->getBucket());
     $this->assertEquals('bucket', $riakLinks[1]->getBucket());
     $this->assertEquals('first', $riakLinks[0]->getKey());
     $this->assertEquals('second', $riakLinks[1]->getKey());
     $this->assertEquals('foo', $riakLinks[0]->getTag());
     $this->assertEquals('bar', $riakLinks[1]->getTag());
     $this->client->execute(DeleteValue::builder($this->location)->build());
 }
Exemplo n.º 2
0
 /**
  * @param \Riak\Client\Core\Query\RiakObject $riakObject
  *
  * @return array
  */
 public function convertToRiakContent(RiakObject $riakObject)
 {
     $content = new Content();
     $metas = $riakObject->getUserMeta();
     $indexes = $riakObject->getIndexes();
     $links = $riakObject->getLinks();
     $content->contentType = $riakObject->getContentType() ?: RiakObject::DEFAULT_CONTENT_TYPE;
     $content->lastModified = $riakObject->getLastModified();
     $content->isDeleted = $riakObject->getIsDeleted();
     $content->value = $riakObject->getValue();
     $content->vtag = $riakObject->getVtag();
     $content->indexes = [];
     $content->metas = [];
     if ($indexes != null) {
         $content->indexes = $indexes->toFullNameArray();
     }
     if ($metas != null) {
         $content->metas = $metas->toArray();
     }
     if ($links != null) {
         $content->links = $links->toArray();
     }
     return $content;
 }