Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 00bad27

Browse files
committed
doctrine#1130 DDC-3300 - fixed inheritance maps where inheritance members were missing
1 parent e006ecb commit 00bad27

9 files changed

Lines changed: 34 additions & 21 deletions

File tree

tests/Doctrine/Tests/Models/CompositeKeyInheritance/JoinedRootClass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* @Entity
66
* @InheritanceType("JOINED")
77
* @DiscriminatorColumn(name="discr", type="string")
8-
* @DiscriminatorMap({"child" = "JoinedChildClass",})
8+
* @DiscriminatorMap({"child" = "JoinedChildClass", "root" = "JoinedRootClass"})
99
*/
1010
class JoinedRootClass
1111
{

tests/Doctrine/Tests/Models/CompositeKeyInheritance/SingleRootClass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* @Entity
66
* @InheritanceType("SINGLE_TABLE")
77
* @DiscriminatorColumn(name="discr", type="string")
8-
* @DiscriminatorMap({"child" = "SingleChildClass",})
8+
* @DiscriminatorMap({"child" = "SingleChildClass", "root" = "SingleRootClass"})
99
*/
1010
class SingleRootClass
1111
{

tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1113Test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public function testIssue()
5050
/**
5151
* @Entity
5252
* @InheritanceType("SINGLE_TABLE")
53-
* @DiscriminatorMap({"car" = "DDC1113Car", "bus" = "DDC1113Bus"})
53+
* @DiscriminatorMap({"vehicle" = "DDC1113Vehicle", "car" = "DDC1113Car", "bus" = "DDC1113Bus"})
5454
*/
5555
class DDC1113Vehicle
5656
{

tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1454Test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class DDC1454Picture extends DDC1454File
4343
* @Entity
4444
* @InheritanceType("JOINED")
4545
* @DiscriminatorColumn(name="discr", type="string")
46-
* @DiscriminatorMap({"picture" = "DDC1454Picture"})
46+
* @DiscriminatorMap({"file" = "DDC1454File", "picture" = "DDC1454Picture"})
4747
*/
4848
class DDC1454File
4949
{

tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1509Test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public function setThumbnail($thumbnail)
115115
* @Entity
116116
* @InheritanceType("SINGLE_TABLE")
117117
* @DiscriminatorColumn(name="discr", type="string")
118-
* @DiscriminatorMap({"file" = "DDC1509File"})
118+
* @DiscriminatorMap({"abstractFile" = "DDC1509AbstractFile", "file" = "DDC1509File"})
119119
*/
120120
class DDC1509AbstractFile
121121
{

tests/Doctrine/Tests/ORM/Functional/Ticket/DDC1787Test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public function testIssue()
3333
* @Entity
3434
* @InheritanceType("JOINED")
3535
* @DiscriminatorColumn(name="discr", type="string")
36-
* @DiscriminatorMap({"bar" = "DDC1787Bar"})
36+
* @DiscriminatorMap({"bar" = "DDC1787Bar", "foo" = "DDC1787Foo"})
3737
*/
3838
class DDC1787Foo
3939
{

tests/Doctrine/Tests/ORM/Functional/Ticket/DDC2012Test.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ public function testIssue()
7171
* @InheritanceType("JOINED")
7272
* @DiscriminatorColumn(name="type_id", type="smallint")
7373
* @DiscriminatorMap({
74-
* 1 = "DDC2012ItemPerson"
74+
* 1 = "DDC2012ItemPerson",
75+
* 2 = "DDC2012Item"
7576
* })
7677
*/
7778
class DDC2012Item

tests/Doctrine/Tests/ORM/Functional/Ticket/DDC2346Test.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public function __construct() {
8888
* @Entity
8989
* @InheritanceType("JOINED")
9090
* @DiscriminatorColumn(name="discr", type="string")
91-
* @DiscriminatorMap({"baz" = "DDC2346Baz"})
91+
* @DiscriminatorMap({"bar" = "DDC2346Bar", "baz" = "DDC2346Baz"})
9292
*/
9393
class DDC2346Bar
9494
{

tests/Doctrine/Tests/ORM/Functional/Ticket/DDC3300Test.php

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Doctrine\ORM\Events;
66
use Doctrine\ORM\Tools\ResolveDiscriminatorMapListener;
7+
use Doctrine\ORM\Tools\ResolveTargetEntityListener;
78

89
/**
910
* @group DDC-3300
@@ -12,21 +13,28 @@ class DDC3300Test extends \Doctrine\Tests\OrmFunctionalTestCase
1213
{
1314
public function testIssue()
1415
{
15-
$this
16-
->_em
17-
->getEventManager()
18-
->addEventListener(
19-
Events::loadClassMetadata,
20-
new ResolveDiscriminatorMapListener(array(
21-
'Doctrine\Tests\ORM\Functional\Ticket\DDC3300BossInterface' => 'Doctrine\Tests\ORM\Functional\Ticket\DDC3300Boss',
22-
'Doctrine\Tests\ORM\Functional\Ticket\DDC3300EmployeeInterface' => 'Doctrine\Tests\ORM\Functional\Ticket\DDC3300Employee',
23-
))
24-
);
16+
$resolveTargetEntity = new ResolveTargetEntityListener();
17+
18+
$resolveTargetEntity->addResolveTargetEntity(
19+
DDC3300BossInterface::INTERFACENAME,
20+
DDC3300Boss::CLASSNAME,
21+
array()
22+
);
23+
24+
$resolveTargetEntity->addResolveTargetEntity(
25+
DDC3300EmployeeInterface::INTERFACENAME,
26+
DDC3300Employee::CLASSNAME,
27+
array()
28+
);
29+
30+
$this->_em->getEventManager()->addEventSubscriber($resolveTargetEntity);
2531

2632
$this->_schemaTool->createSchema(array(
27-
$this->_em->getClassMetadata(__NAMESPACE__ . '\\DDC3300Person'),
33+
$this->_em->getClassMetadata(DDC3300Person::CLASSNAME),
2834
));
2935

36+
//die(var_dump($this->_em->getClassMetadata(DDC3300Person::CLASSNAME)->discriminatorMap));
37+
3038
$boss = new DDC3300Boss();
3139
$this->_em->persist($boss);
3240

@@ -48,6 +56,8 @@ public function testIssue()
4856
*/
4957
abstract class DDC3300Person
5058
{
59+
const CLASSNAME = __CLASS__;
60+
5161
/**
5262
* @Id
5363
* @Column(type="integer")
@@ -58,25 +68,27 @@ abstract class DDC3300Person
5868

5969
interface DDC3300BossInterface
6070
{
61-
71+
const INTERFACENAME = __CLASS__;
6272
}
6373

6474
/**
6575
* @Entity
6676
*/
6777
class DDC3300Boss extends DDC3300Person implements DDC3300BossInterface
6878
{
79+
const CLASSNAME = __CLASS__;
6980
}
7081

7182
interface DDC3300EmployeeInterface
7283
{
73-
84+
const INTERFACENAME = __CLASS__;
7485
}
7586

7687
/**
7788
* @Entity
7889
*/
7990
class DDC3300Employee extends DDC3300Person implements DDC3300EmployeeInterface
8091
{
92+
const CLASSNAME = __CLASS__;
8193
}
8294

0 commit comments

Comments
 (0)