<!--
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Wed May 22 03:25:32 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+ORDER+BY+updated+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+ORDER+BY+updated+DESC</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="37" total="37"/>
                <build-info>
            <version>5.2.7</version>
            <build-number>850</build-number>
            <build-date>21-02-2013</build-date>
        </build-info>
<item>
            <title>[DCOM-130] Paths in Doctrine\Common\Cache\FileCache could create large directory indexes</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-130</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;The way paths are created within FileCache currently, there is a theoretical maximum of 16^12 directories in the cache directory, which is quite a large number. Usually schemes like this are used to restrict the number of files in one directory.&lt;/p&gt;

&lt;p&gt;Comparing with git, for example, the dirs are arranged&lt;/p&gt;

&lt;p&gt;00/&lt;br/&gt;
1c/&lt;br/&gt;
...&lt;br/&gt;
ff/&lt;/p&gt;

&lt;p&gt;and then the object store within those directories, which is a lot more manageable, say if you happen to type ls in the cache directory, you will get a maximum listing of 256 dirs. PhpThumb does something similar when caching images.&lt;/p&gt;

&lt;p&gt;How about something like this for getFilename():&lt;/p&gt;

&lt;p&gt;    $idHash = md5($id);&lt;br/&gt;
    $path = substr($idHash, 0, 2) . DIRECTORY_SEPARATOR . substr($idHash, 2, 2) . DIRECTORY_SEPARATOR . substr($idHash, 4);&lt;br/&gt;
    $path = $this-&amp;gt;directory . DIRECTORY_SEPARATOR . $path;&lt;/p&gt;

&lt;p&gt;    return $path . $id . $this-&amp;gt;extension;&lt;/p&gt;

&lt;p&gt;Not nearly so elegant, but I think this has better properties for the file system. Also I would be tempted to use one of the sha family hashes and not to include the $id within the filename, but perhaps this is helpful for debugging?&lt;/p&gt;</description>
                <environment>Any</environment>
            <key id="14159">DCOM-130</key>
            <summary>Paths in Doctrine\Common\Cache\FileCache could create large directory indexes</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="terrapin">R Churchill</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Oct 2012 01:05:16 +0000</created>
                <updated>Fri, 10 May 2013 15:45:04 +0000</updated>
                                    <version>2.3</version>
                                                <component>Caching</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="20267" author="jhigman" created="Fri, 10 May 2013 15:36:36 +0000"  >&lt;p&gt;We hit this problem in a live system - with a lot of cached items, the number of subdirectories that FileCache creates can exceed the number that an ext3 filesystem allows in a single directory (about 32000). &lt;/p&gt;

&lt;p&gt;After that, an attempt to cache a new item can get an error like this:&lt;/p&gt;

&lt;p&gt;    mkdir() &lt;span class=&quot;error&quot;&gt;&amp;#91;function.mkdir&amp;#93;&lt;/span&gt;: Too many links&lt;/p&gt;


&lt;p&gt;Our solution was similar to that suggested: &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;protected&lt;/span&gt; function getFilename($id) {
        $path = implode(str_split(md5($id), 2), DIRECTORY_SEPARATOR);
        $path = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;directory . DIRECTORY_SEPARATOR . $path;
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $path . DIRECTORY_SEPARATOR . $id . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;extension;
    }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It splits the md5 of the item id into parts of length 2, rather than the original 12. This creates a deeply nested structure, but which won&apos;t ever exceed the limit on number of subdirectories in any one directory. It&apos;s the same subdirectory pattern used by default by Apache mod_disk_cache, as well.&lt;/p&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-191] Wrong inflection for &quot;identity&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-191</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;console doctrine:generate:entities&lt;/p&gt;

&lt;p&gt;For an association named &quot;identities&quot;, the code generator creates the two methods&lt;br/&gt;
addIdentitie() and removeIdentitie() - apparently the inflector doesn&apos;t catch that it should be addIdentity and removeIdentity.&lt;/p&gt;</description>
                <environment>OS X and Linux, PHP 5.4.x</environment>
            <key id="14838">DCOM-191</key>
            <summary>Wrong inflection for &quot;identity&quot;</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="tom">Tom Vogt</reporter>
                        <labels>
                    </labels>
                <created>Tue, 7 May 2013 17:43:28 +0000</created>
                <updated>Tue, 7 May 2013 17:43:28 +0000</updated>
                                    <version>2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-189] Doctrine Proxies may conflict with interfaced constructors</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-189</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;The Doctrine ProxyGenerator generates for a proxy a constructor. The documentation of Doctrine states that the constructor is never called. For a project, I created a group of entities with a interfaced constructor in order to enforce a common interface. This results in a incompatible proxy and so a fatal error.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14825">DCOM-189</key>
            <summary>Doctrine Proxies may conflict with interfaced constructors</summary>
                <type id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/documentation.png">Documentation</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="ocramius">Marco Pivetta</assignee>
                                <reporter username="harmenm">Harmen M</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 May 2013 09:05:15 +0000</created>
                <updated>Fri, 3 May 2013 13:05:24 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="20193" author="ocramius" created="Fri, 3 May 2013 09:08:16 +0000"  >&lt;p&gt;Cannot fix this - the constructor is required to override instantiation logic&lt;/p&gt;</comment>
                    <comment id="20194" author="harmenm" created="Fri, 3 May 2013 09:10:51 +0000"  >&lt;p&gt;Edit: added the correct description. I accidentially submitted the form before editing the description.&lt;/p&gt;</comment>
                    <comment id="20195" author="ocramius" created="Fri, 3 May 2013 09:13:13 +0000"  >&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/jira/secure/ViewProfile.jspa?name=harmenm&quot; class=&quot;user-hover&quot; rel=&quot;harmenm&quot;&gt;Harmen M&lt;/a&gt; why do you have a constructor in an interface? That&apos;s a very bad practice, and it makes things quite hard to handle.&lt;/p&gt;

