From 4796452b0732692612e66412daca72f2f6449e1c Mon Sep 17 00:00:00 2001 From: Benjamin Eberlei Date: Tue, 12 Jul 2011 23:25:15 +0200 Subject: [PATCH] DDC-1268 - Singular add*() method name through using targetEntity shortname --- lib/Doctrine/ORM/Tools/EntityGenerator.php | 8 +++++++- tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/Doctrine/ORM/Tools/EntityGenerator.php b/lib/Doctrine/ORM/Tools/EntityGenerator.php index c9fc21136..0580cb27e 100644 --- a/lib/Doctrine/ORM/Tools/EntityGenerator.php +++ b/lib/Doctrine/ORM/Tools/EntityGenerator.php @@ -686,7 +686,13 @@ public function () private function _generateEntityStubMethod(ClassMetadataInfo $metadata, $type, $fieldName, $typeHint = null) { - $methodName = $type . Inflector::classify($fieldName); + if ($type == "add") { + $addMethod = explode("\\", $typeHint); + $addMethod = end($addMethod); + $methodName = $type . $addMethod; + } else { + $methodName = $type . Inflector::classify($fieldName); + } if ($this->_hasMethod($methodName, $metadata)) { return; diff --git a/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php b/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php index 698219e24..fce7d4c20 100644 --- a/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php +++ b/tests/Doctrine/Tests/ORM/Tools/EntityGeneratorTest.php @@ -98,7 +98,7 @@ class EntityGeneratorTest extends \Doctrine\Tests\OrmTestCase $this->assertTrue(method_exists($metadata->namespace . '\EntityGeneratorBook', 'setAuthor'), "EntityGeneratorBook::setAuthor() missing."); $this->assertTrue(method_exists($metadata->namespace . '\EntityGeneratorBook', 'getAuthor'), "EntityGeneratorBook::getAuthor() missing."); $this->assertTrue(method_exists($metadata->namespace . '\EntityGeneratorBook', 'getComments'), "EntityGeneratorBook::getComments() missing."); - $this->assertTrue(method_exists($metadata->namespace . '\EntityGeneratorBook', 'addComments'), "EntityGeneratorBook::addComments() missing."); + $this->assertTrue(method_exists($metadata->namespace . '\EntityGeneratorBook', 'addEntityGeneratorComment'), "EntityGeneratorBook::addEntityGeneratorComment() missing."); $this->assertEquals('published', $book->getStatus()); @@ -110,7 +110,7 @@ class EntityGeneratorTest extends \Doctrine\Tests\OrmTestCase $this->assertEquals($author, $book->getAuthor()); $comment = new EntityGeneratorComment(); - $book->addComments($comment); + $book->addEntityGeneratorComment($comment); $this->assertInstanceOf('Doctrine\Common\Collections\ArrayCollection', $book->getComments()); $this->assertEquals(new \Doctrine\Common\Collections\ArrayCollection(array($comment)), $book->getComments()); }