public loadMetadataForClass ( $className, Doctrine\Common\Persistence\Mapping\ClassMetadata $metadata = null ) | ||
$metadata | Doctrine\Common\Persistence\Mapping\ClassMetadata |
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();
}
$className = $this->normalizeClassName($className);
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 StorageException("Attempted to load mapping data for unmapped class {$className}");
}
}
public function testInitialize() { $app = $this->getApp(); $map = new MetadataDriver($app['schema'], $app['config']->get('contenttypes'), $app['config']->get('taxonomy'), $app['storage.typemap']); $map->initialize(); $metadata = $map->loadMetadataForClass('Bolt\\Storage\\Entity\\Users'); $this->assertNotNull($metadata); $this->assertEquals('bolt_users', $metadata->getTableName()); $field = $metadata->getFieldMapping('id'); $this->assertEquals('id', $field['fieldname']); }