&lt;p&gt;I can think of a workaround, but I first want to be sure there&apos;s a real advantage in changing the current implementation to use &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;unserialize()&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt; just to handle this specific use case.&lt;/p&gt;</comment>
                    <comment id="20196" author="beberlei" created="Fri, 3 May 2013 09:31:11 +0000"  >&lt;p&gt;Adding __construct to an interface is an anti pattern and shouldn&apos;t be done.&lt;/p&gt;</comment>
                    <comment id="20197" author="harmenm" created="Fri, 3 May 2013 10:20:29 +0000"  >&lt;p&gt;Ok, then I change my implementation.&lt;/p&gt;

&lt;p&gt;But, maybe it is an idea to update the documentation of the ORM and state that constructor interfacing is not possible?&lt;br/&gt;
&lt;a href=&quot;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/architecture.html&quot; class=&quot;external-link&quot;&gt;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/architecture.html&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-152] [GH-234] Criteria filtering doesn&apos;t work with DateTime instance</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-152</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of ludekstepan:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/234&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/234&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;Filtering associations doesn&apos;t work with DateTime instance as a comparison value because filtering uses === operator. It works with SQL backed filtering, but not on PHP collection level.&lt;/p&gt;

&lt;p&gt;```php&lt;br/&gt;
$criteria = Criteria::create()&lt;br/&gt;
    &lt;del&gt;&amp;gt;where(Criteria::expr()&lt;/del&gt;&amp;gt;eq(&quot;birthday&quot;, new \DateTime(&quot;1982-02-17&quot;)))&lt;br/&gt;
    -&amp;gt;orderBy(array(&quot;username&quot; =&amp;gt; &quot;ASC&quot;))&lt;br/&gt;
    -&amp;gt;setFirstResult(0)&lt;br/&gt;
    -&amp;gt;setMaxResults(20)&lt;br/&gt;
;&lt;br/&gt;
```&lt;/p&gt;</description>
                <environment></environment>
            <key id="14317">DCOM-152</key>
            <summary>[GH-234] Criteria filtering doesn&apos;t work with DateTime instance</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="10000" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/needinfo.png">Awaiting Feedback</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Dec 2012 19:33:51 +0000</created>
                <updated>Tue, 30 Apr 2013 16:46:40 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-175] Proxies return private properties in __sleep, which is not supported by PHP.</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-175</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;__sleep should not return private parent property names (see &lt;a href=&quot;http://php.net/__sleep&quot; class=&quot;external-link&quot;&gt;http://php.net/__sleep&lt;/a&gt;) this raises notices, and also results in the value of the property being &apos;N&apos; (null) instead of keeping its value.&lt;/p&gt;

&lt;p&gt;I am unfortunately stuck having to serialize proxies in my revision tracking, as doctrine seems to be currently ignoring the fetch=&quot;EAGER&quot; I set on the related properties.&lt;/p&gt;

&lt;p&gt;Proxies should use the Serializable interface, and not __sleep, or not return parent property names which are private, it serves no purpose, and is not supported by PHP itself anyway.&lt;/p&gt;

&lt;p&gt;Also, if you keep __sleep, but do not return the parent property names, then it will only include the items you return, so it would be better to simply drop the __sleep method, I cannot actually see any useful purpose it serves.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13562">DCOM-175</key>
            <summary>Proxies return private properties in __sleep, which is not supported by PHP.</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="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/inprogress.png">In Progress</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="ocramius">Marco Pivetta</assignee>
                                <reporter username="bittarman">Ryan Mauger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 27 Mar 2012 13:25:56 +0000</created>
                <updated>Fri, 19 Apr 2013 12:06:43 +0000</updated>
                                    <version>2.4</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17663" author="bittarman" created="Tue, 27 Mar 2012 13:32:12 +0000"  >&lt;p&gt;just updated the issue body, realised that I worded something badly.&lt;/p&gt;</comment>
                    <comment id="19386" author="ocramius" created="Wed, 23 Jan 2013 22:29:56 +0000"  >&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/jira/secure/ViewProfile.jspa?name=bittarman&quot; class=&quot;user-hover&quot; rel=&quot;bittarman&quot;&gt;Ryan Mauger&lt;/a&gt; I think that&apos;s a limitation we have. We use `__sleep` to avoid serializing fields like the initializers and the persisters of course.&lt;/p&gt;

&lt;p&gt;Even by implementing serializable, it would only work if the end user implemented it in the parent class.&lt;/p&gt;

&lt;p&gt;Tempted to mark it as &quot;can&apos;t fix&quot;&lt;/p&gt;</comment>
                    <comment id="19397" author="ocramius" created="Thu, 24 Jan 2013 08:59:23 +0000"  >&lt;p&gt;I think there&apos;s a solution by having something like following:&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;
class SomeGeneratedProxyName &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; RealName &lt;span class=&quot;code-keyword&quot;&gt;implements&lt;/span&gt; \Serializable
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function unserialize($data)
    {
        $reflectionClass = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ReflectionClass($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;);
        foreach ($reflectionClass-&amp;gt;getProperties(ReflectionProperty::IS_PRIVATE) as $privateProp) {
            $privateProp-&amp;gt;setAccessible(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);
            $privateProp-&amp;gt;setValue($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;, $data[$privateProp-&amp;gt;getName()]);
        }
        &lt;span class=&quot;code-comment&quot;&gt;// ... other props ...
&lt;/span&gt;    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function serialize()
    {
        $data = array();
        $reflectionClass = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ReflectionClass($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;);
        foreach ($reflectionClass-&amp;gt;getProperties(ReflectionProperty::IS_PRIVATE) as $privateProp) {
            $privateProp-&amp;gt;setAccessible(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;);
            $data[$privateProp-&amp;gt;getName()] = $privateProp-&amp;gt;getValue($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;);
        }
        &lt;span class=&quot;code-comment&quot;&gt;// ... other props ...
&lt;/span&gt;        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $data;
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="19676" author="ocramius" created="Sat, 23 Feb 2013 03:15:26 +0000"  >&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/jira/secure/ViewProfile.jspa?name=bittarman&quot; class=&quot;user-hover&quot; rel=&quot;bittarman&quot;&gt;Ryan Mauger&lt;/a&gt; I started implementing this one at &lt;a href=&quot;https://github.com/Ocramius/common/compare/hotfix;DCOM-175&quot; class=&quot;external-link&quot;&gt;https://github.com/Ocramius/common/compare/hotfix;DCOM-175&lt;/a&gt; and so far it looks promising. &lt;/p&gt;

&lt;p&gt;The only doubts so far are with handling cases like following:&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;
class MyEntity &lt;span class=&quot;code-keyword&quot;&gt;implements&lt;/span&gt; Serializable
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function serialize()
    {
        &lt;span class=&quot;code-comment&quot;&gt;// [...]
&lt;/span&gt;    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function unserialize($serialized)
    {
        &lt;span class=&quot;code-comment&quot;&gt;// [...]
&lt;/span&gt;    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __sleep()
    {
        &lt;span class=&quot;code-comment&quot;&gt;// [...]
&lt;/span&gt;    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __wakeup()
    {
        &lt;span class=&quot;code-comment&quot;&gt;// [...]
&lt;/span&gt;    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;So far I didn&apos;t get to write tests that demonstrate the exact behaviour for this case, but it looks like when `Serializable` is implemented, `_&lt;em&gt;sleep` and `&lt;/em&gt;_wakeup` are ignored. Any thoughts on this?&lt;/p&gt;</comment>
                    <comment id="20067" author="ocramius" created="Fri, 19 Apr 2013 12:06:43 +0000"  >&lt;p&gt;A possible solution is to use something like &lt;a href=&quot;http://eval.in/16806&quot; class=&quot;external-link&quot;&gt;http://eval.in/16806&lt;/a&gt;, and thus exploiting the ability of php to retrieve an object&apos;s private properties by using the special &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;chr(0) . &apos;Foo&apos; . chr(0) . &apos;bar&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;trick.&lt;/p&gt;

&lt;p&gt;This can be abstracted by using &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;array_keys((array) $object);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;, which retrieves also those special keys&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-187] [GH-270] Allow empty arrays in annotations</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-187</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of kitsunet:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/270&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/270&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;an empty array so far is impossible as it either results in a parse error if you just do the obvious {} or if you try &lt;/p&gt;
{&quot;&quot;}
&lt;p&gt; it will create an empty entry which in turn will cause errors depending on the annotation.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14743">DCOM-187</key>
            <summary>[GH-270] Allow empty arrays in annotations</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Fri, 29 Mar 2013 22:42:25 +0000</created>
                <updated>Fri, 29 Mar 2013 22:42:25 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-186] [GH-269] ProxyGenerator eval() proxy code when $autoGenerate is true</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-186</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of mnapoli:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/269&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/269&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;ProxyGenerator eval() proxy code instead of writing it to disk when $autoGenerate is true.&lt;/p&gt;

&lt;p&gt;Related to &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DDC-2210&quot; title=&quot;PHP warning in ProxyFactory when renaming proxy file&quot;&gt;DDC-2210&lt;/a&gt;(&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DDC-2210&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DDC-2210&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;The idea of eval() the proxy code was suggested by @ocramius in response to the fact that in dev environment, concurrent file writes create errors.&lt;/p&gt;

&lt;p&gt;This would also simplify the setup for a dev environment: no more proxy directory to create and make writeable.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14737">DCOM-186</key>
            <summary>[GH-269] ProxyGenerator eval() proxy code when $autoGenerate is true</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 Mar 2013 15:51:02 +0000</created>
                <updated>Thu, 28 Mar 2013 15:51:02 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-185] DQL errors when attempting to use GROUP BY MAX(field)</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-185</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;Attempting to run DQL similar to:&lt;br/&gt;
SELECT a FROM ClassName a GROUP BY MAX(a.depth)&lt;/p&gt;

&lt;p&gt;Throws error:&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;Semantical Error&amp;#93;&lt;/span&gt; line 0, col 250 near &apos;MAX(ao.depth)&apos;: Error: Cannot group by undefined identification or result variable.&lt;/p&gt;


&lt;p&gt;Per docs, MAX is allowed within GROUP BY: &lt;a href=&quot;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#aggregate-functions&quot; class=&quot;external-link&quot;&gt;http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/dql-doctrine-query-language.html#aggregate-functions&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;If this error is due to some omission on my part, then perhaps the docs should be extended to show a valid GROUP BY MAX() usage, or the error message expanded for a better hint.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14730">DCOM-185</key>
            <summary>DQL errors when attempting to use GROUP BY MAX(field)</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="intel352">Jon Langevin</reporter>
                        <labels>
                        <label>dql</label>
                        <label>groupby</label>
                        <label>max</label>
                    </labels>
                <created>Tue, 26 Mar 2013 22:41:29 +0000</created>
                <updated>Tue, 26 Mar 2013 22:41:29 +0000</updated>
                                    <version>2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-184] [GH-266] Add a new method to use a filter before extracting the metadata</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-184</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of nicolasTheodo:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/266&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/266&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;I have notice that, when you use the doctrine:mapping:convert and doctrine:mapping:import command in symfony, the filter is added after all the metadata are extracting from the database.&lt;br/&gt;
In this case, when you have a table with no primary key for example, you cannot extract the mapping for only one entity.&lt;/p&gt;

&lt;p&gt;I have also made a pull-request into the doctrineBundle and doctrine2 to fix this issue.&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/DoctrineBundle/pull/161&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/DoctrineBundle/pull/161&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/doctrine2/pull/603&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine2/pull/603&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What are your thought about my issue?&lt;/p&gt;</description>
                <environment></environment>
            <key id="14687">DCOM-184</key>
            <summary>[GH-266] Add a new method to use a filter before extracting the metadata</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Mar 2013 21:36:17 +0000</created>
                <updated>Tue, 12 Mar 2013 21:36:17 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-180] Entity with field $key passes orm:validate but db create will fail</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-180</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;There should be a warning if you name a field $key.&lt;/p&gt;</description>
                <environment>apache2 php mysql</environment>
            <key id="14660">DCOM-180</key>
            <summary>Entity with field $key passes orm:validate but db create will fail</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</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="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="exoon">exoon</reporter>
                        <labels>
                    </labels>
                <created>Sun, 3 Mar 2013 23:09:24 +0000</created>
                <updated>Sun, 3 Mar 2013 23:09:24 +0000</updated>
                                                                            <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-74] Ideas for Event Manager Improvements</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-74</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;I have two ideas for improving the event manager.&lt;/p&gt;

&lt;p&gt;1. Add a lazy-loading implementation as we discussed on IRC already (helpful for keeping the overhead of post generation schema listener down for example)&lt;br/&gt;
2. Providing better debugging information of what is going on (which listeners have been called for which event, similar to Symfony2&apos;s event dispatcher)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13136">DCOM-74</key>
            <summary>Ideas for Event Manager Improvements</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</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="johannes">Johannes Schmitt</reporter>
                        <labels>
                    </labels>
                <created>Mon, 31 Oct 2011 16:30:48 +0000</created>
                <updated>Wed, 6 Feb 2013 23:25:47 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="17275" author="guilhermeblanco" created="Mon, 16 Jan 2012 06:15:16 +0000"  >&lt;p&gt;I&apos;m still a huge fan of DOM2 Events.&lt;/p&gt;

&lt;p&gt;I even have the code somewhere here, but that would break BC.&lt;/p&gt;</comment>
                    <comment id="19481" author="marijn" created="Wed, 6 Feb 2013 23:25:47 +0000"  >&lt;p&gt;Would you care to elaborate on your DOM2 Events implementation Guilherme?&lt;/p&gt;</comment>
                </comments>
                    <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-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>

<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-163] [GH-245] Documentation fixes</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-163</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of BenMorel:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/245&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/245&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;Documentation fixes, continuing the work done on &lt;span class=&quot;error&quot;&gt;&amp;#91;ORM&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/doctrine/doctrine2/pull/528&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine2/pull/528&lt;/a&gt;) and &lt;span class=&quot;error&quot;&gt;&amp;#91;DBAL&amp;#93;&lt;/span&gt;(&lt;a href=&quot;https://github.com/doctrine/dbal/pull/243&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/dbal/pull/243&lt;/a&gt;).&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Missing docblocks&lt;/li&gt;
	&lt;li&gt;Missing / incorrect `@param` / `@return` / `@throws` annotations&lt;/li&gt;
	&lt;li&gt;Missing newlines between annotations&lt;/li&gt;
	&lt;li&gt;Incorrect vertical alignment of `@param` annotations&lt;/li&gt;
	&lt;li&gt;Incorrect doctrine-project.org links&lt;/li&gt;
	&lt;li&gt;SVN leftovers cleanup&lt;/li&gt;
	&lt;li&gt;Licensing (LGPL =&amp;gt; MIT)&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="14398">DCOM-163</key>
            <summary>[GH-245] Documentation fixes</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Sun, 20 Jan 2013 18:20:09 +0000</created>
                <updated>Sun, 20 Jan 2013 18:20:09 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-162] [GH-244] return parameter for debug method</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-162</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of sethunath:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/244&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/244&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;Added $return as 4th parameter to specify whether to return the debug text or print it. It works similar to print_r function&lt;/p&gt;</description>
                <environment></environment>
            <key id="14383">DCOM-162</key>
            <summary>[GH-244] return parameter for debug method</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Jan 2013 11:02:12 +0000</created>
                <updated>Mon, 14 Jan 2013 11:02:12 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-104] Dump() has side-effects or is unreliable</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-104</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;after setting a one-to-one bi-directional relationship, I am hunting a bug and trying this:&lt;/p&gt;

