Commit 6e5a5068 authored by romanb's avatar romanb

[2.0] Converted constant values from strings to integers.

parent 9f42e2d9
...@@ -57,10 +57,19 @@ ...@@ -57,10 +57,19 @@
</xs:complexType> </xs:complexType>
<xs:simpleType name="inheritance-type"> <xs:simpleType name="inheritance-type">
<xs:restriction base="xs:string"> <xs:restriction base="xs:token">
<xs:enumeration value="single-table"/> <xs:enumeration value="SINGLE_TABLE"/>
<xs:enumeration value="joined"/> <xs:enumeration value="JOINED"/>
<xs:enumeration value="table-per-class"/> <xs:enumeration value="TABLE_PER_CLASS"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="generator-strategy">
<xs:restriction base="xs:token">
<xs:enumeration value="TABLE"/>
<xs:enumeration value="SEQUENCE"/>
<xs:enumeration value="IDENTITY"/>
<xs:enumeration value="AUTO"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
...@@ -72,7 +81,7 @@ ...@@ -72,7 +81,7 @@
</xs:complexType> </xs:complexType>
<xs:complexType name="generator"> <xs:complexType name="generator">
<xs:attribute name="strategy" type="xs:NMTOKEN" use="required" /> <xs:attribute name="strategy" type="orm:generator-strategy" use="required" />
</xs:complexType> </xs:complexType>
<xs:complexType name="id"> <xs:complexType name="id">
......
...@@ -46,52 +46,52 @@ final class ClassMetadata ...@@ -46,52 +46,52 @@ final class ClassMetadata
* NONE means the class does not participate in an inheritance hierarchy * NONE means the class does not participate in an inheritance hierarchy
* and therefore does not need an inheritance mapping type. * and therefore does not need an inheritance mapping type.
*/ */
const INHERITANCE_TYPE_NONE = 'none'; const INHERITANCE_TYPE_NONE = 1;
/** /**
* JOINED means the class will be persisted according to the rules of * JOINED means the class will be persisted according to the rules of
* <tt>Class Table Inheritance</tt>. * <tt>Class Table Inheritance</tt>.
*/ */
const INHERITANCE_TYPE_JOINED = 'joined'; const INHERITANCE_TYPE_JOINED = 2;
/** /**
* SINGLE_TABLE means the class will be persisted according to the rules of * SINGLE_TABLE means the class will be persisted according to the rules of
* <tt>Single Table Inheritance</tt>. * <tt>Single Table Inheritance</tt>.
*/ */
const INHERITANCE_TYPE_SINGLE_TABLE = 'singleTable'; const INHERITANCE_TYPE_SINGLE_TABLE = 3;
/** /**
* TABLE_PER_CLASS means the class will be persisted according to the rules * TABLE_PER_CLASS means the class will be persisted according to the rules
* of <tt>Concrete Table Inheritance</tt>. * of <tt>Concrete Table Inheritance</tt>.
*/ */
const INHERITANCE_TYPE_TABLE_PER_CLASS = 'tablePerClass'; const INHERITANCE_TYPE_TABLE_PER_CLASS = 4;
/* The Id generator types. */ /* The Id generator types. */
/** /**
* AUTO means the generator type will depend on what the used platform prefers. * AUTO means the generator type will depend on what the used platform prefers.
* Offers full portability. * Offers full portability.
*/ */
const GENERATOR_TYPE_AUTO = 'auto'; const GENERATOR_TYPE_AUTO = 1;
/** /**
* SEQUENCE means a separate sequence object will be used. Platforms that do * SEQUENCE means a separate sequence object will be used. Platforms that do
* not have native sequence support may emulate it. Full portability is currently * not have native sequence support may emulate it. Full portability is currently
* not guaranteed. * not guaranteed.
*/ */
const GENERATOR_TYPE_SEQUENCE = 'sequence'; const GENERATOR_TYPE_SEQUENCE = 2;
/** /**
* TABLE means a separate table is used for id generation. * TABLE means a separate table is used for id generation.
* Offers full portability. * Offers full portability.
*/ */
const GENERATOR_TYPE_TABLE = 'table'; const GENERATOR_TYPE_TABLE = 3;
/** /**
* IDENTITY means an identity column is used for id generation. The database * IDENTITY means an identity column is used for id generation. The database
* will fill in the id column on insertion. Platforms that do not support * will fill in the id column on insertion. Platforms that do not support
* native identity columns may emulate them. Full portability is currently * native identity columns may emulate them. Full portability is currently
* not guaranteed. * not guaranteed.
*/ */
const GENERATOR_TYPE_IDENTITY = 'identity'; const GENERATOR_TYPE_IDENTITY = 4;
/** /**
* NONE means the class does not have a generated id. That means the class * NONE means the class does not have a generated id. That means the class
* must have a natural id. * must have a natural id.
*/ */
const GENERATOR_TYPE_NONE = 'none'; const GENERATOR_TYPE_NONE = 5;
/** /**
* DEFERRED_IMPLICIT means that changes of entities are calculated at commit-time * DEFERRED_IMPLICIT means that changes of entities are calculated at commit-time
* by doing a property-by-property comparison with the original data. This will * by doing a property-by-property comparison with the original data. This will
...@@ -1749,6 +1749,7 @@ final class ClassMetadata ...@@ -1749,6 +1749,7 @@ final class ClassMetadata
* Creates a string representation of this instance. * Creates a string representation of this instance.
* *
* @return string The string representation of this instance. * @return string The string representation of this instance.
* @todo Construct meaningful string representation.
*/ */
public function __toString() public function __toString()
{ {
......
...@@ -63,7 +63,7 @@ class AnnotationDriver implements Driver ...@@ -63,7 +63,7 @@ class AnnotationDriver implements Driver
// Evaluate InheritanceType annotation // Evaluate InheritanceType annotation
if ($inheritanceTypeAnnot = $annotClass->getAnnotation('InheritanceType')) { if ($inheritanceTypeAnnot = $annotClass->getAnnotation('InheritanceType')) {
$metadata->setInheritanceType($inheritanceTypeAnnot->value); $metadata->setInheritanceType(constant('\Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . $inheritanceTypeAnnot->value));
} }
// Evaluate DiscriminatorColumn annotation // Evaluate DiscriminatorColumn annotation
...@@ -130,7 +130,14 @@ class AnnotationDriver implements Driver ...@@ -130,7 +130,14 @@ class AnnotationDriver implements Driver
$mapping['id'] = true; $mapping['id'] = true;
} }
if ($generatedValueAnnot = $property->getAnnotation('GeneratedValue')) { if ($generatedValueAnnot = $property->getAnnotation('GeneratedValue')) {
$metadata->setIdGeneratorType($generatedValueAnnot->strategy); if ($generatedValueAnnot->strategy == 'auto') {
try {
throw new \Exception();
} catch (\Exception $e) {
var_dump($e->getTraceAsString());
}
}
$metadata->setIdGeneratorType(constant('Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_' . $generatedValueAnnot->strategy));
} }
$metadata->mapField($mapping); $metadata->mapField($mapping);
......
...@@ -86,7 +86,8 @@ class XmlDriver extends AbstractFileDriver ...@@ -86,7 +86,8 @@ class XmlDriver extends AbstractFileDriver
$metadata->mapField($mapping); $metadata->mapField($mapping);
if (isset($idElement->generator)) { if (isset($idElement->generator)) {
$metadata->setIdGeneratorType((string)$idElement->generator['strategy']); $metadata->setIdGeneratorType(constant('Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_'
. (string)$idElement->generator['strategy']));
} }
} }
......
...@@ -87,7 +87,8 @@ class YamlDriver extends AbstractFileDriver ...@@ -87,7 +87,8 @@ class YamlDriver extends AbstractFileDriver
$metadata->mapField($mapping); $metadata->mapField($mapping);
if (isset($idElement['generator'])) { if (isset($idElement['generator'])) {
$metadata->setIdGeneratorType($idElement['generator']['strategy']); $metadata->setIdGeneratorType(constant('Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_'
. $idElement['generator']['strategy']));
} }
} }
......
...@@ -14,7 +14,7 @@ class CmsAddress ...@@ -14,7 +14,7 @@ class CmsAddress
/** /**
* @Column(type="integer") * @Column(type="integer")
* @Id * @Id
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
......
...@@ -11,7 +11,7 @@ class CmsArticle ...@@ -11,7 +11,7 @@ class CmsArticle
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
/** /**
......
...@@ -11,7 +11,7 @@ class CmsComment ...@@ -11,7 +11,7 @@ class CmsComment
/** /**
* @Column(type="integer") * @Column(type="integer")
* @Id * @Id
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
/** /**
......
...@@ -14,7 +14,7 @@ class CmsEmployee ...@@ -14,7 +14,7 @@ class CmsEmployee
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
private $id; private $id;
......
...@@ -18,7 +18,7 @@ class CmsGroup ...@@ -18,7 +18,7 @@ class CmsGroup
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
/** /**
......
...@@ -10,7 +10,7 @@ class CmsUser ...@@ -10,7 +10,7 @@ class CmsUser
{ {
/** /**
* @Id @Column(type="integer") * @Id @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
/** /**
......
...@@ -9,7 +9,7 @@ namespace Doctrine\Tests\Models\Company; ...@@ -9,7 +9,7 @@ namespace Doctrine\Tests\Models\Company;
* @Entity * @Entity
* @Table(name="company_persons") * @Table(name="company_persons")
* @DiscriminatorValue("person") * @DiscriminatorValue("person")
* @InheritanceType("joined") * @InheritanceType("JOINED")
* @DiscriminatorColumn(name="discr", type="string") * @DiscriminatorColumn(name="discr", type="string")
* @SubClasses({"Doctrine\Tests\Models\Company\CompanyEmployee", * @SubClasses({"Doctrine\Tests\Models\Company\CompanyEmployee",
"Doctrine\Tests\Models\Company\CompanyManager"}) "Doctrine\Tests\Models\Company\CompanyManager"})
...@@ -19,7 +19,7 @@ class CompanyPerson ...@@ -19,7 +19,7 @@ class CompanyPerson
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
private $id; private $id;
/** /**
......
...@@ -11,7 +11,7 @@ class ForumAvatar ...@@ -11,7 +11,7 @@ class ForumAvatar
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
} }
...@@ -11,7 +11,7 @@ class ForumEntry ...@@ -11,7 +11,7 @@ class ForumEntry
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
/** /**
......
...@@ -11,7 +11,7 @@ class ForumUser ...@@ -11,7 +11,7 @@ class ForumUser
/** /**
* @Column(type="integer") * @Column(type="integer")
* @Id * @Id
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
public $id; public $id;
/** /**
......
...@@ -97,7 +97,7 @@ class SingleTableInheritanceTest extends \Doctrine\Tests\OrmFunctionalTestCase ...@@ -97,7 +97,7 @@ class SingleTableInheritanceTest extends \Doctrine\Tests\OrmFunctionalTestCase
/** /**
* @Entity * @Entity
* @InheritanceType("singleTable") * @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="discr", type="string") * @DiscriminatorColumn(name="discr", type="string")
* @SubClasses({"Doctrine\Tests\ORM\Functional\ChildEntity"}) * @SubClasses({"Doctrine\Tests\ORM\Functional\ChildEntity"})
* @DiscriminatorValue("parent") * @DiscriminatorValue("parent")
...@@ -106,7 +106,7 @@ class ParentEntity { ...@@ -106,7 +106,7 @@ class ParentEntity {
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
private $id; private $id;
...@@ -168,7 +168,7 @@ class RelatedEntity { ...@@ -168,7 +168,7 @@ class RelatedEntity {
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
private $id; private $id;
/** /**
......
...@@ -27,7 +27,7 @@ class ClassMetadataFactoryTest extends \Doctrine\Tests\OrmTestCase ...@@ -27,7 +27,7 @@ class ClassMetadataFactoryTest extends \Doctrine\Tests\OrmTestCase
// and a mapped association // and a mapped association
$cm1->mapOneToOne(array('fieldName' => 'other', 'targetEntity' => 'Other', 'mappedBy' => 'this')); $cm1->mapOneToOne(array('fieldName' => 'other', 'targetEntity' => 'Other', 'mappedBy' => 'this'));
// and an id generator type // and an id generator type
$cm1->setIdGeneratorType('auto'); $cm1->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
// SUT // SUT
$cmf = new ClassMetadataFactoryTestSubject($mockDriver, $mockPlatform); $cmf = new ClassMetadataFactoryTestSubject($mockDriver, $mockPlatform);
...@@ -35,17 +35,17 @@ class ClassMetadataFactoryTest extends \Doctrine\Tests\OrmTestCase ...@@ -35,17 +35,17 @@ class ClassMetadataFactoryTest extends \Doctrine\Tests\OrmTestCase
// Prechecks // Prechecks
$this->assertEquals(array(), $cm1->parentClasses); $this->assertEquals(array(), $cm1->parentClasses);
$this->assertEquals('none', $cm1->inheritanceType); $this->assertEquals(ClassMetadata::INHERITANCE_TYPE_NONE, $cm1->inheritanceType);
$this->assertTrue($cm1->hasField('name')); $this->assertTrue($cm1->hasField('name'));
$this->assertEquals(1, count($cm1->associationMappings)); $this->assertEquals(1, count($cm1->associationMappings));
$this->assertEquals('auto', $cm1->generatorType); $this->assertEquals(ClassMetadata::GENERATOR_TYPE_AUTO, $cm1->generatorType);
// Go // Go
$cm1 = $cmf->getMetadataFor('Doctrine\Tests\ORM\Mapping\TestEntity1'); $cm1 = $cmf->getMetadataFor('Doctrine\Tests\ORM\Mapping\TestEntity1');
$this->assertEquals(array(), $cm1->parentClasses); $this->assertEquals(array(), $cm1->parentClasses);
$this->assertTrue($cm1->hasField('name')); $this->assertTrue($cm1->hasField('name'));
$this->assertEquals('sequence', $cm1->generatorType); $this->assertEquals(ClassMetadata::GENERATOR_TYPE_SEQUENCE, $cm1->generatorType);
} }
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<entity name="XmlMappingTest\User" table="cms_users"> <entity name="XmlMappingTest\User" table="cms_users">
<id name="id" type="integer" column="id"> <id name="id" type="integer" column="id">
<generator strategy="auto"/> <generator strategy="AUTO"/>
</id> </id>
<field name="name" column="name" type="string" length="50"/> <field name="name" column="name" type="string" length="50"/>
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
</join-table> </join-table>
</many-to-many> </many-to-many>
</entity> </entity>
</doctrine-mapping> </doctrine-mapping>
\ No newline at end of file
...@@ -5,7 +5,7 @@ YamlMappingTest\User: ...@@ -5,7 +5,7 @@ YamlMappingTest\User:
id: id:
type: integer type: integer
generator: generator:
strategy: auto strategy: AUTO
fields: fields:
name: name:
type: string type: string
......
...@@ -193,7 +193,7 @@ class NotifyChangedEntity implements \Doctrine\Common\NotifyPropertyChanged ...@@ -193,7 +193,7 @@ class NotifyChangedEntity implements \Doctrine\Common\NotifyPropertyChanged
/** /**
* @Id * @Id
* @Column(type="integer") * @Column(type="integer")
* @GeneratedValue(strategy="auto") * @GeneratedValue(strategy="AUTO")
*/ */
private $id; private $id;
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment