public function testObjectWithUserMeta() { $key = uniqid(); $object = new RiakObject(); $meta = new RiakUsermeta(); $location = new RiakLocation(new RiakNamespace('default', 'bucket'), $key); $meta['key'] = 'other'; $meta['meta'] = 'content'; $meta['remove'] = 'other'; $meta->remove('remove'); $meta->put('key', 'value'); $object->setContentType('application/json'); $object->setValue('{"name": "fabio"}'); $object->setUserMeta($meta); $store = StoreValue::builder($location, $object)->withReturnBody(true)->withPw(1)->withW(1)->build(); $fetch = FetchValue::builder($location)->withNotFoundOk(true)->withR(1)->build(); $this->client->execute($store); $result = $this->client->execute($fetch); $riakObject = $result->getValue(); $riakMeta = $riakObject->getUserMeta(); $this->assertFalse($result->getNotFound()); $this->assertInstanceOf('Riak\\Client\\Command\\Kv\\Response\\FetchValueResponse', $result); $this->assertInstanceOf('Riak\\Client\\Core\\Query\\Meta\\RiakUserMeta', $riakMeta); $this->assertInstanceOf('Riak\\Client\\Core\\Query\\RiakObject', $riakObject); $this->assertEquals('{"name": "fabio"}', $riakObject->getValue()); $this->assertCount(2, $riakMeta); $this->assertTrue(isset($riakMeta['key'])); $this->assertTrue(isset($riakMeta['meta'])); $this->assertEquals('value', $riakMeta['key']); $this->assertEquals('content', $riakMeta['meta']); $this->assertEquals('value', $riakMeta->get('key')); $this->assertEquals('content', $riakMeta->get('meta')); $this->client->execute(DeleteValue::builder($location)->build()); }
/** * @param \Riak\Client\Core\Message\Kv\Content $content * @param \Riak\Client\Core\Query\VClock $vClock * * @return \Riak\Client\Core\Query\RiakObject */ private function convertToRiakObject(Content $content, VClock $vClock) { $object = new RiakObject(); $object->setVClock($vClock); $object->setVtag($content->vtag); $object->setValue($content->value); $object->setContentType($content->contentType); $object->setIsDeleted((bool) $content->deleted); $object->setLastModified($content->lastModified); if ($content->indexes) { $object->setIndexes($this->createRiakIndexList($content->indexes)); } if ($content->metas) { $object->setUserMeta(new RiakUsermeta($content->metas)); } if ($content->links) { $object->setLinks($this->createRiakLinkList($content->links)); } return $object; }