&lt;p&gt;		\Doctrine\Common\Util\Debug::Dump($this-&amp;gt;lord, 1);&lt;br/&gt;
		\Doctrine\Common\Util\Debug::Dump($this, 2);&lt;br/&gt;
		\Doctrine\Common\Util\Debug::Dump($this-&amp;gt;lord, 1);&lt;/p&gt;

&lt;p&gt;The first Dump() shows $this-&amp;gt;lord as being NULL.&lt;br/&gt;
The third Dump() shows it as NOT being null, just like the 2nd one also shows it as having a value.&lt;/p&gt;</description>
                <environment>Debian Squeeze, MySQL 5</environment>
            <key id="13907">DCOM-104</key>
            <summary>Dump() has side-effects or is unreliable</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="tom">Tom Vogt</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Aug 2012 08:08:28 +0000</created>
                <updated>Fri, 11 Jan 2013 18:21:57 +0000</updated>
                                    <version>2.2.2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="18425" author="tom" created="Thu, 2 Aug 2012 09:22:39 +0000"  >&lt;p&gt;More analysis found the issue being caused by an overloaded setLord() method:&lt;/p&gt;

&lt;p&gt;	public function setLord($NewLord) {&lt;br/&gt;
		// overwriting the setter because we also want to update the lord days counter&lt;br/&gt;
		if ($NewLord!=$this-&amp;gt;lord) &lt;/p&gt;
{
			$this-&amp;gt;lord-&amp;gt;setFief(null); // this is the line causing the issue
			if ($NewLord) $NewLord-&amp;gt;setFief($this);
			$this-&amp;gt;lord = $NewLord;
			$this-&amp;gt;lordDays = 0;
		}
&lt;p&gt;		return $this;&lt;br/&gt;
	}&lt;/p&gt;

