Removing API that should be moved to common
This commit is contained in:
parent
82cfda3dec
commit
03fb734de8
@ -21,6 +21,7 @@ namespace Doctrine\ORM\Mapping\Driver;
|
|||||||
|
|
||||||
use Doctrine\ORM\Mapping\MappingException;
|
use Doctrine\ORM\Mapping\MappingException;
|
||||||
use Doctrine\Common\Persistence\Mapping\Driver\FileDriver;
|
use Doctrine\Common\Persistence\Mapping\Driver\FileDriver;
|
||||||
|
use Doctrine\Common\Persistence\Mapping\Driver\FileLocator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base driver for file-based metadata drivers.
|
* Base driver for file-based metadata drivers.
|
||||||
@ -40,26 +41,6 @@ use Doctrine\Common\Persistence\Mapping\Driver\FileDriver;
|
|||||||
*/
|
*/
|
||||||
abstract class AbstractFileDriver extends FileDriver implements Driver
|
abstract class AbstractFileDriver extends FileDriver implements Driver
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Append lookup paths to metadata driver.
|
|
||||||
*
|
|
||||||
* @param array $paths
|
|
||||||
*/
|
|
||||||
public function addPaths(array $paths)
|
|
||||||
{
|
|
||||||
$this->locator->addPaths($paths);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieve the defined metadata lookup paths.
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
public function getPaths()
|
|
||||||
{
|
|
||||||
return $this->locator->getPaths();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the element of schema meta data for the class from the mapping file.
|
* Get the element of schema meta data for the class from the mapping file.
|
||||||
* This will lazily load the mapping file if it is not loaded yet
|
* This will lazily load the mapping file if it is not loaded yet
|
||||||
@ -76,17 +57,4 @@ abstract class AbstractFileDriver extends FileDriver implements Driver
|
|||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Finds the mapping file for the class with the given name by searching
|
|
||||||
* through the configured paths.
|
|
||||||
*
|
|
||||||
* @param $className
|
|
||||||
* @return string The (absolute) file name.
|
|
||||||
* @throws MappingException
|
|
||||||
*/
|
|
||||||
protected function findMappingFile($className)
|
|
||||||
{
|
|
||||||
return $this->locator->findMappingFile($className);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -19,12 +19,7 @@
|
|||||||
|
|
||||||
namespace Doctrine\ORM\Mapping\Driver;
|
namespace Doctrine\ORM\Mapping\Driver;
|
||||||
|
|
||||||
use Doctrine\Common\Cache\ArrayCache,
|
use Doctrine\Common\Persistence\Mapping\ClassMetadata,
|
||||||
Doctrine\Common\Annotations\AnnotationReader,
|
|
||||||
Doctrine\DBAL\Schema\AbstractSchemaManager,
|
|
||||||
Doctrine\Common\Persistence\Mapping\ClassMetadata,
|
|
||||||
Doctrine\ORM\Mapping\MappingException,
|
|
||||||
Doctrine\Common\Util\Inflector,
|
|
||||||
Doctrine\ORM\Mapping\Driver\AbstractFileDriver;
|
Doctrine\ORM\Mapping\Driver\AbstractFileDriver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -46,9 +41,9 @@ class PHPDriver extends AbstractFileDriver
|
|||||||
const DEFAULT_FILE_EXTENSION = '.php';
|
const DEFAULT_FILE_EXTENSION = '.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
*
|
||||||
|
* @var ClassMetadata
|
||||||
*/
|
*/
|
||||||
protected $_fileExtension = '.php';
|
|
||||||
protected $_metadata;
|
protected $_metadata;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -65,7 +60,7 @@ class PHPDriver extends AbstractFileDriver
|
|||||||
public function loadMetadataForClass($className, ClassMetadata $metadata)
|
public function loadMetadataForClass($className, ClassMetadata $metadata)
|
||||||
{
|
{
|
||||||
$this->_metadata = $metadata;
|
$this->_metadata = $metadata;
|
||||||
$this->loadMappingFile($this->findMappingFile($className));
|
$this->getElement($className);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -73,7 +68,12 @@ class PHPDriver extends AbstractFileDriver
|
|||||||
*/
|
*/
|
||||||
protected function loadMappingFile($file)
|
protected function loadMappingFile($file)
|
||||||
{
|
{
|
||||||
|
$result = array();
|
||||||
$metadata = $this->_metadata;
|
$metadata = $this->_metadata;
|
||||||
include $file;
|
include $file;
|
||||||
|
// @todo cannot assume that the only loaded metadata is $metadata. Some
|
||||||
|
// decision about the preferred approach should be taken
|
||||||
|
$result[$metadata->getName()] = $metadata;
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -59,7 +59,7 @@ class SimplifiedXmlDriver extends XmlDriver
|
|||||||
public function addNamespacePrefixes($prefixes)
|
public function addNamespacePrefixes($prefixes)
|
||||||
{
|
{
|
||||||
$this->_prefixes = array_merge($this->_prefixes, $prefixes);
|
$this->_prefixes = array_merge($this->_prefixes, $prefixes);
|
||||||
$this->addPaths(array_flip($prefixes));
|
$this->locator->addPaths(array_flip($prefixes));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getNamespacePrefixes()
|
public function getNamespacePrefixes()
|
||||||
@ -95,8 +95,8 @@ class SimplifiedXmlDriver extends XmlDriver
|
|||||||
|
|
||||||
$classes = array();
|
$classes = array();
|
||||||
|
|
||||||
if ($this->_paths) {
|
if ($this->locator->getPaths()) {
|
||||||
foreach ((array) $this->_paths as $path) {
|
foreach ($this->locator->getPaths() as $path) {
|
||||||
if (!is_dir($path)) {
|
if (!is_dir($path)) {
|
||||||
throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath($path);
|
throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath($path);
|
||||||
}
|
}
|
||||||
@ -143,7 +143,7 @@ class SimplifiedXmlDriver extends XmlDriver
|
|||||||
{
|
{
|
||||||
$this->_classCache = array();
|
$this->_classCache = array();
|
||||||
if (null !== $this->_globalBasename) {
|
if (null !== $this->_globalBasename) {
|
||||||
foreach ($this->_paths as $path) {
|
foreach ($this->locator->getPaths() as $path) {
|
||||||
if (is_file($file = $path.'/'.$this->_globalBasename.$this->_fileExtension)) {
|
if (is_file($file = $path.'/'.$this->_globalBasename.$this->_fileExtension)) {
|
||||||
$this->_classCache = array_merge($this->_classCache, $this->loadMappingFile($file));
|
$this->_classCache = array_merge($this->_classCache, $this->loadMappingFile($file));
|
||||||
}
|
}
|
||||||
@ -154,7 +154,7 @@ class SimplifiedXmlDriver extends XmlDriver
|
|||||||
protected function findMappingFile($className)
|
protected function findMappingFile($className)
|
||||||
{
|
{
|
||||||
$defaultFileName = str_replace('\\', '.', $className).$this->_fileExtension;
|
$defaultFileName = str_replace('\\', '.', $className).$this->_fileExtension;
|
||||||
foreach ($this->_paths as $path) {
|
foreach ($this->locator->getPaths() as $path) {
|
||||||
if (!isset($this->_prefixes[$path])) {
|
if (!isset($this->_prefixes[$path])) {
|
||||||
if (is_file($path.DIRECTORY_SEPARATOR.$defaultFileName)) {
|
if (is_file($path.DIRECTORY_SEPARATOR.$defaultFileName)) {
|
||||||
return $path.DIRECTORY_SEPARATOR.$defaultFileName;
|
return $path.DIRECTORY_SEPARATOR.$defaultFileName;
|
||||||
|
@ -30,7 +30,7 @@ use Doctrine\ORM\Mapping\MappingException;
|
|||||||
*/
|
*/
|
||||||
class SimplifiedYamlDriver extends YamlDriver
|
class SimplifiedYamlDriver extends YamlDriver
|
||||||
{
|
{
|
||||||
const DEFAULT_FILE_EXTENSION = '.orm.xml';
|
const DEFAULT_FILE_EXTENSION = '.orm.yml';
|
||||||
|
|
||||||
protected $_prefixes = array();
|
protected $_prefixes = array();
|
||||||
protected $_globalBasename;
|
protected $_globalBasename;
|
||||||
@ -59,7 +59,7 @@ class SimplifiedYamlDriver extends YamlDriver
|
|||||||
public function addNamespacePrefixes($prefixes)
|
public function addNamespacePrefixes($prefixes)
|
||||||
{
|
{
|
||||||
$this->_prefixes = array_merge($this->_prefixes, $prefixes);
|
$this->_prefixes = array_merge($this->_prefixes, $prefixes);
|
||||||
$this->addPaths(array_flip($prefixes));
|
$this->locator->addPaths(array_flip($prefixes));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addNamespacePrefix($prefix, $path)
|
public function addNamespacePrefix($prefix, $path)
|
||||||
@ -100,8 +100,8 @@ class SimplifiedYamlDriver extends YamlDriver
|
|||||||
|
|
||||||
$classes = array();
|
$classes = array();
|
||||||
|
|
||||||
if ($this->_paths) {
|
if ($this->locator->getPaths()) {
|
||||||
foreach ((array) $this->_paths as $path) {
|
foreach ($this->locator->getPaths() as $path) {
|
||||||
if (!is_dir($path)) {
|
if (!is_dir($path)) {
|
||||||
throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath($path);
|
throw MappingException::fileMappingDriversRequireConfiguredDirectoryPath($path);
|
||||||
}
|
}
|
||||||
@ -148,7 +148,7 @@ class SimplifiedYamlDriver extends YamlDriver
|
|||||||
{
|
{
|
||||||
$this->_classCache = array();
|
$this->_classCache = array();
|
||||||
if (null !== $this->_globalBasename) {
|
if (null !== $this->_globalBasename) {
|
||||||
foreach ($this->_paths as $path) {
|
foreach ($this->locator->getPaths() as $path) {
|
||||||
if (is_file($file = $path.'/'.$this->_globalBasename.$this->_fileExtension)) {
|
if (is_file($file = $path.'/'.$this->_globalBasename.$this->_fileExtension)) {
|
||||||
$this->_classCache = array_merge($this->_classCache, $this->loadMappingFile($file));
|
$this->_classCache = array_merge($this->_classCache, $this->loadMappingFile($file));
|
||||||
}
|
}
|
||||||
@ -159,7 +159,7 @@ class SimplifiedYamlDriver extends YamlDriver
|
|||||||
protected function findMappingFile($className)
|
protected function findMappingFile($className)
|
||||||
{
|
{
|
||||||
$defaultFileName = str_replace('\\', '.', $className).$this->_fileExtension;
|
$defaultFileName = str_replace('\\', '.', $className).$this->_fileExtension;
|
||||||
foreach ($this->_paths as $path) {
|
foreach ($this->locator->getPaths() as $path) {
|
||||||
if (!isset($this->_prefixes[$path])) {
|
if (!isset($this->_prefixes[$path])) {
|
||||||
if (is_file($path.DIRECTORY_SEPARATOR.$defaultFileName)) {
|
if (is_file($path.DIRECTORY_SEPARATOR.$defaultFileName)) {
|
||||||
return $path.DIRECTORY_SEPARATOR.$defaultFileName;
|
return $path.DIRECTORY_SEPARATOR.$defaultFileName;
|
||||||
|
@ -27,7 +27,7 @@ class YamlMappingDriverTest extends AbstractMappingDriverTest
|
|||||||
public function testJoinTablesWithMappedSuperclassForYamlDriver()
|
public function testJoinTablesWithMappedSuperclassForYamlDriver()
|
||||||
{
|
{
|
||||||
$yamlDriver = $this->_loadDriver();
|
$yamlDriver = $this->_loadDriver();
|
||||||
$yamlDriver->addPaths(array(__DIR__ . DIRECTORY_SEPARATOR . 'yaml'));
|
$yamlDriver->getLocator()->addPaths(array(__DIR__ . DIRECTORY_SEPARATOR . 'yaml'));
|
||||||
|
|
||||||
$em = $this->_getTestEntityManager();
|
$em = $this->_getTestEntityManager();
|
||||||
$em->getConfiguration()->setMetadataDriverImpl($yamlDriver);
|
$em->getConfiguration()->setMetadataDriverImpl($yamlDriver);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user