Commit 6e5a5068 authored by romanb's avatar romanb

[2.0] Converted constant values from strings to integers.

parent 9f42e2d9
......@@ -57,12 +57,21 @@
</xs:complexType>
<xs:simpleType name="inheritance-type">
<xs:restriction base="xs:string">
<xs:enumeration value="single-table"/>
<xs:enumeration value="joined"/>
<xs:enumeration value="table-per-class"/>
<xs:restriction base="xs:token">
<xs:enumeration value="SINGLE_TABLE"/>
<xs:enumeration value="JOINED"/>
<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:simpleType>
<xs:complexType name="field">
<xs:attribute name="name" type="xs:NMTOKEN" use="required" />
......@@ -72,7 +81,7 @@
</xs:complexType>
<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 name="id">
......
......@@ -46,52 +46,52 @@ final class ClassMetadata
* NONE means the class does not participate in an inheritance hierarchy
* 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
* <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
* <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
* of <tt>Concrete Table Inheritance</tt>.
*/
const INHERITANCE_TYPE_TABLE_PER_CLASS = 'tablePerClass';
const INHERITANCE_TYPE_TABLE_PER_CLASS = 4;
/* The Id generator types. */
/**
* AUTO means the generator type will depend on what the used platform prefers.
* 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
* not have native sequence support may emulate it. Full portability is currently
* not guaranteed.
*/
const GENERATOR_TYPE_SEQUENCE = 'sequence';
const GENERATOR_TYPE_SEQUENCE = 2;
/**
* TABLE means a separate table is used for id generation.
* 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
* will fill in the id column on insertion. Platforms that do not support
* native identity columns may emulate them. Full portability is currently
* 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
* 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
* by doing a property-by-property comparison with the original data. This will
......@@ -1749,6 +1749,7 @@ final class ClassMetadata
* Creates a string representation of this instance.
*
* @return string The string representation of this instance.
* @todo Construct meaningful string representation.
*/
public function __toString()
{
......
......@@ -63,7 +63,7 @@ class AnnotationDriver implements Driver
// Evaluate InheritanceType annotation
if ($inheritanceTypeAnnot = $annotClass->getAnnotation('InheritanceType')) {
$metadata->setInheritanceType($inheritanceTypeAnnot->value);
$metadata->setInheritanceType(constant('\Doctrine\ORM\Mapping\ClassMetadata::INHERITANCE_TYPE_' . $inheritanceTypeAnnot->value));
}
// Evaluate DiscriminatorColumn annotation
......@@ -130,7 +130,14 @@ class AnnotationDriver implements Driver
$mapping['id'] = true;
}
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);
......
......@@ -86,7 +86,8 @@ class XmlDriver extends AbstractFileDriver
$metadata->mapField($mapping);
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
$metadata->mapField($mapping);
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
/**
* @Column(type="integer")
* @Id
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
......
......@@ -11,7 +11,7 @@ class CmsArticle
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
/**
......
......@@ -11,7 +11,7 @@ class CmsComment
/**
* @Column(type="integer")
* @Id
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
/**
......
......@@ -14,7 +14,7 @@ class CmsEmployee
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
......
......@@ -18,7 +18,7 @@ class CmsGroup
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
/**
......
......@@ -10,7 +10,7 @@ class CmsUser
{
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
/**
......
......@@ -9,7 +9,7 @@ namespace Doctrine\Tests\Models\Company;
* @Entity
* @Table(name="company_persons")
* @DiscriminatorValue("person")
* @InheritanceType("joined")
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="discr", type="string")
* @SubClasses({"Doctrine\Tests\Models\Company\CompanyEmployee",
"Doctrine\Tests\Models\Company\CompanyManager"})
......@@ -19,7 +19,7 @@ class CompanyPerson
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
......
......@@ -11,7 +11,7 @@ class ForumAvatar
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
}
......@@ -11,7 +11,7 @@ class ForumEntry
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
/**
......
......@@ -11,7 +11,7 @@ class ForumUser
/**
* @Column(type="integer")
* @Id
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
public $id;
/**
......
......@@ -97,7 +97,7 @@ class SingleTableInheritanceTest extends \Doctrine\Tests\OrmFunctionalTestCase
/**
* @Entity
* @InheritanceType("singleTable")
* @InheritanceType("SINGLE_TABLE")
* @DiscriminatorColumn(name="discr", type="string")
* @SubClasses({"Doctrine\Tests\ORM\Functional\ChildEntity"})
* @DiscriminatorValue("parent")
......@@ -106,7 +106,7 @@ class ParentEntity {
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
......@@ -168,7 +168,7 @@ class RelatedEntity {
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
......
......@@ -27,7 +27,7 @@ class ClassMetadataFactoryTest extends \Doctrine\Tests\OrmTestCase
// and a mapped association
$cm1->mapOneToOne(array('fieldName' => 'other', 'targetEntity' => 'Other', 'mappedBy' => 'this'));
// and an id generator type
$cm1->setIdGeneratorType('auto');
$cm1->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO);
// SUT
$cmf = new ClassMetadataFactoryTestSubject($mockDriver, $mockPlatform);
......@@ -35,17 +35,17 @@ class ClassMetadataFactoryTest extends \Doctrine\Tests\OrmTestCase
// Prechecks
$this->assertEquals(array(), $cm1->parentClasses);
$this->assertEquals('none', $cm1->inheritanceType);
$this->assertEquals(ClassMetadata::INHERITANCE_TYPE_NONE, $cm1->inheritanceType);
$this->assertTrue($cm1->hasField('name'));
$this->assertEquals(1, count($cm1->associationMappings));
$this->assertEquals('auto', $cm1->generatorType);
$this->assertEquals(ClassMetadata::GENERATOR_TYPE_AUTO, $cm1->generatorType);
// Go
$cm1 = $cmf->getMetadataFor('Doctrine\Tests\ORM\Mapping\TestEntity1');
$this->assertEquals(array(), $cm1->parentClasses);
$this->assertTrue($cm1->hasField('name'));
$this->assertEquals('sequence', $cm1->generatorType);
$this->assertEquals(ClassMetadata::GENERATOR_TYPE_SEQUENCE, $cm1->generatorType);
}
}
......
......@@ -8,7 +8,7 @@
<entity name="XmlMappingTest\User" table="cms_users">
<id name="id" type="integer" column="id">
<generator strategy="auto"/>
<generator strategy="AUTO"/>
</id>
<field name="name" column="name" type="string" length="50"/>
......@@ -34,7 +34,6 @@
</join-table>
</many-to-many>
</entity>
</doctrine-mapping>
\ No newline at end of file
......@@ -5,7 +5,7 @@ YamlMappingTest\User:
id:
type: integer
generator:
strategy: auto
strategy: AUTO
fields:
name:
type: string
......
......@@ -193,7 +193,7 @@ class NotifyChangedEntity implements \Doctrine\Common\NotifyPropertyChanged
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="auto")
* @GeneratedValue(strategy="AUTO")
*/
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