&lt;p&gt;without the marked line, everything works as expected, but of course the inverse side doesn&apos;t get updated without it.&lt;/p&gt;</comment>
                    <comment id="18426" author="tom" created="Thu, 2 Aug 2012 09:24:34 +0000"  >&lt;p&gt;it ate the newlines in the comment above. The problematic line is:&lt;/p&gt;

&lt;p&gt; $this-&amp;gt;lord-&amp;gt;setFief(null);&lt;/p&gt;

&lt;p&gt;i.e. the update of the inverse side.&lt;/p&gt;</comment>
                    <comment id="18475" author="stof" created="Tue, 7 Aug 2012 15:49:29 +0000"  >&lt;p&gt;I confirm that the dump command has some side effects. It initializes the persistent collections too&lt;/p&gt;</comment>
                    <comment id="19282" author="tom" created="Fri, 11 Jan 2013 18:21:57 +0000"  >&lt;p&gt;Could this for the time being be fixed with a notice in the documentation warning of possible side-effects of Dump() ?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-161] [GH-243] Update composer.json</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-161</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of stloyd:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/243&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/243&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;Add `provide` part as `doctrine/common` &amp;gt;=2.2,&amp;lt;2.4 has cache in it.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14377">DCOM-161</key>
            <summary>[GH-243] Update composer.json</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Jan 2013 18:15:12 +0000</created>
                <updated>Fri, 11 Jan 2013 18:15:12 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-160] [GH-242] adds a simple manager registry</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-160</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of schmittjoh:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/242&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/242&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;This registry adds some sane defaults and just requires a simple callable to be fully functional.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14369">DCOM-160</key>
            <summary>[GH-242] adds a simple manager registry</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Jan 2013 09:21:48 +0000</created>
                <updated>Thu, 10 Jan 2013 09:21:48 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-151] [GH-233] [DocParser] Fix trying include classes if its must be ignored.</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-151</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of Stroitel:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/233&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/233&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;I recreate pull request (add test). Without fix  test is failure.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14302">DCOM-151</key>
            <summary>[GH-233] [DocParser] Fix trying include classes if its must be ignored.</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Dec 2012 21:08:11 +0000</created>
                <updated>Mon, 10 Dec 2012 21:08:11 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-102] Updates for Fedora packaging</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-102</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;I am packaging the DoctrineDBAL PEAR package for Fedora and would like to have the following updates:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;package.xml role for LICENSE changed from &quot;data&quot; to &quot;doc&quot;&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment>PEAR, Fedora, RHEL</environment>
            <key id="13828">DCOM-102</key>
            <summary>Updates for Fedora packaging</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</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="siwinski">Shawn Iwinski</reporter>
                        <labels>
                    </labels>
                <created>Sat, 7 Jul 2012 03:26:37 +0000</created>
                <updated>Sat, 24 Nov 2012 21:44:22 +0000</updated>
                                    <version>2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-138] [GH-219] BC breaking constant name fix</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-138</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of jakoch:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/219&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/219&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;fixed typo on constant name (STATS_MEMORY_AVAILIABLE =&amp;gt; STATS_MEMORY_AVAILABLE)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14233">DCOM-138</key>
            <summary>[GH-219] BC breaking constant name fix</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Nov 2012 12:07:39 +0000</created>
                <updated>Fri, 16 Nov 2012 12:07:39 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-131] [GH-210] MappingDriverChain::getAllClassNames should load all classes from the defaultDriver</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-131</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of rnijveld:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/210&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/210&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;I actually tried working around this by adding a driver using an empty string as the namespace, only to find out that `strpos()` doesn&apos;t accept an empty delimiter.&lt;/p&gt;

