/** * @param null|Entity $entity * @param string|array $include List of keys to include in the output record * @param array $record * * @return array */ protected static function parseEntityToRecord($entity, $include = ApiOptions::FIELDS_ALL, $record = []) { if (!empty($entity)) { if (empty($include)) { $record[static::PARTITION_KEY] = $entity->getPartitionKey(); $record[static::ROW_KEY] = $entity->getRowKey(); } elseif (ApiOptions::FIELDS_ALL == $include) { // return all properties /** @var Property[] $properties */ $properties = $entity->getProperties(); foreach ($properties as $key => $property) { $record[$key] = $property->getValue(); } } else { if (!is_array($include)) { $include = array_map('trim', explode(',', trim($include, ','))); } foreach ($include as $key) { $record[$key] = $entity->getPropertyValue($key); } } } return $record; }
private function getProperties(Entity $entity) { $properties = array(); foreach ($entity->getProperties() as $name => $property) { if ($name === 'PartitionKey') { $name = 'dist'; } elseif ($name === 'RowKey') { $name = 'range'; } $properties[$name] = $property->getValue(); } return $properties; }
/** * @covers WindowsAzure\Table\Models\Entity::setProperties * @covers WindowsAzure\Table\Models\Entity::getProperties * @covers WindowsAzure\Table\Models\Entity::_validateProperties */ public function testSetProperties() { // Setup $entity = new Entity(); $expected = array('name' => new Property(EdmType::STRING, null)); // Test $entity->setProperties($expected); // Assert $this->assertEquals($expected, $entity->getProperties()); }