Skip to content

Commit f361535

Browse files
fix: added orm mapping for Symfony\Component\Routing\Route
1 parent 6a34a0f commit f361535

File tree

5 files changed

+27
-37
lines changed

5 files changed

+27
-37
lines changed

CmfRoutingBundle.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public function build(ContainerBuilder $container)
4040
}
4141

4242
if (class_exists('Doctrine\Bundle\DoctrineBundle\DependencyInjection\Compiler\DoctrineOrmMappingsPass')) {
43+
$container->addCompilerPass($this->buildBaseOrmCompilerPass());
4344
$container->addCompilerPass(
4445
DoctrineOrmMappingsPass::createXmlMappingDriver(
4546
array(
@@ -53,6 +54,20 @@ public function build(ContainerBuilder $container)
5354
}
5455
}
5556

57+
private function buildBaseOrmCompilerPass()
58+
{
59+
$arguments = array(array(realpath(__DIR__ . '/Resources/config/doctrine-base')), '.orm.xml');
60+
$locator = new Definition('Doctrine\Common\Persistence\Mapping\Driver\DefaultFileLocator', $arguments);
61+
$driver = new Definition('Doctrine\ORM\Mapping\Driver\XmlDriver', array($locator));
62+
63+
return new DoctrineOrmMappingsPass(
64+
$driver,
65+
array('Symfony\Component\Routing'),
66+
array('cmf_routing.dynamic.persistence.orm.manager_name'),
67+
'cmf_routing.persistence.orm.enabled'
68+
);
69+
}
70+
5671
/**
5772
* Build the compiler pass for the symfony core routing component. The
5873
* factory method uses the SymfonyFileLocator which will look at the

Doctrine/Orm/Route.php

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,4 @@ class Route extends RouteModel
2424
* {@inheritDoc}
2525
*/
2626
protected $addTrailingSlash;
27-
28-
/**
29-
* {@inheritDoc}
30-
*/
31-
protected $host;
32-
33-
/**
34-
* {@inheritDoc}
35-
*/
36-
protected $defaults;
37-
38-
/**
39-
* {@inheritDoc}
40-
*/
41-
protected $requirements;
42-
43-
/**
44-
* {@inheritDoc}
45-
*/
46-
protected $options;
4727
}

Model/Route.php

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -259,16 +259,6 @@ public function compile()
259259
return parent::compile();
260260
}
261261

262-
/**
263-
* {@inheritDoc}
264-
*
265-
* Required by orm
266-
*/
267-
public function getDefaults()
268-
{
269-
return $this->defaults;
270-
}
271-
272262
public function __toString()
273263
{
274264
return (string) $this->id;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="https://raw.github.com/doctrine/doctrine2/master/doctrine-mapping.xsd">
4+
5+
<mapped-superclass name="Symfony\Component\Routing\Route">
6+
<field name="host" type="string"/>
7+
<field name="defaults" type="array"/>
8+
<field name="requirements" type="array"/>
9+
<field name="options" type="array"/>
10+
</mapped-superclass>
11+
12+
</doctrine-mapping>

Resources/config/doctrine-orm/Route.orm.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,9 @@
1010

1111
<field name="name" type="string" unique="true"/>
1212
<field name="staticPrefix" type="string"/>
13-
1413
<field name="position" type="integer"/>
15-
1614
<field name="addTrailingSlash" type="boolean"/>
1715

18-
<field name="host" type="string"/>
19-
<field name="defaults" type="array"/>
20-
<field name="requirements" type="array"/>
21-
<field name="options" type="array"/>
22-
2316
<indexes>
2417
<index name="name_idx" columns="name"/>
2518
<index name="prefix_idx" columns="staticPrefix"/>

0 commit comments

Comments
 (0)