&lt;p&gt;Anyway, this makes sure that all loadable classes for the defaultDriver are actually returned by MappingDriverChain as well.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14172">DCOM-131</key>
            <summary>[GH-210] MappingDriverChain::getAllClassNames should load all classes from the defaultDriver</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Sat, 27 Oct 2012 23:17:51 +0000</created>
                <updated>Sat, 27 Oct 2012 23:17:51 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-129] Annotation parser matches colon after annotation</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-129</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;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;
/**
* Removes given $node from the tree and reparents its descendants
*
* @todo may be improved, to issue single query on reparenting
* @param object $node
* @&lt;span class=&quot;code-keyword&quot;&gt;throws&lt;/span&gt; RuntimeException - &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; something fails in transaction
* @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; void
*/
&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function removeFromTree($node)
{
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;fails with `&lt;span class=&quot;error&quot;&gt;&amp;#91;Semantical Error&amp;#93;&lt;/span&gt; The annotation &quot;@todo:&quot; in method Gedmo\Tree\Entity\Repository\ClosureTreeRepository::removeFromTree() was never imported. Did you maybe forget to add a &quot;use&quot; statement for this annotation?`.&lt;/p&gt;

&lt;p&gt;As you see it tryes find annotation with name &quot;@todo:&quot;. Don&apos;t know, maybe rtrim($name, &apos;:&apos;) would enough.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14154">DCOM-129</key>
            <summary>Annotation parser matches colon after annotation</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="koc">Konstantin</reporter>
                        <labels>
                    </labels>
                <created>Sun, 21 Oct 2012 15:18:35 +0000</created>
                <updated>Sun, 21 Oct 2012 15:18:35 +0000</updated>
                                    <version>2.3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-128] RedisCache uses IGBINARY which is not always available</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-128</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;The RedisCache uses Redis::SERIALIZER_IGBINARY. See &lt;a href=&quot;https://github.com/doctrine/common/blob/master/lib/Doctrine/Common/Cache/RedisCache.php&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/blob/master/lib/Doctrine/Common/Cache/RedisCache.php&lt;/a&gt; line 47.&lt;/p&gt;

