/** * {@inheritdoc} */ public function loadMetadataForClass($className, ClassMetadata $metadata = null) { if (null === $metadata) { $fullClassName = $this->resolveClassName($className); $metadata = new BoltClassMetadata($fullClassName, $this->namingStrategy); } if (!$this->initialized) { $this->initialize(); } if (array_key_exists($className, $this->metadata)) { $data = $this->metadata[$className]; $metadata->setTableName($data['table']); $metadata->setIdentifier($data['identifier']); $metadata->setFieldMappings($data['fields']); $metadata->setBoltName($data['boltname']); return $metadata; } else { throw new \Exception("Attempted to load mapping data for unmapped class {$className}"); } }
protected function buildMetadata($entity, $rawData = null) { $template = $this->chooser->record($entity, $rawData); $metadata = new ClassMetadata(get_class($entity)); if (isset($this->mapping['config'][$template])) { $mappings = $this->em->getMapper()->loadMetadataForFields($this->mapping['config'][$template]['fields']); $metadata->setFieldMappings((array) $mappings); } return $metadata; }