/** * @expectedException \Oro\Bundle\EntityMergeBundle\Exception\InvalidArgumentException * @expectedExceptionMessage Doctrine metadata is not configured. */ public function testGetDoctrineMetadataFails() { $metadata = new FieldMetadata(); $metadata->getDoctrineMetadata(); }
/** * @param object $relatedEntity * @param FieldMetadata $metadata * @param object $value */ protected function setRelatedEntityValue($relatedEntity, FieldMetadata $metadata, $value) { if ($metadata->has('setter')) { $setter = $metadata->get('setter'); $relatedEntity->{$setter}($value); } else { try { $this->getPropertyAccessor()->setValue($relatedEntity, $metadata->getDoctrineMetadata()->getFieldName(), $value); } catch (NoSuchPropertyException $e) { // If setter is not exist $reflection = new \ReflectionProperty(ClassUtils::getClass($relatedEntity), $metadata->getDoctrineMetadata()->getFieldName()); $reflection->setAccessible(true); $reflection->setValue($relatedEntity, $value); } } }