/** * Get FQCN of specified entity * * @param object $object * @return string */ public function getClassName($object) { if (!is_object($object)) { return null; } return $this->doctrineHelper->getEntityClass($object); }
/** * {@inheritdoc} */ public function normalize(Workflow $workflow, Attribute $attribute, $attributeValue) { if (null === $attributeValue) { return null; } $this->validateAttributeValue($workflow, $attribute, $attributeValue); return $this->doctrineHelper->getEntityIdentifier($attributeValue); }
/** * @param array $entitiesToBind * @return WorkflowBindEntity[] */ protected function createBindEntities(array $entitiesToBind) { $result = array(); foreach ($entitiesToBind as $entity) { if ($entity) { $bindEntity = new WorkflowBindEntity(); $bindEntity->setEntityClass($this->doctrineHelper->getEntityClass($entity)); $bindEntity->setEntityId($this->doctrineHelper->getEntityIdentifier($entity)); $result[] = $bindEntity; } } return $result; }
/** * @param array|\Traversable $values * @return array */ protected function convertToPlainArray($values) { $result = array(); foreach ($values as $key => $value) { if (is_object($value) && $this->doctrineHelper->isManageableEntity($value)) { $result[$key] = $this->doctrineHelper->getEntityIdentifier($value); } elseif (is_array($value) || $value instanceof \Traversable) { $result[$key] = $this->convertToPlainArray($value); } else { $result[$key] = $value; } } return $result; }
public function testGetEntityReference() { $expectedResult = $this->getMock('MockEntityReference'); $entityClass = 'MockEntity'; $entityId = 100; $entityManager = $this->getMockBuilder('Doctrine\\Orm\\EntityManager')->disableOriginalConstructor()->setMethods(array('getReference'))->getMock(); $this->registry->expects($this->any())->method('getManagerForClass')->with($entityClass)->will($this->returnValue($entityManager)); $entityManager->expects($this->once())->method('getReference')->with($entityClass, $entityId)->will($this->returnValue($expectedResult)); $this->assertEquals($expectedResult, $this->doctrineHelper->getEntityReference($entityClass, $entityId)); }
/** * @param Workflow $workflow * @param object $entity * @return null|Attribute */ protected function getManagedEntityAttributeByEntity(Workflow $workflow, $entity) { $entityClass = $this->doctrineHelper->getEntityClass($entity); /** @var Attribute $attribute */ foreach ($workflow->getAttributeManager()->getManagedEntityAttributes() as $attribute) { if ($attribute->getOption('class') == $entityClass) { return $attribute; } } return null; }
/** * Compare two values for equality * * @param mixed $left * @param mixed $right * @return boolean */ protected function doCompare($left, $right) { if (is_object($left) && is_object($right)) { $leftClass = $this->doctrineHelper->getEntityClass($left); $rightClass = $this->doctrineHelper->getEntityClass($right); if ($leftClass == $rightClass && $this->doctrineHelper->isManageableEntity($left) && $this->doctrineHelper->isManageableEntity($right)) { $leftIdentifier = $this->doctrineHelper->getEntityIdentifier($left); $rightIdentifier = $this->doctrineHelper->getEntityIdentifier($right); return $leftIdentifier == $rightIdentifier; } } return $left == $right; }