function it_does_not_set_discriminator_map_to_other_objects(LoadClassMetadataEventArgs $eventArgs, ClassMetadata $metadata) { $eventArgs->getClassMetadata()->willReturn($metadata); $metadata->getName()->willReturn('Sylius\\Component\\Product\\Model\\Product'); $metadata->setDiscriminatorMap(Argument::any())->shouldNotBeCalled(); $this->loadClassMetadata($eventArgs); }
function it_adds_new_targeted_repository(LoadClassMetadataEventArgs $args, ClassMetadata $cm) { $this->addResolveTargetRepository('foo', 'barRepository'); $args->getClassMetadata()->willReturn($cm); $cm->getName()->willReturn('foo'); $this->loadClassMetadata($args); }
/** * Attach the discriminator map to the Resource entity. * * @param LoadClassMetadataEventArgs $event */ public function loadClassMetadata(LoadClassMetadataEventArgs $event) { $classMetadata = $event->getClassMetadata(); if ('Omeka\\Entity\\Resource' == $classMetadata->name) { $classMetadata->discriminatorMap = $this->discriminatorMap; } }
/** * Handle the load class metadata event: set the translation strategy * * @param LoadClassMetadataEventArgs $eventArgs */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { /** @var $meta ClassMetadata */ $meta = $eventArgs->getClassMetadata(); if ($meta->getReflectionClass()->implementsInterface('Symfony\\Cmf\\Bundle\\CoreBundle\\Translatable\\TranslatableInterface')) { $meta->setTranslator($this->translationStrategy); } }
/** * Processes event and resolves new object repository class * * @param LoadClassMetadataEventArgs $args */ public function loadClassMetadata(LoadClassMetadataEventArgs $args) { $classMetadata = $args->getClassMetadata(); $className = $classMetadata->getName(); if (isset(static::$resolveTargetRepo[ltrim($className)])) { $classMetadata->customRepositoryClassName = static::$resolveTargetRepo[ltrim($className)]; } }
/** * @param LoadClassMetadataEventArgs $args */ public function loadClassMetadata(LoadClassMetadataEventArgs $args) { /* @var ClassMetadataInfo $mapping */ $mapping = $args->getClassMetadata(); if ($mapping->getName() == ConfigurationEntry::clazz()) { $mapping->mapManyToOne(array('fieldName' => 'owner', 'type' => ClassMetadataInfo::MANY_TO_ONE, 'isOwningSide' => true, 'targetEntity' => $this->semanticConfig['owner_entity'])); } }
/** * @param \Doctrine\Common\Persistence\Event\LoadClassMetadataEventArgs $event */ public function loadClassMetadata(LoadClassMetadataEventArgs $event) { $metadata = $event->getClassMetadata(); $em = $event->getObjectManager(); /** @var $metadata \Doctrine\ORM\Mapping\ClassMetadata */ if (strstr($metadata->name, 'Doctrine\\Tests\\Models\\Cache')) { return; } $this->enableCaching($metadata, $em); }
public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { /** * @var \Doctrine\ORM\Mapping\ClassMetadata|\Doctrine\ODM\MongoDB\Mapping\ClassMetadata $metadata */ $metadata = $eventArgs->getClassMetadata(); if ($metadata->getName() !== self::ASSOCIATION_CLASS_NAME) { return; } $metadata->setDiscriminatorMap($this->discriminatorMap); }
/** * Adjusts the entity mapping metadata. * * @param LoadClassMetadataEventArgs $args */ public function loadClassMetadata(LoadClassMetadataEventArgs $args) { // Get the name of the class being mapped /** @var ClassMetadataInfo $meta */ $meta = $args->getClassMetadata(); $entityClass = $meta->getName(); if (in_array($entityClass, $this->getEntityList())) { // Prepend the table prefix $meta->setPrimaryTable(['name' => $this->prefix . $meta->getTableName()]); } }
/** * Map creator and changer fields to User objects. * * @param LoadClassMetadataEventArgs $event */ public function loadClassMetadata(LoadClassMetadataEventArgs $event) { $metadata = $event->getClassMetadata(); $reflection = $metadata->getReflectionClass(); if ($reflection !== null && $reflection->implementsInterface('Sulu\\Component\\Persistence\\Model\\UserBlameInterface')) { if (!$metadata->hasAssociation(self::CREATOR_FIELD)) { $metadata->mapManyToOne(['fieldName' => self::CREATOR_FIELD, 'targetEntity' => $this->userClass, 'joinColumns' => [['name' => 'idUsersCreator', 'onDelete' => 'SET NULL', 'referencedColumnName' => 'id', 'nullable' => true]]]); } if (!$metadata->hasAssociation(self::CHANGER_FIELD)) { $metadata->mapManyToOne(['fieldName' => self::CHANGER_FIELD, 'targetEntity' => $this->userClass, 'joinColumns' => [['name' => 'idUsersChanger', 'onDelete' => 'SET NULL', 'referencedColumnName' => 'id', 'nullable' => true]]]); } } }
/** * Load the class data, mapping the created and changed fields * to datetime fields. * * @param LoadClassMetadataEventArgs $event */ public function loadClassMetadata(LoadClassMetadataEventArgs $event) { $metadata = $event->getClassMetadata(); $reflection = $metadata->getReflectionClass(); if ($reflection !== null && $reflection->implementsInterface('Sulu\\Component\\Persistence\\Model\\TimestampableInterface')) { if (!$metadata->hasField(self::CREATED_FIELD)) { $metadata->mapField(['fieldName' => self::CREATED_FIELD, 'type' => 'datetime', 'notnull' => true]); } if (!$metadata->hasField(self::CHANGED_FIELD)) { $metadata->mapField(['fieldName' => self::CHANGED_FIELD, 'type' => 'datetime', 'notnull' => true]); } } }
public function loadClassMetadata(LoadClassMetadataEventArgs $args) { $metadata = $args->getClassMetadata(); if (null === ($metadata = $this->metadataFactory->getMetadataForClass($metadata->getName()))) { return; } $odmMetadata = $args->getClassMetadata(); foreach ($metadata->getPropertyMetadata() as $property) { try { $field = $this->fieldLoader->load($property->getType(), $property->getOptions()); $this->mapper->__invoke($property->getName(), $field, $odmMetadata); } catch (\Exception $e) { throw new \InvalidArgumentException(sprintf('Could not map field type "%s" on property "%s#%s"', $property->getType(), $property->getClass(), $property->getName()), null, $e); } } }
/** * Handle the load class metadata event: remove translated attribute from * fields and remove the locale mapping if present. * * @param LoadClassMetadataEventArgs $eventArgs */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { /** @var $meta ClassMetadata */ $meta = $eventArgs->getClassMetadata(); if (!$meta->translator) { return; } foreach ($meta->translatableFields as $field) { unset($meta->mappings[$field]['translated']); } $meta->translatableFields = array(); if (null !== $meta->localeMapping) { unset($meta->mappings[$meta->localeMapping]); $meta->localeMapping = null; } $meta->translator = null; }
/** * @param LoadClassMetadataEventArgs $eventArgs */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { $reader = new AnnotationReader(); $meta = $eventArgs->getClassMetadata(); $reflexionClass = $meta->getReflectionClass(); if (null !== $reflexionClass) { foreach ($reflexionClass->getProperties() as $property) { if ($meta->isMappedSuperclass && !$property->isPrivate() || $meta->isInheritedField($property->name) || isset($meta->associationMappings[$property->name]['inherited'])) { continue; } /** @var $annotation \Leapt\ImBundle\Doctrine\Mapping\Mogrify */ if ($annotation = $reader->getPropertyAnnotation($property, 'Leapt\\ImBundle\\Doctrine\\Mapping\\Mogrify')) { $field = $property->getName(); $this->config[$meta->getTableName()]['fields'][$field] = array('property' => $property, 'params' => $annotation->params); } } } }
/** * {@inheritdoc} */ public function loadClassMetadata(LoadClassMetadataEventArgs $args) { if ('' === $this->prefix) { return; } $classMetadata = $args->getClassMetadata(); if (!$classMetadata->getReflectionClass() || !$classMetadata->getReflectionClass()->implementsInterface(self::ENTITY_INTERFACE)) { return; } if ($classMetadata->isInheritanceTypeSingleTable() && !$classMetadata->isRootEntity()) { return; } $classMetadata->setTableName($this->prefix . $classMetadata->getTableName()); foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) { if ($mapping['type'] == ClassMetadataInfo::MANY_TO_MANY) { $mappedTableName = $classMetadata->associationMappings[$fieldName]['joinTable']['name']; $classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName; } } }
/** * Handle the load class metadata event: remove translated attribute from * fields and remove the locale mapping if present. * * @param LoadClassMetadataEventArgs $eventArgs */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { if (!property_exists('Symfony\\Component\\Routing\\Route', 'condition')) { return; // nothing to do } $meta = $eventArgs->getClassMetadata(); if ($meta->getReflectionClass()->getName() !== 'Symfony\\Component\\Routing\\Route') { return; } if ($meta instanceof OrmClassMetadata) { /** @var $meta OrmClassMetadata */ $meta->mapField(array('fieldName' => 'condition', 'columnName' => 'condition_expr', 'type' => 'string', 'nullable' => true)); } elseif ($meta instanceof PhpcrClassMetadata) { /** @var $meta PhpcrClassMetadata */ $meta->mapField(array('fieldName' => 'condition', 'type' => 'string', 'nullable' => true)); } else { throw new \LogicException(sprintf('Class metadata was neither PHPCR nor ORM but %s', get_class($meta))); } }
/** * @param LoadClassMetadataEventArgs $eventArgs */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { $this->configurator->configure($eventArgs->getClassMetadata(), $this->mappingOverrides, $eventArgs->getObjectManager()->getConfiguration()); }
/** * @param $eventArgs */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { $metadata = $eventArgs->getClassMetadata(); $this->loadAssociations($metadata); $this->loadIndexes($metadata); $this->loadUniques($metadata); $this->loadDiscriminatorColumns($metadata); $this->loadDiscriminators($metadata); $this->loadInheritanceTypes($metadata); }
/** * Maps additional metadata for the Entity * * @param LoadClassMetadataEventArgs $eventArgs * * @return void */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { $this->loadMetadataForObjectClass($eventArgs->getObjectManager(), $eventArgs->getClassMetadata()); }
public function loadClassMetadata(LoadClassMetadataEventArgs $args) { $this->called = true; $this->dm = $args->getObjectManager(); $this->meta = $args->getClassMetadata(); }
/** * * {@inheritDoc} * * public function getSubscribedEvents() { * return array( * Events::loadClassMetadata, * ); * } */ public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs) { // the $metadata is the whole mapping info for this class $metadata = $eventArgs->getClassMetadata(); // print_r($metadata);getClassAnnotations // $classMetadata = new MergeableClassMetadata($eventArgs->getName()); $data = $this->container->getParameter('solr_search'); if ($metadata->getName() == "UserBundle\\Entity\\Department") { // echo "++<pre>"; $entity = new Search(); $annotationReader = new AnnotationReader(); // $pp = $annotationReader->getFields($entity); $class = $metadata->getReflectionClass(); $annotations = $annotationReader->getClassAnnotations($class); // $pp = $annotationReader->getParentProperties($metadata->getReflectionClass()); // print_r($annotations); // exit; /* * foreach ($metadata->getAssociationNames() as $fieldName => $mapping) { * if ($mapping['type'] == ClassMetadataInfo::MANY_TO_MANY) { * if(isset($classMetadata->associationMappings[$fieldName]['joinTable']['name'])) * { * $mappedTableName = $classMetadata->associationMappings[$fieldName]['joinTable']['name']; * $classMetadata->associationMappings[$fieldName]['joinTable']['name'] = str_replace('.', '_', * $mappedTableName); * } * } * } * */ // print_r($pp); // $annotationReader->getPropertiesByType(); // print_r($eventArgs->getProperties()); // print_r($metadataAll); /* * print_r($eventArgs * ->getEntityManager() * ->getConfiguration()); */ // exit; } // $metadata-> /* * foreach ($eventArgs->getProperties() as $reflectionProperty) { * $propertyMetadata = new PropertyMetadata($class->getName(), $reflectionProperty->getName()); * $annotation = $this->reader->getPropertyAnnotation( * $reflectionProperty, * 'Matthias\\AnnotationBundle\\Annotation\\DefaultValue' * ); * } */ // print_r($data); // echo "<pre>"; // echo $metadata->getName(); // exit; /* * if ($metadata->getName() != '') { * return; * } */ $namingStrategy = $eventArgs->getEntityManager()->getConfiguration()->getNamingStrategy(); }
/** * Load inheritance mapping automatically if using Resource entity from this bundle * * @param LoadClassMetadataEventArgs $event * @throws MappingException */ public function loadClassMetadata(LoadClassMetadataEventArgs $event) { $metadata = $event->getClassMetadata(); if (!$metadata instanceof ClassMetadataInfo) { return; } $class = $metadata->getReflectionClass(); if ($class === null) { $class = new \ReflectionClass($metadata->getName()); } if ($class->getName() !== self::BASE_RESOURCE) { return; } foreach ($this->resourceConfigurations as $resourceConfiguration) { if (is_a($resourceConfiguration->getEntity(), self::BASE_RESOURCE, true)) { $metadata->addDiscriminatorMapClass($resourceConfiguration->getCode(), $resourceConfiguration->getEntity()); } } }
/** * @param \Doctrine\ORM\Event\LoadClassMetadataEventArgs|LoadClassMetadataEventArgs $eventArgs */ public function loadClassMetadata($eventArgs) { $metadata = $eventArgs->getClassMetadata(); $this->driver->loadMetadataForClass($metadata->getName(), $metadata); }
/** * Set the charset to utf8mb4. * * @param LoadClassMetadataEventArgs $event */ public function loadClassMetadata(LoadClassMetadataEventArgs $event) { $metadata = $event->getClassMetadata(); $metadata->table['options']['collate'] = 'utf8mb4_unicode_ci'; $metadata->table['options']['charset'] = 'utf8mb4'; }