&lt;p&gt;The problem is that the php Redis extension can be compiled without IGBINARY support. In that case, this code causes a fatal error because the constant does not exist.&lt;/p&gt;

&lt;p&gt;The DotDeb package of php5-redis (often used on Debian systems) for example comes compiled without IGBINARY support.&lt;/p&gt;

&lt;p&gt;The code should probably check if the constant exists. If not, the default to Redis::SERIALIZER_PHP&lt;/p&gt;</description>
                <environment></environment>
            <key id="14151">DCOM-128</key>
            <summary>RedisCache uses IGBINARY which is not always available</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="sandermarechal">Sander Marechal</reporter>
                        <labels>
                    </labels>
                <created>Sat, 20 Oct 2012 17:04:02 +0000</created>
                <updated>Sat, 20 Oct 2012 17:04:02 +0000</updated>
                                    <version>2.3</version>
                                                <component>Caching</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-123] [GH-202] Add sqlite cache driver</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-123</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of Baachi:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/202&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/202&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

</description>
                <environment></environment>
            <key id="14106">DCOM-123</key>
            <summary>[GH-202] Add sqlite cache driver</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Mon, 8 Oct 2012 18:04:15 +0000</created>
                <updated>Mon, 8 Oct 2012 18:04:15 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-121] [GH-198] [DCOM-118] fix for issue #195 </title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-121</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of pscheit:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/198&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/198&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;I&apos;m sorry, i have no idea why i got here now 23 commits .. i tried but no success.&lt;/p&gt;

</description>
                <environment></environment>
            <key id="14093">DCOM-121</key>
            <summary>[GH-198] [DCOM-118] fix for issue #195 </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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Wed, 3 Oct 2012 17:46:24 +0000</created>
                <updated>Wed, 3 Oct 2012 17:46:24 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-118] [GH-195] Add failing test to demonstrate parse error when @ is present in the description</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-118</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of Seldaek:&lt;/p&gt;

&lt;p&gt;  Url: &lt;a href=&quot;https://github.com/doctrine/common/pull/195&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/195&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Message:&lt;/p&gt;

&lt;p&gt;If someone can take this and fix the issue it&apos;d be great. I couldn&apos;t figure it out at a quick glance and I don&apos;t really have time, but it&apos;s a pretty messed up bug and not so trivial to debug if you don&apos;t know what happens in the background so I&apos;d say it&apos;s pretty important.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14086">DCOM-118</key>
            <summary>[GH-195] Add failing test to demonstrate parse error when @ is present in the description</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Tue, 2 Oct 2012 15:19:06 +0000</created>
                <updated>Wed, 3 Oct 2012 04:27:17 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18759" author="psc" created="Tue, 2 Oct 2012 17:35:51 +0000"  >&lt;p&gt;I digged a little deeper. The test case is a great one &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;br/&gt;
The DocLexer cuts ut -1 position from the first @ (which is the @ in the @example.com). so that the lexer has to process:&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;
o@example.com&quot;
     * }
     *
     * @AnnotationTargetPropertyMethod(&lt;span class=&quot;code-quote&quot;&gt;&quot;Bar&quot;&lt;/span&gt;)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;So that the catchable pattern: (&quot;(?:&lt;span class=&quot;error&quot;&gt;&amp;#91;^&amp;quot;&amp;#93;&lt;/span&gt;|&quot;&quot;)*&quot;) matches here to greedy (it matches string in quotes):&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;
&quot;
     * }
     *
     * @AnnotationTargetPropertyMethod(&quot;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;As a result the lexer does not catch the correct @ from the Annotation&lt;/p&gt;

&lt;p&gt;I could not think of a fast fix for this. But maybe tomorrow.&lt;br/&gt;
(leaving quoted string pattern with an @ was a wrong idea)&lt;/p&gt;

&lt;p&gt;Its not a workaround to do more or less cutting in the parser, because not-well-formed quoted strings would break anyway&lt;/p&gt;</comment>
                    <comment id="18761" author="psc" created="Wed, 3 Oct 2012 04:27:17 +0000"  >&lt;p&gt;can someone think of a case, where a string (in some annotation) has a newline in it? Otherwise the tests do not fail, when I leave the string matching pattern with a newline.&lt;br/&gt;
I still had another idea to restrict the position of a annotation more strictly to:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;the beginning of a new line (\s*&amp;#42;\s* before)&lt;/li&gt;
	&lt;li&gt;in another annotation&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;but the second is not solvable with the lexer itself and would transfer the quoted string matching to the parser, because it needs context.&lt;/p&gt;

&lt;p&gt;I&apos;ll let seldaek pull, what I have (is this the right way?)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-73] CodeGeneration using Doctrine\Common\Persistence\Mapping\ObjectMetadata</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-73</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;Currently we have tons of code in the ODM/ORMs regarding code generation that are ugly to extend and maintain. We should extract all them into a new component, for example named: doctrine-code-generator&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;It should be feed by only instances of Doctrine\Common\Persistence\Mapping\ObjectMetadata into a twig template.&lt;/li&gt;
	&lt;li&gt;A base template for an entity/document is shipped&lt;/li&gt;
	&lt;li&gt;Maybe ORM/ODM specific child templates or twig traits are necessary to handle writing annotations. This could also be done by adding hooks into the code-generation somehow.&lt;/li&gt;
	&lt;li&gt;Each entity of the user can provide its own template, for examples from a configurable directory &quot;code_templates/Vendor.ProjectBundle.Entity.User.twig&quot; to extend the base template and add own code.&lt;/li&gt;
	&lt;li&gt;As a perspective we should aim for 5.4 generating a trait so that you can have your entity &quot;class User 
{ use UserBase; }
&lt;p&gt;&quot;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="13121">DCOM-73</key>
            <summary>CodeGeneration using Doctrine\Common\Persistence\Mapping\ObjectMetadata</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Oct 2011 07:07:23 +0000</created>
                <updated>Thu, 16 Feb 2012 19:27:38 +0000</updated>
                                                    <fixVersion>2.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-67] Introduce immutable DateTime with __toString()</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-67</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description></description>
                <environment></environment>
            <key id="12977">DCOM-67</key>
            <summary>Introduce immutable DateTime with __toString()</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/reopened.png">Reopened</status>
                    <resolution id="-1">Unresolved</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Sat, 27 Aug 2011 12:53:42 +0000</created>
                <updated>Sun, 29 Jan 2012 16:30:23 +0000</updated>
                                                    <fixVersion>2.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="16384" author="beberlei" created="Sat, 27 Aug 2011 14:39:38 +0000"  >&lt;p&gt;Implemented&lt;/p&gt;</comment>
                    <comment id="17219" author="miau" created="Wed, 11 Jan 2012 13:49:01 +0000"  >&lt;p&gt;Though it is implemented once on &lt;a href=&quot;https://github.com/doctrine/common/commit/7140ad3ba0ba2a94238976dd7f310ff92b478c96&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/commit/7140ad3ba0ba2a94238976dd7f310ff92b478c96&lt;/a&gt;,&lt;br/&gt;
the class is removed on &lt;a href=&quot;https://github.com/doctrine/common/commit/f845c1e267abf9069422eba8addfa976bc8d8685&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/commit/f845c1e267abf9069422eba8addfa976bc8d8685&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I think this issue must be reopened.&lt;/p&gt;</comment>
                    <comment id="17220" author="beberlei" created="Wed, 11 Jan 2012 14:33:19 +0000"  >&lt;p&gt;Code was removed due to implementation problems.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-92] CouchDB, MongoDB caches</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-92</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;Very simple persisntent caches for query/view results now that result cache is actually useful&lt;/p&gt;</description>
                <environment></environment>
            <key id="13306">DCOM-92</key>
            <summary>CouchDB, MongoDB caches</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Sun, 25 Dec 2011 11:16:49 +0000</created>
                <updated>Sun, 25 Dec 2011 11:16:49 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-80] Add common exceptions into Doctrine\Common</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-80</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;Following the ZF and SF2 Standard for Exceptions we should have base exceptions in Common&lt;/p&gt;</description>
                <environment></environment>
            <key id="13203">DCOM-80</key>
            <summary>Add common exceptions into Doctrine\Common</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Sat, 19 Nov 2011 10:27:24 +0000</created>
                <updated>Tue, 20 Dec 2011 22:48:42 +0000</updated>
                                                    <fixVersion>2.3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-77] add a method to force removal of any unmapped data on flush for a given object</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-77</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;in order to ensure that any unmapped fields are set to their defaults or removed in the case of nosql right now there is no way to do this except with 2 flush calls: aka remove+flush, persist+flush&lt;/p&gt;

