public function testFieldsMetadata() { $fieldName = 'test'; $fieldMetadata = $this->createFieldMetadata($fieldName); $this->metadata->addFieldMetadata($fieldMetadata); $this->assertEquals(array($fieldName => $fieldMetadata), $this->metadata->getFieldsMetadata()); }
/** * @param EntityMetadata $metadata * @param array $entities */ public function __construct(EntityMetadata $metadata, array $entities) { $this->metadata = $metadata; $this->setEntities($entities); foreach ($metadata->getFieldsMetadata() as $fieldMetadata) { $this->addNewField($fieldMetadata); } }
/** * @param EntityMetadata $entityMetadata * * @return string */ protected function getNoteFieldName($entityMetadata) { $fieldsMetadata = $entityMetadata->getFieldsMetadata(); foreach ($fieldsMetadata as $fieldName => $fieldMetadata) { //if there is Metadata field already exists, //it should be changed to custom Metadata field(with appropriate logic and Strategy) if ($fieldMetadata->getSourceClassName() === Note::ENTITY_NAME) { return $fieldName; } } //or generate default name return strtolower(str_replace('\\', '_', Note::ENTITY_NAME)); }