<!--
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Sun May 19 13:28:46 UTC 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://www.doctrine-project.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+%3D+DCOM+AND+resolution+%3D+Unresolved+AND+component+%3D+Annotations+ORDER+BY+priority+DESC&tempMax=1000&field=key&field=summary
-->
<!-- If you wish to do custom client-side styling of RSS, uncomment this:
<?xml-stylesheet href="http://www.doctrine-project.org/jira/styles/jiraxml2html.xsl" type="text/xsl"?>
-->
<rss version="0.92">
    <channel>
        <title>Doctrine Project</title>
        <link>http://www.doctrine-project.org/jira/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=project+%3D+DCOM+AND+resolution+%3D+Unresolved+AND+component+%3D+Annotations+ORDER+BY+priority+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="5" total="5"/>
                <build-info>
            <version>5.2.7</version>
            <build-number>850</build-number>
            <build-date>21-02-2013</build-date>
        </build-info>
<item>
            <title>[DCOM-164] @type phpdoc annotations are not ignored (@type == @var)</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-164</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;phpDocumentor guys wrote their own PSR to define how to use phpdoc properly (&lt;a href=&quot;https://github.com/phpDocumentor/phpDocumentor2/blob/develop/docs/PSR.md&quot; class=&quot;external-link&quot;&gt;https://github.com/phpDocumentor/phpDocumentor2/blob/develop/docs/PSR.md&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;They deprecate the @var annotation and recommend using @type instead.&lt;/p&gt;

&lt;p&gt;The @type (phpdoc) annotation is not blacklisted/ignored by the AnnotationReader. Code that uses this annotation raises errors with Doctrine/Annotations.&lt;/p&gt;

&lt;p&gt;@type should be blacklisted/ignored, but may that create BC breaks for users?&lt;/p&gt;</description>
                <environment></environment>
            <key id="14402">DCOM-164</key>
            <summary>@type phpdoc annotations are not ignored (@type == @var)</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="mnapoli">Matthieu Napoli</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Jan 2013 21:21:00 +0000</created>
                <updated>Tue, 22 Jan 2013 21:28:53 +0000</updated>
                                    <version>2.3</version>
                                                <component>Annotations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19357" author="mnapoli" created="Tue, 22 Jan 2013 21:28:38 +0000"  >&lt;p&gt;PR: &lt;a href=&quot;https://github.com/doctrine/annotations/pull/2&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/annotations/pull/2&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-75] remove leading backslash from class name before comparing to namespace in annotation autoloading</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-75</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;I am figuring a problem with Symfony Validator constraints (I use annotations to define the constraint rules).&lt;/p&gt;

&lt;p&gt;As I don&apos;t use Symfony&apos;s framework, I create the validator service by myself.&lt;br/&gt;
Somewhere in its factory, I put the following code:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;         
AnnotationRegistry::registerAutoloadNamespaces(array(
    &apos;\Symfony\Component\Validator\Constraints&apos; =&amp;gt; APPLICATION_ROOT . &apos;/library&apos;
));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Then, in my entities, I have annotations such as:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;use Symfony\Component\Validator\Constraints as Assert;

class Author {
    /**
     * @Assert\NotBlank()
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $name;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In this configuration, I get the following error:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;Semantical Error&amp;#93;&lt;/span&gt; The annotation &quot;@Symfony\Component\Validator\Constraints\NotBlank&quot;&lt;br/&gt;
in property Domain\Entity\Author::$name does not exist, or could not be auto-loaded.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I was able to trace it down to the Doctrine\Common\Annotations\AnnotationRegistry#loadAnnotationClass($class) where we can find the following test:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (strpos($class, $namespace) === 0) {
        require ...;
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;which means &quot;if the namespace can be found at the beginning of the FQCN, require it&quot;.&lt;br/&gt;
But those namespaces come from &quot;use&quot; statements where there is no leading backslash.&lt;br/&gt;
That&apos;s why the test fails.&lt;/p&gt;

&lt;p&gt;Christophe Coevoet answered:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;you should remove the leading backslash. Fully qualified class names used as string don&apos;t include it in PHP. &lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Benjamin Eberlei suggested to remove the leading backslash before comparing the class to the namespace.&lt;br/&gt;
I would follow Benjamin suggestion and would like to add a comment about leading backslashes:&lt;/p&gt;

&lt;p&gt;When I add a &lt;tt&gt;use&lt;/tt&gt; statement to my code for a class, I can then use its alias to get an instance of that class.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;use Doctrine\ORM\Mapping\ClassMetadata;
...
$metadata = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ClassMetadata();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;The same is true with:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;use Doctrine\ORM\Mapping as Foo;
...
$metadata = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Foo\ClassMetadata();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;This is not a fully qualified class name&lt;/b&gt;.&lt;br/&gt;
In that sense, I do understand such an annotation: &lt;tt&gt;@ORM\Entity&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;But I find the syntax of a fully-qualified annotation (&lt;tt&gt;@My\Annotation\Whatever&lt;/tt&gt;) erroneous (or at least counter-intuitive) as it doesn&apos;t start with a backslash.&lt;/p&gt;</description>
                <environment>not relevant</environment>
            <key id="13146">DCOM-75</key>
            <summary>remove leading backslash from class name before comparing to namespace in annotation autoloading</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="goriol">Guillaume ORIOL</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Nov 2011 15:54:22 +0000</created>
                <updated>Thu, 3 Nov 2011 15:54:22 +0000</updated>
                                    <version>2.1.2</version>
                                                <component>Annotations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-168] ignoredAnnotationNames doesn&apos;t work in Annotation loop</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-168</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;I&apos;m just starting out with Doctrine, so my setup is a bit messy, but hopefully someone can figure out what is relevant from all my code.&lt;/p&gt;

&lt;p&gt;Basically, I&apos;m using Annotations on Doctrine ORM, and am integrating with Gedmo for several of their extensions.&lt;/p&gt;

&lt;p&gt;I can run the CLI tool and update the schema, but when running via my web server, I&apos;m getting the following error:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
object(Doctrine\Common\Annotations\AnnotationException)[150]
  &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; &apos;message&apos; =&amp;gt; string &apos;[Semantical Error] The annotation &lt;span class=&quot;code-quote&quot;&gt;&quot;@Entity&quot;&lt;/span&gt; in class Innertube\Models\Device was never imported. Did you maybe forget to add a &lt;span class=&quot;code-quote&quot;&gt;&quot;use&quot;&lt;/span&gt; statement &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; annotation?&apos; (length=163)
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &apos;string&apos; (Exception) =&amp;gt; string &apos;&apos; (length=0)
  &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; &apos;code&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 0
  &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationException.php&apos; (length=211)
  &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 52
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; &apos;trace&apos; (Exception) =&amp;gt; 
    array
      0 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Annotations/DocParser.php&apos; (length=201)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 592
          &apos;function&apos; =&amp;gt; string &apos;semanticalError&apos; (length=15)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Annotations\AnnotationException&apos; (length=47)
          &apos;type&apos; =&amp;gt; string &apos;::&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      1 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Annotations/DocParser.php&apos; (length=201)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 533
          &apos;function&apos; =&amp;gt; string &apos;Annotation&apos; (length=10)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Annotations\DocParser&apos; (length=37)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      2 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Annotations/DocParser.php&apos; (length=201)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 297
          &apos;function&apos; =&amp;gt; string &apos;Annotations&apos; (length=11)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Annotations\DocParser&apos; (length=37)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      3 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php&apos; (length=208)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 151
          &apos;function&apos; =&amp;gt; string &apos;parse&apos; (length=5)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Annotations\DocParser&apos; (length=37)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      4 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Annotations/CachedReader.php&apos; (length=204)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 86
          &apos;function&apos; =&amp;gt; string &apos;getClassAnnotations&apos; (length=19)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Annotations\AnnotationReader&apos; (length=44)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      5 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php&apos; (length=205)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 61
          &apos;function&apos; =&amp;gt; string &apos;getClassAnnotations&apos; (length=19)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Annotations\CachedReader&apos; (length=40)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      6 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php&apos; (length=202)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 112
          &apos;function&apos; =&amp;gt; string &apos;loadMetadataForClass&apos; (length=20)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\ORM\Mapping\Driver\AnnotationDriver&apos; (length=44)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      7 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php&apos; (length=228)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 302
          &apos;function&apos; =&amp;gt; string &apos;doLoadMetadata&apos; (length=14)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\ORM\Mapping\ClassMetadataFactory&apos; (length=41)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      8 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php&apos; (length=228)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 205
          &apos;function&apos; =&amp;gt; string &apos;loadMetadata&apos; (length=12)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory&apos; (length=64)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      9 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/orm/lib/Doctrine/ORM/EntityManager.php&apos; (length=187)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 268
          &apos;function&apos; =&amp;gt; string &apos;getMetadataFor&apos; (length=14)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory&apos; (length=64)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      10 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/libraries/lerteco_framework/libraries/vendor-composer/doctrine/orm/lib/Doctrine/ORM/EntityManager.php&apos; (length=187)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 682
          &apos;function&apos; =&amp;gt; string &apos;getClassMetadata&apos; (length=16)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\ORM\EntityManager&apos; (length=26)
          &apos;type&apos; =&amp;gt; string &apos;-&amp;gt;&apos; (length=2)
          &apos;args&apos; =&amp;gt; 
            array
              ...
      11 =&amp;gt; 
        array
          &apos;file&apos; =&amp;gt; string &apos;/Users/jshannon/Documents/Work/Projects/InnerTube/Repo/web/packages/lerteco_innertube/api/routes/devices.php&apos; (length=108)
          &apos;line&apos; =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; 16
          &apos;function&apos; =&amp;gt; string &apos;getRepository&apos; (length=13)
          &apos;class&apos; =&amp;gt; string &apos;Doctrine\ORM\EntityManager&apos; (length=26)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The call that initiates this is getRepository(), which IS NOT in the CLI.&lt;/p&gt;

&lt;p&gt;I&apos;ve tracked it down to the fact that DocParser is not getting the list of names to ignore.&lt;/p&gt;

&lt;p&gt;Oddly, it gets it the first time that it&apos;s called by AnnotationReader. However, DocParser-&amp;gt;parse() calls $this-&amp;gt;Annotations(), which calls $this-&amp;gt;Annotation(), calls $this-&amp;gt;collectAnnotationMetadata(), which then creates a new parser &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;self::$metadataParser = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; self();&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; and eventually parses it &lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;self::$metadataParser-&amp;gt;parse()&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;, but DOES NOT pass its ignorednames. &lt;/p&gt;

&lt;p&gt;This seems like an oversight, but it clearly works for a lot of people. My configuration code is:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
                &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (self::$isDevMode) {
			$cache = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\Common\Cache\ArrayCache;
		} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
			$cache = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\Common\Cache\ApcCache;
		}

		\Doctrine\Common\Annotations\AnnotationReader::addGlobalIgnoredName(&apos;&lt;span class=&quot;code-keyword&quot;&gt;package&lt;/span&gt;&apos;);

		AnnotationRegistry::registerFile(__DIR__ . &lt;span class=&quot;code-quote&quot;&gt;&quot;/vendor-composer/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php&quot;&lt;/span&gt;);
		\Gedmo\DoctrineExtensions::registerAnnotations();

		

		$annotationReader = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\Common\Annotations\AnnotationReader();
		$cachedAnnotationReader = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\Common\Annotations\CachedReader($annotationReader, $cache);



		$annotationDriver = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\ORM\Mapping\Driver\AnnotationDriver($cachedAnnotationReader, self::$namespaceArray);

		$config = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\ORM\Configuration;
		$config-&amp;gt;setProxyNamespace(&apos;Proxy&apos;);
		$config-&amp;gt;setAutoGenerateProxyClasses(self::$isDevMode); &lt;span class=&quot;code-comment&quot;&gt;// &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; can be based on production config.
&lt;/span&gt;		&lt;span class=&quot;code-comment&quot;&gt;// register metadata driver
&lt;/span&gt;		$config-&amp;gt;setMetadataDriverImpl($annotationDriver);
		&lt;span class=&quot;code-comment&quot;&gt;// use our allready initialized cache driver
&lt;/span&gt;		$config-&amp;gt;setMetadataCacheImpl($cache);
		$config-&amp;gt;setQueryCacheImpl($cache);

		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (defined(&apos;DIR_FILES_CACHE&apos;)) {
			$config-&amp;gt;setProxyDir(DIR_FILES_CACHE);
		} &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
			$config-&amp;gt;setProxyDir(sys_get_temp_dir());
		}

		&lt;span class=&quot;code-comment&quot;&gt;// create event manager and hook prefered extension listeners
&lt;/span&gt;		$evm = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\Common\EventManager();

		$prefix = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; TablePrefix(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;);
		$prefix-&amp;gt;useNamespace(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);
		$evm-&amp;gt;addEventListener(\Doctrine\ORM\Events::loadClassMetadata, $prefix);


		$blameableListener = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Gedmo\Blameable\BlameableListener();
		$blameableListener-&amp;gt;setAnnotationReader($config-&amp;gt;getMetadataDriverImpl()-&amp;gt;getReader());
		&lt;span class=&quot;code-comment&quot;&gt;//class_exists makes &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; usable with the command-line
&lt;/span&gt;		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (class_exists(&apos;\User&apos;) &amp;amp;&amp;amp; ($u = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \User()) != &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;) {
			$blameableListener-&amp;gt;setUserValue($u-&amp;gt;getUserID());
		}
		$evm-&amp;gt;addEventSubscriber($blameableListener);


		$timestampableListener = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Gedmo\Timestampable\TimestampableListener();
		$timestampableListener-&amp;gt;setAnnotationReader($config-&amp;gt;getMetadataDriverImpl()-&amp;gt;getReader());
		$evm-&amp;gt;addEventSubscriber($timestampableListener);

		$config-&amp;gt;addFilter(&apos;soft-deleteable&apos;, &apos;\Gedmo\SoftDeleteable\Filter\SoftDeleteableFilter&apos;);


		&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; EntityManager::create($connectionOptions, $config, $evm);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and the entity is (which sets up the repository) is:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
namespace Innertube\Models;
defined(&apos;C5_EXECUTE&apos;) or die(&apos;Access Denied.&apos;);

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * @ORM\Entity(repositoryClass=&lt;span class=&quot;code-quote&quot;&gt;&quot;DeviceRepository&quot;&lt;/span&gt;) @ORM\Table(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;Devices&quot;&lt;/span&gt;)
 * @Gedmo\SoftDeleteable(fieldName=&lt;span class=&quot;code-quote&quot;&gt;&quot;deletedOn&quot;&lt;/span&gt;)
 **/
class Device {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and the repository is:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
namespace Innertube\Models;
defined(&apos;C5_EXECUTE&apos;) or die(&apos;Access Denied.&apos;);

use Doctrine\ORM\EntityRepository;

class DeviceRepository &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; EntityRepository {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Mac OSX 10.6.8</environment>
            <key id="14424">DCOM-168</key>
            <summary>ignoredAnnotationNames doesn&apos;t work in Annotation loop</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="jshannon">James S</reporter>
                        <labels>
                    </labels>
                <created>Sun, 27 Jan 2013 01:31:25 +0000</created>
                <updated>Sun, 27 Jan 2013 01:35:02 +0000</updated>
                                    <version>2.3</version>
                                                <component>Annotations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-179] Underscore at the end of a label is not working with annotations</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-179</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;use Zend\Form\Annotation;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;...&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;works:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;@Annotation\Options(
{&quot;label&quot;:Namespace\Entity::LABEL}
&lt;p&gt;)&lt;br/&gt;
or&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;@Annotation\Options(
{&quot;label&quot;:Namespace\Entity::_LABEL}
&lt;p&gt;)&lt;br/&gt;
or&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;@Annotation\Options(
{&quot;label&quot;:Namespace\Entity::LA_BEL}
&lt;p&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;works not:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;@Annotation\Options(
{&quot;label&quot;:Namespace\Entity::LABEL_}
&lt;p&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Error message:&lt;/p&gt;

&lt;p&gt;/vendor/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationException.php:52&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;Semantical Error&amp;#93;&lt;/span&gt; Couldn&apos;t find constant Namespace\Entity\::LABEL, property ...&lt;/p&gt;

&lt;p&gt;The _ at the end is missing.&lt;/p&gt;</description>
                <environment>apache2, php 5.4, mysql</environment>
            <key id="14658">DCOM-179</key>
            <summary>Underscore at the end of a label is not working with annotations</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/minor.png">Minor</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="exoon">exoon</reporter>
                        <labels>
                    </labels>
                <created>Sun, 3 Mar 2013 10:13:57 +0000</created>
                <updated>Sun, 3 Mar 2013 10:16:00 +0000</updated>
                                    <version>2.3</version>
                                <fixVersion>2.3</fixVersion>
                                <component>Annotations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-165] Entities seems not be recognized by AnnotationDriver</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-165</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;Problem:&lt;br/&gt;
--------&lt;br/&gt;
&quot;$em-&amp;gt;getMetadataFactory()-&amp;gt;getAllMetadata()&quot;&lt;br/&gt;
Will result in an empty array. The entitiy manager is correctly configured and the entities files are loaded (echo&apos;s in the files will be displayed).&lt;/p&gt;


&lt;p&gt;Debug steps:&lt;br/&gt;
------------&lt;br/&gt;
Looking in the code for the problem I created the following debug points first:&lt;/p&gt;

&lt;p&gt;file AnnotationDriver.php method getAllClassNames()&lt;br/&gt;
after the line: &quot;$includedFiles[] = $sourceFile;&quot;&lt;br/&gt;
add: &quot;echo $sourceFile . &apos; is loaded&apos; . PHP_EOL;&quot;&lt;/p&gt;

&lt;p&gt;file AnnotationDriver.php method getAllClassNames()&lt;br/&gt;
after the line: &quot;$sourceFile = $rc-&amp;gt;getFileName();&quot;&lt;br/&gt;
add: &quot;echo $className . &apos; is loaded from: &apos; . $sourceFile . &apos; in the includedFiles array? &apos; . (in_array($sourceFile, $includedFiles) ? &apos;YES&apos; : &apos;not found &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/sad.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&apos;) . PHP_EOL;&quot;&lt;/p&gt;


&lt;p&gt;the following output will be displayed:&lt;br/&gt;
...&lt;br/&gt;
f:\workspace\nl.markei.posto-2.3\lib\relaties\Contact.php is loaded&lt;br/&gt;
...&lt;br/&gt;
nl\markei\posto\relaties\Contact is loaded from: F:\workspace\nl.markei.posto-2.3\lib\relaties\Contact.php in the includedFiles array? not found &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/sad.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;It seems that Doctrine includes the file from f: but ReflectionClass say it is loaded from F:. The in_array() will fail and Doctrine will not recognized the entity.&lt;/p&gt;

&lt;p&gt;But this is not the full problem. I created a new debug point:&lt;/p&gt;

&lt;p&gt;file AnnotationDriver.php method getAllClassNames()&lt;br/&gt;
after the line: &quot;foreach ($this-&amp;gt;_paths as $path) {&quot;&lt;br/&gt;
add: &quot;echo &apos;path: &apos; . $path . &apos; after realpath: &apos; . realpath($path) . PHP_EOL;&quot;&lt;/p&gt;

&lt;p&gt;This will result in the following output:&lt;br/&gt;
&quot;path: F:\domains\markei.nl\lib\nl.markei.posto\ after realpath: f:\workspace\nl.markei.posto-2.3\lib&quot;&lt;/p&gt;

&lt;p&gt;So the conversion of the F: to f: is done by realpath; its look like &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif&quot; height=&quot;20&quot; width=&quot;20&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;A simple fix should be in AnnotationDriver.php / getAllClassNames()&lt;br/&gt;
replace: &quot;$sourceFile = $rc-&amp;gt;getFileName();&quot;&lt;br/&gt;
by: &quot;$sourceFile = realpath($rc-&amp;gt;getFileName());&quot;&lt;/p&gt;

&lt;p&gt;After I did that, the problem still exists. So I add to echo&apos;s (one with realpath and one without at the part of the code). And both echo&apos;s result in a path starting with &quot;F:&quot;.&lt;/p&gt;

&lt;p&gt;So my first reaction was freaky!&lt;/p&gt;

&lt;p&gt;After some frustrating hours I found the problem in the symlink I used.&lt;br/&gt;
&quot;F:\domains\markei.nl\lib\nl.markei.posto&quot; was a symlink to &quot;f:\workspace\nl.markei.posto-2.3\lib&quot; and realpath will not convert the driver char in the target of the symlink for some freaky reason. After changing the symlink target to &quot;F:\workspace....&quot; everything works fine.&lt;/p&gt;


&lt;p&gt;Summary:&lt;br/&gt;
--------&lt;br/&gt;
realpath results are not consistent on Windows. This will resulting in problems under Windows.&lt;/p&gt;


&lt;p&gt;Possible solutions:&lt;br/&gt;
-------------------&lt;br/&gt;
Saying &quot;this is a PHP bug&quot;.&lt;br/&gt;
It is possible that there are more case sensitive problems hidding here on Windows. Maybe it is better to use (for Windows only!) a case insensitive in_array-alternative in AnnotationDriver.php getAllClassNames() (or convert all paths for to lowercase for Windows)&lt;/p&gt;</description>
                <environment>Windows 7 Profesional, Enterprise and Windows Server 2003 and 2008; Common: 2.2.3 DBAL: 2.2.2 ORM: 2.2.3; PHP 5.4.5 and 5.3.5</environment>
            <key id="14007">DCOM-165</key>
            <summary>Entities seems not be recognized by AnnotationDriver</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/trivial.png">Trivial</priority>
                    <status id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/open.png">Open</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="ocramius">Marco Pivetta</assignee>
                                <reporter username="maartendekeizer">Maarten de Keizer</reporter>
                        <labels>
                        <label>annotationdriver</label>
                        <label>realpath</label>
                        <label>symlink</label>
                        <label>windows</label>
                    </labels>
                <created>Sun, 2 Sep 2012 20:07:14 +0000</created>
                <updated>Wed, 23 Jan 2013 23:07:12 +0000</updated>
                                    <version>2.2</version>
                <version>2.3</version>
                                                <component>Annotations</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="19394" author="ocramius" created="Wed, 23 Jan 2013 23:06:56 +0000"  >&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/jira/secure/ViewProfile.jspa?name=maartendekeizer&quot; class=&quot;user-hover&quot; rel=&quot;maartendekeizer&quot;&gt;Maarten de Keizer&lt;/a&gt; looks like the issue is still there in doctrine/annotations. Are you able to come up with a failing test case?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>
</channel>
</rss>