示例#1
0
 /**
  * Hydrate a resource value
  *
  * @param array $valueObject
  * @param Value $value
  */
 protected function hydrateResource(array $valueObject, Value $value)
 {
     $value->setType(Value::TYPE_RESOURCE);
     $value->setValue(null);
     // set default
     $value->setLang(null);
     // set default
     $value->setUriLabel(null);
     // set default
     $valueResource = $this->adapter->getEntityManager()->find('Omeka\\Entity\\Resource', $valueObject['value_resource_id']);
     if (null === $valueResource) {
         throw new Exception\NotFoundException(sprintf($this->adapter->getTranslator()->translate('Resource not found with id %s.'), $valueObject['value_resource_id']));
     }
     if ($valueResource instanceof Media) {
         $translator = $this->adapter->getTranslator();
         $exception = new Exception\ValidationException();
         $exception->getErrorStore()->addError('value', $translator->translate('A value resource cannot be Media.'));
         throw $exception;
     }
     $value->setValueResource($valueResource);
 }