&lt;p&gt;there should be some way to do this in one flush&lt;/p&gt;</description>
                <environment></environment>
            <key id="13192">DCOM-77</key>
            <summary>add a method to force removal of any unmapped data on flush for a given object</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Nov 2011 22:28:14 +0000</created>
                <updated>Wed, 16 Nov 2011 22:28:14 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <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-28] Extract Common Persistance Interfaces</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-28</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description>&lt;p&gt;I discussed this with jwage on symfony day cologne and this also came up during discussions with @dzuelke at IPC yesterday. So i hacked up a first patch for discussion that adds a Doctrine\Common\Persistance namespace and extracts the functionality all our 3 layers implement with regards to EntityManager/EntityRepository (and equivalents).&lt;/p&gt;

&lt;p&gt;Additionally i think it might make sense to also add an interface &quot;ObjectMetadata&quot; that has several getters-only that allow access to the field, identifier and association mapping information. This stuff is not necessarly compatible across layers when returned as its &quot;array&quot; representation, but for libraries hooking into the metadata (symfony admin generator) this might not even be necessary.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12002">DCOM-28</key>
            <summary>Extract Common Persistance Interfaces</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Oct 2010 02:50:50 +0000</created>
                <updated>Sat, 30 Jul 2011 13:03:50 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>4</watches>
                        <comments>
                    <comment id="15315" author="jwage" created="Tue, 15 Feb 2011 21:04:25 +0000"  >&lt;p&gt;Added the interfaces here &lt;a href=&quot;https://github.com/doctrine/common/commit/59e6b8c6edcb271622923035b687a063c2b47ce8&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/commit/59e6b8c6edcb271622923035b687a063c2b47ce8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I implemented them here in the mongodb-odm &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/8d02e8439fb6737de1e23e1953a643858a8a6c68&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/8d02e8439fb6737de1e23e1953a643858a8a6c68&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and the ORM &lt;a href=&quot;https://github.com/doctrine/doctrine2/commit/68a40996841b1dbec3b8de5c1038809e5db512b7&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine2/commit/68a40996841b1dbec3b8de5c1038809e5db512b7&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think we can add a few more methods to ClassMetadata interface that are always gonna exist between the different persistence layers. Let me know what you think and what you want to add.&lt;/p&gt;</comment>
                    <comment id="15324" author="guilhermeblanco" created="Tue, 15 Feb 2011 23:24:31 +0000"  >&lt;p&gt;Jon is working on this.&lt;/p&gt;</comment>
                    <comment id="15515" author="lsmith" created="Sat, 19 Mar 2011 15:44:47 +0000"  >&lt;p&gt;CouchDB ODM also has DocumentRepositry::findMany(array $ids)&lt;br/&gt;
Should we add that to the interface?&lt;/p&gt;</comment>
                    <comment id="15516" author="beberlei" created="Sat, 19 Mar 2011 17:44:01 +0000"  >&lt;p&gt;No, that method is only on the repository because CouchDB doesn&apos;t need persisters (yet). Its not part of the interfaceable public methods.&lt;/p&gt;</comment>
                    <comment id="15517" author="lsmith" created="Sat, 19 Mar 2011 17:52:48 +0000"  >&lt;p&gt;Not sure I understand. The method is used in DocumentRepository::findBy() as well as in PersistentIdsCollection::load. Seems unnecessary for that method to be public just for this. At any rate imho the method seems convenient and also allows for more efficient access in many RDBMS compared to the generic findBy($criteria) method. So it seems worthwhile adding it.&lt;/p&gt;</comment>
                    <comment id="15520" author="beberlei" created="Sun, 20 Mar 2011 05:23:35 +0000"  >&lt;p&gt;It doesn&apos;t matter what CouchDB uses internally on the DocumentRepository, i don&apos;t think this method is particularly useful in another context than CouchDBs use of Collections. In any case the method is just a proxy for findBy(array(&quot;id&quot; =&amp;gt; array(1, 2, 3, 4, 5, 6))); and i am not sure we need such a method on an interface just for convenience, Repository::find() use-case is much broader.&lt;/p&gt;</comment>
                    <comment id="15521" author="lsmith" created="Sun, 20 Mar 2011 05:30:18 +0000"  >&lt;p&gt;Actually using findMany($ids) ias clearly more efficient in CouchDB than using  findBy(array(&quot;id&quot; =&amp;gt; $ids));&lt;br/&gt;
The same applies to PHPCR, since going by the node path means you can go via the normal node API, rather than the search API.&lt;br/&gt;
So this is already 2 out of 3 examples and I do not know MongoDB enough to tell if they also have some specific API advantage.&lt;/p&gt;</comment>
                    <comment id="15522" author="beberlei" created="Sun, 20 Mar 2011 05:39:38 +0000"  >&lt;p&gt;Hm, you might be right. Ok, this should be included.&lt;/p&gt;

&lt;p&gt;What i am still pondering with is adding array $orderBy and $firstResult, $maxResults to findOneBy() and findBy() and findAll().&lt;/p&gt;

&lt;p&gt;@Jon: Would this be possible for MongoDB?&lt;/p&gt;

&lt;p&gt;It would not be possible for all use-cases in CouchDB, but for some it can work.&lt;/p&gt;</comment>
                    <comment id="15544" author="lsmith" created="Sun, 20 Mar 2011 15:35:45 +0000"  >&lt;p&gt;Just a super trivial pull to add this to the interface:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/common/pull/11&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/11&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="15548" author="lsmith" created="Mon, 21 Mar 2011 05:15:03 +0000"  >&lt;p&gt;also wondering if we want to include the idgenerator API in the interface?&lt;/p&gt;</comment>
                    <comment id="15549" author="beberlei" created="Mon, 21 Mar 2011 05:25:09 +0000"  >&lt;p&gt;Hm yes, i think that is necessary. At least the differentation between assigned and auto-generated ids is relevant for metadata queries.&lt;/p&gt;</comment>
                    <comment id="15559" author="jwage" created="Mon, 21 Mar 2011 09:18:12 +0000"  >&lt;p&gt;Yes, findMany() is possible with MongoDB.&lt;/p&gt;

&lt;p&gt;I think it would just be a proxy to:&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;public&lt;/span&gt; function findMany(array $ids)
{
    &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;findBy(array(&apos;_id&apos; =&amp;gt; array(&apos;$in&apos; =&amp;gt; $ids)));
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="15560" author="beberlei" created="Mon, 21 Mar 2011 09:47:18 +0000"  >&lt;p&gt;Hm, What is this syntax? This is not conforming to the EntityRepository interface.&lt;/p&gt;

&lt;p&gt;The only two allowed methods are:&lt;/p&gt;

&lt;p&gt;IN Query:&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;$ids = array(...);
findBy(array(&apos;_id&apos; =&amp;gt; $ids)); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Equals = Query:&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;$ids = 1234;
findBy(array(&apos;_id&apos; =&amp;gt; $id)); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Everything else is not portable accross implementations and should only be able through DocumentManager::CreateQuery* sort of apis.&lt;/p&gt;</comment>
                    <comment id="15561" author="jwage" created="Mon, 21 Mar 2011 10:26:31 +0000"  >&lt;p&gt;To find by things in MongoDB you just give an array of key =&amp;gt; value pairs. It gets passed straight through to MongoDB. The $in syntax is just soemthing mongodb supports. It&apos;s not anything specific to Doctrine.&lt;/p&gt;</comment>
                    <comment id="16236" author="lsmith" created="Sat, 30 Jul 2011 13:03:50 +0000"  >&lt;p&gt;i want to heat this topic back up:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;findMany()&lt;/li&gt;
	&lt;li&gt;id generator API&lt;/li&gt;
&lt;/ul&gt;
</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="11832">DCOM-23</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                    <attachment id="10824" name="dcom_persistence.diff" size="1992" author="beberlei" created="Wed, 13 Oct 2010 02:50:50 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DCOM-33] Allow to register callbacks in the EventManager</title>
                <link>http://www.doctrine-project.org/jira/browse/DCOM-33</link>
                <project id="10043" key="DCOM">Doctrine Common</project>
                        <description></description>
                <environment></environment>
            <key id="12271">DCOM-33</key>
            <summary>Allow to register callbacks in the EventManager</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</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="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Sat, 1 Jan 2011 06:16:39 +0000</created>
                <updated>Sat, 1 Jan 2011 06:28:47 +0000</updated>
                                                                    <component>Event System</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15079" author="beberlei" created="Sat, 1 Jan 2011 06:28:47 +0000"  >&lt;p&gt;Consider to add a second queue for callbacks. Its not possible to simulate this by doing something like:&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;public&lt;/span&gt; function addCallbackListener($event, Closure $callback)
{
    $eventListener = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; stdClass();
    $eventListener-&amp;gt;$event = $callback;
    $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;addEventListener($event, $eventListener);
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;sad &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;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>
</channel>
</rss>