<!--
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Fri May 24 12:05:04 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=&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=</link>
        <description>An XML representation of a search request</description>
                <language>en-us</language>
                        <issue start="0" end="1000" total="4626"/>
                <build-info>
            <version>5.2.7</version>
            <build-number>850</build-number>
            <build-date>21-02-2013</build-date>
        </build-info>
<item>
            <title>[PHPCR-110] getAssociationTargetClass targetDocument not set</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-110</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;follow up of &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/279&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/279&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ClassMetadata&lt;/p&gt;

&lt;p&gt;// TODO this may be not set. what happens if we would return null then?&lt;br/&gt;
return $this-&amp;gt;mappings&lt;span class=&quot;error&quot;&gt;&amp;#91;$fieldName&amp;#93;&lt;/span&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;targetDocument&amp;#39;&amp;#93;&lt;/span&gt;;&lt;/p&gt;

&lt;p&gt;investigate and fix once 279 is merged.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14947">PHPCR-110</key>
            <summary>getAssociationTargetClass targetDocument not set</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 May 2013 20:50:00 +0000</created>
                <updated>Mon, 13 May 2013 20:50:00 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-109] Why Generic::getNodename and not camelcase?</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-109</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Is there a reason why the get node name method on the generic document is -&amp;gt;getNodename and not -&amp;gt;getNodeName?&lt;/p&gt;</description>
                <environment></environment>
            <key id="14940">PHPCR-109</key>
            <summary>Why Generic::getNodename and not camelcase?</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 May 2013 18:42:01 +0000</created>
                <updated>Mon, 13 May 2013 20:48:39 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="20374" author="dbu" created="Mon, 13 May 2013 20:48:39 +0000"  >&lt;p&gt;because the field is mapped as nodename, not nodeName. its representing $node-&amp;gt;getName() - calling it just name seemed to confusing. &lt;/p&gt;

&lt;p&gt;i vote against it, but if we want to change the mapping, we should do that right now, as i am breaking everything anyways in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/279&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/279&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-108] suport entity listeners resp document listeners</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-108</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;see &lt;a href=&quot;http://docs.doctrine-project.org/en/latest/reference/events.html#entity-listeners&quot; class=&quot;external-link&quot;&gt;http://docs.doctrine-project.org/en/latest/reference/events.html#entity-listeners&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14829">PHPCR-108</key>
            <summary>suport entity listeners resp document listeners</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sun, 5 May 2013 07:42:37 +0000</created>
                <updated>Sun, 5 May 2013 07:42:37 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-107] Support for -&gt;sameNode type queries in QueryBuilder/ExpressionBuilder</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-107</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;We should support sameNode operator of the QOMFactory in the QueryBuilder.&lt;/p&gt;

&lt;p&gt;An example using the PHPCR QB from the DoctrinePHPCRAdminBundle:&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;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;
        $qb = $queryProxy-&amp;gt;getQueryBuilder();
        $qmf = $qb-&amp;gt;getQOMFactory();

        $constraint = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;;
        foreach ($idx as $id) {
            $path = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;getBackendId($id);
            $condition = $qmf-&amp;gt;sameNode($path);
            &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($constraint) {
                $constraint = $qmf-&amp;gt;orConstraint($constraint, $condition);
            } &lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt; {
                $constraint = $condition;
            }
        }
        $qb-&amp;gt;andWhere($constraint);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="14795">PHPCR-107</key>
            <summary>Support for -&gt;sameNode type queries in QueryBuilder/ExpressionBuilder</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                        <label>1.0</label>
                    </labels>
                <created>Sat, 20 Apr 2013 20:06:24 +0000</created>
                <updated>Thu, 25 Apr 2013 16:40:07 +0000</updated>
                    <resolved>Thu, 25 Apr 2013 16:40:07 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="20105" author="dantleech" created="Thu, 25 Apr 2013 16:40:07 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/280&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/280&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-106] Make getRefererrs return not-yet-flushed referring documents</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-106</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Currently the DocumentManager-&amp;gt;getReferrers() method returns only referrers that have already been flushed to the database.&lt;/p&gt;

&lt;p&gt;It is (I think) desireable for this method to return also those objects which have been added to the UnitOfWork but have not yet been flushed to the database.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14716">PHPCR-106</key>
            <summary>Make getRefererrs return not-yet-flushed referring documents</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                        <label>documentmanager</label>
                    </labels>
                <created>Fri, 22 Mar 2013 18:16:56 +0000</created>
                <updated>Thu, 18 Apr 2013 13:03:25 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 13:03:25 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="20044" author="dbu" created="Thu, 18 Apr 2013 13:03:17 +0000"  >&lt;p&gt;this is the same for searching as well, you don&apos;t find non-flushed things. i suggest we just document that on the getReferrers method that you only get flushed data.&lt;/p&gt;

&lt;p&gt;note that currently there is the issue that initialized collections are not refreshed, which is something we hope to fix eventually.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-105] ensure xml and yml naming conventions are consistent</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-105</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;for yml, all mappings must use camelCase, while for xml it must be connected-text in all lowercase with the dash between. it seems at least fieldName is wrong.&lt;/p&gt;

&lt;p&gt;we should clean this up before the first release to avoid having to deal with inconsistent legacy from the beginning.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14709">PHPCR-105</key>
            <summary>ensure xml and yml naming conventions are consistent</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Thu, 21 Mar 2013 09:36:40 +0000</created>
                <updated>Fri, 19 Apr 2013 12:07:23 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="20066" author="dbu" created="Fri, 19 Apr 2013 12:06:01 +0000"  >&lt;p&gt;for xml, see this PR &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/279&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/279&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="20068" author="dbu" created="Fri, 19 Apr 2013 12:07:23 +0000"  >&lt;p&gt;yml is using camelCase everywhere. should we rename fieldName to name as well or is that fine here?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-104] implement unitofwork isScheduledDocument</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-104</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;as discussed in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/268&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/268&lt;/a&gt; we should implement UnitOfWork::isScheduledDocument and isScheduledFor* other than isScheduledForInsert.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14702">PHPCR-104</key>
            <summary>implement unitofwork isScheduledDocument</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Mar 2013 12:41:05 +0000</created>
                <updated>Tue, 19 Mar 2013 12:41:05 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-103] map node autoname feature</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-103</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;we should map the Node::addNodeAutonamed as an option for the nodename field to have nodes that generate their own name (i.e. useful in children collection)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14692">PHPCR-103</key>
            <summary>map node autoname feature</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 13 Mar 2013 17:12:18 +0000</created>
                <updated>Thu, 14 Mar 2013 09:30:48 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19851" author="dbu" created="Thu, 14 Mar 2013 09:30:48 +0000"  >&lt;p&gt;probably this should be a special id generator strategy like parent and nodename, where nodename is generated. is there a way to pass a parameter to the strategy? or would this need to be a separate option on the &quot;@Id&quot;? addNodeAutoname can accept an optional parameter to control parts of the generated name.&lt;br/&gt;
btw, this will be funny as this strategy can not really &quot;generate&quot; an id, it needs to actually create the node to have the name generated. so actually we have no id until we actually flush...  &lt;/p&gt;

&lt;p&gt;and there is this issue to handle as well&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/commit/a4075caadd97312cc53bccf57ff8baf593df65d4&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/commit/a4075caadd97312cc53bccf57ff8baf593df65d4&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-102] DocumentManager::reorder can not be called multiple times for the same parent</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-102</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;unless i really misread the code in UnitOfWork::scheduleReorder, trying to reorder more than one child of the same parent document will drop the previous reordering.&lt;/p&gt;

&lt;p&gt;the whole method is of limited use, as you can also reorder the children in the ChildrenCollection.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14650">PHPCR-102</key>
            <summary>DocumentManager::reorder can not be called multiple times for the same parent</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="dbu">David Buchmann</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Mar 2013 16:40:08 +0000</created>
                <updated>Fri, 19 Apr 2013 11:10:20 +0000</updated>
                    <resolved>Fri, 19 Apr 2013 11:10:20 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="20050" author="dbu" created="Thu, 18 Apr 2013 14:49:52 +0000"  >&lt;p&gt;expand to have an array of reorderings per parent instead of just one reordering.&lt;/p&gt;</comment>
                    <comment id="20065" author="dbu" created="Fri, 19 Apr 2013 11:10:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/278&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/278&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-101] MissingTranslationException when parent is not translated</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-101</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Getting a MissingTranslationException when displaying a banner on the frontend. It seems to be caused in the refreshDocumentForProxy method on line 496 of UOW, the parent document does not have a locale and therefore the fallback hint is false. The banner block is not translated and the banner images are (title property). &lt;/p&gt;

&lt;p&gt;See for a stacktrace: &lt;a href=&quot;https://gist.github.com/rmsint/2c6700e00c47c95dc30e&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/rmsint/2c6700e00c47c95dc30e&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14649">PHPCR-101</key>
            <summary>MissingTranslationException when parent is not translated</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="rmsint">Roel Sint</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Mar 2013 16:30:49 +0000</created>
                <updated>Thu, 18 Apr 2013 12:53:58 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="20043" author="dbu" created="Thu, 18 Apr 2013 12:53:58 +0000"  >&lt;p&gt;roel, can you please test with the latest phpcr-odm? we think this should be fixed now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-100] The mixin `jcr:lastModified` is not updated</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-100</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;If the document have `jcr:lastModified`, this attribute is filled on create but not updated when a document is modified.&lt;/p&gt;

&lt;p&gt;I tried to set manually this attribute and it is not updated too.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14645">PHPCR-100</key>
            <summary>The mixin `jcr:lastModified` is not updated</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="laupifrpar">Pierre-Louis LAUNAY</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Mar 2013 11:39:41 +0000</created>
                <updated>Fri, 19 Apr 2013 10:29:13 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="20042" author="dbu" created="Thu, 18 Apr 2013 12:52:57 +0000"  >&lt;p&gt;jackrabbit for example does not automatically update this field. but setting it manually should work, so this could be a bug of phpcr-odm&lt;/p&gt;</comment>
                    <comment id="20064" author="dbu" created="Fri, 19 Apr 2013 10:29:13 +0000"  >&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/jira/secure/ViewProfile.jspa?name=laupifrpar&quot; class=&quot;user-hover&quot; rel=&quot;laupifrpar&quot;&gt;Pierre-Louis LAUNAY&lt;/a&gt; could you investigate why manually setting the field does not work? it could be that the phpcr-odm UnitOfWork ignores the field, or also that jackalope ignores changes to the field...&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-99] Support configuring mixin node types</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-99</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;we should have a document level mapping to declare arbitrary mixins (like mix:created and mix:lastModified to have autogenerated timestamp fields that then can be mapped)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14546">PHPCR-99</key>
            <summary>Support configuring mixin node types</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sun, 24 Feb 2013 14:17:18 +0000</created>
                <updated>Thu, 18 Apr 2013 12:51:38 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 12:51:38 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="20041" author="dbu" created="Thu, 18 Apr 2013 12:51:38 +0000"  >&lt;p&gt;uwe did that, thanks.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-98] replace child document</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-98</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;when replacing a mapped child with a new document, we get the cannotMoveByAssignment exception, which imo is a) the wrong message as its not about setting a tracked document to become a child somewhere else but what we should do is delete the existing child document and add the new one.&lt;/p&gt;

&lt;p&gt;this happens at &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1912&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1912&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;for multiple children, i am less sure how it should work, if it is possible the same way: &lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L935&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L935&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14542">PHPCR-98</key>
            <summary>replace child document</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Feb 2013 09:50:01 +0000</created>
                <updated>Sat, 2 Mar 2013 11:59:43 +0000</updated>
                    <resolved>Sat, 2 Mar 2013 11:59:43 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19672" author="dbu" created="Fri, 22 Feb 2013 14:53:09 +0000"  >&lt;p&gt;there is a PR to add a form element for an image. when using this, the containing class needs to work around this bug for now &lt;a href=&quot;https://github.com/doctrine/DoctrinePHPCRBundle/pull/37&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/DoctrinePHPCRBundle/pull/37&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="19791" author="dbu" created="Sat, 2 Mar 2013 11:59:43 +0000"  >&lt;p&gt;the PR got merged &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/253&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/253&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;as a side note: what speaks against moving the issues to github and drop this jira project? it would be much more user friendly for reporting bugs, and easier to integrate. and i don&apos;t think we use any of the fancy jira features really. (github has tags and now even milestones, if we would want to use them)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-97] Allow QB / XB to sepcify objects as targets</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-97</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Allow the query builder expression to specify an object as a target.&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;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: querybuilder.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;
$qb-&amp;gt;where($qb-&amp;gt;expr()-&amp;gt;eq(&apos;someObjectReference&apos;, $someObject);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So if the target passed is mapped and it is referenceable then replace the object instance with its UUID.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14509">PHPCR-97</key>
            <summary>Allow QB / XB to sepcify objects as targets</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                        <label>querybuilder,</label>
                    </labels>
                <created>Wed, 20 Feb 2013 18:21:46 +0000</created>
                <updated>Wed, 20 Feb 2013 18:21:46 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-96] Clean up event argument classes</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-96</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;clean up the event argument classes to only use specific classes if needed, and base on doctrine commons events&lt;/p&gt;

&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/246&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/246&lt;/a&gt; and &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/issues/245&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/issues/245&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14508">PHPCR-96</key>
            <summary>Clean up event argument classes</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                        <label>1.0</label>
                    </labels>
                <created>Wed, 20 Feb 2013 13:26:00 +0000</created>
                <updated>Thu, 18 Apr 2013 14:49:25 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 14:49:25 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19832" author="dbu" created="Tue, 12 Mar 2013 14:10:47 +0000"  >&lt;p&gt;there is the PR &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/248&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/248&lt;/a&gt; now&lt;/p&gt;</comment>
                    <comment id="20049" author="dbu" created="Thu, 18 Apr 2013 14:49:25 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/248&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/248&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-95] Support parameter binding in QueryBuilder (depends Jackalope support)</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-95</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Parameter binding is not currently implemented in the QueryBuilder, and the comments seem to indicate that this is because jackalope does not support it at the moment.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14505">PHPCR-95</key>
            <summary>Support parameter binding in QueryBuilder (depends Jackalope support)</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                        <label>querybuilder,</label>
                    </labels>
                <created>Tue, 19 Feb 2013 22:19:34 +0000</created>
                <updated>Tue, 12 Mar 2013 14:18:20 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="19835" author="dbu" created="Tue, 12 Mar 2013 14:18:20 +0000"  >&lt;p&gt;this would be possible once &lt;a href=&quot;https://github.com/jackalope/jackalope/issues/59&quot; class=&quot;external-link&quot;&gt;https://github.com/jackalope/jackalope/issues/59&lt;/a&gt; has been done&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-94] Implement -&gt;iterate on Query object</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-94</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Implement the Query-&amp;gt;iterate method which will return an IteratableResultSet as per the ORM.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14504">PHPCR-94</key>
            <summary>Implement -&gt;iterate on Query object</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                        <label>query</label>
                    </labels>
                <created>Tue, 19 Feb 2013 22:15:30 +0000</created>
                <updated>Tue, 19 Feb 2013 22:15:30 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-93] Implement -&gt;clone() method on Query object</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-93</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;As with the ORM query object, implement the -&amp;gt;clone() method.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14503">PHPCR-93</key>
            <summary>Implement -&gt;clone() method on Query object</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Feb 2013 22:13:45 +0000</created>
                <updated>Tue, 19 Feb 2013 22:13:45 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-92] Join support in QueryBuilder</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-92</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Joins are currently not supported in the QueryBuilder, the methods are there and some of the logic is partially coded, but they just havn&apos;t been implemented.&lt;/p&gt;

&lt;p&gt;At time of writing joins are not supported by doctrine-dbal (i think) but they are supported at least by Jackrabbit.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14502">PHPCR-92</key>
            <summary>Join support in QueryBuilder</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                        <label>querybuilder,</label>
                    </labels>
                <created>Tue, 19 Feb 2013 22:11:48 +0000</created>
                <updated>Tue, 19 Feb 2013 22:14:26 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-91] getSIngleResult throws ambiguous Exception</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-91</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Query-&amp;gt;getSingleResult correctly throws an Exception when there are no results (or more than one), but it is an Exception that could also be produced by other things, so not guaranteed to mean that (&lt;br/&gt;
(&lt;a href=&quot;http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/reference/query.html#getsingleresult&quot; class=&quot;external-link&quot;&gt;http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/reference/query.html#getsingleresult&lt;/a&gt;)&lt;/p&gt;</description>
                <environment></environment>
            <key id="14501">PHPCR-91</key>
            <summary>getSIngleResult throws ambiguous Exception</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dantleech">Daniel Leech</reporter>
                        <labels>
                        <label>1.0</label>
                        <label>query</label>
                    </labels>
                <created>Tue, 19 Feb 2013 22:09:00 +0000</created>
                <updated>Thu, 18 Apr 2013 13:12:06 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-90] referrer delete and cascade delete</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-90</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;currently, removing an entry from the referrer collection has no effect, nothing is deleted.&lt;/p&gt;

&lt;p&gt;without cascading, we should delete the value from the referencing property (needs the filter(mappedBy) attribute again), with cascading we should delete the referencing document.&lt;/p&gt;

&lt;p&gt;see also &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/234&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/234&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14496">PHPCR-90</key>
            <summary>referrer delete and cascade delete</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Feb 2013 12:14:35 +0000</created>
                <updated>Tue, 12 Mar 2013 17:04:17 +0000</updated>
                    <resolved>Tue, 12 Mar 2013 17:04:17 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19568" author="dbu" created="Tue, 19 Feb 2013 12:21:59 +0000"  >&lt;p&gt;adding something to the referrers collection is also not taken into account atm.&lt;/p&gt;</comment>
                    <comment id="19836" author="dbu" created="Tue, 12 Mar 2013 17:04:17 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/252&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/252&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-89] child documents are not translateable?</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-89</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;I just tried the odm on a testproject. but i have a really strange problem with translations. if i add a document which has children - and then try to add a translation to the children documents - the translation will not be saved .... (i tried the same with the symfony cmf - same result ) &lt;br/&gt;
code:&lt;/p&gt;</description>
                <environment>ubuntu 12.04, php 5.3, &lt;br/&gt;
installed:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;doctrine/common [2.3.x-dev bb0aebb] : Common Library for Doctrine projects&lt;br/&gt;
&amp;nbsp;&amp;nbsp;doctrine/dbal [2.3.x-dev fd45c6f] : Database Abstraction Layer&lt;br/&gt;
&amp;nbsp;&amp;nbsp;doctrine/phpcr-odm [dev-master 76765d1] : Object-Document-Mapper for PHPCR&lt;br/&gt;
&amp;nbsp;&amp;nbsp;jackalope/jackalope [dev-master a8ba9db] : Jackalope PHPCR library&lt;br/&gt;
&amp;nbsp;&amp;nbsp;jackalope/jackalope-doctrine-dbal [dev-master d8a81bc] : Jackalope Transport library&lt;br/&gt;
&amp;nbsp;&amp;nbsp;phpcr/phpcr [2.1.0-beta8] : PHP Content Repository interfaces&lt;br/&gt;
&amp;nbsp;&amp;nbsp;phpcr/phpcr-utils [1.0-beta4] : PHP Content Repository implementation independant utilities&lt;br/&gt;
&amp;nbsp;&amp;nbsp;symfony/console [2.2.x-dev v2.2.0-RC1] : Symfony Console Component&lt;br/&gt;
&amp;nbsp;&amp;nbsp;symfony/yaml [dev-master f198ac2] : Symfony Yaml Component</environment>
            <key id="14461">PHPCR-89</key>
            <summary>child documents are not translateable?</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="micon">Norbert M Haigermoser</reporter>
                        <labels>
                        <label>i18n</label>
                        <label>translation</label>
                    </labels>
                <created>Thu, 7 Feb 2013 09:12:43 +0000</created>
                <updated>Thu, 18 Apr 2013 12:58:03 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 12:58:03 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="19833" author="dbu" created="Tue, 12 Mar 2013 14:14:29 +0000"  >&lt;p&gt;hi. can you try to write a test case in TranslationHierarchyTest in the phpcr-odm repository and create a pull request for the failing test? we fixed quite some things around this recently, maybe it is fixed now?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11376" name="index_1.php" size="5992" author="micon" created="Thu, 7 Feb 2013 09:12:43 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-88] locales mapping for language fallback: do not repeat language</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-88</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;currently the language fallback is defined like this&lt;/p&gt;

&lt;p&gt;        locales:&lt;br/&gt;
            en: &lt;span class=&quot;error&quot;&gt;&amp;#91;en, de&amp;#93;&lt;/span&gt;&lt;br/&gt;
            de: &lt;span class=&quot;error&quot;&gt;&amp;#91;de, en&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;the first option must be the requested language. this is counterintuitive and error prone. saying &quot;en: &lt;span class=&quot;error&quot;&gt;&amp;#91;de&amp;#93;&lt;/span&gt;&quot; would make english always only try german. we should add the locale itself as first locale i think, i see no use case of defining fallbacks where the requested locale is not the one to be preferred.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14442">PHPCR-88</key>
            <summary>locales mapping for language fallback: do not repeat language</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Feb 2013 10:23:03 +0000</created>
                <updated>Thu, 18 Apr 2013 12:49:12 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 12:49:12 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-87] the document manager did not return a result for findBy(array(&apos;id&apos; =&gt; &apos;some/id&apos;)) but does for find(&apos;some/id&apos;)</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-87</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="14438">PHPCR-87</key>
            <summary>the document manager did not return a result for findBy(array(&apos;id&apos; =&gt; &apos;some/id&apos;)) but does for find(&apos;some/id&apos;)</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="rmsint">Roel Sint</reporter>
                        <labels>
                    </labels>
                <created>Thu, 31 Jan 2013 11:49:09 +0000</created>
                <updated>Fri, 19 Apr 2013 10:26:14 +0000</updated>
                    <resolved>Fri, 19 Apr 2013 10:26:13 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="19561" author="dbu" created="Mon, 18 Feb 2013 18:09:08 +0000"  >&lt;p&gt;the id is kind of a meta information of the document, not a property. so i am unsure if this can work, as the findBy is querying on the phpcr fields. we can not search on the odm mapped fields, as we do not know which document to search, and different documents could even map differently.&lt;/p&gt;

&lt;p&gt;so i am not sure if we can solve this issue at all, except improve the documentation of what findBy is actually using.&lt;/p&gt;

&lt;p&gt;or am i missing something, lukas?&lt;/p&gt;</comment>
                    <comment id="20063" author="dbu" created="Fri, 19 Apr 2013 10:26:14 +0000"  >&lt;p&gt;findBy filters on properties. the id is the path of the node, not a property. this is thus not a bug.&lt;/p&gt;

&lt;p&gt;i converted a lot of doc from the orm to have the right place where we should explain this, adding a warning about this case: &lt;a href=&quot;https://github.com/doctrine/phpcr-odm-documentation/pull/24&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm-documentation/pull/24&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-86] QueryBuilder QOMFactory access</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-86</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;There is getQOMFactory method in PHPCR\Util\QOM\QueryBuilder (very useful) but it isn&apos;t in Doctrine\ODM\PHPCR\Query\QueryBuilder (it breaks bc).&lt;/p&gt;

&lt;p&gt;Is it mistake or there is/will be another method to access QOMFactory instance?&lt;/p&gt;</description>
                <environment></environment>
            <key id="14385">PHPCR-86</key>
            <summary>QueryBuilder QOMFactory access</summary>
                <type id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/documentation.png">Documentation</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbojdo">Daniel Bojdo</reporter>
                        <labels>
                        <label>builder,</label>
                        <label>qomfactory</label>
                        <label>query</label>
                    </labels>
                <created>Mon, 14 Jan 2013 17:56:48 +0000</created>
                <updated>Tue, 15 Jan 2013 10:22:42 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19319" author="dbojdo" created="Tue, 15 Jan 2013 10:22:42 +0000"  >&lt;p&gt;In fact it&apos;s not a bug, there is no docs about DocumentManager methods refactor. &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-85] implement querybuilder hydrate array option</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-85</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;the query builder can currently hydrate to documents and to phpcr nodes. it should also be possible to hydrate the result into a plain array to avoid creating documents and get the direct query result. (btw note that &apos;*&apos; in sql2 does not mean all properties of a document, but just the path and some other basic things - you always need to specify all fields you want to retrieve explicitly in this case)&lt;/p&gt;

&lt;p&gt;for the query builder base work and discussion see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/204&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/204&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="14382">PHPCR-85</key>
            <summary>implement querybuilder hydrate array option</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 14 Jan 2013 09:12:13 +0000</created>
                <updated>Mon, 14 Jan 2013 09:12:13 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-84] make the query API work with i18n</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-84</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;when searching there must be some way to ensure that for translateable documents the right fields are filters. f.e. when using the child strategy then for the given columns the node name needs to be checked (nodename = phpcr_locale:fr). for attributes strategy the property name needs to be rewritten (&quot;title&quot; vs &quot;phpcr_locale:fr-title&quot;).&lt;/p&gt;

&lt;p&gt;it might not be possible to easily automate this.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14161">PHPCR-84</key>
            <summary>make the query API work with i18n</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Tue, 23 Oct 2012 21:17:33 +0000</created>
                <updated>Tue, 14 May 2013 07:07:33 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>3</watches>
                        <comments>
                    <comment id="18871" author="dbu" created="Tue, 23 Oct 2012 21:45:43 +0000"  >&lt;p&gt;sounds like asking for a PHPCR-ODM DQL , then we could handle this perfectly transparent. as an intermediate, a method to build the criterion for a field of a mapped entity would be the right way i think. you could even do that for non-multilang in case you mapped the documents field to some differently named PHPCR property.&lt;/p&gt;</comment>
                    <comment id="18873" author="lsmith" created="Wed, 24 Oct 2012 09:09:19 +0000"  >&lt;p&gt;here is an example where i manually handle this:&lt;br/&gt;
&lt;a href=&quot;https://github.com/symfony-cmf/SearchBundle/blob/master/Controller/PhpcrSearchController.php&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/SearchBundle/blob/master/Controller/PhpcrSearchController.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;if we were to do it automatically we might not need our own DQL, we could do a QOMWalker. however i doubt that we can fully automate this, since everything can be mixed. ie. one path can have any number of different strategies.&lt;/p&gt;</comment>
                    <comment id="18874" author="lsmith" created="Wed, 24 Oct 2012 09:18:05 +0000"  >&lt;p&gt;btw .. it might make sense to always namespace the property names, even when using the child translation strategy. this could make it easier to deal with searching across mixed translation strategies.&lt;/p&gt;</comment>
                    <comment id="19279" author="lsmith" created="Fri, 11 Jan 2013 08:56:42 +0000"  >&lt;p&gt;if we do this change we should provide a migration script&lt;/p&gt;</comment>
                    <comment id="19894" author="dbu" created="Mon, 25 Mar 2013 15:01:24 +0000"  >&lt;p&gt;it gets even worse when translated and non-translated documents get mixed up. see for example the cmf sandbox menu admin (not multilang menu). it mixes translated and non-translated documents. since &lt;a href=&quot;https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/pull/100&quot; class=&quot;external-link&quot;&gt;https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/pull/100&lt;/a&gt; you can sort on columns, so sorting will half work half not.&lt;/p&gt;</comment>
                    <comment id="20371" author="dbu" created="Mon, 13 May 2013 08:51:11 +0000"  >&lt;p&gt;there seem to be other solutions like descendant, but if we had &lt;b&gt;join&lt;/b&gt; in jackalope-doctrine-dbal that could be a good option &lt;a href=&quot;https://github.com/jackalope/jackalope-doctrine-dbal/issues/15&quot; class=&quot;external-link&quot;&gt;https://github.com/jackalope/jackalope-doctrine-dbal/issues/15&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="20375" author="wjzijderveld" created="Tue, 14 May 2013 07:07:33 +0000"  >&lt;p&gt;I started working on the Join issue and will start working on this issue when the Join feature is more or less stable.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-83] make the test suite run and pass with Doctrine DBAL</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-83</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;this will likely require some work to disable certain tests relying on features not yet implemented&lt;/p&gt;</description>
                <environment></environment>
            <key id="14157">PHPCR-83</key>
            <summary>make the test suite run and pass with Doctrine DBAL</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 22 Oct 2012 14:59:13 +0000</created>
                <updated>Fri, 11 Jan 2013 15:13:59 +0000</updated>
                    <resolved>Fri, 11 Jan 2013 15:13:59 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19274" author="lsmith" created="Thu, 10 Jan 2013 22:20:37 +0000"  >&lt;p&gt;actually already fixed with the latest changes in phpcr-utils&lt;br/&gt;
the issue is that we currently require 1.0-beta3&lt;br/&gt;
&lt;a href=&quot;https://github.com/phpcr/phpcr-utils/compare/1.0-beta3...master#L21R519&quot; class=&quot;external-link&quot;&gt;https://github.com/phpcr/phpcr-utils/compare/1.0-beta3...master#L21R519&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="19280" author="lsmith" created="Fri, 11 Jan 2013 15:13:59 +0000"  >&lt;p&gt;&lt;a href=&quot;https://travis-ci.org/doctrine/phpcr-odm&quot; class=&quot;external-link&quot;&gt;https://travis-ci.org/doctrine/phpcr-odm&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                <outwardlinks description="relates to">
                            <issuelink>
            <issuekey id="13419">PHPCR-47</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-82] add support to check if a multivalue property of type array actually changed or not</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-82</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;right now we only really support checking the dirty state of MultivaluePropertyCollection instances. however in some cases it might be necessary to convert things to an array, even if there are no actual changes. therefore it would be good to also check the dirty state in case of an array&lt;/p&gt;</description>
                <environment></environment>
            <key id="14104">PHPCR-82</key>
            <summary>add support to check if a multivalue property of type array actually changed or not</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 8 Oct 2012 07:26:37 +0000</created>
                <updated>Thu, 18 Apr 2013 13:06:16 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 13:06:16 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="20045" author="dbu" created="Thu, 18 Apr 2013 13:06:16 +0000"  >&lt;p&gt;we don&apos;t have that collection anymore&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-81] Referrers should not return the frozen node of a version in version storage</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-81</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;In the document of phpcr.github.com (&lt;a href=&quot;http://phpcr.github.com/doc/html/phpcr/nodeinterface.html#getReferences%28%29&quot; class=&quot;external-link&quot;&gt;http://phpcr.github.com/doc/html/phpcr/nodeinterface.html#getReferences%28%29&lt;/a&gt;), I quote:&lt;/p&gt;

&lt;p&gt;&quot;In implementations that support versioning, this method does not return properties that are part of the frozen state of a version in version storage.&quot;&lt;/p&gt;

&lt;p&gt;But, the referrers returns some versioned node.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14068">PHPCR-81</key>
            <summary>Referrers should not return the frozen node of a version in version storage</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="laupifrpar">Pierre-Louis LAUNAY</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Sep 2012 10:25:58 +0000</created>
                <updated>Wed, 26 Sep 2012 10:25:58 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-80] ChildrenCollection is not updated after flush although children where added before</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-80</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;If you create children of a document without adding them to the children collection of the parent (with a children annotation) the children collection is not updated after flush, you need to call $dm-&amp;gt;clear() to force a reread of the children. The current case was with a parent and its children created in the same flush.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14022">PHPCR-80</key>
            <summary>ChildrenCollection is not updated after flush although children where added before</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="uwej711">Uwe J&#228;ger</reporter>
                        <labels>
                    </labels>
                <created>Fri, 7 Sep 2012 22:15:02 +0000</created>
                <updated>Tue, 12 Mar 2013 14:10:07 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="18621" author="uwej711" created="Fri, 7 Sep 2012 22:18:59 +0000"  >&lt;p&gt;Try this code:&lt;/p&gt;

&lt;p&gt;  $node1 = new Generic();&lt;br/&gt;
  $node1-&amp;gt;setParent($parent);&lt;br/&gt;
  $node1-&amp;gt;setNodename(&apos;source&apos;);&lt;br/&gt;
  $this-&amp;gt;dm-&amp;gt;persist($node1);&lt;/p&gt;

&lt;p&gt;  $this-&amp;gt;childrenNames = array(&apos;first&apos;, &apos;second&apos;, &apos;third&apos;, &apos;fourth&apos;);&lt;br/&gt;
  foreach ($this-&amp;gt;childrenNames as $childName) &lt;/p&gt;
{
      $child = new Generic();
      $child-&amp;gt;setNodename($childName);
      $child-&amp;gt;setParent($node1);
      $this-&amp;gt;dm-&amp;gt;persist($child);
  }


&lt;p&gt;  $this-&amp;gt;dm-&amp;gt;flush();&lt;br/&gt;
  $this-&amp;gt;dm-&amp;gt;clear();&lt;/p&gt;

&lt;p&gt;  $node = $this-&amp;gt;dm-&amp;gt;find(null, &apos;/functional/source&apos;);&lt;br/&gt;
  $children = $node-&amp;gt;getChildren();&lt;/p&gt;

&lt;p&gt;  // without the clear above $children === NULL, with the clear it works as expected&lt;/p&gt;
</comment>
                    <comment id="19316" author="dbu" created="Mon, 14 Jan 2013 09:08:59 +0000"  >&lt;p&gt;lukas, is this fixed with the work you did on cascading?&lt;/p&gt;</comment>
                    <comment id="19831" author="dbu" created="Tue, 12 Mar 2013 14:10:07 +0000"  >&lt;p&gt;we did a lot of refactoring on cascading lately. uwe, can you check if the problem still exists and do a pull request with a failing test if it exists?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-79] metadata type for non-property mappings</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-79</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;(this is a follow up of &lt;a href=&quot;https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/issues/56&quot; class=&quot;external-link&quot;&gt;https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/issues/56&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;ClassMetadata::mapField does not automatically assign a type except for the id field. we should add them here to have type information for things like nodename so for example sonata admin (or the symfony form builder?) can use that information to decide on the widget to use.&lt;/p&gt;

&lt;p&gt;open question: is there a natural type mapping for children/parent? should we use MANY_TO_ONE for parent and ONE_TO_MANY for children? or is that a problem as its not arbitrary relations, should we add new types for this?&lt;/p&gt;</description>
                <environment></environment>
            <key id="14008">PHPCR-79</key>
            <summary>metadata type for non-property mappings</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 3 Sep 2012 14:55:26 +0000</created>
                <updated>Mon, 14 Jan 2013 23:13:29 +0000</updated>
                    <resolved>Mon, 14 Jan 2013 23:13:29 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-78] Exception &quot;Can&apos;t remove the protected property: jcr:created&quot; on persist</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-78</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;When a Document contains a reference field (tested with @ReferenceMany(strategy=&quot;hard&quot;), @ReferenceOne(strategy=&quot;hard&quot;)) and a &quot;jcr:created&quot; field in its metadata, then phpcr-odm try to update the protected field (jcr:created) to NULL on persist.&lt;/p&gt;

&lt;p&gt;Jackalope throws the following exception :&lt;/p&gt;

&lt;p&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;PHPCR\NodeType\ConstraintViolationException&amp;#93;&lt;/span&gt;     &lt;br/&gt;
  Can&apos;t remove the protected property: jcr:created&lt;/p&gt;</description>
                <environment>* phpcrodm #fc47314043805c1b8d1e998d534abec75874a8e5&lt;br/&gt;
* jackalope #6de09e160a2d56b34d34e8120a254fbe46892fb7&lt;br/&gt;
* jackalope-jackrabbit #3c4fb61bf0c0664d09ef520683842e6426c033e0</environment>
            <key id="13953">PHPCR-78</key>
            <summary>Exception &quot;Can&apos;t remove the protected property: jcr:created&quot; on persist</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="pitpit">damien pitard</reporter>
                        <labels>
                    </labels>
                <created>Fri, 10 Aug 2012 09:17:06 +0000</created>
                <updated>Thu, 30 Aug 2012 09:12:46 +0000</updated>
                    <resolved>Thu, 30 Aug 2012 09:12:46 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="18550" author="pitpit" created="Tue, 28 Aug 2012 09:17:41 +0000"  >&lt;p&gt;here&apos;s a functional test to reproduce the bug &lt;a href=&quot;https://github.com/pitpit/phpcr-odm/commit/a7e1ba83d78771599181d2dee3c03c5163cf26e7&quot; class=&quot;external-link&quot;&gt;https://github.com/pitpit/phpcr-odm/commit/a7e1ba83d78771599181d2dee3c03c5163cf26e7&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18586" author="lsmith" created="Thu, 30 Aug 2012 09:12:46 +0000"  >&lt;p&gt;fixed by &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/158&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/158&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-77] document level options inheritance</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-77</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;documents extending other documents should inherit the global attributes unless overwritten explicitly.&lt;/p&gt;

&lt;p&gt;for example, having @Document(referenceable=true) should be kept for an extending class unless it explicitly sets it to false. currently, attributes are reset on each new @Document tag. (i assume we have the same issue for xml/yml mapping?)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13940">PHPCR-77</key>
            <summary>document level options inheritance</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Aug 2012 09:47:45 +0000</created>
                <updated>Sun, 5 May 2013 07:54:47 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18901" author="dbu" created="Thu, 1 Nov 2012 11:28:55 +0000"  >&lt;p&gt;this is fixed for referenceable in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/185&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/185&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="20215" author="dbu" created="Sun, 5 May 2013 07:54:47 +0000"  >&lt;p&gt;when doing this, we should also fix MappedSuperclass annotation to support all attributes the Document has. in xml mappings mapped-superclass extends document&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-76] add support for Selectable in PersistentCollection</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-76</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;see the ORM&lt;/p&gt;</description>
                <environment></environment>
            <key id="13908">PHPCR-76</key>
            <summary>add support for Selectable in PersistentCollection</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Aug 2012 08:58:56 +0000</created>
                <updated>Thu, 18 Apr 2013 13:06:48 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 13:06:48 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-75] Mapped Superclass cleanup and documentation</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-75</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;this is a follow-up for &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7096029&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7096029&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we need to check if mapped superclass is working as it should, and then clarify the doc at &lt;a href=&quot;https://github.com/doctrine/phpcr-odm-documentation/blob/master/en/reference/inheritance-mapping.rst&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm-documentation/blob/master/en/reference/inheritance-mapping.rst&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;i still did not understand what exactly the feature means.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13873">PHPCR-75</key>
            <summary>Mapped Superclass cleanup and documentation</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 Jul 2012 08:50:20 +0000</created>
                <updated>Thu, 10 Jan 2013 12:02:42 +0000</updated>
                    <resolved>Thu, 10 Jan 2013 12:02:42 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="19266" author="lsmith" created="Wed, 9 Jan 2013 14:36:31 +0000"  >&lt;p&gt;this is cleared up now .. right?&lt;/p&gt;</comment>
                    <comment id="19271" author="dbu" created="Thu, 10 Jan 2013 12:02:42 +0000"  >&lt;p&gt;yep, i understand it now. documented a bit in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm-documentation/commit/1c5ae23df5b8008bad5738ae4eed9a70ec6a4cb7&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm-documentation/commit/1c5ae23df5b8008bad5738ae4eed9a70ec6a4cb7&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-74] [translations] allow detached document with locale propagation to mapped associations</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-74</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;managed documents can only ever exist once per DocumentManager, and thus only in one language. for this reason we did not want to make the language propagate for mapped children and references (as this would change the content of documents in a hard to understand way - and loading anything in a different language again would still lose the language)&lt;/p&gt;

&lt;p&gt;thus we should provide a findTranslation variant to get a detached translated document that fetches all associations as detached as well, keeping the locale setting.&lt;/p&gt;

&lt;p&gt;there is no way to handle the write case, but this would cover the read case.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13867">PHPCR-74</key>
            <summary>[translations] allow detached document with locale propagation to mapped associations</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 Jul 2012 22:05:41 +0000</created>
                <updated>Fri, 1 Feb 2013 10:20:08 +0000</updated>
                    <resolved>Fri, 1 Feb 2013 10:20:08 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19445" author="dbu" created="Fri, 1 Feb 2013 10:20:08 +0000"  >&lt;p&gt;the concept was changed to say that children translations are just updated to the new locale&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-73] add support for custom ID generators</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-73</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/doctrine2/pull/206&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine2/pull/206&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13861">PHPCR-73</key>
            <summary>add support for custom ID generators</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Tue, 17 Jul 2012 06:18:31 +0000</created>
                <updated>Tue, 12 Mar 2013 14:17:05 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="19834" author="dbu" created="Tue, 12 Mar 2013 14:17:05 +0000"  >&lt;p&gt;note that id for phpcr-odm is the phpcr path. so this is not the same as &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-38&quot; title=&quot;make it possible to inject a custom UUID service&quot;&gt;PHPCR-38&lt;/a&gt; where we talk about the uuid generator.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-72] persist cancels move</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-72</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;If i have a node that i fetch from the repo using $dm-&amp;gt;find()&lt;/p&gt;

&lt;p&gt;If i change an attribute in it.&lt;br/&gt;
Then i call $dm-&amp;gt;move() on it&lt;/p&gt;

&lt;p&gt;Then i call $dm-&amp;gt;flush().&lt;/p&gt;

&lt;p&gt;It will work.&lt;/p&gt;

&lt;p&gt;However if i call $dm-&amp;gt;persist() on the node (that i already fetched from $dm-&amp;gt;find()) and then call $dm-&amp;gt;flush()&lt;br/&gt;
The $dm-&amp;gt;move() won&apos;t occur, it will be cancelled, but the attribute i changed will still be updated.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13787">PHPCR-72</key>
            <summary>persist cancels move</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="freddyh">Freddy H.</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Jun 2012 15:43:52 +0000</created>
                <updated>Sat, 21 Jul 2012 07:54:08 +0000</updated>
                    <resolved>Sat, 21 Jul 2012 07:54:08 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18360" author="lsmith" created="Fri, 20 Jul 2012 21:15:18 +0000"  >&lt;p&gt;i have to think about if this is a bug or a feature.&lt;br/&gt;
its certainly useful to have a way to &quot;cancel&quot; operations ..&lt;br/&gt;
f.e. persist() also cancels remove()&lt;/p&gt;

&lt;p&gt;then again persist() is i guess viewed by many as a non problematic operation since it commonly doesn&apos;t break anything if one persisted an object multiple times.&lt;/p&gt;</comment>
                    <comment id="18361" author="lsmith" created="Sat, 21 Jul 2012 07:54:08 +0000"  >&lt;p&gt;as i expected this is an intentional feature:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L518&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L518&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we could think about adding a dedicated method to &quot;reset&quot; the state, but the ORM doesn&apos;t have something like that so i rather not introduce it.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-71] refactor exceptions</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-71</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/144#discussion_r963877&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/144#discussion_r963877&lt;/a&gt; reveiled that we should look into the exception concepts and streamline them.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13774">PHPCR-71</key>
            <summary>refactor exceptions</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Jun 2012 08:33:35 +0000</created>
                <updated>Thu, 18 Apr 2013 13:09:42 +0000</updated>
                                                                            <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-70] ContentDocument Relationships returning NULL in Action</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-70</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;So i have 2 Documents:&lt;/p&gt;

&lt;p&gt;Page: &lt;a href=&quot;http://pastebin.com/b5X32JPc&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/b5X32JPc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Category: &lt;a href=&quot;http://pastebin.com/A1gB6kyg&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/A1gB6kyg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Category has many pages.&lt;/p&gt;

&lt;p&gt;Now here&apos;s my (test) action: &lt;a href=&quot;http://pastebin.com/ypjxqZPu&quot; class=&quot;external-link&quot;&gt;http://pastebin.com/ypjxqZPu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, $contentDocument is a page in this case. If i call $contentDocument-&amp;gt;category i get back &quot;null&quot;.&lt;/p&gt;

&lt;p&gt;If however i tell the document manager to fetch the Page document by it&apos;s path, then $contentDocument-&amp;gt;category will work...&lt;/p&gt;

&lt;p&gt;Our conclusion is that if you take the $contentDocument that is passed to your action, and you try to fetch it&apos;s ParentDocument inside the action (mapped to a property) you always get null.&lt;br/&gt;
However, what is very weird, is that inside twig it works (page.category would work in twig but page-&amp;gt;category would return null inside the action, before the twig render)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13758">PHPCR-70</key>
            <summary>ContentDocument Relationships returning NULL in Action</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="freddyh">Freddy H.</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Jun 2012 20:55:15 +0000</created>
                <updated>Sat, 21 Jul 2012 14:26:04 +0000</updated>
                    <resolved>Sat, 21 Jul 2012 14:26:04 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18046" author="dbu" created="Wed, 6 Jun 2012 21:32:21 +0000"  >&lt;p&gt;this might be a bug of combining reference with parent.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;23:06&amp;#93;&lt;/span&gt; &amp;lt;dbu&amp;gt; look at vendor/doctrine/phpcr-odm/tests/Doctrine/Tests/ODM/PHPCR/Functional/HierarchyTest.php&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;23:07&amp;#93;&lt;/span&gt; &amp;lt;dbu&amp;gt; and create a new test that tries to load node C, follow its reference to node B and check if its parent A is not null&lt;/p&gt;</comment>
                    <comment id="18362" author="lsmith" created="Sat, 21 Jul 2012 13:21:56 +0000"  >&lt;p&gt;i have managed to reproduce the bug .. i am looking into fixing it now.&lt;/p&gt;</comment>
                    <comment id="18363" author="lsmith" created="Sat, 21 Jul 2012 14:26:04 +0000"  >&lt;p&gt;fixed in master&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-69] persist referrers</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-69</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;phpcr knows reference and referrer (backlink). the reference is a property of a node with a defined name. the referrer is an information on the node without a property name in PHPCR. we have the annotation @Referrers to map this information onto a document field. the annotation can take an optional filter argument to only use references pointing to this node with a specific phpcr name.&lt;/p&gt;

&lt;p&gt;we could add something like the cascade option found in the orm to allow assigning a document to a referrer property and automatically persist it. we will need to explicitly specify the reference property name to be used on the source document in this case (orm uses mappedBy for this)&lt;/p&gt;


&lt;p&gt;github user mdekrijger started working on this. today, he wrote: Adding the annotations was quite easy, still figuring out the unitofwork where the actual processing must be implemented. Currently I can&apos;t spend much more time on it until end of june. If it isn&apos;t done yet by that time, I surely will pick it up from there.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13753">PHPCR-69</key>
            <summary>persist referrers</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Jun 2012 10:31:24 +0000</created>
                <updated>Fri, 11 Jan 2013 08:53:40 +0000</updated>
                    <resolved>Fri, 11 Jan 2013 08:53:40 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="18147" author="mdekrijger" created="Wed, 27 Jun 2012 07:17:27 +0000"  >&lt;p&gt;Could someone assign this to me? If not I will just comment this issue when new info is available&lt;/p&gt;</comment>
                    <comment id="18590" author="lsmith" created="Thu, 30 Aug 2012 14:29:22 +0000"  >&lt;p&gt;hmm .. bah i guess its not possible to assign the ticket for you unless someone upgrades your account for which i dont have the permissions .. so just keep commenting i guess&lt;/p&gt;</comment>
                    <comment id="19269" author="lsmith" created="Wed, 9 Jan 2013 23:38:46 +0000"  >&lt;p&gt;i guess this is now fixed?&lt;/p&gt;</comment>
                    <comment id="19270" author="dbu" created="Thu, 10 Jan 2013 11:49:56 +0000"  >&lt;p&gt;yes, i think so. you implemented that with the cascading configuration options, didn&apos;t you?&lt;/p&gt;</comment>
                    <comment id="19278" author="lsmith" created="Fri, 11 Jan 2013 08:53:40 +0000"  >&lt;p&gt;yes .. referrer changes are cascaded with control over the cascading&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-68] Versionable Item completely loses references</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-68</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;I have a post that has a reference to a subcategory&lt;/p&gt;

&lt;p&gt;When i made my post versionable=&quot;full&quot;, the current and old versions of post lost this reference.&lt;/p&gt;

&lt;p&gt;So when i call $post-&amp;gt;subcategory i get back a Generic ODM document instead of a Subcategory Document&lt;/p&gt;

&lt;p&gt;I know that relationships are not versionable, but relationships should at least still exist.&lt;/p&gt;

&lt;p&gt;The workaround is to get the parent path and make a JCR-SQL2 query to fetch the subcategory document.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13749">PHPCR-68</key>
            <summary>Versionable Item completely loses references</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="freddyh">Freddy H.</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jun 2012 14:04:15 +0000</created>
                <updated>Sun, 22 Jul 2012 19:29:02 +0000</updated>
                    <resolved>Sun, 22 Jul 2012 19:29:02 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18035" author="dbu" created="Fri, 1 Jun 2012 14:06:02 +0000"  >&lt;p&gt;note that this could also be a problem in jackalope. we seem to have issues with the frozenNode thing (either in the implementation or in the correct understanding) &lt;a href=&quot;https://github.com/jackalope/jackalope-jackrabbit/issues/19&quot; class=&quot;external-link&quot;&gt;https://github.com/jackalope/jackalope-jackrabbit/issues/19&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18364" author="lsmith" created="Sun, 22 Jul 2012 19:29:02 +0000"  >&lt;p&gt;please reopen once you have a reproduceable test case, thx&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-67] Fetching a node beforehand ruins ordering of collections</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-67</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Two documents: Category and Subcategory&lt;br/&gt;
Category has $subcategories as a PHPCRODM\Children&lt;/p&gt;

&lt;p&gt;If Category A has 3 subcategories B1 B2 B3.&lt;/p&gt;

&lt;p&gt;If A&apos;s subcategories are fetched we would receive them in the following order: B1 B2 B3.&lt;/p&gt;

&lt;p&gt;Now if however we fetched the B2 node using the DocumentManager at an earlier line and then fetched the subcategories of A, we would receive them in the following order:&lt;br/&gt;
B2 B1 B3&lt;/p&gt;</description>
                <environment></environment>
            <key id="13727">PHPCR-67</key>
            <summary>Fetching a node beforehand ruins ordering of collections</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="freddyh">Freddy H.</reporter>
                        <labels>
                    </labels>
                <created>Fri, 25 May 2012 15:45:21 +0000</created>
                <updated>Sun, 22 Jul 2012 19:24:30 +0000</updated>
                    <resolved>Sun, 22 Jul 2012 19:24:30 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="18081" author="lsmith" created="Tue, 12 Jun 2012 07:39:52 +0000"  >&lt;p&gt;i tried to reproduce the issue in a test case:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/commit/7a3f690cd407f5fc75af4ae3d70b4360c5a499c7&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/commit/7a3f690cd407f5fc75af4ae3d70b4360c5a499c7&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;however the test passes. so either the issue is already fixed or i just didn&apos;t understand the bug description properly.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-66] handle ParentDocument and Name changes as move operations</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-66</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;changes to the @ParentDocument and @Name should be translated to move operations. they are the most natural way to move a document in a form.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13720">PHPCR-66</key>
            <summary>handle ParentDocument and Name changes as move operations</summary>
                <type id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/improvement.png">Improvement</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 May 2012 11:22:09 +0000</created>
                <updated>Tue, 5 Jun 2012 11:49:54 +0000</updated>
                    <resolved>Tue, 5 Jun 2012 11:49:54 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="18039" author="dbu" created="Tue, 5 Jun 2012 01:51:59 +0000"  >&lt;p&gt;handled in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/141&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/141&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18042" author="dbu" created="Tue, 5 Jun 2012 11:49:54 +0000"  >&lt;p&gt;pull request merged&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-65] find with uuid creates duplicate of document</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-65</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;i am pretty sure the DocumentManager::find() method creates a duplicate document each time you request the document by uuid. it should not just load the node but convert that node to a path and then do the check if the document is cached. if the node is already cached the lookup by uuid is cheap. if not, it is now cached and the lookup by path is cheap. so no overhead, but eliminate the risk of having several instances of the same document.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L279&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L279&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13655">PHPCR-65</key>
            <summary>find with uuid creates duplicate of document</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 Apr 2012 11:03:31 +0000</created>
                <updated>Fri, 20 Jul 2012 07:51:56 +0000</updated>
                    <resolved>Fri, 20 Jul 2012 07:51:56 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="18338" author="lsmith" created="Thu, 19 Jul 2012 18:18:16 +0000"  >&lt;p&gt;this issue seems to be fixed &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L289&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L289&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18353" author="dbu" created="Fri, 20 Jul 2012 07:51:56 +0000"  >&lt;p&gt;thanks, looks good to me now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-64] add support for child prefetching</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-64</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/jackalope/jackalope/pull/113&quot; class=&quot;external-link&quot;&gt;https://github.com/jackalope/jackalope/pull/113&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the idea would be to set the depth via a mapping on a per model or per collection basis&lt;/p&gt;
</description>
                <environment></environment>
            <key id="13651">PHPCR-64</key>
            <summary>add support for child prefetching</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 20 Apr 2012 08:46:47 +0000</created>
                <updated>Wed, 18 Jul 2012 22:07:48 +0000</updated>
                    <resolved>Wed, 18 Jul 2012 22:07:48 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17878" author="lsmith" created="Sat, 21 Apr 2012 14:38:20 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/compare/master...fetch_depth&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/compare/master...fetch_depth&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18334" author="dbu" created="Wed, 18 Jul 2012 22:07:48 +0000"  >&lt;p&gt;this has been merged&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-63] event system: prePersist and postPersist</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-63</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;according to &lt;a href=&quot;http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/reference/events.html#prepersist&quot; class=&quot;external-link&quot;&gt;http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/reference/events.html#prepersist&lt;/a&gt; the persist event is only triggered when persisting a new entity/document. but currently the phpcr-odm uow triggers it during the flush operation.&lt;/p&gt;

&lt;p&gt;we have to go over the event system and clean that up.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13625">PHPCR-63</key>
            <summary>event system: prePersist and postPersist</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 11 Apr 2012 11:07:46 +0000</created>
                <updated>Tue, 22 May 2012 11:20:46 +0000</updated>
                    <resolved>Tue, 22 May 2012 11:20:46 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17843" author="lsmith" created="Thu, 12 Apr 2012 20:45:55 +0000"  >&lt;p&gt;hmm looking at the UoW code .. i don&apos;t see how this is possible:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1110&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1110&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1384&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1384&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17959" author="dbu" created="Tue, 22 May 2012 11:20:46 +0000"  >&lt;p&gt;strange. maybe i was looking at outdated code&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-62] avoid dereferencing proxies on save</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-62</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;chregu found in a large project that the odm seems to resolve all unresolved proxy documents during flush, even if the @ReferenceMany or @Referrer was not touched by the code.&lt;/p&gt;

&lt;p&gt;we should make sure this does not happen.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13615">PHPCR-62</key>
            <summary>avoid dereferencing proxies on save</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Apr 2012 12:17:02 +0000</created>
                <updated>Tue, 10 Apr 2012 08:47:37 +0000</updated>
                    <resolved>Tue, 10 Apr 2012 08:47:37 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-61] review how the ORM and other ODM&apos;s initialize collection properties</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-61</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;right now when we for example have a @ReferenceMany but nothing is assigned, then when we read said object from the database that property is set to null. should it rather be initialized as an empty collection?&lt;/p&gt;</description>
                <environment></environment>
            <key id="13602">PHPCR-61</key>
            <summary>review how the ORM and other ODM&apos;s initialize collection properties</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 Apr 2012 08:36:01 +0000</created>
                <updated>Thu, 18 Apr 2013 12:47:02 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-60] add finalize step to mapping to calculate and validate</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-60</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;follow up of the discussion in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/120&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/120&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;id strategy:&lt;/p&gt;

&lt;p&gt;1. if there is an id with a strategy always use that&lt;br/&gt;
2. if not and there is a parent and a node name mapping use the parent strategy&lt;br/&gt;
3. else use assigned strategy if there is an id field&lt;br/&gt;
4. throw an exception that you can&apos;t use this document&lt;/p&gt;

&lt;p&gt;finalizing the mapping could have the added benefit of combined validation. for example if assigned strategy is parent and name but there is no field mapped to the name, it would tell this is invalid.&lt;/p&gt;

&lt;p&gt;think what should be validated at the finalize point.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13514">PHPCR-60</key>
            <summary>add finalize step to mapping to calculate and validate</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Fri, 9 Mar 2012 15:07:49 +0000</created>
                <updated>Thu, 4 Oct 2012 21:33:40 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18772" author="lsmith" created="Thu, 4 Oct 2012 21:33:40 +0000"  >&lt;p&gt;added a method for final validation here &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/180&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/180&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-59] have a strategy for ReferenceOne/Many PATH to make it relative</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-59</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;this is a follow-up of&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/116&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/116&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;i think a user might need to attach his own strategy to the document manager. we could call this path_relative= and provide &quot;max&quot; that string-compares the target path and the node path and puts as few ../ as necessary. but again this does not block this pull request.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13508">PHPCR-59</key>
            <summary>have a strategy for ReferenceOne/Many PATH to make it relative</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Mar 2012 17:24:37 +0000</created>
                <updated>Mon, 8 Oct 2012 07:34:03 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-58] figure out how to handle dangling weak/path ReferenceOne/Many properties</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-58</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;this is a follow-up of&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/116&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/116&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the problem is: what happens when a ReferenceOne path or weak reference property points to something non-existing? is the property null? is the currently invalid reference removed on save or kept (which would make sense, in case the node at path appears later). but if it is usually kept, how can we delete it if we want?&lt;/p&gt;</description>
                <environment></environment>
            <key id="13507">PHPCR-58</key>
            <summary>figure out how to handle dangling weak/path ReferenceOne/Many properties</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Mar 2012 17:20:35 +0000</created>
                <updated>Wed, 7 Mar 2012 17:20:35 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-57] do not track the original/unmapped values separately</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-57</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;instead we should just use the current state of the underlying node.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13482">PHPCR-57</key>
            <summary>do not track the original/unmapped values separately</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 29 Feb 2012 11:11:00 +0000</created>
                <updated>Sat, 3 Mar 2012 21:30:00 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17510" author="lsmith" created="Sat, 3 Mar 2012 21:30:00 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/118&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/118&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-56] Support Hashmaps in fields</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-56</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;we should have an annotation to have multivalue properties be hashmaps, that is arrays with custom keys that get preserved. there are 3 options:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;two multivalue fields with keys and values respectively. see i.e. &lt;a href=&quot;https://github.com/symfony-cmf/symfony-cmf/pull/140&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/symfony-cmf/pull/140&lt;/a&gt; (another workaround can be to use the @PostLoad and @PreUpdate hooks to split/merge the arrays)&lt;/li&gt;
	&lt;li&gt;serialize the array into a string field&lt;/li&gt;
	&lt;li&gt;child nodes (performance penalty). they would need to be in a special namespace to be identifyable and have a special format. a node for key-value is a lot. if you want a document with a specific name, you should use child documents directly, not a hashmap with document entry.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="13475">PHPCR-56</key>
            <summary>Support Hashmaps in fields</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sun, 26 Feb 2012 10:43:58 +0000</created>
                <updated>Mon, 22 Oct 2012 14:57:24 +0000</updated>
                    <resolved>Mon, 8 Oct 2012 07:11:26 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17846" author="dbu" created="Sat, 14 Apr 2012 11:11:34 +0000"  >&lt;p&gt;I gave the hashmaps some more thought. I think the reason JCR (and thus PHPCR) do not have hashmaps is because an unstructured node basically /is/ a hashmap. It has fields with string names and values of various types.&lt;br/&gt;
I think for the ODM, the best approach would be to have a @Hashmap mapping that is a special case of @Child. The value is an array that is mapped to a child node with the name of the field. This even allows to map nested arrays, fields that contain an array are just added as child node with that name. (the only thing i see here: we lose the order as children and properties are handled different).&lt;br/&gt;
When loading, the child node (and nested children) are mapped to array, or the propertycollection thing we use for multivalue, if that can handle keys.&lt;br/&gt;
i think this would be the most flexible approach and should not even be very difficult. when you store large nested arrays here, it becomes a bit slow but i think that would be a design flaw to use deep nested arrays as odm fields anyways.&lt;/p&gt;

&lt;p&gt;the other options i see is adding the array_keys/values split workaround into the odm directly, but that only handles flat arrays and converts all values to string whereas the child node would keep DateTime, int, float, boolean and stream types as well. or we could serialize the array into a string property. but that feels yuk.&lt;/p&gt;</comment>
                    <comment id="18771" author="lsmith" created="Thu, 4 Oct 2012 21:33:21 +0000"  >&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/180&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/180&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                                <inwardlinks description="is referenced by">
                            <issuelink>
            <issuekey id="13397">PHPCR-43</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-55] Add mapping for maps/associative arrays</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-55</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Add a mapping for maps or arrays. Either implement as child node or serialize the array to a string. The first approach needs another node being fetched from the repository but allows to search the array.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13473">PHPCR-55</key>
            <summary>Add mapping for maps/associative arrays</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="3">Duplicate</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="uwej711">Uwe J&#228;ger</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Feb 2012 12:52:24 +0000</created>
                <updated>Sun, 26 Feb 2012 16:37:36 +0000</updated>
                    <resolved>Sun, 26 Feb 2012 16:37:36 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17484" author="uwej711" created="Sun, 26 Feb 2012 16:37:36 +0000"  >&lt;p&gt;see issue #&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-56&quot; title=&quot;Support Hashmaps in fields&quot;&gt;&lt;del&gt;PHPCR-56&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-54] Implement LazyLoad for MANY_TO_ONE referenced docs</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-54</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;MANY_TO_MANY referenced are now only loaded on demand (see &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-52&quot; title=&quot;lazy loading of ReferenceMany fails&quot;&gt;&lt;del&gt;PHPCR-52&lt;/del&gt;&lt;/a&gt;) via the ReferenceManyCollection. But MANY_TO_ONE are not yet, to be implemented&lt;/p&gt;</description>
                <environment></environment>
            <key id="13469">PHPCR-54</key>
            <summary>Implement LazyLoad for MANY_TO_ONE referenced docs</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="7">Can&apos;t Fix</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="chregu">Christian Stocker</reporter>
                        <labels>
                    </labels>
                <created>Wed, 22 Feb 2012 06:12:19 +0000</created>
                <updated>Wed, 22 Feb 2012 09:28:54 +0000</updated>
                    <resolved>Wed, 22 Feb 2012 09:28:54 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17478" author="lsmith" created="Wed, 22 Feb 2012 09:28:54 +0000"  >&lt;p&gt;there is nothing we can do here .. we need to know the path, so that we can prevent duplicate instances if someone fetches by path and not by uuid.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-53] repository::createDocument is never called</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-53</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;i tried using repositories. see &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/symfony-cmf/ChainRoutingBundle/commit/12515f82b02c4a1ef230b05133ec89e03c1af2e0&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/ChainRoutingBundle/commit/12515f82b02c4a1ef230b05133ec89e03c1af2e0&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/symfony-cmf/ChainRoutingBundle/commit/edd9f9544eadedb142fefd3ea9bb0c3b293c59d5&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/ChainRoutingBundle/commit/edd9f9544eadedb142fefd3ea9bb0c3b293c59d5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;however, from looking at the uow code i have the impression that createDocument is never called on DocumentRepository but directly in UOW. shouldn&apos;t the uow fetch the repository and build the document with the repository? effectively moving UOW::createDocument impl. to the base repository?&lt;/p&gt;</description>
                <environment></environment>
            <key id="13459">PHPCR-53</key>
            <summary>repository::createDocument is never called</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 18 Feb 2012 11:05:47 +0000</created>
                <updated>Wed, 22 Feb 2012 07:51:06 +0000</updated>
                    <resolved>Wed, 22 Feb 2012 07:51:06 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17441" author="lsmith" created="Sat, 18 Feb 2012 11:17:29 +0000"  >&lt;p&gt;none of the other ODM/ORM seem to have a create*() method in the repository. i suspect using a listener is the right approach and we should remove that method from the DocumentRepository.&lt;/p&gt;</comment>
                    <comment id="17477" author="lsmith" created="Wed, 22 Feb 2012 07:51:06 +0000"  >&lt;p&gt;removed the method&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-52] lazy loading of ReferenceMany fails</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-52</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;When I have a document with ReferenceMany &quot;Links&quot;, Doctrine PHPCR always loads all those referenced documents, even if I just load the main document. This is obviously very bad for performance.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gist.github.com/1838831&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/1838831&lt;/a&gt;&lt;br/&gt;
is a reproducible use-case. Just ran it twice and you&apos;ll see that in the second run, there is&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;one GET request for the initial documents&lt;/li&gt;
	&lt;li&gt;a REPORT request for every referenced document to resolve the UUID to a path&lt;/li&gt;
	&lt;li&gt;a POST request for multi-get-ing all the referenced documents&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;See also this charles-screenshot &lt;br/&gt;
&lt;a href=&quot;https://img.skitch.com/20120215-8572c4s5mc8gt2da5wjd71512w.jpg&quot; class=&quot;external-link&quot;&gt;https://img.skitch.com/20120215-8572c4s5mc8gt2da5wjd71512w.jpg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have no idea where to look at to fix this, so any help would be very appreciated&lt;/p&gt;</description>
                <environment></environment>
            <key id="13454">PHPCR-52</key>
            <summary>lazy loading of ReferenceMany fails</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="chregu">Christian Stocker</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Feb 2012 20:39:14 +0000</created>
                <updated>Wed, 22 Feb 2012 14:57:38 +0000</updated>
                    <resolved>Wed, 22 Feb 2012 14:57:38 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-51] make it possible to add attributes to type mappings</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-51</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;f.e. make it possible to make a string mapped typed translatable inside an inherited class&lt;br/&gt;
this will require modifications to the ClassMetadata class:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php#L578&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php#L578&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13448">PHPCR-51</key>
            <summary>make it possible to add attributes to type mappings</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Feb 2012 23:39:15 +0000</created>
                <updated>Thu, 16 Feb 2012 16:48:34 +0000</updated>
                    <resolved>Thu, 16 Feb 2012 16:48:34 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17424" author="dbu" created="Tue, 14 Feb 2012 14:56:20 +0000"  >&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/105&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/105&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17428" author="lsmith" created="Thu, 16 Feb 2012 16:48:34 +0000"  >&lt;p&gt;fixed with 115f1961600e6cd4fedbec30f1c7590a4d375d57&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-50] fix handling of children on update</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-50</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;right now we do not check if individual elements in the collection have been added or removed. furthermore since we can now update the order of children in jackalope, we can implement this in collection persistence as well.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13447">PHPCR-50</key>
            <summary>fix handling of children on update</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Feb 2012 23:37:57 +0000</created>
                <updated>Thu, 12 Apr 2012 20:40:12 +0000</updated>
                    <resolved>Thu, 12 Apr 2012 20:40:12 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17427" author="lsmith" created="Wed, 15 Feb 2012 22:32:23 +0000"  >&lt;p&gt;some initial work&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/commit/a2dc3bc827ded1f54c7bd4708c4e495935ad39e5&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/commit/a2dc3bc827ded1f54c7bd4708c4e495935ad39e5&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17837" author="lsmith" created="Tue, 10 Apr 2012 08:55:31 +0000"  >&lt;p&gt;adding/removing is now implemented, reordering is still missing (see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/tree/children_updating&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/tree/children_updating&lt;/a&gt;)&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-49] rewrite DocumentRepository::createQuery() to use QOM</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-49</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentRepository.php#L253&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentRepository.php#L253&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13427">PHPCR-49</key>
            <summary>rewrite DocumentRepository::createQuery() to use QOM</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Feb 2012 17:31:19 +0000</created>
                <updated>Fri, 10 Feb 2012 17:46:43 +0000</updated>
                    <resolved>Fri, 10 Feb 2012 17:46:43 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-48] add a way to move() nodes</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-48</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="13426">PHPCR-48</key>
            <summary>add a way to move() nodes</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Feb 2012 17:30:27 +0000</created>
                <updated>Mon, 13 Feb 2012 13:45:04 +0000</updated>
                    <resolved>Thu, 9 Feb 2012 21:22:58 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17417" author="dbu" created="Mon, 13 Feb 2012 13:45:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/103&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/103&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-47] make it possible to disable exceptions for phpcr implementations without versioning support</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-47</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;so method calls to checkPoint() etc shouldn&apos;t fail. full versioning should just set referenceable etc.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13419">PHPCR-47</key>
            <summary>make it possible to disable exceptions for phpcr implementations without versioning support</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Feb 2012 13:52:19 +0000</created>
                <updated>Wed, 14 Nov 2012 10:49:45 +0000</updated>
                    <resolved>Wed, 14 Nov 2012 10:49:45 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18984" author="lsmith" created="Wed, 14 Nov 2012 10:49:45 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/188&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/188&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                                <inwardlinks description="is referenced by">
                            <issuelink>
            <issuekey id="14157">PHPCR-83</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-46] ensure that parent mappings are populated after flush</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-46</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/97#r410832&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/97#r410832&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13409">PHPCR-46</key>
            <summary>ensure that parent mappings are populated after flush</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Feb 2012 08:06:08 +0000</created>
                <updated>Fri, 20 Jul 2012 07:59:34 +0000</updated>
                    <resolved>Fri, 20 Jul 2012 07:59:34 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="18355" author="dbu" created="Fri, 20 Jul 2012 07:59:34 +0000"  >&lt;p&gt;this is done in UnitOfWork::executeInserts about line 1358&lt;/p&gt;

&lt;p&gt;i think we lack a test for this though.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-45] add ability to prime collections</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-45</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/2da6e9c92d515edae7c63233740349e0d272b19b&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/2da6e9c92d515edae7c63233740349e0d272b19b&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13408">PHPCR-45</key>
            <summary>add ability to prime collections</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 3 Feb 2012 07:22:53 +0000</created>
                <updated>Thu, 18 Apr 2013 13:08:19 +0000</updated>
                    <resolved>Thu, 18 Apr 2013 13:08:19 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="20046" author="dbu" created="Thu, 18 Apr 2013 13:08:19 +0000"  >&lt;p&gt;collections are lazy loaded&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-44] implement configurable change tracking</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-44</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/docs/orm/2.2/en/reference/change-tracking-policies.html&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/docs/orm/2.2/en/reference/change-tracking-policies.html&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13403">PHPCR-44</key>
            <summary>implement configurable change tracking</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Jan 2012 10:06:45 +0000</created>
                <updated>Mon, 8 Oct 2012 07:33:36 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-43] Custom data type</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-43</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;It will be great to be able to store array as a json in a property. There is no way to define custom mapping type (it is possible with doctrine ORM)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13397">PHPCR-43</key>
            <summary>Custom data type</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="lsmith">Lukas Kahwe</assignee>
                                <reporter username="rande">Thomas Rabaix</reporter>
                        <labels>
                    </labels>
                <created>Sun, 29 Jan 2012 19:44:52 +0000</created>
                <updated>Thu, 19 Jul 2012 18:27:59 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17622" author="dbu" created="Mon, 19 Mar 2012 13:04:03 +0000"  >&lt;p&gt;would this be a general solution for &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-56&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/PHPCR-56&lt;/a&gt; ?&lt;/p&gt;</comment>
                    <comment id="18341" author="lsmith" created="Thu, 19 Jul 2012 18:27:40 +0000"  >&lt;p&gt;yes&lt;/p&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                <outwardlinks description="relates to">
                            <issuelink>
            <issuekey id="13475">PHPCR-56</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-42] sync the xml/yml mapping driver with the annotation driver</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-42</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;especially the locale/version stuff is not yet supported. but also the reference mapping seems to look quite different.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13388">PHPCR-42</key>
            <summary>sync the xml/yml mapping driver with the annotation 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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 Jan 2012 16:37:55 +0000</created>
                <updated>Fri, 17 Aug 2012 08:17:16 +0000</updated>
                    <resolved>Fri, 17 Aug 2012 08:17:16 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="17361" author="dbu" created="Thu, 2 Feb 2012 09:32:06 +0000"  >&lt;p&gt;versioning is done now: &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/96&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/96&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;but we miss tests for the non-annotation mappings&lt;/p&gt;</comment>
                    <comment id="17375" author="dbu" created="Tue, 7 Feb 2012 07:53:27 +0000"  >&lt;p&gt;how to proceed:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Refactor the tests about mapping to have abstract base tests to assert things, and one test for each annotation/yml/xml/php so we really test the same outcome &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Check with code coverage of &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/Driver/AnnotationDriver.php&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/Driver/AnnotationDriver.php&lt;/a&gt; and &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php&lt;/a&gt; if everything is covered&lt;/li&gt;
	&lt;li&gt;Fix missing annotations&lt;/li&gt;
	&lt;li&gt;Also test invalid metadata values or combinations - they should throw the same errors with all mappings&lt;/li&gt;
	&lt;li&gt;Check the documentation for meta data in the readme. add some note about xml/yml/php format (but do not repeat the doc, just explain the differences)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                    <comment id="17419" author="dbu" created="Mon, 13 Feb 2012 14:37:57 +0000"  >&lt;p&gt;initial test for annotations is added here, please evolve from this&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/commit/38f8bbc8b655aafd099287e18401248c44b40492&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/commit/38f8bbc8b655aafd099287e18401248c44b40492&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17847" author="cordoval" created="Sun, 15 Apr 2012 01:12:27 +0000"  >&lt;p&gt;hi dbu, lsmith, i gave thought to this and did some corrections &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/133&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/133&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;however I am totally disoriented as i see two Mapping folders as follows:&lt;/p&gt;

&lt;p&gt;1. &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Functional/Mapping&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Functional/Mapping&lt;/a&gt;&lt;br/&gt;
There is only 1 class here with a TODO which i found not very clear about what to do next&lt;/p&gt;

&lt;p&gt;2. &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping&lt;/a&gt;&lt;br/&gt;
These set of classes was already refactored by someone else before I came in and I guess the work is done&lt;/p&gt;

&lt;p&gt;I check the coverage as you said on the annotation driver class so it basically lacks the lifecycle callbacks usage, but where to put these tests in as i am confused&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;font color=&quot;red&quot;&gt; &lt;br/&gt;
     160               0 :                     if ($annot instanceof ODM\PrePersist) {                                                          
     161               0 :                         $metadata-&amp;gt;addLifecycleCallback($method-&amp;gt;getName(), Event::prePersist);                      
     162               0 :                     } elseif ($annot instanceof  ODM\PostPersist) {                                                  
     163               0 :                         $metadata-&amp;gt;addLifecycleCallback($method-&amp;gt;getName(), Event::postPersist);                     
     164               0 :                     } elseif ($annot instanceof ODM\PreUpdate) {                                                     
     165               0 :                         $metadata-&amp;gt;addLifecycleCallback($method-&amp;gt;getName(), Event::preUpdate);                       
     166               0 :                     } elseif ($annot instanceof ODM\PostUpdate) {                                                    
     167               0 :                         $metadata-&amp;gt;addLifecycleCallback($method-&amp;gt;getName(), Event::postUpdate);                      
     168               0 :                     } elseif ($annot instanceof ODM\PreRemove) {                                                     
     169               0 :                         $metadata-&amp;gt;addLifecycleCallback($method-&amp;gt;getName(), Event::preRemove);                       
     170               0 :                     } elseif ($annot instanceof ODM\PostRemove) {                                                    
     171               0 :                         $metadata-&amp;gt;addLifecycleCallback($method-&amp;gt;getName(), Event::postRemove);                      
     172               0 :                     } elseif ($annot instanceof  ODM\PostLoad) {                                                     
     173               0 :                         $metadata-&amp;gt;addLifecycleCallback($method-&amp;gt;getName(), Event::postLoad);                        
     174               0 :                     }                                                                                                &lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Also i am not very familiar with the schema of the annotation driver how to test so any explanation or help pointers would be great, thanks&lt;/p&gt;</comment>
                    <comment id="17848" author="cordoval" created="Sun, 15 Apr 2012 01:16:23 +0000"  >&lt;p&gt;I am so not using jira sorry guys, ---&amp;gt; &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/133&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/133&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18073" author="dbu" created="Sat, 9 Jun 2012 20:23:22 +0000"  >&lt;p&gt;@craigmarvelley started working on this, promised a pull request soon&lt;/p&gt;</comment>
                    <comment id="18080" author="craigmarvelley" created="Mon, 11 Jun 2012 21:01:17 +0000"  >&lt;p&gt;I&apos;ve opened a PR here, there&apos;s still a bit left to be done that I&apos;m hoping to add in the next few days.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/144&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/144&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18102" author="dbu" created="Wed, 20 Jun 2012 12:03:25 +0000"  >&lt;p&gt;the pull request by craig has meanwhile been merged.&lt;/p&gt;

&lt;p&gt;there is still a bit of issues:&lt;/p&gt;

&lt;p&gt;the driver looks for the non-namespaced file. i.e. No mapping file found named &apos;/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/routing-extra-bundle/Symfony/Cmf/Bundle/RoutingExtraBundle/Resources/config/doctrine/Route.phpcr.xml&apos; for class &apos;Symfony\Cmf\Bundle\RoutingExtraBundle\Document\Route&apos;.&lt;/p&gt;

&lt;p&gt;but if i put that file there and have an error, he tells me Invalid mapping file &apos;Symfony.Cmf.Bundle.RoutingExtraBundle.Document.Route.phpcr.xml&apos;&lt;/p&gt;

&lt;p&gt;so the name determiner seems to be off a bit&lt;/p&gt;</comment>
                    <comment id="18335" author="dbu" created="Wed, 18 Jul 2012 22:08:39 +0000"  >&lt;p&gt;also, the mapped superclass feature makes no sense with phpcr-odm, we can simply inherit from document classes.&lt;/p&gt;</comment>
                    <comment id="18354" author="dbu" created="Fri, 20 Jul 2012 07:55:29 +0000"  >&lt;p&gt;actually mapped superclass seems to be relevant, but i did not yet understand it and the doc about it should be updated. see discussion in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7095570&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7095570&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18523" author="lsmith" created="Fri, 17 Aug 2012 08:17:16 +0000"  >&lt;p&gt;seems to me like reference/referrer/translation/versioning is all done .. so if there is anything left .. please open a new ticket&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-41] MappingException: Class Doctrine\ODM\PHPCR\ReferrersCollection is not a valid document or mapped super class. </title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-41</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;reported by nacmartin &lt;a href=&quot;https://github.com/symfony-cmf/symfony-cmf/issues/131&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/symfony-cmf/issues/131&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since this property was introduced&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/symfony-cmf/symfony-cmf/blob/master/src/Symfony/Cmf/Bundle/ContentBundle/Document/StaticContent.php#L44&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/symfony-cmf/blob/master/src/Symfony/Cmf/Bundle/ContentBundle/Document/StaticContent.php#L44&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have this error when persisting this kind of document in SAB:&lt;/p&gt;

&lt;p&gt;MappingException: Class Doctrine\ODM\PHPCR\ReferrersCollection is not a valid document or mapped super class.&lt;/p&gt;

&lt;p&gt;Any clue?&lt;/p&gt;


&lt;p&gt;=&amp;gt; phpcr-odm should not try to persist a ReferrersCollection. this is just the inverse of the Reference annotation. as this is directional in phpcr, the ReferrersCollection should be immutable by the client.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13328">PHPCR-41</key>
            <summary>MappingException: Class Doctrine\ODM\PHPCR\ReferrersCollection is not a valid document or mapped super class. </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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 Jan 2012 11:05:00 +0000</created>
                <updated>Sun, 8 Jan 2012 19:43:06 +0000</updated>
                    <resolved>Sun, 8 Jan 2012 19:43:06 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17176" author="dbu" created="Sun, 8 Jan 2012 19:43:06 +0000"  >&lt;p&gt;closed in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/89&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/89&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-40] implement inheritance inside find()</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-40</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;meaning if B extends A and someone does -&amp;gt;find(&apos;A&apos;) that it would find instances of B&lt;br/&gt;
this will require changes to ClassMetadataFactory::doLoadMetadata()&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadataFactory.php#L119&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadataFactory.php#L119&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13315">PHPCR-40</key>
            <summary>implement inheritance inside find()</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 28 Dec 2011 10:00:59 +0000</created>
                <updated>Mon, 18 Feb 2013 18:11:40 +0000</updated>
                    <resolved>Mon, 18 Feb 2013 18:11:34 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="19562" author="dbu" created="Mon, 18 Feb 2013 18:11:40 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/218&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/218&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-39] support ArrayCollection with References/Referrers</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-39</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="13271">PHPCR-39</key>
            <summary>support ArrayCollection with References/Referrers</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Thu, 15 Dec 2011 08:59:05 +0000</created>
                <updated>Fri, 3 Feb 2012 07:31:31 +0000</updated>
                    <resolved>Fri, 3 Feb 2012 07:31:31 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-38] make it possible to inject a custom UUID service</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-38</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;right now we have hardcoded \PHPCR\Util\UUIDHelper::generateUUID(), but that is a very simplistic implementation and the spec is much broader ..&lt;/p&gt;</description>
                <environment></environment>
            <key id="13269">PHPCR-38</key>
            <summary>make it possible to inject a custom UUID service</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="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Dec 2011 20:36:53 +0000</created>
                <updated>Thu, 19 Jul 2012 18:27:11 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-37] update for latest doctrine common features</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-37</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;see&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/common/pull/71&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/71&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/common/pull/75&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/75&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/common/pull/83&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/pull/83&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/common/commit/07d2f04408534f0870d9873a420e294a4b0db439&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/commit/07d2f04408534f0870d9873a420e294a4b0db439&lt;/a&gt; (done)&lt;/p&gt;

&lt;p&gt;as well as &lt;a href=&quot;https://github.com/doctrine/couchdb-odm/commit/56f4ce911c9fd7cf32547a9d454141f250c9de54&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/couchdb-odm/commit/56f4ce911c9fd7cf32547a9d454141f250c9de54&lt;/a&gt; (done)&lt;/p&gt;</description>
                <environment></environment>
            <key id="13267">PHPCR-37</key>
            <summary>update for latest doctrine common features</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Wed, 14 Dec 2011 16:47:17 +0000</created>
                <updated>Wed, 28 Dec 2011 23:28:15 +0000</updated>
                    <resolved>Wed, 28 Dec 2011 23:28:15 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17093" author="lsmith" created="Thu, 22 Dec 2011 22:18:05 +0000"  >&lt;p&gt;some steps already done by &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/84&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/84&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17097" author="ocramius" created="Fri, 23 Dec 2011 21:08:46 +0000"  >&lt;p&gt;Will start working on it tomorrow &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>
                    <comment id="17102" author="ocramius" created="Sun, 25 Dec 2011 05:08:11 +0000"  >&lt;p&gt;I started work here &lt;a href=&quot;https://github.com/Ocramius/phpcr-odm/compare/sync-doctrine-common-metadata-changes&quot; class=&quot;external-link&quot;&gt;https://github.com/Ocramius/phpcr-odm/compare/sync-doctrine-common-metadata-changes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please notice that I removed a public method (loadMetadataForAlias, I think) from the ClassMetadataFactory.&lt;/p&gt;

&lt;p&gt;Also, I&apos;d love to have some help in understanding what Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory#doLoadMetadata($class, $parent, $rootEntityFound) should look like when implemented. &lt;/p&gt;</comment>
                    <comment id="17104" author="ocramius" created="Mon, 26 Dec 2011 17:50:42 +0000"  >&lt;p&gt;For reference, this is being handled at &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/85&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/85&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17127" author="lsmith" created="Wed, 28 Dec 2011 09:48:52 +0000"  >&lt;p&gt;merged&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-36] Provide migrations tool</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-36</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;when i have existing content and later change the document class to have referenceable=true, this is not updated even on persisting the document again.&lt;/p&gt;

&lt;p&gt;uwe: I think there are several other things that fail when you have existing content in the repository - maybe the solution to think about is something like migrations ... that would prevent the performance penalty on ordinary code and still give you the change to change the structure of your documents.&lt;/p&gt;

&lt;p&gt;things that come to mind&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;change document class name&lt;/li&gt;
	&lt;li&gt;removing fields&lt;/li&gt;
	&lt;li&gt;change field type&lt;/li&gt;
	&lt;li&gt;bulk changing the values in some field&lt;/li&gt;
	&lt;li&gt;everything related to node types (though, as an additional challenge at least jackrabbit does not allow to remove things from node types through the davex remoting we use in jackalope)&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="13197">PHPCR-36</key>
            <summary>Provide migrations tool</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="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Nov 2011 08:01:05 +0000</created>
                <updated>Mon, 8 Oct 2012 07:31:08 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                            <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                <outwardlinks description="relates to">
                            <issuelink>
            <issuekey id="12776">PHPCR-7</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-35] referenced documents need to be referenceable</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-35</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;currently documents referenced need to have referenceable=true in their document annotation, otherwise the @ReferenceOne silently fails. (see also &lt;a href=&quot;https://github.com/symfony-cmf/cmf-sandbox/pull/29&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/cmf-sandbox/pull/29&lt;/a&gt; )&lt;/p&gt;

&lt;p&gt;either phpcr-odm should complain. or it could just add the mix:referenceable to the target document even though it was not declared referenceable.&lt;br/&gt;
we could additionally make referenceable=true the default and offer explicit referenceable=false for optimization.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13186">PHPCR-35</key>
            <summary>referenced documents need to be referenceable</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 Nov 2011 06:28:19 +0000</created>
                <updated>Wed, 28 Dec 2011 23:31:59 +0000</updated>
                    <resolved>Wed, 28 Dec 2011 23:31:59 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16835" author="uwej711" created="Tue, 15 Nov 2011 13:15:43 +0000"  >&lt;p&gt;I will cover the first part for now, let phpcr -odm complain ...&lt;/p&gt;</comment>
                    <comment id="16841" author="uwej711" created="Tue, 15 Nov 2011 20:46:40 +0000"  >&lt;p&gt;This fixed now, but I can&apos;t close that issue ...&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-34] replacing a document fails</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-34</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;when we have a saved document and remove that, then add a document at the same path without a flush in between, we get an exception. the reason is that persist already adds the phpcr node, but scheduleRemove does not remove the phpcrnode right away.&lt;/p&gt;

&lt;p&gt;the fix looks like it should be:&lt;br/&gt;
UnitOfWork.php 504 remove phpcr node - 1022 do not remove here as it was removed before.&lt;/p&gt;

&lt;p&gt;but this leads to a problem that is either in jackalope or the phpcr-odm about /functional/user/phpcr:class being not found.&lt;/p&gt;


&lt;p&gt;1) Doctrine\Tests\ODM\PHPCR\Functional\BasicCrudTest::testRemoveAndInsert&lt;br/&gt;
PHPCR\ItemExistsException: This node already has a child named user.&lt;/p&gt;

&lt;p&gt;/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/vendor/jackalope/src/Jackalope/Node.php:303&lt;br/&gt;
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:763&lt;br/&gt;
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:404&lt;br/&gt;
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:386&lt;br/&gt;
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/DocumentManager.php:312&lt;br/&gt;
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/tests/Doctrine/Tests/ODM/PHPCR/Functional/BasicCrudTest.php:152&lt;/p&gt;
</description>
                <environment></environment>
            <key id="13183">PHPCR-34</key>
            <summary>replacing a document fails</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sun, 13 Nov 2011 21:13:08 +0000</created>
                <updated>Wed, 22 Feb 2012 15:03:39 +0000</updated>
                    <resolved>Wed, 22 Feb 2012 15:03:39 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16850" author="lsmith" created="Thu, 17 Nov 2011 09:45:49 +0000"  >&lt;p&gt;imho this is now fixed. it will throw an \InvalidArgumentException that the document is detached. I have added relevant tests.&lt;/p&gt;

&lt;p&gt;i have also created a ticket to add something to the persistence interfaces to make it possible to ensure that a node is cleared back to defaults for all fields not being persisted: &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DCOM-77&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DCOM-77&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17329" author="dbu" created="Mon, 23 Jan 2012 16:16:39 +0000"  >&lt;p&gt;i still have a problem with this. doing &lt;/p&gt;

&lt;p&gt;        if ($old_node = $this-&amp;gt;dm-&amp;gt;find(null, $path)) &lt;/p&gt;
{
            $this-&amp;gt;dm-&amp;gt;remove($old_node);
        }

&lt;p&gt;        $menuitem = new MultilangMenuItem();&lt;br/&gt;
        $menuitem-&amp;gt;setPath($path);&lt;br/&gt;
        $menuitem-&amp;gt;setName($name);&lt;br/&gt;
        $menuitem-&amp;gt;setLabel($label);&lt;/p&gt;

&lt;p&gt;        $this-&amp;gt;dm-&amp;gt;persist($menuitem);&lt;br/&gt;
        return $menuitem;&lt;/p&gt;

&lt;p&gt;leads to an exception. but imo i should be able to do this? what if i want to change the type of document at this location?&lt;/p&gt;

&lt;p&gt;InvalidArgumentException&lt;br/&gt;
  Detached document passed to persist().  &lt;/p&gt;



&lt;p&gt;Exception trace:&lt;br/&gt;
 () at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:444&lt;br/&gt;
 Doctrine\ODM\PHPCR\UnitOfWork-&amp;gt;doScheduleInsert() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:414&lt;br/&gt;
 Doctrine\ODM\PHPCR\UnitOfWork-&amp;gt;scheduleInsert() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/DocumentManager.php:447&lt;br/&gt;
 Doctrine\ODM\PHPCR\DocumentManager-&amp;gt;persist() at /home/david/liip/symfony-cmf/cmf-sandbox/src/Sandbox/MainBundle/Resources/data/fixtures/030_LoadMenuData.php:90&lt;br/&gt;
 Symfony\Cmf\Bundle\MenuBundle\Resources\data\fixtures\LoadMenuData-&amp;gt;createMenuItem() at /home/david/liip/symfony-cmf/cmf-sandbox/src/Sandbox/MainBundle/Resources/data/fixtures/030_LoadMenuData.php:43&lt;br/&gt;
 Symfony\Cmf\Bundle\MenuBundle\Resources\data\fixtures\LoadMenuData-&amp;gt;load() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/doctrine-data-fixtures/lib/Doctrine/Common/DataFixtures/Executor/AbstractExecutor.php:94&lt;br/&gt;
 Doctrine\Common\DataFixtures\Executor\AbstractExecutor-&amp;gt;load() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/doctrine-data-fixtures/lib/Doctrine/Common/DataFixtures/Executor/PHPCRExecutor.php:55&lt;br/&gt;
 Doctrine\Common\DataFixtures\Executor\PHPCRExecutor-&amp;gt;execute() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/bundles/Doctrine/Bundle/PHPCRBundle/Command/LoadFixtureCommand.php:86&lt;br/&gt;
 Doctrine\Bundle\PHPCRBundle\Command\LoadFixtureCommand-&amp;gt;execute() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Component/Console/Command/Command.php:237&lt;br/&gt;
 Symfony\Component\Console\Command\Command-&amp;gt;run() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Component/Console/Application.php:193&lt;br/&gt;
 Symfony\Component\Console\Application-&amp;gt;doRun() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:75&lt;br/&gt;
 Symfony\Bundle\FrameworkBundle\Console\Application-&amp;gt;doRun() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Component/Console/Application.php:106&lt;br/&gt;
 Symfony\Component\Console\Application-&amp;gt;run() at /home/david/liip/symfony-cmf/cmf-sandbox/app/console:16&lt;/p&gt;</comment>
                    <comment id="17363" author="lsmith" created="Thu, 2 Feb 2012 20:41:10 +0000"  >&lt;p&gt;I guess this is related to adding DocumentManager::merge()&lt;br/&gt;
&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-13&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/PHPCR-13&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17482" author="lsmith" created="Wed, 22 Feb 2012 15:03:39 +0000"  >&lt;p&gt;duplicate of &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-13&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/PHPCR-13&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-33] ReferenceOne: targetDocument parameter should be optional</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-33</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;the targetDocument describes what class to expect in the reference. as the class is usually determined automatically, this parameter should be optional.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13182">PHPCR-33</key>
            <summary>ReferenceOne: targetDocument parameter should be optional</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="dbu">David Buchmann</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sun, 13 Nov 2011 19:11:50 +0000</created>
                <updated>Sun, 13 Nov 2011 19:16:57 +0000</updated>
                    <resolved>Sun, 13 Nov 2011 19:16:57 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16807" author="dbu" created="Sun, 13 Nov 2011 19:16:57 +0000"  >&lt;p&gt;ups, sorry. was using an outdated version of phpcr-odm. this already works.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-32] separate the logic to determine the document class for a node</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-32</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;when loading a node from the database, you can either explicitly specify the document class to be used or it is determined programmatically. you can inject your own logic, but the default logic is right in UnitOfWork, and duplicated. this should be moved to a separate class for better reusability.&lt;/p&gt;

&lt;p&gt;this would also be a good moment to get rid of phpcr:alias in favor of phpcr:class. we could provide an implementation for the old phpcr:alias as one of the resolvers users can plug in, if somebody really prefers the alias approach.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13120">PHPCR-32</key>
            <summary>separate the logic to determine the document class for a node</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Oct 2011 06:48:33 +0000</created>
                <updated>Sun, 13 Nov 2011 19:09:53 +0000</updated>
                    <resolved>Sun, 13 Nov 2011 19:09:53 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16692" author="lsmith" created="Mon, 24 Oct 2011 07:02:09 +0000"  >&lt;p&gt;already started to work on that:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/tree/add-parent-annotation-with_cleanups&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/tree/add-parent-annotation-with_cleanups&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;removing phpcr:alias should be easy to do now ..&lt;/p&gt;</comment>
                    <comment id="16739" author="lsmith" created="Mon, 31 Oct 2011 08:02:02 +0000"  >&lt;p&gt;the changes were merged, so this ticket can be closed&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-31] add support for metadata caching</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-31</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="13114">PHPCR-31</key>
            <summary>add support for metadata caching</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Sat, 22 Oct 2011 13:28:20 +0000</created>
                <updated>Wed, 28 Dec 2011 23:28:05 +0000</updated>
                    <resolved>Wed, 28 Dec 2011 23:28:05 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17105" author="ocramius" created="Mon, 26 Dec 2011 17:50:54 +0000"  >&lt;p&gt;For reference, this is being handled at &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/85&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/85&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17128" author="lsmith" created="Wed, 28 Dec 2011 09:49:05 +0000"  >&lt;p&gt;merged&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-30] add support for result caching</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-30</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="13113">PHPCR-30</key>
            <summary>add support for result caching</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="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Sat, 22 Oct 2011 13:28:07 +0000</created>
                <updated>Thu, 19 Jul 2012 18:26:54 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-29] Add support to flush only one document through DocumentManager#flush()</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-29</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/doctrine2/pull/166&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine2/pull/166&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13112">PHPCR-29</key>
            <summary>Add support to flush only one document through DocumentManager#flush()</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Sat, 22 Oct 2011 12:27:45 +0000</created>
                <updated>Fri, 3 Feb 2012 09:21:00 +0000</updated>
                    <resolved>Fri, 3 Feb 2012 09:20:47 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16986" author="dbu" created="Wed, 14 Dec 2011 11:33:33 +0000"  >&lt;p&gt;to do this we will also need to implement changesets for the translations. (we skipped that for simplicity and because it is currently unnecessary. we just put the translated fields into phpcr - but in phpcr the Session:save() saves everything)&lt;/p&gt;

&lt;p&gt;see last point at &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/wiki/Multilanguage&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/wiki/Multilanguage&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="17365" author="dbu" created="Fri, 3 Feb 2012 09:20:47 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/94&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/94&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-28] figure out proper handling of types in DocumentManager::quote()</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-28</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="13072">PHPCR-28</key>
            <summary>figure out proper handling of types in DocumentManager::quote()</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/minor.png">Minor</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Oct 2011 09:52:27 +0000</created>
                <updated>Wed, 22 Feb 2012 14:58:03 +0000</updated>
                    <resolved>Wed, 22 Feb 2012 14:58:03 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-27] adding a generic &quot;node&quot; document</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-27</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;see &lt;a href=&quot;http://groups.google.com/group/symfony-cmf-devs/browse_thread/thread/914ba1c32d873ed5&quot; class=&quot;external-link&quot;&gt;http://groups.google.com/group/symfony-cmf-devs/browse_thread/thread/914ba1c32d873ed5&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="13014">PHPCR-27</key>
            <summary>adding a generic &quot;node&quot; document</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 12 Sep 2011 11:16:35 +0000</created>
                <updated>Sat, 22 Oct 2011 13:05:04 +0000</updated>
                    <resolved>Sat, 22 Oct 2011 13:05:04 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16685" author="dbu" created="Sat, 22 Oct 2011 13:05:04 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/66&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/66&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-26] Github-PR-56 by uwej711: Fix metadata loading of builtin documents</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-26</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of &lt;/p&gt;
{username}
&lt;p&gt;:&lt;/p&gt;

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

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

&lt;p&gt;The wrapped metadata driver ensures that metadata for the builtin&lt;br/&gt;
documents is loaded. Still the DoctrineAnnotations need to be registered&lt;br/&gt;
with the AnnotationRegistry.&lt;/p&gt;

&lt;p&gt;see &lt;a href=&quot;https://github.com/symfony-cmf/cmf-sandbox/issues/20&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/cmf-sandbox/issues/20&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12975">PHPCR-26</key>
            <summary>Github-PR-56 by uwej711: Fix metadata loading of builtin documents</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Aug 2011 18:02:52 +0000</created>
                <updated>Sat, 22 Oct 2011 13:04:43 +0000</updated>
                    <resolved>Sat, 22 Oct 2011 13:04:43 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16566" author="lsmith" created="Mon, 10 Oct 2011 09:53:25 +0000"  >&lt;p&gt;can we close this one?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-25] Github-PR-59 by starkj: Referrers</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-25</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of &lt;/p&gt;
{username}
&lt;p&gt;:&lt;/p&gt;

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

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

&lt;p&gt;first of all: sry, i screwed up the commit history here again &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;Well this is support for referrers.&lt;br/&gt;
This patch provides the new annotation &quot;Referrers&quot;.&lt;br/&gt;
By default a property of this type stores all referrers (weak and hard) in a collection.&lt;br/&gt;
You can specify the option &quot;referenceType&quot; with the values &quot;weak&quot; and &quot;hard&quot; (or null) to only get the one or the other type of referring documents (or both types)&lt;br/&gt;
Then there is the option &quot;filterName&quot;. It&apos;s value is passed to the method &quot;get(Weak)References&quot;. Actually the option passed to &quot;get(Weak)References&quot; is called &quot;name&quot; in the spec. I named it &quot;filterName&quot; here as &quot;name&quot; is already assigned.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12974">PHPCR-25</key>
            <summary>Github-PR-59 by starkj: Referrers</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="beberlei">Benjamin Eberlei</assignee>
                                <reporter username="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Aug 2011 18:02:52 +0000</created>
                <updated>Fri, 16 Sep 2011 15:07:35 +0000</updated>
                    <resolved>Fri, 16 Sep 2011 15:07:35 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16485" author="dbu" created="Fri, 16 Sep 2011 15:07:35 +0000"  >&lt;p&gt;that pull request was merged.&lt;/p&gt;

&lt;p&gt;its nice that this jira creates tickets from pull requests - would be even better if they also close automatically with closing the pull request &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/wink.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>

<item>
            <title>[PHPCR-22] find(&apos;\Foo\Bar&apos;, $path) vs find(&apos;Foo\Bar&apos;, $path)</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-22</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;I just noticed that we have an issue in our metadata loading in case a document name is prefixed with a backslash when calling find&lt;/p&gt;

&lt;p&gt;// fails&lt;br/&gt;
$dm-&amp;gt;find(&apos;\Foo\Bar&apos;, $path);&lt;/p&gt;

&lt;p&gt;// works&lt;br/&gt;
$dm-&amp;gt;find(&apos;Foo\Bar&apos;, $path);&lt;/p&gt;

&lt;p&gt;Should the first work as well?&lt;/p&gt;

&lt;p&gt;I have traced the issue to the DriverChain&lt;/p&gt;

&lt;p&gt;   public function loadMetadataForClass($className, ClassMetadata $class)&lt;br/&gt;
   {&lt;br/&gt;
       foreach ($this-&amp;gt;drivers as $namespace =&amp;gt; $driver) {&lt;br/&gt;
           if (strpos($className, $namespace) === 0) &lt;/p&gt;
{
               $driver-&amp;gt;loadMetadataForClass($className, $class);
               return;
           }
&lt;p&gt;       }&lt;/p&gt;

&lt;p&gt;       throw MappingException::classIsNotAValidDocument($className);&lt;br/&gt;
   }&lt;/p&gt;

&lt;p&gt;notice the strpos() does not bother to check if a preceding backslash is in the $className var.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12900">PHPCR-22</key>
            <summary>find(&apos;\Foo\Bar&apos;, $path) vs find(&apos;Foo\Bar&apos;, $path)</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Thu, 4 Aug 2011 14:20:01 +0000</created>
                <updated>Thu, 2 Feb 2012 19:27:41 +0000</updated>
                    <resolved>Thu, 2 Feb 2012 19:27:41 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17362" author="lsmith" created="Thu, 2 Feb 2012 19:27:41 +0000"  >&lt;p&gt;the ORM doesn&apos;t handle this either&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-21] converting any existing docs to reST so that it can be added to the site</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-21</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;PHPCR ODM is listed on the Doctrine website:&lt;br/&gt;
&lt;a href=&quot;http://www.doctrine-project.org/projects/phpcr_odm&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/phpcr_odm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;build doc in this repository:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm-documentation&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm-documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next step would be to collect all the various documentation flying around and convert them to reST format:&lt;br/&gt;
&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/wiki/_pages&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/wiki/_pages&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://melp.nl/2011/07/symfony2-phpcr-doctrine2-jackalope-recipe/&quot; class=&quot;external-link&quot;&gt;http://melp.nl/2011/07/symfony2-phpcr-doctrine2-jackalope-recipe/&lt;/a&gt; (needs to be made Symfony2 unspecific)&lt;br/&gt;
&lt;a href=&quot;http://www.craftitonline.com/2011/07/first-symfony2-cmf-based-cms-pagesbundle/&quot; class=&quot;external-link&quot;&gt;http://www.craftitonline.com/2011/07/first-symfony2-cmf-based-cms-pagesbundle/&lt;/a&gt; (needs to be made Symfony2 unspecific)&lt;br/&gt;
&lt;a href=&quot;http://cmf.symfony.com/slides.html&quot; class=&quot;external-link&quot;&gt;http://cmf.symfony.com/slides.html&lt;/a&gt; (needs to be made Symfony2 unspecific)&lt;/p&gt;

&lt;p&gt;any other articles flying around?&lt;/p&gt;

&lt;p&gt;of course we should also reference PHPCR related docs&lt;/p&gt;</description>
                <environment></environment>
            <key id="12884">PHPCR-21</key>
            <summary>converting any existing docs to reST so that it can be added to the site</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="dbu">David Buchmann</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Mon, 1 Aug 2011 06:05:34 +0000</created>
                <updated>Mon, 22 Oct 2012 15:02:10 +0000</updated>
                    <resolved>Mon, 22 Oct 2012 15:02:10 +0000</resolved>
                                                                    <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="16257" author="cordoval" created="Mon, 1 Aug 2011 06:33:33 +0000"  >&lt;p&gt;yes it should be something like &lt;a href=&quot;http://github.com/doctrine/phpcr-odm-documentation&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/phpcr-odm-documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and first commit  should have the same structure for doc generation that orm-documentation has&lt;/p&gt;

&lt;p&gt;then we can start PR&apos;eing...&lt;/p&gt;

&lt;p&gt;hand raised @lsmith&lt;/p&gt;</comment>
                    <comment id="16258" author="dbu" created="Mon, 1 Aug 2011 08:11:21 +0000"  >&lt;p&gt;it should be obvious, but the README file of the &lt;a href=&quot;https://github.com/doctrine/phpcr-odm&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm&lt;/a&gt; repository has a lot of the features documented. i propose that this is taken as starting point and once we have the doc up here on the doctrine website, strip down the README to a minum and reference the doc.&lt;/p&gt;

&lt;p&gt;the phpcr doc entry point could be &lt;a href=&quot;http://phpcr.github.com&quot; class=&quot;external-link&quot;&gt;http://phpcr.github.com&lt;/a&gt; and then we have to work on improving that site too.&lt;/p&gt;</comment>
                    <comment id="17374" author="dbu" created="Tue, 7 Feb 2012 07:41:23 +0000"  >&lt;p&gt;we should also point to this (resp. the place this gets online at &lt;a href=&quot;http://cmf.symfony.com&quot; class=&quot;external-link&quot;&gt;http://cmf.symfony.com&lt;/a&gt; for usage of phpcr-odm inside symfony:&lt;br/&gt;
&lt;a href=&quot;https://github.com/symfony-cmf/symfony-cmf-docs/blob/master/tutorials/installing-configuring-doctrine-phpcr-odm.rst&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/symfony-cmf-docs/blob/master/tutorials/installing-configuring-doctrine-phpcr-odm.rst&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;also note that the install instructions there are partially relevant for phpcr-odm without symfony too.&lt;/p&gt;</comment>
                    <comment id="18333" author="dbu" created="Wed, 18 Jul 2012 22:07:27 +0000"  >&lt;p&gt;did a lot of work today, the doc is now largely done, some chapters still missing&lt;/p&gt;</comment>
                    <comment id="18804" author="lsmith" created="Mon, 8 Oct 2012 07:33:54 +0000"  >&lt;p&gt;is there anything left to still convert?&lt;/p&gt;</comment>
                    <comment id="18866" author="dbu" created="Mon, 22 Oct 2012 15:02:10 +0000"  >&lt;p&gt;wouldn&apos;t know of missing conversions. doc &quot;just&quot; needs to be completed by writing new chapters and improving the existing ones.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-20] Quality assurance and testing</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-20</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Look at test coverage and write more tests if necessary. Focus on the exposed api functional tests so the changes to share code with mongo db &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-19&quot; title=&quot;Code cleanup and refactoring, align to other odm implementations&quot;&gt;&lt;del&gt;PHPCR-19&lt;/del&gt;&lt;/a&gt; can be tested.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12878">PHPCR-20</key>
            <summary>Quality assurance and testing</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 12:59:23 +0000</created>
                <updated>Wed, 28 Dec 2011 23:31:50 +0000</updated>
                    <resolved>Wed, 28 Dec 2011 23:31:50 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-19] Code cleanup and refactoring, align to other odm implementations</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-19</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Refactor the code to share more code with mongodb and other ODM implementations. Can we extract stuff into common base classes or adjust mongo so we can extend from it? The current code is often copy-paste with some small edits all over which makes it hard to update with new features and bugfixes from mongodb.&lt;/p&gt;

&lt;p&gt;Also have a look at the OXM - we probably could profit from collaboration there too, as PHPCR is somewhere between document store and XML database. &lt;a href=&quot;http://www.doctrine-project.org/blog/doctrine-oxm-intro&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/blog/doctrine-oxm-intro&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Implement ObjectManager interface and maybe add to the common interfaces like findMany suitable for us.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12877">PHPCR-19</key>
            <summary>Code cleanup and refactoring, align to other odm implementations</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="3">Duplicate</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 12:59:15 +0000</created>
                <updated>Sat, 30 Jul 2011 13:03:05 +0000</updated>
                    <resolved>Sat, 30 Jul 2011 13:03:05 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16235" author="dbu" created="Sat, 30 Jul 2011 13:03:05 +0000"  >&lt;p&gt;this is tracked here &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DCOM-28&quot; title=&quot;Extract Common Persistance Interfaces&quot;&gt;DCOM-28&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-18] Documentation</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-18</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;ul&gt;
	&lt;li&gt;Create better user documentation. The README is far too long, split it.&lt;/li&gt;
	&lt;li&gt;Create some documents for the doctrine website and do a doctrine-project.org/projects/phpcr_odm&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="12876">PHPCR-18</key>
            <summary>Documentation</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="3">Duplicate</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 12:55:37 +0000</created>
                <updated>Wed, 3 Aug 2011 10:02:30 +0000</updated>
                    <resolved>Wed, 3 Aug 2011 10:02:30 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16265" author="dbu" created="Wed, 3 Aug 2011 10:02:29 +0000"  >&lt;p&gt;was recreated as &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-21&quot; title=&quot;converting any existing docs to reST so that it can be added to the site&quot;&gt;&lt;del&gt;PHPCR-21&lt;/del&gt;&lt;/a&gt; with more information&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-17] Id generator and failsafe storage</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-17</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;Have an id generator that can build the path (id) from parent node and node name.&lt;br/&gt;
(The current setup with the id being the path leaves it to the user to make sure the parent node exists. You get really non-helpful strange error message if the parent does not exist.)&lt;/p&gt;</description>
                <environment></environment>
            <key id="12875">PHPCR-17</key>
            <summary>Id generator and failsafe storage</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 12:55:09 +0000</created>
                <updated>Sat, 22 Oct 2011 13:04:25 +0000</updated>
                    <resolved>Sat, 22 Oct 2011 13:04:25 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16567" author="lsmith" created="Mon, 10 Oct 2011 09:54:10 +0000"  >&lt;p&gt;can we close this one?&lt;/p&gt;</comment>
                    <comment id="16684" author="dbu" created="Sat, 22 Oct 2011 13:04:25 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/66&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/66&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-16] Annotation for referrers</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-16</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;once reference annotation in &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-10&quot; title=&quot;add support for (weak)references&quot;&gt;&lt;del&gt;PHPCR-10&lt;/del&gt;&lt;/a&gt; is finished, we should also map the inverse, the list of documents referencing this document. this is a read only property.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12874">PHPCR-16</key>
            <summary>Annotation for referrers</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 12:54:15 +0000</created>
                <updated>Fri, 2 Sep 2011 13:11:36 +0000</updated>
                    <resolved>Fri, 2 Sep 2011 13:11:36 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16234" author="dbu" created="Sat, 30 Jul 2011 13:01:20 +0000"  >&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/wiki/References-and-related&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/wiki/References-and-related&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16414" author="dbu" created="Fri, 2 Sep 2011 13:11:36 +0000"  >&lt;p&gt;johannes stark did that one too &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/59&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/59&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-15] Node property mappings</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-15</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;ul&gt;
	&lt;li&gt;Annotation to map node name to a field (read-only except when creating a document). should be NodeName because NAME is one of the property types.&lt;/li&gt;
	&lt;li&gt;Align the annotations with the PHPCR\PropertyType types and map all types (missing for example the PATH type).&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="12873">PHPCR-15</key>
            <summary>Node property mappings</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="dbu">David Buchmann</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 12:52:28 +0000</created>
                <updated>Sat, 22 Oct 2011 13:03:55 +0000</updated>
                    <resolved>Sat, 22 Oct 2011 13:03:55 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16562" author="dbu" created="Mon, 10 Oct 2011 08:05:05 +0000"  >&lt;p&gt;i just had a look at this and we are missing the following property types. i added them in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/commit/a6032f8dc6574e0ce269653a884eb91ea5234284&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/commit/a6032f8dc6574e0ce269653a884eb91ea5234284&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Double &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
	&lt;li&gt;Name &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
	&lt;li&gt;Path &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
	&lt;li&gt;URI &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
	&lt;li&gt;Decimal &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;On the other hand, Int and Float do not exist. i declared them as convenience alias for Long and Double, as people gessing property names might expect them. ok?&lt;br/&gt;
What are the annotations EmbeddedDocument, EmbedOne supposed to do? We should either make them do something or remove them.&lt;/p&gt;

&lt;p&gt;What about Tests? I see we only have some tests of annotations and xml/yml mapping, but not for all annotations. Should we do them? Where would be the right place for them?&lt;/p&gt;

&lt;p&gt;Further, we are missing annotations for the node name and for the parent node. The later should be similar to the child annotation.&lt;/p&gt;</comment>
                    <comment id="16683" author="dbu" created="Sat, 22 Oct 2011 13:03:55 +0000"  >&lt;p&gt;this is cleaned up now&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-14] refactor document class detection</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-14</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;make document class detection strategy injected. this is in Doctrine/ODM/PHPCR/UnitOfWork.php createDocument&lt;/p&gt;

&lt;p&gt;the default strategy should do the current behaviour in that method, but use the explicit parameter first if specified before looking at the phpcr:class attribute.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12872">PHPCR-14</key>
            <summary>refactor document class detection</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 12:47:05 +0000</created>
                <updated>Mon, 8 Aug 2011 11:34:29 +0000</updated>
                    <resolved>Mon, 8 Aug 2011 11:34:29 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16299" author="dbu" created="Mon, 8 Aug 2011 11:34:29 +0000"  >&lt;p&gt;lukas fixed this in &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/commit/f60d980851fb1bfb1b9fae93092945bbc9b97b49&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/commit/f60d980851fb1bfb1b9fae93092945bbc9b97b49&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-13] Implement DocumentManager::merge()</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-13</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="12870">PHPCR-13</key>
            <summary>Implement DocumentManager::merge()</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Sat, 30 Jul 2011 10:40:35 +0000</created>
                <updated>Wed, 9 Jan 2013 14:34:17 +0000</updated>
                    <resolved>Wed, 9 Jan 2013 14:34:17 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="18865" author="dbu" created="Mon, 22 Oct 2012 14:31:16 +0000"  >&lt;p&gt;see also &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/184&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/184&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="19214" author="lsmith" created="Fri, 4 Jan 2013 17:22:31 +0000"  >&lt;p&gt;see also &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/205&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/205&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="19265" author="lsmith" created="Wed, 9 Jan 2013 14:34:17 +0000"  >&lt;p&gt;205 was merged ..&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-12] Use PHPCR\FactoryInterface to bootstrap</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-12</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;The phpcr-odm should use the factory implementations to bootstrap the phpcr implementation, instead of using new Repository (and jackalope transport and whatnot)&lt;/p&gt;</description>
                <environment></environment>
            <key id="12866">PHPCR-12</key>
            <summary>Use PHPCR\FactoryInterface to bootstrap</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="dbu">David Buchmann</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Fri, 29 Jul 2011 08:34:34 +0000</created>
                <updated>Mon, 8 Aug 2011 11:23:37 +0000</updated>
                    <resolved>Mon, 8 Aug 2011 11:23:37 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16237" author="dbu" created="Sat, 30 Jul 2011 15:51:59 +0000"  >&lt;p&gt;will wait for johannes to see if we have an issue with new $repositoryfactoryclassname().&lt;/p&gt;</comment>
                    <comment id="16296" author="dbu" created="Mon, 8 Aug 2011 11:23:37 +0000"  >&lt;p&gt;lukas fixed this&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-11] Expose transaction API</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-11</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;this requires support in PHPCR/Jackalope&lt;/p&gt;</description>
                <environment></environment>
            <key id="12780">PHPCR-11</key>
            <summary>Expose transaction API</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 18:00:27 +0000</created>
                <updated>Sat, 15 Oct 2011 16:13:45 +0000</updated>
                    <resolved>Sat, 15 Oct 2011 16:13:45 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16196" author="dbu" created="Fri, 22 Jul 2011 07:47:54 +0000"  >&lt;p&gt;when you get the phpcr session, you can call getTransactionManager on it and do transactions (its pretty simple). lukas, do you think anything more is needed?&lt;/p&gt;

&lt;p&gt;@jordi: can you give me more rights in this jira so i can assign tickets?&lt;/p&gt;</comment>
                    <comment id="16565" author="lsmith" created="Mon, 10 Oct 2011 09:50:23 +0000"  >&lt;p&gt;can we close this one?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-10] add support for (weak)references</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-10</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;creating and removing references&lt;/p&gt;</description>
                <environment></environment>
            <key id="12779">PHPCR-10</key>
            <summary>add support for (weak)references</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:57:32 +0000</created>
                <updated>Fri, 16 Sep 2011 15:08:34 +0000</updated>
                    <resolved>Fri, 16 Sep 2011 15:08:34 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16195" author="dbu" created="Fri, 22 Jul 2011 07:45:50 +0000"  >&lt;p&gt;Johannes Stark &amp;lt;starkj@gmx.de&amp;gt; is working on that one.&lt;/p&gt;</comment>
                    <comment id="16233" author="dbu" created="Sat, 30 Jul 2011 13:01:09 +0000"  >&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/wiki/References-and-related&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/wiki/References-and-related&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16297" author="dbu" created="Mon, 8 Aug 2011 11:26:32 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/52&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/52&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16486" author="dbu" created="Fri, 16 Sep 2011 15:08:34 +0000"  >&lt;p&gt;pull request is merged, feature is working.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-9] add logging capabilities</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-9</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;see also &lt;a href=&quot;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/logging.html&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/logging.html&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12778">PHPCR-9</key>
            <summary>add logging capabilities</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="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:56:39 +0000</created>
                <updated>Sat, 30 Jul 2011 15:50:06 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-8] add support for getting node(s) with subnodes at once</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-8</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;this requires support for this in PHPCR/jackalope&lt;/p&gt;</description>
                <environment></environment>
            <key id="12777">PHPCR-8</key>
            <summary>add support for getting node(s) with subnodes at once</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:56:09 +0000</created>
                <updated>Mon, 10 Oct 2011 09:49:59 +0000</updated>
                    <resolved>Mon, 10 Oct 2011 09:49:59 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16361" author="lsmith" created="Fri, 19 Aug 2011 11:16:51 +0000"  >&lt;p&gt;maybe the only way to support this reasonable is via JOIN&apos;s in queries and getSubNodes()&lt;/p&gt;</comment>
                    <comment id="16564" author="lsmith" created="Mon, 10 Oct 2011 09:49:59 +0000"  >&lt;p&gt;JOINs are indeed the right approach ..&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-7] add support for &quot;eventual migrations&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-7</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://doctrine-mongodb-odm.readthedocs.org/en/latest/reference/migrating-schemas.html&quot; class=&quot;external-link&quot;&gt;https://doctrine-mongodb-odm.readthedocs.org/en/latest/reference/migrating-schemas.html&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12776">PHPCR-7</key>
            <summary>add support for &quot;eventual migrations&quot;</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="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:55:14 +0000</created>
                <updated>Mon, 8 Oct 2012 07:31:08 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                            <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                                <inwardlinks description="is referenced by">
                            <issuelink>
            <issuekey id="13197">PHPCR-36</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-6] add mappings to reference parents in document properties</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-6</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="12775">PHPCR-6</key>
            <summary>add mappings to reference parents in document properties</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:53:00 +0000</created>
                <updated>Sat, 22 Oct 2011 13:05:36 +0000</updated>
                    <resolved>Sat, 22 Oct 2011 13:05:36 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16232" author="dbu" created="Sat, 30 Jul 2011 13:01:01 +0000"  >&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/wiki/References-and-related&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/wiki/References-and-related&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16300" author="dbu" created="Mon, 8 Aug 2011 11:38:24 +0000"  >&lt;p&gt;looks like uwe is working on that one: &lt;a href=&quot;https://github.com/uwej711/phpcr-odm/tree/parent_annotation&quot; class=&quot;external-link&quot;&gt;https://github.com/uwej711/phpcr-odm/tree/parent_annotation&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16563" author="lsmith" created="Mon, 10 Oct 2011 09:49:33 +0000"  >&lt;p&gt;can we close this one?&lt;/p&gt;</comment>
                    <comment id="16686" author="dbu" created="Sat, 22 Oct 2011 13:05:36 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/66&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/66&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-5] test with Midgard2 PHPCR</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-5</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://github.com/bergie/phpcr-midgard2&quot; class=&quot;external-link&quot;&gt;https://github.com/bergie/phpcr-midgard2&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12774">PHPCR-5</key>
            <summary>test with Midgard2 PHPCR</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:51:15 +0000</created>
                <updated>Wed, 28 Dec 2011 23:29:48 +0000</updated>
                    <resolved>Wed, 28 Dec 2011 23:29:48 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-4] add mappings to reference versions in document properties</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-4</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="12773">PHPCR-4</key>
            <summary>add mappings to reference versions in document properties</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="dbu">David Buchmann</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:50:20 +0000</created>
                <updated>Fri, 3 Feb 2012 08:11:01 +0000</updated>
                    <resolved>Fri, 3 Feb 2012 08:10:55 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16851" author="dbu" created="Thu, 17 Nov 2011 09:49:50 +0000"  >&lt;p&gt;we will work on this at liip and release at least rudimentary support by end of november.&lt;/p&gt;</comment>
                    <comment id="16852" author="lsmith" created="Thu, 17 Nov 2011 09:50:25 +0000"  >&lt;p&gt;i have talked to David about this a bit.&lt;br/&gt;
overall however we don&apos;t want to replicate the VersionManager API yet still we want to always give Document instances and not node instances to the user&lt;/p&gt;

&lt;p&gt;ideally there should be a way to specify the label one wants to read inside the document annotation, but also inside a property annotation. so that one could for example always get the &quot;draft&quot; label as the document but get the &quot;current&quot; version of the same document as a property. however it would also be nice to be able to get all predecessors as a property.&lt;/p&gt;
</comment>
                    <comment id="17364" author="dbu" created="Fri, 3 Feb 2012 08:10:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/96&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/96&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-3] add support for lazy loading documents</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-3</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description></description>
                <environment></environment>
            <key id="12772">PHPCR-3</key>
            <summary>add support for lazy loading documents</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="lsmith">Lukas Kahwe</reporter>
                        <labels>
                    </labels>
                <created>Fri, 1 Jul 2011 17:49:38 +0000</created>
                <updated>Fri, 2 Sep 2011 13:09:05 +0000</updated>
                    <resolved>Fri, 2 Sep 2011 13:09:05 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16229" author="dbu" created="Fri, 29 Jul 2011 08:20:25 +0000"  >&lt;p&gt;Johannes Stark &amp;lt;starkj@gmx.de&amp;gt; is working on that one. It is a pre-requisite for &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/PHPCR-10&quot; title=&quot;add support for (weak)references&quot;&gt;&lt;del&gt;PHPCR-10&lt;/del&gt;&lt;/a&gt; (references mapping)&lt;/p&gt;</comment>
                    <comment id="16298" author="dbu" created="Mon, 8 Aug 2011 11:26:49 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/52&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/52&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="16413" author="dbu" created="Fri, 2 Sep 2011 13:09:05 +0000"  >&lt;p&gt;fixed in pull request 52&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-2] load document with child annotation</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-2</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;if i did not previously load a document of the class of the child, phpcr-odm can not know the alias to load it. it throws an exception.&lt;/p&gt;

&lt;p&gt;for example, use $this-&amp;gt;documentManager-&amp;gt;find(&apos;My\Class&apos;, &apos;/path/to/document&apos;); where My\Class has an @child annotation for a child that is a File. it has the file alias, but phpcr-odm knows nothing of that alias if i did not previously try to find something with &apos;Doctrine\...\File&apos; that made it load the meta data.&lt;/p&gt;

&lt;p&gt;the workaround is to get the repositories to make phpcr-odm know the alias, but this is no solution.&lt;br/&gt;
$this-&amp;gt;documentManager-&amp;gt;getRepository(&apos;Doctrine\ODM\PHPCR\Document\Resource&apos;);&lt;br/&gt;
$this-&amp;gt;documentManager-&amp;gt;getRepository(&apos;Doctrine\ODM\PHPCR\Document\File&apos;);&lt;/p&gt;


&lt;p&gt;we could add something to specify the document class in the child annotation, but this sounds stupid.&lt;/p&gt;

&lt;p&gt;and getting a document without knowing its document class beforehand would be a nice feature in general. however, the info is currently scattered in annotations over the project. any idea how we could make phpcr-odm know all alias to document class mappings?&lt;/p&gt;</description>
                <environment></environment>
            <key id="12743">PHPCR-2</key>
            <summary>load document with child annotation</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Jun 2011 13:54:09 +0000</created>
                <updated>Fri, 24 Jun 2011 13:14:55 +0000</updated>
                    <resolved>Fri, 24 Jun 2011 13:14:55 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16046" author="dbu" created="Thu, 23 Jun 2011 14:15:25 +0000"  >&lt;p&gt;to implement extracting the mapping, assetic:dump might give some inspiration.  in dev mode, we should extract automatically (maybe with some cache lifetime, depending on how expensive that is - its less obvious than what assetic can do)&lt;/p&gt;

&lt;p&gt;it would be something like getAllMetadata in our case, then cache it.&lt;/p&gt;</comment>
                    <comment id="16047" author="dbu" created="Thu, 23 Jun 2011 14:24:12 +0000"  >&lt;p&gt;according to benjamin, mongo-odm uses an attribute targetDocument that is set to the document class, so the annotation seems not such a bad idea after all.&lt;/p&gt;

&lt;p&gt;not sure how to handle a case when we have children with varying document classes, though. but targetDocument would be a start, and cover many common cases.&lt;/p&gt;</comment>
                    <comment id="16048" author="dbu" created="Thu, 23 Jun 2011 14:34:52 +0000"  >&lt;p&gt;after more dicussion with benjamin: in mongo, benjamin does no longer store an alias but directly the document class. we could also do that.&lt;/p&gt;</comment>
                    <comment id="16050" author="uwej711" created="Fri, 24 Jun 2011 07:35:25 +0000"  >&lt;p&gt;As you say this is more an issue with the meta-data handling within the odm. The same issue will apply to references and to parent and children annotations I guess. Storing the class directly and loading the meta-data via the class when needed seems a good solution to me. &lt;/p&gt;</comment>
                    <comment id="16051" author="dbu" created="Fri, 24 Jun 2011 13:14:55 +0000"  >&lt;p&gt;we now store the phpcr:class instead of phpcr:alias. the alias is still supported for legacy.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/45&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/45&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[PHPCR-1] children/child annotation add value later</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-1</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;when using the child annotation, it is not possible to assign a child document with a child of its own after persisting the parent document. to reproduce, take the Functional/FileTest.php and change&lt;br/&gt;
        $parent-&amp;gt;file = new File();&lt;br/&gt;
        $parent-&amp;gt;id = &apos;/functional/filetest&apos;;&lt;br/&gt;
        $parent-&amp;gt;file-&amp;gt;setFileContentFromFilesystem(dirname(_&lt;em&gt;FILE&lt;/em&gt;_) .&apos;/_files/foo.txt&apos;);&lt;/p&gt;

&lt;p&gt;        $this-&amp;gt;dm-&amp;gt;persist($parent);&lt;/p&gt;

&lt;p&gt;to &lt;br/&gt;
        $parent-&amp;gt;id = &apos;/functional/filetest&apos;;&lt;br/&gt;
        $this-&amp;gt;dm-&amp;gt;persist($parent);&lt;/p&gt;

&lt;p&gt;        $parent-&amp;gt;file = new File();&lt;br/&gt;
        $parent-&amp;gt;file-&amp;gt;setFileContentFromFilesystem(dirname(_&lt;em&gt;FILE&lt;/em&gt;_) .&apos;/_files/foo.txt&apos;);&lt;/p&gt;

&lt;p&gt;you will get &quot;mandatory child node &lt;/p&gt;
{http://www.jcp.org/jcr/1.0}
&lt;p&gt;content does not exist&quot;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12742">PHPCR-1</key>
            <summary>children/child annotation add value later</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="seldaek">Jordi Boggiano</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Thu, 23 Jun 2011 13:28:33 +0000</created>
                <updated>Fri, 22 Jul 2011 07:40:32 +0000</updated>
                    <resolved>Fri, 22 Jul 2011 07:40:32 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16049" author="dbu" created="Thu, 23 Jun 2011 15:21:37 +0000"  >&lt;p&gt;probably related is the issue that updating the normal properties of a child is not stored into phpcr.&lt;/p&gt;</comment>
                    <comment id="16194" author="dbu" created="Fri, 22 Jul 2011 07:40:32 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/50&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/50&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[OXM-2] Mapped-superclass, indexes not gathered</title>
                <link>http://www.doctrine-project.org/jira/browse/OXM-2</link>
                <project id="10070" key="OXM">Doctrine Object-XML Mapper</project>
                        <description>&lt;p&gt;GenericPositionPair XML:&lt;br/&gt;
  &amp;lt;mapped-superclass name=&quot;GenericPositionPair&quot;&amp;gt;&lt;br/&gt;
    &amp;lt;indexes&amp;gt;&lt;br/&gt;
      &amp;lt;index columns=&quot;position&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;/indexes&amp;gt;&lt;br/&gt;
    &amp;lt;field name=&quot;position&quot; type=&quot;integer&quot; column=&quot;position&quot; /&amp;gt;&lt;br/&gt;
  &amp;lt;/mapped-superclass&amp;gt;&lt;/p&gt;

&lt;p&gt;GenericPrimaryPositionPair XML:&lt;br/&gt;
  &amp;lt;mapped-superclass name=&quot;GenericPrimaryPositionPair&quot;&amp;gt;&lt;br/&gt;
    &amp;lt;indexes&amp;gt;&lt;br/&gt;
      &amp;lt;index columns=&quot;isPrimary&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;/indexes&amp;gt;&lt;br/&gt;
    &amp;lt;field name=&quot;isPrimary&quot; type=&quot;boolean&quot; column=&quot;isPrimary&quot; /&amp;gt;&lt;br/&gt;
  &amp;lt;/mapped-superclass&amp;gt;&lt;/p&gt;

&lt;p&gt;PrimaryPositionPair XML:&lt;br/&gt;
  &amp;lt;entity name=&quot;PrimaryPositionPair&quot; table=&quot;PrimaryPositionPair&quot;&amp;gt;&lt;br/&gt;
    &amp;lt;id name=&quot;first&quot; type=&quot;integer&quot; column=&quot;first_id&quot; association-key=&quot;true&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;id name=&quot;second&quot; type=&quot;integer&quot; column=&quot;second_id&quot; association-key=&quot;true&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;many-to-one field=&quot;first&quot; target-entity=&quot;First&quot;&amp;gt;&lt;br/&gt;
      &amp;lt;join-column name=&quot;first_id&quot; referenced-column-name=&quot;id&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;/many-to-one&amp;gt;&lt;br/&gt;
    &amp;lt;many-to-one field=&quot;second&quot; target-entity=&quot;Second&quot;&amp;gt;&lt;br/&gt;
      &amp;lt;join-column name=&quot;second_id&quot; referenced-column-name=&quot;id&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;/many-to-one&amp;gt;&lt;br/&gt;
  &amp;lt;/entity&amp;gt;&lt;/p&gt;

&lt;p&gt;PHP:&lt;br/&gt;
PrimaryPositionPair exteds GenericPrimaryPositionPair&lt;br/&gt;
GenericPrimaryPositionPair extends GenericPositionPair&lt;/p&gt;

&lt;p&gt;Finally - the resulting SQL statement contains no idexes on position and isPrimary fields.&lt;/p&gt;

&lt;p&gt;Suggestion - wouldn&apos;t it be easier to just include attribute index=&quot;true&quot; instead od &amp;lt;indexes&amp;gt; tag, since attribute unique=&quot;true&quot; already works.&lt;/p&gt;</description>
                <environment>win7 xamp mysql</environment>
            <key id="13574">OXM-2</key>
            <summary>Mapped-superclass, indexes not gathered</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="lazarkg">Lazar Otasevic</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Mar 2012 14:22:49 +0000</created>
                <updated>Fri, 18 May 2012 12:53:44 +0000</updated>
                                                                            <due></due>
                    <votes>3</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17676" author="lazarkg" created="Thu, 29 Mar 2012 15:33:06 +0000"  >&lt;p&gt;As far as i can see, the shcema-tool gathers only fields and relations from xml and not &amp;lt;indexes&amp;gt; WHY?&lt;br/&gt;
Since it fetches unique attribute from a field and accordingly adds an unique index to the final statement, wouldnt it be natural to also gether indexes?&lt;br/&gt;
My suggestion remains about index attribute of a field.&lt;/p&gt;
</comment>
                    <comment id="17884" author="lazarkg" created="Wed, 25 Apr 2012 08:58:11 +0000"  >&lt;p&gt;Anybody?&lt;/p&gt;</comment>
                    <comment id="17950" author="lazarkg" created="Fri, 18 May 2012 12:53:44 +0000"  >&lt;p&gt;HELLO?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[OXM-1] Composite string key ignoring the length attribute</title>
                <link>http://www.doctrine-project.org/jira/browse/OXM-1</link>
                <project id="10070" key="OXM">Doctrine Object-XML Mapper</project>
                        <description>&lt;p&gt;Hello, I have the following XML mapping&lt;/p&gt;

&lt;p&gt;  &amp;lt;entity name=&quot;Auth&quot; table=&quot;Auth&quot;&amp;gt;&lt;br/&gt;
    &amp;lt;id name=&quot;itemname&quot; column=&quot;itemname&quot; type=&quot;string&quot; length=&quot;64&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;id name=&quot;userid&quot; column=&quot;userid&quot; type=&quot;string&quot; length=&quot;64&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;field name=&quot;bizrule&quot; column=&quot;bizrule&quot; type=&quot;text&quot; nullable=&quot;true&quot; /&amp;gt;&lt;br/&gt;
    &amp;lt;field name=&quot;data&quot; column=&quot;data&quot; type=&quot;text&quot; nullable=&quot;true&quot; /&amp;gt;&lt;br/&gt;
  &amp;lt;/entity&amp;gt;&lt;/p&gt;

&lt;p&gt;And the sql output is:&lt;/p&gt;

&lt;p&gt;CREATE TABLE Auth (itemname VARCHAR(255) NOT NULL, userid VARCHAR(255) NOT NULL, bizrule LONGTEXT DEFAULT NULL, data LONGTEXT DEFAULT NULL, PRIMARY KEY(itemname, userid)) ENGINE ...&lt;/p&gt;

&lt;p&gt;So, the length atrtibute is always ignored. In MyIsam it breaks the script because of the maximum key limit &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;</description>
                <environment>win7 xamp mysql</environment>
            <key id="13573">OXM-1</key>
            <summary>Composite string key ignoring the length attribute</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="lazarkg">Lazar Otasevic</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Mar 2012 12:55:20 +0000</created>
                <updated>Thu, 29 Mar 2012 15:36:18 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-170] Unique index on embedded document</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-170</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;Bug checked on versions:&lt;br/&gt;
doctrine/mongodb-odm (1.0.0-BETA7)&lt;br/&gt;
doctrine/mongodb-odm-bundle (v3.0.0-BETA3)&lt;br/&gt;
and &lt;br/&gt;
doctrine/mongodb-odm (dev-master 6fd7a46)&lt;br/&gt;
doctrine/mongodb-odm-bundle (dev-master 23c08a4)&lt;/p&gt;

&lt;p&gt;I&apos;ve created unique index on embedded document and ODM seem not to be working properly. When unique index is violated MongoCursorException is thrown and this behavior is desired. &lt;br/&gt;
But, the document sometimes is persisted anyway. Document structure is invalid.&lt;/p&gt;


&lt;p&gt;Thrown exception: &lt;br/&gt;
mymongoserver.xx:27017: E11000 duplicate key error index: prj.Grid.$boxes_offer_$id_1_boxes_tag_$id_1  dup key: { : ObjectId(&apos;51555bbe31bcb2c70e000001&apos;), : &quot;dom&quot; }&lt;/p&gt;

&lt;p&gt;Grid document sketch:&lt;/p&gt;
{
 _id:
 boxes:[DBref(Offer), DBref(Offer), DBref(Offer)]
 tag: DBref(Tag)
}

&lt;p&gt;unique index on boxes.tag&lt;/p&gt;

&lt;p&gt;Any help would be appreciated.&lt;/p&gt;</description>
                <environment></environment>
            <key id="14952">MODM-170</key>
            <summary>Unique index on embedded document</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="szymon.karnecki">Szymon Karnecki</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 May 2013 10:58:29 +0000</created>
                <updated>Wed, 15 May 2013 10:58:29 +0000</updated>
                                                                    <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-169] Filter API is not unified between ODM and ORM</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-169</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I&apos;m implementing some functionality around filters which will ideally work for both ORM and ODM. The API for managing filters is different on `Doctrine\ORM\EntityManager` and `Doctrine\ODM\MongoDB\DocumentManager`, while the CouchDB implementation of ODM has no filter concept.&lt;/p&gt;

&lt;p&gt;For example, ORM EntityManager has getFilters(), hasFilters(), while ODM MongoDB DocumentManager has getFilterCollection().&lt;/p&gt;

&lt;p&gt;I was wondering what your thoughts were on defining the filter API in an interface, to improve consistency when implementing cross-library functionality?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Craig&lt;/p&gt;</description>
                <environment></environment>
            <key id="14301">MODM-169</key>
            <summary>Filter API is not unified between ODM and ORM</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="craigmarvelley">Craig Marvelley</reporter>
                        <labels>
                    </labels>
                <created>Mon, 10 Dec 2012 14:42:18 +0000</created>
                <updated>Mon, 10 Dec 2012 14:42:18 +0000</updated>
                                                                    <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-168] Can&apos;t Use Custom Repository Class for Embedded Doc When Using YAML Driver</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-168</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When using the Yaml driver the ClassMetadata generation process won&apos;t create and use the indicated custom repository class for an embedded document. From what I can see digging into the actual code, it will work when using the Annotations or XML drivers, but in the Yaml driver the call to setCustomRepositoryClass is inside of a conditional that only gets entered if the document type is &apos;document&apos;.&lt;/p&gt;

&lt;p&gt;I&apos;m not completely sure, but from what I can see elsewhere in the code, it looks like mapped superclasses should also be able to have a custom repository class, but can&apos;t when using the Yaml driver. &lt;/p&gt;

&lt;p&gt;So I reckon what would work would be to change the code as indicated below:&lt;/p&gt;

&lt;p&gt;&amp;lt;&amp;lt;EXISTING CODE&amp;gt;&amp;gt;&lt;br/&gt;
//Doctrine/ODM/MongoDb/Mapping/Driver/YamlDriver.php, line 66&lt;br/&gt;
       if ($element&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;type&amp;#39;&amp;#93;&lt;/span&gt; == &apos;document&apos;) {&lt;br/&gt;
            if (isset($element&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;repositoryClass&amp;#39;&amp;#93;&lt;/span&gt;)) &lt;/p&gt;
{
                $class-&amp;gt;setCustomRepositoryClass($element[&apos;repositoryClass&apos;]);
            }
&lt;p&gt;        } elseif ($element&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;type&amp;#39;&amp;#93;&lt;/span&gt; === &apos;mappedSuperclass&apos;) &lt;/p&gt;
{
            $class-&amp;gt;isMappedSuperclass = true;
        }
&lt;p&gt; elseif ($element&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;type&amp;#39;&amp;#93;&lt;/span&gt; === &apos;embeddedDocument&apos;) &lt;/p&gt;
{
            $class-&amp;gt;isEmbeddedDocument = true;
        }

&lt;p&gt;&amp;lt;&amp;lt;TO THIS&amp;gt;&amp;gt;&lt;br/&gt;
        if (isset($documentAnnot-&amp;gt;repositoryClass)) &lt;/p&gt;
{
            $class-&amp;gt;setCustomRepositoryClass($element[&apos;repositoryClass&apos;]);
        }</description>
                <environment></environment>
            <key id="13896">MODM-168</key>
            <summary>Can&apos;t Use Custom Repository Class for Embedded Doc When Using YAML Driver</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="isac1984">Isaac Foster</reporter>
                        <labels>
                    </labels>
                <created>Sun, 29 Jul 2012 23:42:17 +0000</created>
                <updated>Sun, 29 Jul 2012 23:42:17 +0000</updated>
                                                                    <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-167] Undefined index exception when a new document is detatched in onFlush</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-167</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Test and fix PR to come shortly&lt;/p&gt;</description>
                <environment></environment>
            <key id="13802">MODM-167</key>
            <summary>Undefined index exception when a new document is detatched in onFlush</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="superdweebie">Tim Roediger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Jun 2012 22:32:46 +0000</created>
                <updated>Wed, 27 Jun 2012 21:36:42 +0000</updated>
                    <resolved>Wed, 27 Jun 2012 21:36:42 +0000</resolved>
                                                            <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="18149" author="superdweebie" created="Wed, 27 Jun 2012 21:36:41 +0000"  >&lt;p&gt;Commit a260002 merged to resolve issue.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-166] recomputeSingleDocumentChangeSet does not work for collections</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-166</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If you have a document with a collection, during computation of the changeSet before persist a reference to that collection is placed in originalData, not a copy. Therefore, if you change the collection in an onFlush event listener, then call recomputeSingleDocumentChangeSet, the changes to the collection are not recognised, because the originalData has changed also.&lt;/p&gt;

&lt;p&gt;I will create a test, and hopefully fix for this soon.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13799">MODM-166</key>
            <summary>recomputeSingleDocumentChangeSet does not work for collections</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="superdweebie">Tim Roediger</reporter>
                        <labels>
                    </labels>
                <created>Sun, 24 Jun 2012 22:41:35 +0000</created>
                <updated>Wed, 27 Jun 2012 22:04:51 +0000</updated>
                    <resolved>Wed, 27 Jun 2012 22:04:51 +0000</resolved>
                                                            <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="18145" author="superdweebie" created="Tue, 26 Jun 2012 22:31:15 +0000"  >&lt;p&gt;PR open with fix &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/pull/336&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/pull/336&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="18150" author="superdweebie" created="Wed, 27 Jun 2012 22:04:51 +0000"  >&lt;p&gt;PR merged&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-165] Identity map doesn&apos;t work (tested only with Symfony) </title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-165</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I tested a basic find (by id) query in Symfony and it seems that the identity map feature does not work.&lt;br/&gt;
here the code: &lt;a href=&quot;https://gist.github.com/2431505&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/2431505&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4 query with a default Doctrine ODM/Symfony configuration give me 4 query in mongostat.&lt;/p&gt;</description>
                <environment>mongodb version 2.0.2, mac os x lion, Symfony master</environment>
            <key id="13653">MODM-165</key>
            <summary>Identity map doesn&apos;t work (tested only with Symfony) </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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ludofleury">Ludovic</reporter>
                        <labels>
                    </labels>
                <created>Fri, 20 Apr 2012 20:23:48 +0000</created>
                <updated>Fri, 20 Apr 2012 23:25:29 +0000</updated>
                    <resolved>Fri, 20 Apr 2012 23:25:13 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17876" author="ludofleury" created="Fri, 20 Apr 2012 23:25:13 +0000"  >&lt;p&gt;I misunderstood the identity map usage, actually I discover in the code that it was strictly restricted to find() method and the load method didn&apos;t fetch from the identityMap (even if the query carry only an id criteria). I&apos;m not sure of all impact, but I think it could be quite easy to fix this. I&apos;ll try to open an issue and maybe to PR. Thanks.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-164] DocumentPersister&apos;s prepareQuery() method is not suitable for preparing newObj for update queries</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-164</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Doctrine\ODM\MongoDB\Query\Expr::getNewObj() uses Doctrine\ODM\MongoDB\Persisters\DocumentPersister::prepareQuery() method for preparing newObj. However, prepareQuery is not suitable for that.&lt;/p&gt;

&lt;p&gt;The first lines in prepareQuery method should apply to find queries only:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;if (is_scalar($query) || $query instanceof \MongoId) {&lt;br/&gt;
    $query = array(&apos;_id&apos; =&amp;gt; $query);&lt;br/&gt;
}&lt;br/&gt;
if ($this-&amp;gt;class-&amp;gt;hasDiscriminator() &amp;amp;&amp;amp; ! isset($query[$this-&amp;gt;class-&amp;gt;discriminatorField&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;name&amp;#39;&amp;#93;&lt;/span&gt;])) {&lt;br/&gt;
    $discriminatorValues = $this-&amp;gt;getClassDiscriminatorValues($this-&amp;gt;class);&lt;br/&gt;
    $query[$this-&amp;gt;class-&amp;gt;discriminatorField&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;name&amp;#39;&amp;#93;&lt;/span&gt;] = array(&apos;$in&apos; =&amp;gt; $discriminatorValues);&lt;br/&gt;
}&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;Recommendation: DocumentPersister should introduce a new method, such as prepareNewObj($newObj) for preparing the newObj array.  Expr::getNewObj() should be change to invoke the new method.&lt;/p&gt;</description>
                <environment></environment>
            <key id="13611">MODM-164</key>
            <summary>DocumentPersister&apos;s prepareQuery() method is not suitable for preparing newObj for update queries</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="juhasuni">Juha Suni</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Apr 2012 06:47:40 +0000</created>
                <updated>Thu, 5 Apr 2012 06:47:40 +0000</updated>
                                                                    <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-163] @ReferenceMany and Inheritance</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-163</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;@ReferenceMany doesn&apos;t seem to work when used within a child class unless I specify @InheritanceType(&quot;CLASS_PER_COLLECTION&quot;) (which is fine b/c that works for our architecture)&lt;/p&gt;

&lt;p&gt;Here is an example from our code: &lt;/p&gt;

&lt;p&gt;//Parent Class&lt;/p&gt;

&lt;p&gt;use Doctrine\Common\Collections\ArrayCollection;&lt;/p&gt;

&lt;p&gt;/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@Document(collection=&quot;homepages&quot;)&lt;/li&gt;
	&lt;li&gt;@ChangeTrackingPolicy(&quot;DEFERRED_IMPLICIT&quot;)&lt;/li&gt;
	&lt;li&gt;@Indexes({&lt;/li&gt;
	&lt;li&gt;@Index(keys=
{&quot;vertical&quot;=&quot;asc&quot;,&quot;ts&quot;=&quot;desc&quot;}
&lt;p&gt;, safe=&quot;true&quot;),&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;@Index(keys=
{&quot;ts&quot;=&quot;desc&quot;}
&lt;p&gt;, safe=&quot;true&quot;)&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;})&lt;br/&gt;
 */&lt;br/&gt;
class Homepage extends MappedDocument&lt;br/&gt;
{&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;//** References&lt;br/&gt;
	/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@ReferenceMany(targetDocument=&quot;Post&quot;)&lt;/li&gt;
	&lt;li&gt;@var	list&amp;lt;Post&amp;gt;&lt;br/&gt;
	 */&lt;br/&gt;
	protected $touts;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;}&lt;/p&gt;


&lt;p&gt;//Child Class&lt;br/&gt;
/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@Document(collection=&quot;readmes&quot;)&lt;/li&gt;
	&lt;li&gt;@ChangeTrackingPolicy(&quot;DEFERRED_IMPLICIT&quot;)&lt;/li&gt;
	&lt;li&gt;@Indexes({&lt;/li&gt;
	&lt;li&gt;@Index(keys=
{&quot;vertical&quot;=&quot;asc&quot;}
&lt;p&gt;, safe=&quot;true&quot;)&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;})&lt;br/&gt;
 */&lt;br/&gt;
class Readme extends Homepage
{

//** References
	/**
	 * @ReferenceMany(targetDocument=&quot;Post&quot;)
	 * @var	list&amp;lt;Post&amp;gt;
	 */
	protected $more_touts;

}&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;If I don&apos;t add the @InheritanceType annotation the $more_touts data never gets persisted into the DB.&lt;br/&gt;
Other types such as @ReferenceOne all work just fine&lt;/p&gt;
</description>
                <environment>php 5.3 macosx 10.7.3   mongodb-odm 1.0 mongodb v2.0.2</environment>
            <key id="13485">MODM-163</key>
            <summary>@ReferenceMany and Inheritance</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jsommerville">julie sommerville</reporter>
                        <labels>
                    </labels>
                <created>Thu, 1 Mar 2012 18:07:13 +0000</created>
                <updated>Thu, 1 Mar 2012 18:07:13 +0000</updated>
                                                                    <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-162] Introduction Tutorial,suitable version</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-162</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;HI all,&lt;/p&gt;

&lt;p&gt;I am working on a project where I would like to use mongoDB ODM. But while following this tutotorial : &lt;a href=&quot;http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/introduction.html&quot; class=&quot;external-link&quot;&gt;http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/introduction.html&lt;/a&gt;, it appears to me that the download odm library doesn&apos;t work with the code: missing code or undefined classes. Therefore I woulld like to know what&apos;s the corresponding version mongodb ODM of the tutorial.&lt;/p&gt;

&lt;p&gt;Thank&apos;s in advance&lt;/p&gt;

&lt;p&gt;regards&lt;/p&gt;

&lt;p&gt;near&lt;/p&gt;</description>
                <environment>software</environment>
            <key id="13450">MODM-162</key>
            <summary>Introduction Tutorial,suitable version</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="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="near">Hugues Leunsa</reporter>
                        <labels>
                    </labels>
                <created>Wed, 15 Feb 2012 11:02:37 +0000</created>
                <updated>Wed, 15 Feb 2012 11:02:37 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-161] Bug with index definition</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-161</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;All is there: &lt;a href=&quot;https://gist.github.com/1682981&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/1682981&lt;/a&gt;&lt;/p&gt;</description>
                <environment>MacOS 10.7.2</environment>
            <key id="13416">MODM-161</key>
            <summary>Bug with index definition</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="_kud">Erwann Mest</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Feb 2012 09:06:14 +0000</created>
                <updated>Fri, 15 Jun 2012 08:03:07 +0000</updated>
                                                                    <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="18088" author="cordoval" created="Fri, 15 Jun 2012 08:02:42 +0000"  >&lt;p&gt;github link has nothing it was removed&lt;/p&gt;</comment>
                    <comment id="18089" author="cordoval" created="Fri, 15 Jun 2012 08:03:07 +0000"  >&lt;p&gt;gist is a broken link &lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-160] Errors when merging new documents with two levels of embedded documents</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-160</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;There&apos;s two different error messages that can be found from this.&lt;/p&gt;

&lt;p&gt;If it&apos;s EmbedMany in an array (not an ArrayCollection), the following error message results:&lt;/p&gt;

&lt;p&gt;Argument 1 passed to Doctrine\ODM\MongoDB\PersistentCollection::__construct() must implement interface Doctrine\Common\Collections\Collection, array given, called in mongodb-odm/lib/Doctrine/ODM/MongoDB/UnitOfWork.php on line 1830 and defined&lt;/p&gt;

&lt;p&gt;Otherwise it&apos;s:&lt;/p&gt;

&lt;p&gt;Undefined index: &amp;lt;blank&amp;gt;&lt;/p&gt;

&lt;p&gt;Failing tests have been created and a PR has been submitted on GitHub: &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/pull/230&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/pull/230&lt;/a&gt;&lt;/p&gt;</description>
                <environment>Mac OS X 10.7, All code is the latest version of master.</environment>
            <key id="13352">MODM-160</key>
            <summary>Errors when merging new documents with two levels of embedded documents</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="magnusnordlander">Magnus Nordlander</reporter>
                        <labels>
                    </labels>
                <created>Wed, 11 Jan 2012 09:14:28 +0000</created>
                <updated>Sat, 4 Feb 2012 23:50:33 +0000</updated>
                    <resolved>Sat, 4 Feb 2012 23:50:33 +0000</resolved>
                                                            <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17368" author="jwage" created="Sat, 4 Feb 2012 23:50:33 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/3aca4495eab4fa5e4b6b0034d31dfe37b8f27f70&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/3aca4495eab4fa5e4b6b0034d31dfe37b8f27f70&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-159] Querying a collection by Embedded objects identifier not working.</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-159</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Reference objects identifiers are stored as &apos;$id&apos; in database when Embedded objects identifiers are stored as &apos;_id&apos;. When querying a collection by embedded objects identifier, DocumentPersister-&amp;gt;prepareQueryValue() converts it to &apos;$id&apos; although it is stored in DB as &apos;_id&apos;. So querying for reference object ids work but embedded objects do not.&lt;/p&gt;

&lt;p&gt;DocumentPersister-&amp;gt;prepareQueryValue() first checks if field has TargetDocument mapping, if it is true it checks if field is target document&apos;s identifier, if this also returns true&lt;br/&gt;
it prepares the field as &apos;$id&apos; without looking at if it is Embedded or Reference object ... If TargetDocument it is a Reference object it works since Reference objects identifiers are stored as &apos;$id&apos; but if TargetDocument is Embedded object, query returns empty as theres no field such &apos;$id&apos; in EmbeddedObject, identifier is &apos;_id&apos; instead..&lt;/p&gt;

&lt;p&gt;Is this a bug / issue or am i missing something?&lt;/p&gt;</description>
                <environment>OS:10.8.0 OSX&lt;br/&gt;
PHP Official Version 5.3.8&lt;br/&gt;
MongoDB : 2.0.1&lt;br/&gt;
</environment>
            <key id="13228">MODM-159</key>
            <summary>Querying a collection by Embedded objects identifier not working.</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dahuda">Dahuda Unal</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Nov 2011 03:47:12 +0000</created>
                <updated>Wed, 30 Nov 2011 03:56:14 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-158] Doctrine\ODM\MongoDB\Mapping\Type\TimestampType should use MongoDate instead of MongoTimestamp</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-158</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When using the @Timestamp mapping type for a class Doctrine uses MongoTimestamp and it creates very incorrect times in the DB. According to PHP documentation, you should not use MongoTimestamp for creating timestamps, instead MongoDate should be used.&lt;/p&gt;

&lt;p&gt;I&apos;ve attached a patch that changes it to MongoDate and this works splendid when you assign a timestamp to a @Timestamp value&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;	/**
	 * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;timestamp&quot;&lt;/span&gt;)
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $created_on;

	/**
	 * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;timestamp&quot;&lt;/span&gt;)
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $updated_on;

	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __construct($options = NULL)
	{
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;created_on = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;updated_on = time();
		parent::__construct($options);
	}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


</description>
                <environment>OS 10.7&lt;br/&gt;
&lt;br/&gt;
PHP 5.3.6 with Suhosin-Patch (cli) (built: Sep  8 2011 19:34:00) &lt;br/&gt;
Copyright (c) 1997-2011 The PHP Group&lt;br/&gt;
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans</environment>
            <key id="13217">MODM-158</key>
            <summary>Doctrine\ODM\MongoDB\Mapping\Type\TimestampType should use MongoDate instead of MongoTimestamp</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="nvoyageur">Shane A. Stillwell</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Nov 2011 18:00:21 +0000</created>
                <updated>Thu, 24 Nov 2011 18:00:21 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                    <attachment id="11117" name="mongodate.patch" size="561" author="nvoyageur" created="Thu, 24 Nov 2011 18:00:21 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-157] Github-PR-151 by l3pp4rd: fixes triggering fatal error on preupdate event in case changeset is clea</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-157</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of &lt;/p&gt;
{username}
&lt;p&gt;:&lt;/p&gt;

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

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

&lt;p&gt;fixes triggering fatal error on preupdate event in case changeset is cleared during onFlush&lt;/p&gt;

&lt;p&gt;similar issue is fixed in ORM it should be supported on ODM mongodb also&lt;/p&gt;</description>
                <environment></environment>
            <key id="12971">MODM-157</key>
            <summary>Github-PR-151 by l3pp4rd: fixes triggering fatal error on preupdate event in case changeset is clea</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>Thu, 25 Aug 2011 18:02:51 +0000</created>
                <updated>Mon, 19 Sep 2011 13:51:24 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>2</watches>
                        <comments>
                    <comment id="16494" author="strygin" created="Mon, 19 Sep 2011 13:27:25 +0000"  >&lt;p&gt;Hmm... The bug is still actual for ORM layer in master. &lt;/p&gt;</comment>
                    <comment id="16495" author="vgarvardt" created="Mon, 19 Sep 2011 13:51:24 +0000"  >&lt;p&gt;Got the same issue for ORM in 2.1.1 and same in master. Made a fix based on fix for ODM and pull request on github.&lt;/p&gt;

&lt;p&gt;URL: &lt;a href=&quot;https://github.com/doctrine/doctrine2/pull/126&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/doctrine2/pull/126&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PS: maybe new issue should be created in Doctrine 2 - ORM project for this issue&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-156] Github-PR-152 by vladar: Property ClassMetadata::file is not serialized</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-156</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of &lt;/p&gt;
{username}
&lt;p&gt;:&lt;/p&gt;

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

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

&lt;p&gt;This is causing errors, when saving gridfs files with persistent metadata cache engine (like apc, memcached, etc).&lt;/p&gt;

&lt;p&gt;I&apos;ve also found same bug in Jira - &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-132&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/MODM-132&lt;/a&gt; but seems that it is not fixed yet.&lt;/p&gt;

&lt;p&gt;Added fix + tests.&lt;/p&gt;
</description>
                <environment></environment>
            <key id="12970">MODM-156</key>
            <summary>Github-PR-152 by vladar: Property ClassMetadata::file is not serialized</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>Thu, 25 Aug 2011 18:02:51 +0000</created>
                <updated>Thu, 25 Aug 2011 18:02:51 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-155] Github-PR-148 by roed: fixed generating of classes</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-155</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of &lt;/p&gt;
{username}
&lt;p&gt;:&lt;/p&gt;

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

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

&lt;p&gt;fixed the generating of classes based on xml files, changed ClassMetadata to ClassMetadataInfo in these files (as in the ORM tool/mapping)&lt;/p&gt;

&lt;p&gt;the following did not work, but works after these changes:&lt;br/&gt;
$cmf = new \Doctrine\ODM\MongoDB\Tools\DisconnectedClassMetadataFactory();	&lt;br/&gt;
$cmf-&amp;gt;setDocumentManager($this-&amp;gt;_dm);			&lt;br/&gt;
$cmf-&amp;gt;setConfiguration($this-&amp;gt;_dm-&amp;gt;getConfiguration());		&lt;br/&gt;
$driver = $this-&amp;gt;_dm-&amp;gt;getConfiguration()-&amp;gt;getMetadataDriverImpl();		&lt;/p&gt;

&lt;p&gt;$metadatas = $cmf-&amp;gt;getAllMetadata(); //this would break it&lt;/p&gt;

&lt;p&gt;// $this-&amp;gt;_dm is an instance of Doctrine\ODM\MongoDB\DocumentManager&lt;/p&gt;</description>
                <environment></environment>
            <key id="12951">MODM-155</key>
            <summary>Github-PR-148 by roed: fixed generating of classes</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>Sun, 21 Aug 2011 14:46:29 +0000</created>
                <updated>Sun, 21 Aug 2011 14:46:29 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-154] Github-PR-150 by tecbot: [XMLDriver] fixed an error in hydration classes when the name is not equal to the fieldName</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-154</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;This issue is created automatically through a Github pull request on behalf of &lt;/p&gt;
{username}
&lt;p&gt;:&lt;/p&gt;

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

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

</description>
                <environment></environment>
            <key id="12950">MODM-154</key>
            <summary>Github-PR-150 by tecbot: [XMLDriver] fixed an error in hydration classes when the name is not equal to the fieldName</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>Sun, 21 Aug 2011 14:46:27 +0000</created>
                <updated>Sun, 21 Aug 2011 14:46:27 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-153] &quot;Near&quot; Query does not work.</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-153</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;&quot;Near&quot; statement does not work for me. The following code returns  &lt;b&gt;all&lt;/b&gt;  cities from collection:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;$cities = $this-&amp;gt;dm-&amp;gt;createQuery(&apos;City&apos;)
    -&amp;gt;field(&apos;coordinates&apos;)-&amp;gt;near(50, 60)
    -&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Could you please fix it?&lt;/p&gt;</description>
                <environment></environment>
            <key id="12912">MODM-153</key>
            <summary>&quot;Near&quot; Query does not work.</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="dmitry-by">Dmitry</reporter>
                        <labels>
                    </labels>
                <created>Wed, 10 Aug 2011 12:55:40 +0000</created>
                <updated>Mon, 20 Feb 2012 19:54:57 +0000</updated>
                                    <version>1.0.0BETA2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="16411" author="maarky" created="Fri, 2 Sep 2011 04:11:59 +0000"  >&lt;p&gt;It also does not work in beta3 but it fails differently. It never returns anything.&lt;/p&gt;

&lt;p&gt;$places = $documentManager-&amp;gt;createQueryBuilder(&apos;Documents\Place&apos;)&lt;br/&gt;
			-&amp;gt;field(&apos;point&apos;)&lt;br/&gt;
			-&amp;gt;near(36.5788494, -121.7207804)&lt;br/&gt;
			-&amp;gt;getQuery()&lt;br/&gt;
			-&amp;gt;execute();&lt;/p&gt;

&lt;p&gt;This returns 0 documents even though I have a point at 36.5788493, -121.7207805. Doctrine\MongoDB\Query\Builder::near() only takes one argument so the Y value is ignored. However, the docblock specifies 2 params.&lt;/p&gt;</comment>
                    <comment id="16426" author="timatej" created="Sun, 4 Sep 2011 19:10:45 +0000"  >&lt;p&gt;Hi All,&lt;/p&gt;

&lt;p&gt;Here is correct realization of this function in &lt;br/&gt;
Doctrine\MongoDB\Query\Builder&lt;/p&gt;

&lt;p&gt;    public function near($x, $y)&lt;/p&gt;
    {
        $this-&amp;gt;query[&apos;type&apos;] = Query::TYPE_GEO_LOCATION;
        $this-&amp;gt;query[&apos;near&apos;] = array($x, $y);
        return $this;
    }

&lt;p&gt;When may this fix appear in Doctrine ODM?&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                    <comment id="17468" author="nvoyageur" created="Mon, 20 Feb 2012 19:54:57 +0000"  >&lt;p&gt;I had the same issue on 1.0.0.BETA3.&lt;/p&gt;

&lt;p&gt;The solution was to change the query up a little.&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-none&quot;&gt;$places = $this-&amp;gt;dm-&amp;gt;createQueryBuilder(&apos;\Application\Event&apos;)-&amp;gt;field(&apos;latitude&apos;)-&amp;gt;near(50)-&amp;gt;field(&apos;longitude&apos;)-&amp;gt;near(60)-&amp;gt;getQuery()-&amp;gt;execute(); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/a/9015906/179335&quot; class=&quot;external-link&quot;&gt;http://stackoverflow.com/a/9015906/179335&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-152] Single Collection Inheritance mapping does NOT work if the subclasses are in a different namespace</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-152</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have described the issue in detail here: &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/issues/124&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/issues/124&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12806">MODM-152</key>
            <summary>Single Collection Inheritance mapping does NOT work if the subclasses are in a different namespace</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dayson">Dayson Pais</reporter>
                        <labels>
                    </labels>
                <created>Sat, 9 Jul 2011 16:19:34 +0000</created>
                <updated>Sat, 9 Jul 2011 16:19:34 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-151] Missing Annotation class HasLifecycleCallbacks</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-151</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Annotation class HasLifecycleCallbacks is missing in Doctrine\ODM\MongoDB\Mapping\Annotations&lt;/p&gt;</description>
                <environment>latest MongoDB ODM from git master repository</environment>
            <key id="12799">MODM-151</key>
            <summary>Missing Annotation class HasLifecycleCallbacks</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="adrive">Miloslav &quot;adrive&quot; Kmet</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Jul 2011 13:14:42 +0000</created>
                <updated>Thu, 7 Jul 2011 13:14:42 +0000</updated>
                                                                    <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-150] XSD file for XML mappings is incomplete</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-150</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The XSD file for XML mappings (&lt;a href=&quot;http://www.doctrine-project.org/schemas/odm/doctrine-mongo-mapping.xsd&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/schemas/odm/doctrine-mongo-mapping.xsd&lt;/a&gt;) appears to be incomplete:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Only document is allowed as root tag, not mapped-superclass or embedded-document&lt;/li&gt;
	&lt;li&gt;The name attribute for the document tag is not allowed according to the XSD file&lt;/li&gt;
	&lt;li&gt;The fieldName, index and unique attributes for the field tag is not allowed according to the XSD file&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;These are the problems I discovered at the moment, I haven&apos;t yet checked for more problems. The XSD file probably needs a bigger update.&lt;/p&gt;

&lt;p&gt;Attached is a patch file that adds the missing attributes, I haven&apos;t dug into Doctrine enough to create the mapped-superclass or embedded-document tags.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12798">MODM-150</key>
            <summary>XSD file for XML mappings is incomplete</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="a.braun">alcaeus</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Jul 2011 12:40:20 +0000</created>
                <updated>Thu, 7 Jul 2011 12:40:20 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="11026" name="doctrine-mongo-mapping.xsd.patch" size="1547" author="a.braun" created="Thu, 7 Jul 2011 12:40:20 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-149] Fix PHPDoc @return types in various places</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-149</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;In certain PHPDoc blocks for functions, the @return type is not of the right type. This causes auto-completion issues in various IDEs (I&apos;m using PhpStorm). &lt;/p&gt;

&lt;p&gt;For example, in \Doctrine\ODM\MongoDB\DocumentManager on line #341 the -&amp;gt;createQueryBuilder($documentName = null) function.&lt;/p&gt;

&lt;p&gt;/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Create a new Query instance for a class.&lt;br/&gt;
     *&lt;/li&gt;
	&lt;li&gt;@param string $documentName The document class name.&lt;/li&gt;
	&lt;li&gt;@return Document\ODM\MongoDB\Query  &amp;lt;--------------------------- MUST BE Query\Builder !&lt;br/&gt;
     */&lt;br/&gt;
    public function createQueryBuilder($documentName = null)
    {
        return new Query\Builder($this, $this-&amp;gt;cmd, $documentName);
    }&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="12792">MODM-149</key>
            <summary>Fix PHPDoc @return types in various places</summary>
                <type id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/documentation.png">Documentation</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="dayson">Dayson Pais</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Jul 2011 17:55:05 +0000</created>
                <updated>Thu, 5 Apr 2012 14:23:56 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="17777" author="leedavis81" created="Thu, 5 Apr 2012 14:23:56 +0000"  >&lt;p&gt;This appears to be fixed in 1.0.0BETA4-DEV&lt;/p&gt;

&lt;p&gt;Line 357 in Doctrine\ODM\MongoDB\DocumentManager...&lt;/p&gt;

&lt;p&gt;    /**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Create a new Query instance for a class.&lt;br/&gt;
     *&lt;/li&gt;
	&lt;li&gt;@param string $documentName The document class name.&lt;/li&gt;
	&lt;li&gt;@return Query\Builder&lt;br/&gt;
     */&lt;br/&gt;
    public function createQueryBuilder($documentName = null)
    {
        return new Query\Builder($this, $this-&amp;gt;cmd, $documentName);
    }&lt;/li&gt;
&lt;/ul&gt;
</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-148] Do not add &apos;$db&apos; in reference when referencing document from same $db</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-148</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When using ReferenceOne or ReferenceMany , doctrine will create fully-qualified reference to the object (with all fields: &apos;$id&apos;, &apos;$ref&apos;, &apos;$db&apos;) even when reference is within same $db.&lt;/p&gt;

&lt;p&gt;This approach causes several problems: for example we use mongo database as a template for new clients - when new client registers, template database is copied for him. But since it contains hardcoded $db - copy operation becomes resource consuming, since we have to loop through every document of every collection and fix $db reference.&lt;/p&gt;

&lt;p&gt;Also maintenance suffers, since you can&apos;t easily rename database when required. &lt;/p&gt;

&lt;p&gt;Is it possible to omit $db part when referencing document from same db?&lt;/p&gt;</description>
                <environment></environment>
            <key id="12688">MODM-148</key>
            <summary>Do not add &apos;$db&apos; in reference when referencing document from same $db</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Jun 2011 08:18:53 +0000</created>
                <updated>Thu, 2 Jun 2011 08:18:53 +0000</updated>
                                                                    <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-147] No possibility to get a json object by a working document with toArray method (inluding all the embedded documents as arrays)</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-147</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Description of the problem here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/6155189/doctrine-odm-mongodb-get-a-complete-array-of-an-object&quot; class=&quot;external-link&quot;&gt;http://stackoverflow.com/questions/6155189/doctrine-odm-mongodb-get-a-complete-array-of-an-object&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Problem with the unincisive toArray() method.&lt;/p&gt;</description>
                <environment>Irrelevant</environment>
            <key id="12678">MODM-147</key>
            <summary>No possibility to get a json object by a working document with toArray method (inluding all the embedded documents as arrays)</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="ssalat">Stephan Salat</reporter>
                        <labels>
                    </labels>
                <created>Sat, 28 May 2011 08:25:10 +0000</created>
                <updated>Sat, 28 May 2011 09:13:33 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Collections</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-146] Doctrine MongoDB ODM load referenced documents ends in an endless loop</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-146</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Description of the problem here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/6103483/doctrine-mongodb-odm-load-referenced-documents&quot; class=&quot;external-link&quot;&gt;http://stackoverflow.com/questions/6103483/doctrine-mongodb-odm-load-referenced-documents&lt;/a&gt;&lt;/p&gt;</description>
                <environment>PHP Zend Framework on Ubuntu 10.10</environment>
            <key id="12664">MODM-146</key>
            <summary>Doctrine MongoDB ODM load referenced documents ends in an endless loop</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ssalat">Stephan Salat</reporter>
                        <labels>
                    </labels>
                <created>Tue, 24 May 2011 17:46:25 +0000</created>
                <updated>Sat, 28 May 2011 08:21:47 +0000</updated>
                    <resolved>Sat, 28 May 2011 08:21:47 +0000</resolved>
                            <version>1.0.0BETA3</version>
                                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="15893" author="ssalat" created="Sat, 28 May 2011 08:21:47 +0000"  >&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/6103483/doctrine-mongodb-odm-load-referenced-documents&quot; class=&quot;external-link&quot;&gt;http://stackoverflow.com/questions/6103483/doctrine-mongodb-odm-load-referenced-documents&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-145] QueryBuilder references() to does not support references on embedded objects&apos; fields</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-145</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I noticed that the &lt;tt&gt;references()&lt;/tt&gt; method does not support fields on embedded objects, as the argument to the preceding &lt;tt&gt;field()&lt;/tt&gt; method will be passed into &lt;tt&gt;getFieldMapping()&lt;/tt&gt; and trigger an exception. I suppose a solution would require multiple calls to &lt;tt&gt;getFieldMapping()&lt;/tt&gt; in order to dive into the embedded object&apos;s class metadata.&lt;/p&gt;

&lt;p&gt;To demonstrate, below is an example of a &lt;tt&gt;UserRepository&lt;/tt&gt; class. The &lt;tt&gt;User&lt;/tt&gt; document contains an &lt;tt&gt;embeddedObject&lt;/tt&gt; that itself references another &lt;tt&gt;User&lt;/tt&gt;:&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 UserRepository &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; DocumentRepository
{ 
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function findByEmbeddedObjectReference(User $user)
    {
        &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;createQueryBuilder()
            -&amp;gt;field(&apos;embeddedObject.user.$id&apos;)-&amp;gt;equals($user-&amp;gt;getId())
&lt;span class=&quot;code-comment&quot;&gt;//          -&amp;gt;field(&apos;embeddedObject.user&apos;)-&amp;gt;references($user)
&lt;/span&gt;            -&amp;gt;getQuery()
            -&amp;gt;execute();
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Using &lt;tt&gt;field()/equals()&lt;/tt&gt; works fine as an alternative to &lt;tt&gt;references()&lt;/tt&gt;, so there is no urgent need for this feature.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12661">MODM-145</key>
            <summary>QueryBuilder references() to does not support references on embedded objects&apos; fields</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="jmikola">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 May 2011 16:22:55 +0000</created>
                <updated>Tue, 25 Oct 2011 13:56:55 +0000</updated>
                                                                    <component>Query Builder</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="16696" author="neekobus" created="Tue, 25 Oct 2011 13:55:13 +0000"  >&lt;p&gt;Hi&lt;/p&gt;

&lt;p&gt;It seems that we have a problem with the temporary solution proposed :&lt;br/&gt;
Doctrine remove the &quot;$id&quot; part in our 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;   obj-&amp;gt;field(&apos;embedded.referenced.$id&apos;)-&amp;gt;equals($reference-&amp;gt;getId())
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;will generate the query without &quot;$id&quot;. &lt;br/&gt;
There is no problem when the reference is directly in the requested object.&lt;/p&gt;

&lt;p&gt;Did someone experience this issue ?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-144] Bi-Directional References Feature</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-144</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I cant&#180;t reproduce the Bi-Directional References with my own example or the example of the documentation.&lt;br/&gt;
Perhaps the documentation is not up to date or their ist a bug.&lt;/p&gt;

&lt;p&gt;BlogPost.php&lt;br/&gt;
&amp;lt;?php&lt;/p&gt;

&lt;p&gt;/** @Document */&lt;br/&gt;
class BlogPost&lt;br/&gt;
{&lt;br/&gt;
    /** @Id */&lt;br/&gt;
    public $id;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $title;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $content;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $createtime;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $updatetime;&lt;/p&gt;

&lt;p&gt;    /** @ReferenceMany(targetDocument=&quot;PostComment&quot;, mappedBy=&quot;post&quot;) */&lt;br/&gt;
    private $comments;&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;PostComment.php&lt;br/&gt;
&amp;lt;?php&lt;/p&gt;

&lt;p&gt;/** @Document */&lt;br/&gt;
class PostComment&lt;br/&gt;
{&lt;br/&gt;
    /** @Id */&lt;br/&gt;
    public $id;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $name;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $mail;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $content;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $createtime;&lt;/p&gt;

&lt;p&gt;    /** @String */&lt;br/&gt;
    public $updatetime;&lt;/p&gt;

&lt;p&gt;    /** @ReferenceOne(targetDocument=&quot;BlogPost&quot;, inversedBy=&quot;comments&quot;) */&lt;br/&gt;
    private $post;&lt;br/&gt;
}&lt;/p&gt;


&lt;p&gt;CommentController.php&lt;br/&gt;
        // Save the Post&lt;br/&gt;
        $post = new BlogPost();&lt;br/&gt;
        $post-&amp;gt;setTitle = &apos;testtitle&apos;;&lt;br/&gt;
        //$post-&amp;gt;content = &apos;testcontent&apos;;&lt;br/&gt;
        //$post-&amp;gt;createdate = time();&lt;/p&gt;

&lt;p&gt;        $comment1 = new PostComment();&lt;br/&gt;
        $comment1-&amp;gt;title = &apos;testcommenttitle1&apos;;&lt;/p&gt;

&lt;p&gt;        $comment2 = new PostComment();&lt;br/&gt;
        $comment2-&amp;gt;title = &apos;testcommenttitle2&apos;;&lt;/p&gt;

&lt;p&gt;        $comment3 = new PostComment();&lt;br/&gt;
        $comment3-&amp;gt;title = &apos;testcommenttitle3&apos;;&lt;/p&gt;

&lt;p&gt;        $dm-&amp;gt;persist($comment1);&lt;br/&gt;
        $dm-&amp;gt;persist($comment2);&lt;br/&gt;
        $dm-&amp;gt;persist($comment3);&lt;br/&gt;
        $dm-&amp;gt;flush();&lt;/p&gt;

&lt;p&gt;        echo $post-&amp;gt;id;&lt;/p&gt;

&lt;p&gt;        /*$posts = $dm-&amp;gt;createQueryBuilder(&apos;BlogPost&apos;)&lt;br/&gt;
                        -&amp;gt;getQuery();*/&lt;/p&gt;

&lt;p&gt;        $post = $dm-&amp;gt;getRepository(&apos;BlogPost&apos;)-&amp;gt;find(&apos;4dd45739f563724c23000002&apos;);&lt;/p&gt;

&lt;p&gt;        Zend_Debug::dump($post);&lt;br/&gt;
        $comments = $post-&amp;gt;getComments();&lt;/p&gt;

&lt;p&gt;------------------------&lt;br/&gt;
In the documentation the example is&lt;br/&gt;
$post1-&amp;gt;setUser($user);&lt;br/&gt;
But the only working for me is:&lt;br/&gt;
$post-&amp;gt;setTitle = &apos;testtitle&apos;;&lt;/p&gt;

&lt;p&gt;Anyway, I can&#180;t get the Comments from the mongodb.&lt;br/&gt;
I always get this error.&lt;br/&gt;
Fatal error: Call to undefined method BlogPost::getComments()&lt;br/&gt;
This is a correct error message because BlogPost really dont have a getComments()&lt;br/&gt;
method. How do I get my Comments then?&lt;br/&gt;
Any help would be great.&lt;/p&gt;

&lt;p&gt;Greetings tronga&lt;/p&gt;</description>
                <environment>Zend Framework 1.11.6</environment>
            <key id="12647">MODM-144</key>
            <summary>Bi-Directional References Feature</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tronga">Jan Gantzert</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 May 2011 23:49:19 +0000</created>
                <updated>Wed, 18 May 2011 23:49:19 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-143] Mismatch in configuration classes, can&apos;t enable logging</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-143</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;My bootstrap:&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; 
        $config = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Doctrine\ODM\MongoDB\Configuration();
        $config-&amp;gt;setProxyDir(APPLICATION_PATH . &apos;/../data/cache&apos;);
        $config-&amp;gt;setProxyNamespace(&apos;Proxies&apos;);
        $config-&amp;gt;setDefaultDB([skip]);

        $config-&amp;gt;setHydratorDir(APPLICATION_PATH . &apos;/../data/cache&apos;);
        $config-&amp;gt;setHydratorNamespace(&apos;Hydrators&apos;);

        $config-&amp;gt;setLoggerCallable(function(array $log) { print_r($log); });

        $reader = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\Common\Annotations\AnnotationReader();
        $reader-&amp;gt;setDefaultAnnotationNamespace(&apos;Doctrine\ODM\MongoDB\Mapping\\&apos;);
        $config-&amp;gt;setMetadataDriverImpl(
            &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver($reader, __DIR__ . &apos;/Documents&apos;)
        );

        $manager = \Doctrine\ODM\MongoDB\DocumentManager::create(
            &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Doctrine\MongoDB\Connection(),
            $config
        );
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;And nothing happens &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;Trace from Doctrine\MongoDB\Configuration::getLoggerCallable():&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;#0 [skip]/Doctrine/MongoDB/Connection.php(248): Doctrine\MongoDB\Configuration-&amp;gt;getLoggerCallable()
#1 [skip]/Doctrine/MongoDB/Connection.php(231): Doctrine\MongoDB\Connection-&amp;gt;wrapDatabase(Object(MongoDB))
#2 [skip]/Doctrine/ODM/MongoDB/DocumentManager.php(287): Doctrine\MongoDB\Connection-&amp;gt;selectDatabase([skip])
#3 [skip]/Doctrine/ODM/MongoDB/DocumentManager.php(316): Doctrine\ODM\MongoDB\DocumentManager-&amp;gt;getDocumentDatabase(&apos;BPM\User&apos;)
#4 [skip]/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php(148): Doctrine\ODM\MongoDB\DocumentManager-&amp;gt;getDocumentCollection(&apos;BPM\User&apos;)
#5 [skip]/Doctrine/ODM/MongoDB/UnitOfWork.php(319): Doctrine\ODM\MongoDB\Persisters\DocumentPersister-&amp;gt;__construct(Object(Doctrine\ODM\MongoDB\Persisters\PersistenceBuilder), Object(Doctrine\ODM\MongoDB\DocumentManager), Object(Doctrine\Common\EventManager), Object(Doctrine\ODM\MongoDB\UnitOfWork), Object(Doctrine\ODM\MongoDB\Hydrator\HydratorFactory), Object(Doctrine\ODM\MongoDB\Mapping\ClassMetadata), &apos;$&apos;)
#6 [skip]/Doctrine/ODM/MongoDB/DocumentRepository.php(115): Doctrine\ODM\MongoDB\UnitOfWork-&amp;gt;getDocumentPersister(&apos;BPM\User&apos;)
#7 [skip]application/library/BPM/UserData.php(43): Doctrine\ODM\MongoDB\DocumentRepository-&amp;gt;find(&apos;4dc9d0192d91365...&apos;)
[skip]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;get_class($this) from Doctrine\MongoDB\Configuration::setLoggerCallable() write &apos;Doctrine\ODM\MongoDB\Configuration&apos; like expected, but in getLoggerCallable() write &apos;Doctrine\MongoDB\Configuration&apos;&lt;/p&gt;


&lt;p&gt;Do you have any ideas about this behaviour?&lt;/p&gt;</description>
                <environment></environment>
            <key id="12627">MODM-143</key>
            <summary>Mismatch in configuration classes, can&apos;t enable logging</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="korchasa">Stanislav Korchagin</reporter>
                        <labels>
                    </labels>
                <created>Wed, 11 May 2011 01:21:29 +0000</created>
                <updated>Mon, 16 May 2011 09:15:23 +0000</updated>
                    <resolved>Mon, 16 May 2011 09:15:23 +0000</resolved>
                            <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15862" author="korchasa" created="Mon, 16 May 2011 09:15:23 +0000"  >&lt;p&gt;The error was in my bootstrap code:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;- $manager = \Doctrine\ODM\MongoDB\DocumentManager::create(
-           new \Doctrine\MongoDB\Connection(),
-            $config
-        );
+ $manager = \Doctrine\ODM\MongoDB\DocumentManager::create(
+           null,
+            $config
+        );
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But confusion still exists, because I used an example from the documentation (&lt;a href=&quot;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/introduction.html#setup&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/introduction.html#setup&lt;/a&gt;).&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-142] DocumentRepository::findBy() not compatible with interface</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-142</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I want to get a document repository for my Document\Event document class but instead i get a fatal error.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;Pseudo&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&amp;lt;?php

use Doctrine\MongoDB\Connection;
use Doctrine\ODM\MongoDB\DocumentManager;
use Doctrine\ODM\MongoDB\Configuration;
use Documents\Event;

$manager = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; DocumentManager(
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Connection(...),
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Configuration(...)
);

$manager-&amp;gt;getRepository(&apos;Documents\Event&apos;);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;&lt;p&gt;Fatal error: Declaration of Doctrine\ODM\MongoDB\DocumentRepository::findBy() must be compatible with that of Doctrine\Common\Persistence\ObjectRepository::findBy() in /home/jpieper/Workspace/Jersey/vendor/doctrine-common/lib/Doctrine/ODM/MongoDB/DocumentRepository.php on line 39&lt;/p&gt;&lt;/blockquote&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;DoctrineCommonPersistenceObjectRepository.php (github@5a285537)&lt;/b&gt;&lt;/div&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 findBy(array $criteria, array $orderBy = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, $limit = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, $offset = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;);&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;DoctrineODMMongoDBDocumentRepository.php (github@8d02e843)&lt;/b&gt;&lt;/div&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 findBy(array $criteria) { ... }&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;See &lt;a href=&quot;https://github.com/doctrine/common/commit/5a2855372834cf37e0408e80dcb9a9c97ec1d352#lib/Doctrine/Common/Persistence&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/common/commit/5a2855372834cf37e0408e80dcb9a9c97ec1d352#lib/Doctrine/Common/Persistence&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12618">MODM-142</key>
            <summary>DocumentRepository::findBy() not compatible with interface</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jpieper">Jan Pieper</reporter>
                        <labels>
                    </labels>
                <created>Sat, 7 May 2011 08:28:22 +0000</created>
                <updated>Sat, 7 May 2011 08:28:22 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Document Repositories</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-141] Doctrine ODM: Documentation error</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-141</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I think that is a documentation issue, in &lt;a href=&quot;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html&lt;/a&gt; (15.3. Modifier Operations) the queries are like:&lt;/p&gt;

&lt;p&gt;$dm-&amp;gt;createQueryBuilder(&apos;User&apos;)&lt;/p&gt;

&lt;p&gt;    &lt;del&gt;&amp;gt;field(&apos;password&apos;)&lt;/del&gt;&amp;gt;set(&apos;newpassword&apos;)&lt;/p&gt;

&lt;p&gt;    &lt;del&gt;&amp;gt;field(&apos;username&apos;)&lt;/del&gt;&amp;gt;equals(&apos;jwage&apos;)&lt;/p&gt;

&lt;p&gt;    -&amp;gt;getQuery()&lt;br/&gt;
    -&amp;gt;execute();&lt;/p&gt;


&lt;p&gt;But it is missing the update(), it should be like:&lt;/p&gt;

&lt;p&gt;$dm-&amp;gt;createQueryBuilder(&apos;User&apos;)&lt;/p&gt;

&lt;p&gt;    -&amp;gt;update()&lt;br/&gt;
    &lt;del&gt;&amp;gt;field(&apos;password&apos;)&lt;/del&gt;&amp;gt;set(&apos;newpassword&apos;)&lt;/p&gt;

&lt;p&gt;    &lt;del&gt;&amp;gt;field(&apos;username&apos;)&lt;/del&gt;&amp;gt;equals(&apos;jwage&apos;)&lt;/p&gt;

&lt;p&gt;    -&amp;gt;getQuery()&lt;br/&gt;
    -&amp;gt;execute();&lt;/p&gt;

&lt;p&gt;All the queries in that section have similar issue&lt;/p&gt;</description>
                <environment>not applicable</environment>
            <key id="12583">MODM-141</key>
            <summary>Doctrine ODM: Documentation error</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="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="diego.lewin">Diego Lewin</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Apr 2011 18:38:27 +0000</created>
                <updated>Tue, 26 Apr 2011 18:38:27 +0000</updated>
                                                                            <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-140] Issue with nested embdedded documents after adding an EmbeddedDocument to Document</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-140</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I&apos;m using the latest version of Doctrine ODM (fresh from Git).&lt;/p&gt;

&lt;p&gt;I have three levels of Documents (Two embedded); Category -&amp;gt; EmbedsMany: Post -&amp;gt; EmbedsMany PostVersion. &lt;/p&gt;

&lt;p&gt;Step-by-step:&lt;/p&gt;

&lt;p&gt; 1. Make a new Post (Post1), 2 PostVersions (PostVersion1 and 2) and a Category&lt;br/&gt;
 2. Add Post1 to Category&lt;br/&gt;
 3. Persist Category, Flush, Clear&lt;br/&gt;
 4. Retrieve Category&lt;br/&gt;
 5. Make a new Post (Post2) and 2 PostVersions(PostVersion3 and 4)&lt;br/&gt;
 6. Add Post2 to Category&lt;br/&gt;
 7. Flush&lt;/p&gt;

&lt;p&gt;If you&apos;re following properly, at this stage in the database there should be:&lt;br/&gt;
1 Category, &lt;br/&gt;
2 Posts&lt;br/&gt;
4 PostVersions ... &lt;b&gt;2&lt;/b&gt; PostVersions in each Post&lt;/p&gt;

&lt;p&gt;However, what actually happens is:&lt;br/&gt;
1 Category, &lt;br/&gt;
2 Posts&lt;br/&gt;
4 PostVersions ... &lt;b&gt;4&lt;/b&gt; PostVersions in Post1, &lt;b&gt;0&lt;/b&gt; PostVersions in Post2&lt;/p&gt;

&lt;p&gt;On StackOverflow: &lt;a href=&quot;http://bit.ly/ekFbe2&quot; class=&quot;external-link&quot;&gt;http://bit.ly/ekFbe2&lt;/a&gt;&lt;br/&gt;
Testcase Gist: &lt;a href=&quot;https://gist.github.com/920914&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/920914&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A work around is to make Post2 and add it to Category, flush, then make new PostVersions and flush again.&lt;/p&gt;

&lt;p&gt;I did some debugging but I don&apos;t know enough about the internals to fix the issue.&lt;/p&gt;</description>
                <environment>PHP 5.3.3, Mac OS X 10.6.6, MongoDB 1.8.0</environment>
            <key id="12562">MODM-140</key>
            <summary>Issue with nested embdedded documents after adding an EmbeddedDocument to Document</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="cobby">Andrew Cobby</reporter>
                        <labels>
                    </labels>
                <created>Thu, 14 Apr 2011 01:38:01 +0000</created>
                <updated>Mon, 19 Dec 2011 02:05:44 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>UnitOfWork</component>
                        <due></due>
                    <votes>5</votes>
                        <watches>6</watches>
                        <comments>
                    <comment id="15731" author="cobby" created="Thu, 14 Apr 2011 02:09:07 +0000"  >&lt;p&gt;Failing test&lt;/p&gt;</comment>
                    <comment id="15732" author="cobby" created="Thu, 14 Apr 2011 20:53:10 +0000"  >&lt;p&gt;Added a test using the EmbdeddedTestLevelX Documents, please refer to Gist: &lt;a href=&quot;https://gist.github.com/920914&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/920914&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For some reason, they work? I&apos;m thinking maybe this isn&apos;t a bug... very confused at the moment.&lt;/p&gt;</comment>
                    <comment id="16011" author="arevai" created="Sat, 18 Jun 2011 19:36:18 +0000"  >&lt;p&gt;I&apos;ve got the same problem.&lt;/p&gt;</comment>
                    <comment id="16301" author="kelvinw" created="Tue, 9 Aug 2011 03:50:04 +0000"  >&lt;p&gt;I had a similar problem, and resolved it with the attached patch (based on the 1.0.0beta3 release).&lt;/p&gt;

&lt;p&gt;This patch causes the ODM to stop scanning for changes further down the heirachy once it finds a new object, and then ensures that the Persistence Builder will include all contents of the new item.&lt;/p&gt;</comment>
                    <comment id="17033" author="iampersistent" created="Mon, 19 Dec 2011 02:05:44 +0000"  >&lt;p&gt;Kevin, do you want to put a PR in on github for this?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="11044" name="doctrine-odm-patch-1.0.0beta3.diff" size="3780" author="kelvinw" created="Tue, 9 Aug 2011 03:50:04 +0000" />
                    <attachment id="10972" name="MODM140Test.php" size="1830" author="cobby" created="Thu, 14 Apr 2011 02:09:07 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-139] [PATCH] @ReferenceMany with no referenceMapping cannot handle DBRef in all / in queries</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-139</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have thoose examples : &lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;/** @Document 
 * @InheritanceType(&quot;SINGLE_COLLECTION&quot;)
 * @DiscriminatorField(fieldName=&quot;type&quot;)
 * @DiscriminatorMap({&quot;Test\Product&quot;=&quot;Product&quot;, &quot;Test\Year&quot;=&quot;Year&quot;})
*/
Attributes {
   /** @Id */
   protected $_id;
}

/** @Document */
class Product extends Attributes {}

/** @Document */
class Year extends Attributes {}

/**
 * Classe de base pour les diff&#233;rents contenus
 * @Document
 * @InheritanceType(&quot;SINGLE_COLLECTION&quot;)
 * @DiscriminatorField(fieldName=&quot;type&quot;)
 * @DiscriminatorMap({&quot;Test\Document&quot;=&quot;Document&quot;, &quot;Test\Infos&quot;=&quot;Infos&quot;})  
 */
class Content
{
   /** protected $_id */
    /** @ReferenceMany */
    protected $_attributes;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And the querying stuff&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;//and the query : 
$queryBuilder = $dm-&amp;gt;createQueryBuilder(&apos;Test\DOcument&apos;);
//...
$attribute1Ref = $dm-&amp;gt;createDBRef($attribute1Object);
$attribute2Ref = $dm-&amp;gt;createDBRef($attribute2Object);
$queryBuilder-&amp;gt;field(&apos;_attributes&apos;)-&amp;gt;all(array($attribute1Ref, $attribute2Ref));
$queryBuilder-&amp;gt;getQuery()-&amp;gt;execute();//Won&apos;t work as the generated query won&apos;t specify the &quot;_doctrine_class_name&quot; value.
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Proposed patch in DocumentManager : &lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;    /**
     * Returns a DBRef array for the supplied document.
     *
     * @param mixed $document A document object
     * @param array $referenceMapping Mapping for the field the references the document
     *
     * @return array A DBRef array
     */
    public function createDBRef($document, array $referenceMapping = null)
    {
        $className = get_class($document);
        $class = $this-&amp;gt;getClassMetadata($className);
        $id = $this-&amp;gt;unitOfWork-&amp;gt;getDocumentIdentifier($document);

        $dbRef = array(
            $this-&amp;gt;cmd . &apos;ref&apos; =&amp;gt; $class-&amp;gt;getCollection(),
            $this-&amp;gt;cmd . &apos;id&apos;  =&amp;gt; $class-&amp;gt;getDatabaseIdentifierValue($id),
            $this-&amp;gt;cmd . &apos;db&apos;  =&amp;gt; $this-&amp;gt;getDocumentDatabase($className)-&amp;gt;getName()
        );

        // add a discriminator value if the referenced document is not mapped explicitely to a targetDocument
        if ($referenceMapping &amp;amp;&amp;amp; ! isset($referenceMapping[&apos;targetDocument&apos;])) {
            $discriminatorField = isset($referenceMapping[&apos;discriminatorField&apos;]) ? $referenceMapping[&apos;discriminatorField&apos;] : &apos;_doctrine_class_name&apos;;
            $discriminatorValue = isset($referenceMapping[&apos;discriminatorMap&apos;]) ? array_search($class-&amp;gt;getName(), $referenceMapping[&apos;discriminatorMap&apos;]) : $class-&amp;gt;getName();
            $dbRef[$discriminatorField] = $discriminatorValue;
+        }  elseif ($referenceMapping === null) {
+            $dbRef[&apos;_doctrine_class_name&apos;] = $class-&amp;gt;getName();
+        }
        return $dbRef;
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>Linux, PHP 5.3</environment>
            <key id="12549">MODM-139</key>
            <summary>[PATCH] @ReferenceMany with no referenceMapping cannot handle DBRef in all / in queries</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="geraldcroes">G&#233;rald Croes</reporter>
                        <labels>
                    </labels>
                <created>Fri, 8 Apr 2011 06:05:31 +0000</created>
                <updated>Fri, 8 Apr 2011 08:08:17 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Document Manager</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-138] Field&apos;s name attribute does not work for the update queries</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-138</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Documents&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 Test 
{
.
.
.
/**
 * @EmbedOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Location&quot;&lt;/span&gt;, name=&lt;span class=&quot;code-quote&quot;&gt;&quot;l&quot;&lt;/span&gt;)
*/
&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $location;
.
.
.
}

/** @EmbeddedDocument */
class Location
{
    /**
	 * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;&quot;&lt;/span&gt;, name=&lt;span class=&quot;code-quote&quot;&gt;&quot;y&quot;&lt;/span&gt;)
	 */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $lat;

    /**
	 * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;float&lt;/span&gt;&quot;&lt;/span&gt;, name=&lt;span class=&quot;code-quote&quot;&gt;&quot;x&quot;&lt;/span&gt;)
	 */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $lng;

	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __construct($latitude,$longitude) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;lat = $latitude;
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;lng = $longitude;
	}
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Update 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;$dm-&amp;gt;createQueryBuilder(&apos;Test&apos;)
-&amp;gt;update()
-&amp;gt;field(&apos;id&apos;)-&amp;gt;equals(123)
-&amp;gt;field(&apos;l&apos;)-&amp;gt;set(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Location(39, 32);
-&amp;gt;getQuery(array(&apos;upsert&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;))
-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Result of this query 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-quote&quot;&gt;&quot;l&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;lat&quot;&lt;/span&gt;: 39,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;lng&quot;&lt;/span&gt;: 32
},

however, it should be

&lt;span class=&quot;code-quote&quot;&gt;&quot;l&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;y&quot;&lt;/span&gt;: 39,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;x&quot;&lt;/span&gt;: 32
},

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;also field function can support field name of the class on update queries, as follows&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;$dm-&amp;gt;createQueryBuilder(&apos;Test&apos;)
-&amp;gt;update()
-&amp;gt;field(&apos;id&apos;)-&amp;gt;equals(123)
-&amp;gt;field(&apos;location&apos;)-&amp;gt;set(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Location(39, 32);
-&amp;gt;getQuery(array(&apos;upsert&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;))
-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="12545">MODM-138</key>
            <summary>Field&apos;s name attribute does not work for the update queries</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="bsrykt">Ba&#351;ar Aykut</reporter>
                        <labels>
                    </labels>
                <created>Thu, 7 Apr 2011 12:38:04 +0000</created>
                <updated>Thu, 7 Apr 2011 12:38:04 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-137] Undefined index &apos;criteria&apos; in DocumentPersister</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-137</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;On the master branch, a notice is thrown on line 531 of the DocumentPersister for an undefined index &apos;criteria&apos;. This is when using the Yaml driver.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php#L531&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php#L531&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Full notice:&lt;br/&gt;
Notice: Undefined index: criteria in /Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php on line 531&lt;br/&gt;
PHP Warning: array_merge(): Argument #2 is not an array in /Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php on line 532&lt;/p&gt;

&lt;p&gt;Warning: array_merge(): Argument #2 is not an array in /Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php on line 532&lt;br/&gt;
PHP Catchable fatal error: Argument 1 passed to Doctrine\MongoDB\Collection::find() must be an array, null given, called in Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php on line 533 and defined in Doctrine/MongoDB/Collection.php on line 169&lt;/p&gt;

&lt;p&gt;Catchable fatal error: Argument 1 passed to Doctrine\MongoDB\Collection::find() must be an array, null given, called in Doctrine/ODM/MongoDB/Persisters/DocumentPersister.php on line 533 and defined in /Doctrine/MongoDB/Collection.php on line 169&lt;/p&gt;</description>
                <environment></environment>
            <key id="12532">MODM-137</key>
            <summary>Undefined index &apos;criteria&apos; in DocumentPersister</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="kevbradwick">Kevin Bradwick</reporter>
                        <labels>
                    </labels>
                <created>Mon, 4 Apr 2011 18:50:06 +0000</created>
                <updated>Mon, 4 Apr 2011 18:50:06 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-136] Document&apos;s fields names are not properly converted to database names in a query</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-136</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>
&lt;p&gt;Mappings:&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;/**
 * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;date&quot;&lt;/span&gt;, name=&lt;span class=&quot;code-quote&quot;&gt;&quot;scheduled_at&quot;&lt;/span&gt;)
 */
&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $scheduledAt;

/**
 * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;date&quot;&lt;/span&gt;, name=&lt;span class=&quot;code-quote&quot;&gt;&quot;completed_at&quot;&lt;/span&gt;)
 */
&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $completedAt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;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;$qb-&amp;gt;field(&apos;scheduledAt&apos;)-&amp;gt;lte($now)
   -&amp;gt;addOr($qb-&amp;gt;expr()-&amp;gt;field(&apos;completedAt&apos;)-&amp;gt;lte($now))
   -&amp;gt;addOr($qb-&amp;gt;expr()-&amp;gt;field(&apos;completedAt&apos;)-&amp;gt;equals(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;))
   -&amp;gt;sort(&apos;scheduledAt&apos;, &apos;asc&apos;);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Expected result:&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;db.foo.find({
    &lt;span class=&quot;code-quote&quot;&gt;&quot;scheduled_at&quot;&lt;/span&gt;: { &lt;span class=&quot;code-quote&quot;&gt;&quot;$lte&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Date(...) }, 
    &lt;span class=&quot;code-quote&quot;&gt;&quot;$or&quot;&lt;/span&gt;: [ 
        { &lt;span class=&quot;code-quote&quot;&gt;&quot;completed_at&quot;&lt;/span&gt;: {  &lt;span class=&quot;code-quote&quot;&gt;&quot;$lte&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Date(...) } }, 
        { &lt;span class=&quot;code-quote&quot;&gt;&quot;completed_at&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; } ] 
})
.sort({ &lt;span class=&quot;code-quote&quot;&gt;&quot;scheduled_at&quot;&lt;/span&gt;: 1 });
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Actual result:&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;db.foo.find({
    &lt;span class=&quot;code-quote&quot;&gt;&quot;scheduled_at&quot;&lt;/span&gt;: { &lt;span class=&quot;code-quote&quot;&gt;&quot;$lte&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Date(...) }, 
    &lt;span class=&quot;code-quote&quot;&gt;&quot;$or&quot;&lt;/span&gt;: [ 
        { &lt;span class=&quot;code-quote&quot;&gt;&quot;completedAt&quot;&lt;/span&gt;: {  &lt;span class=&quot;code-quote&quot;&gt;&quot;$lte&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Date(...) } }, 
        { &lt;span class=&quot;code-quote&quot;&gt;&quot;completedAt&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; } ] 
})
.sort({ &lt;span class=&quot;code-quote&quot;&gt;&quot;scheduledAt&quot;&lt;/span&gt;: 1 });
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;






</description>
                <environment></environment>
            <key id="12502">MODM-136</key>
            <summary>Document&apos;s fields names are not properly converted to database names in a query</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rybakit">Eugene Leonovich</reporter>
                        <labels>
                    </labels>
                <created>Sun, 27 Mar 2011 09:13:03 +0000</created>
                <updated>Sun, 27 Mar 2011 09:13:03 +0000</updated>
                                                                            <due></due>
                    <votes>1</votes>
                        <watches>2</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-135] [Cursor] ReferenceMany sort mapping not working</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-135</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have a document like this:&lt;/p&gt;

&lt;p&gt;/** @Document */&lt;br/&gt;
class Page&lt;br/&gt;
{&lt;br/&gt;
	/** @Id */&lt;br/&gt;
	protected $id;&lt;/p&gt;

&lt;p&gt;	/** @ReferenceMany(sort=&lt;/p&gt;
{&quot;order&quot;=&quot;asc&quot;}
&lt;p&gt;) */&lt;br/&gt;
	protected $blocks;&lt;br/&gt;
}&lt;/p&gt;


&lt;p&gt;If i have well understood things, i can do:&lt;/p&gt;

&lt;p&gt;$blocks = $dm-&amp;gt;getRepository(&apos;Page&apos;)&lt;del&gt;&amp;gt;find($id)&lt;/del&gt;&amp;gt;getBlocks();&lt;/p&gt;

&lt;p&gt;blocks should now be sorted by $order property.&lt;/p&gt;



&lt;p&gt;This behaviour doesn&apos;t seems to work (or maybe i&apos;m missing something). &lt;br/&gt;
In the attachment there&apos;s a test case&lt;/p&gt;

&lt;p&gt;i made the priority major because in my case i haven&apos;t found a workaround (i&apos;m using nested referenceMany, a child can have children,  which can have children, ..). &lt;/p&gt;</description>
                <environment>Macosx</environment>
            <key id="12498">MODM-135</key>
            <summary>[Cursor] ReferenceMany sort mapping not working</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="gordonslondon">jules b</reporter>
                        <labels>
                    </labels>
                <created>Fri, 25 Mar 2011 19:10:05 +0000</created>
                <updated>Sat, 26 Mar 2011 07:58:32 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                                <attachments>
                    <attachment id="10961" name="MODM135.zip" size="5312" author="gordonslondon" created="Fri, 25 Mar 2011 19:10:05 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-134] Reference added twice</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-134</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have a listener who listens on onFlush event, &lt;br/&gt;
i have a document and change a property (integer) in it and call $uow-&amp;gt;recomputeSingleDocumentChangeSet().&lt;br/&gt;
The result is that all references are added twice.&lt;/p&gt;

&lt;p&gt;If i remove the call to  $uow-&amp;gt;recomputeSingleDocumentChangeSet() all is fine.&lt;/p&gt;


&lt;p&gt;Here&apos;s my document (notice references added twice on children property):&lt;/p&gt;


&lt;p&gt;array (&lt;br/&gt;
  &apos;children&apos; =&amp;gt; &lt;br/&gt;
  array (&lt;br/&gt;
    0 =&amp;gt; &lt;br/&gt;
    array (&lt;br/&gt;
      &apos;$ref&apos; =&amp;gt; &apos;block&apos;,&lt;br/&gt;
      &apos;$id&apos; =&amp;gt; new MongoId(&quot;4d8b663638b6180803000005&quot;),&lt;br/&gt;
      &apos;$db&apos; =&amp;gt; &apos;app_jules&apos;,&lt;br/&gt;
      &apos;_doctrine_class_name&apos; =&amp;gt; &apos;Design\\PageBundle\\Document&lt;br class=&quot;atl-forced-newline&quot; /&gt;StrategyBlock&apos;,&lt;br/&gt;
    ),&lt;br/&gt;
    1 =&amp;gt; &lt;br/&gt;
    array (&lt;br/&gt;
      &apos;$ref&apos; =&amp;gt; &apos;block&apos;,&lt;br/&gt;
      &apos;$id&apos; =&amp;gt; new MongoId(&quot;4d8b663638b6180803000005&quot;),&lt;br/&gt;
      &apos;$db&apos; =&amp;gt; &apos;app_jules&apos;,&lt;br/&gt;
      &apos;_doctrine_class_name&apos; =&amp;gt; &apos;Design\\PageBundle\\Document&lt;br class=&quot;atl-forced-newline&quot; /&gt;StrategyBlock&apos;,&lt;br/&gt;
    )&lt;br/&gt;
  ),&lt;br/&gt;
  &apos;order&apos; =&amp;gt; 0,&lt;br/&gt;
  &apos;parent&apos; =&amp;gt; &lt;br/&gt;
  array (&lt;br/&gt;
    &apos;$ref&apos; =&amp;gt; &apos;block&apos;,&lt;br/&gt;
    &apos;$id&apos; =&amp;gt; new MongoId(&quot;4d8b663638b6180803000003&quot;),&lt;br/&gt;
    &apos;$db&apos; =&amp;gt; &apos;app_jules&apos;,&lt;br/&gt;
    &apos;_doctrine_class_name&apos; =&amp;gt; &apos;Design\\PageBundle\\Document&lt;br class=&quot;atl-forced-newline&quot; /&gt;ContainerBlock&apos;,&lt;br/&gt;
  ),&lt;br/&gt;
  &apos;type&apos; =&amp;gt; &apos;container&apos;,&lt;br/&gt;
)&lt;/p&gt;


&lt;p&gt;EDIT: if i clear() the $children ArrayCollection before calling $uow-&amp;gt;recomputeSingleDocumentChangeSet() all is fine&lt;/p&gt;

&lt;p&gt;I tried to reproduce it in a test-case but the result wasn&apos;t successful&lt;/p&gt;</description>
                <environment></environment>
            <key id="12491">MODM-134</key>
            <summary>Reference added twice</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="gordonslondon">jules b</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Mar 2011 11:47:07 +0000</created>
                <updated>Fri, 25 Mar 2011 12:55:17 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-133] array keys with dots aren&apos;t persisted for Hash field</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-133</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;array keys with dots aren&apos;t persisted for Hash field&lt;/p&gt;

&lt;p&gt;in the attachment you will find a complete testcase.&lt;/p&gt;

&lt;p&gt;thanks.&lt;/p&gt;




&lt;p&gt;EDIT: use the second attachment&lt;/p&gt;</description>
                <environment>Macosx</environment>
            <key id="12484">MODM-133</key>
            <summary>array keys with dots aren&apos;t persisted for Hash 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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="gordonslondon">jules b</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Mar 2011 18:27:02 +0000</created>
                <updated>Mon, 11 Apr 2011 18:50:50 +0000</updated>
                    <resolved>Mon, 11 Apr 2011 18:50:30 +0000</resolved>
                            <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15722" author="gordonslondon" created="Mon, 11 Apr 2011 18:50:30 +0000"  >&lt;p&gt;it seems that mongodb doesn&apos;t allow dots in keys.&lt;br/&gt;
&lt;a href=&quot;http://shift8creative.com/blog/creating-a-simple-and-efficient-rating-system-with-mongodb&quot; class=&quot;external-link&quot;&gt;http://shift8creative.com/blog/creating-a-simple-and-efficient-rating-system-with-mongodb&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10960" name="MODM133.zip" size="4062" author="gordonslondon" created="Thu, 24 Mar 2011 14:05:58 +0000" />
                    <attachment id="10959" name="MODM133.zip" size="4080" author="gordonslondon" created="Thu, 24 Mar 2011 14:00:33 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-132] Doctrine\ODM\MongoDB\Mapping\ClassMetaData is loosing &quot;file&quot; property after serialization</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-132</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;After ClassMetaData is awakened it looses the &quot;file&quot; property and that breaks our File model.&lt;br/&gt;
File::count() returns 0&lt;/p&gt;

&lt;p&gt;I dumped ClassMetaData object with caching enabled and disabled. Here&apos;s the diff:&lt;/p&gt;

&lt;p&gt;146c146&lt;br/&gt;
&amp;lt;     &lt;span class=&quot;error&quot;&gt;&amp;#91;file&amp;#93;&lt;/span&gt; =&amp;gt; &lt;br/&gt;
&amp;#8212;&lt;br/&gt;
&amp;gt;     &lt;span class=&quot;error&quot;&gt;&amp;#91;file&amp;#93;&lt;/span&gt; =&amp;gt; file&lt;br/&gt;
149a150,180&lt;br/&gt;
&amp;gt;             &lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt; =&amp;gt; Array&lt;br/&gt;
&amp;gt;                 (&lt;br/&gt;
&amp;gt;                     &lt;span class=&quot;error&quot;&gt;&amp;#91;keys&amp;#93;&lt;/span&gt; =&amp;gt; Array&lt;br/&gt;
&amp;gt;                         (&lt;br/&gt;
&amp;gt;                             &lt;span class=&quot;error&quot;&gt;&amp;#91;uploaded_at&amp;#93;&lt;/span&gt; =&amp;gt; 1&lt;br/&gt;
&amp;gt;                         )&lt;br/&gt;
&amp;gt;  &lt;br/&gt;
&amp;gt;                     &lt;span class=&quot;error&quot;&gt;&amp;#91;options&amp;#93;&lt;/span&gt; =&amp;gt; Array&lt;br/&gt;
&amp;gt;                         (&lt;br/&gt;
&amp;gt;                             &lt;span class=&quot;error&quot;&gt;&amp;#91;safe&amp;#93;&lt;/span&gt; =&amp;gt; true&lt;br/&gt;
&amp;gt;                             &lt;span class=&quot;error&quot;&gt;&amp;#91;unique&amp;#93;&lt;/span&gt; =&amp;gt; &lt;br/&gt;
&amp;gt;                         )&lt;br/&gt;
&amp;gt;  &lt;br/&gt;
&amp;gt;                 )&lt;br/&gt;
&amp;gt;  &lt;/p&gt;

&lt;p&gt;The first line is the missing file value. The second block appears to be missing indexes but I&apos;m guessing this information should not be serialized.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12475">MODM-132</key>
            <summary>Doctrine\ODM\MongoDB\Mapping\ClassMetaData is loosing &quot;file&quot; property after serialization</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="paradox">Andrei S</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Mar 2011 12:40:12 +0000</created>
                <updated>Fri, 18 Mar 2011 12:40:12 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-131] Notice in Doctrine\MongoDB\GridFS::doInsert</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-131</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Notice: Undefined variable: file in /projects/tbi/vendors/doctrine/odm/lib/vendor/doctrine-mongodb/lib/Doctrine/MongoDB/GridFS.php on line 112&lt;/p&gt;</description>
                <environment>CentOS 5.5, PHP 5.3</environment>
            <key id="12464">MODM-131</key>
            <summary>Notice in Doctrine\MongoDB\GridFS::doInsert</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Mar 2011 14:14:59 +0000</created>
                <updated>Wed, 9 Mar 2011 14:14:59 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-130] @ChangeTrackingPolicy notation is ignored in @MappedSuperclass</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-130</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I am not sure if it&apos;s supposed to be that @MappedSuperclass document can define @ChangeTrackingPolicy for multiple documents but in fact it does not work.&lt;/p&gt;

&lt;p&gt;In other words in the case below:&lt;br/&gt;
===================================================&lt;/p&gt;

&lt;p&gt;/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@MappedSuperclass&lt;/li&gt;
	&lt;li&gt;@InheritanceType(&quot;COLLECTION_PER_CLASS&quot;)&lt;/li&gt;
	&lt;li&gt;@ChangeTrackingPolicy(&quot;DEFERRED_EXPLICIT&quot;)&lt;br/&gt;
 */&lt;br/&gt;
abstract class MappedDocument&lt;br/&gt;
{&lt;br/&gt;
}&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@Document(collection=&quot;chart&quot;)&lt;br/&gt;
 */&lt;br/&gt;
class Chart extends MappedDocument&lt;br/&gt;
{&lt;br/&gt;
}&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;===================================================&lt;/p&gt;

&lt;p&gt;class Chart &lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;has InheritanceType = INHERITANCE_TYPE_COLLECTION_PER_CLASS which is expected&lt;/li&gt;
	&lt;li&gt;but  ChangeTrackingPolicy = CHANGETRACKING_DEFERRED_IMPLICIT (value by default) which is NOT expected.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;At the same time if to define ChangeTrackingPolicy in the Chart class instead of MappedDocument it works as expected.&lt;/p&gt;
</description>
                <environment>CentOS 5.5, PHP 5.3</environment>
            <key id="12443">MODM-130</key>
            <summary>@ChangeTrackingPolicy notation is ignored in @MappedSuperclass</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Wed, 2 Mar 2011 10:56:24 +0000</created>
                <updated>Wed, 2 Mar 2011 10:56:24 +0000</updated>
                                    <version>1.0.0BETA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-129] Storing embeded documents containing embeded documents, already persistet in another collection fails</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-129</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;We persist a document a1 containing an embedded document a1.1 which itself contains another embedded document a1.1.1. When the embedded document a1.1 is moved to another document of another collection b1 and needs to get persisted as embedded document b1.1 the embedded document a1.1.1 (which is now part of b1.1, too) is not saved as an embedded document of  b1.1.&lt;/p&gt;

&lt;p&gt;Example: We use a version object which contains a pageversion as an embedded document. This page object contains multiple elements (stored as embedded documents) which themselves contain several parameter objects (stored as embedded document of elements). Now assume we have such a persisted version and want to &quot;copy&quot; the pageversion in another collection. So we generate a new page object, and add to this page all elements of the persisted pageversion. If we now persist this page, the representation in mongodb contains all elements but not any parameters, which should be part of the page as well (as they are part of an element).&lt;/p&gt;</description>
                <environment></environment>
            <key id="12422">MODM-129</key>
            <summary>Storing embeded documents containing embeded documents, already persistet in another collection fails</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="kolja">Kolja Treutlein</reporter>
                        <labels>
                    </labels>
                <created>Fri, 25 Feb 2011 05:36:07 +0000</created>
                <updated>Fri, 25 Feb 2011 11:39:02 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15368" author="kolja" created="Fri, 25 Feb 2011 05:43:23 +0000"  >&lt;p&gt;Testcase&lt;/p&gt;</comment>
                    <comment id="15370" author="jwage" created="Fri, 25 Feb 2011 11:39:02 +0000"  >&lt;p&gt;Try cloning the embedded document when you move it. The reason why you have issues most likely is because internally inside Doctrine we keep track of each embedded document instance and what parent document it is attached to. So when you move it, Doctrine gets confused.  You need to move it by cloning so the embedded document is actually a new object instance to Doctrine.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10945" name="testcase.tar.gz" size="2333" author="kolja" created="Fri, 25 Feb 2011 05:43:23 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-128] Upserts in Query builder</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-128</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It seems that if you just call upsert(true) in a update request, it won&apos;t be enough. You have to calm getQuery(array(&apos;upsert&apos; =&amp;gt; true)) as well in order to have the &apos;insert if not exist&apos; working.  &lt;/p&gt;</description>
                <environment>Mac OS X + MAMP</environment>
            <key id="12417">MODM-128</key>
            <summary>Upserts in Query builder</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="billybob">Billy Bob</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Feb 2011 23:31:45 +0000</created>
                <updated>Wed, 23 Feb 2011 23:31:45 +0000</updated>
                                    <version>1.0.0BETA2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-127] Update queries : update() required ?</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-127</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;In the documentation exemples for update queries : &lt;br/&gt;
&lt;a href=&quot;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html#update-queries&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html#update-queries&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;it doesn&apos;t mention a update() function call any more in update queries.&lt;/p&gt;

&lt;p&gt;Did I miss something?&lt;/p&gt;
</description>
                <environment></environment>
            <key id="12414">MODM-127</key>
            <summary>Update queries : update() required ?</summary>
                <type id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/documentation.png">Documentation</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="billybob">Billy Bob</reporter>
                        <labels>
                    </labels>
                <created>Wed, 23 Feb 2011 00:04:26 +0000</created>
                <updated>Wed, 23 Feb 2011 00:04:26 +0000</updated>
                                    <version>1.0.0BETA2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-126] lessThanOrEq() renamed in lte()</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-126</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The lessThanOrEq() function referenced in the documentation does not exist ay more, it was replaced by lte().&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/query-builder-api.html&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="12413">MODM-126</key>
            <summary>lessThanOrEq() renamed in lte()</summary>
                <type id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/documentation.png">Documentation</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="billybob">Billy Bob</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Feb 2011 23:27:07 +0000</created>
                <updated>Tue, 22 Feb 2011 23:27:07 +0000</updated>
                                    <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-125] Doctrine\ODM\MongoDB\MongoCollection::findOne does not invoke postFindOne event handlers doing query against MongoGridFS collection</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-125</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;subj&lt;/p&gt;

&lt;p&gt;it happens because the code goes out of the function at line 334 in file &lt;br/&gt;
\Doctrine\ODM\MongoDB\MongoCollection.php &lt;br/&gt;
without invoking appropriate event handlers&lt;/p&gt;

&lt;p&gt;thanks!&lt;/p&gt;</description>
                <environment>CentOS, PHP 5.3</environment>
            <key id="12405">MODM-125</key>
            <summary>Doctrine\ODM\MongoDB\MongoCollection::findOne does not invoke postFindOne event handlers doing query against MongoGridFS collection</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Feb 2011 13:59:58 +0000</created>
                <updated>Fri, 4 Mar 2011 10:44:12 +0000</updated>
                    <resolved>Fri, 4 Mar 2011 10:38:06 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA3</fixVersion>
                                <component>Mongo, MongoCollection, MongoCursor</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15338" author="vkaplich" created="Fri, 18 Feb 2011 14:40:19 +0000"  >&lt;p&gt;And the same bug with Doctrine\ODM\MongoDB\MongoCollection::getDBRef method as well&lt;/p&gt;</comment>
                    <comment id="15445" author="jwage" created="Fri, 4 Mar 2011 10:35:10 +0000"  >&lt;p&gt;Which version are you using? I don&apos;t see this behavior any longer. Can you confirm?&lt;/p&gt;</comment>
                    <comment id="15446" author="jwage" created="Fri, 4 Mar 2011 10:36:55 +0000"  >&lt;p&gt;Also, getDBRef() notifies the pre/postGetDBRef events.&lt;/p&gt;</comment>
                    <comment id="15447" author="jwage" created="Fri, 4 Mar 2011 10:38:06 +0000"  >&lt;p&gt;If you can still reproduce the issue can you provide a test case for us to run?&lt;/p&gt;</comment>
                    <comment id="15448" author="vkaplich" created="Fri, 4 Mar 2011 10:44:12 +0000"  >&lt;p&gt;I&apos;m using 1.0.0BETA1&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/mongodb-odm/blob/1.0.0BETA1/lib/Doctrine/ODM/MongoDB/MongoCollection.php&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/blob/1.0.0BETA1/lib/Doctrine/ODM/MongoDB/MongoCollection.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;there is a &quot;return&quot; at line 338&lt;/p&gt;

&lt;p&gt;so the function invoke &quot;preFindOne&quot; but not &quot;postFindOne&quot;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-124] ClassMetadata shouldn&apos;t store defaultDb value</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-124</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Currently if document doesn&apos;t have &quot;db&quot; mapping, it is taken from defaultDb configuration and assigned to classmetadata (in ClassMetadataFactory).&lt;/p&gt;

&lt;p&gt;But if we have two documentManagers with different defaultDb configuration, second manager&apos;s configuration will be ignored, because &quot;db&quot; value is already set in classMetadata (when the 1st manager was created).&lt;/p&gt;

&lt;p&gt;It gets worse with metadata caching, as defaultDb setting is only taken in account when metadata is stored in cache. &lt;/p&gt;

&lt;p&gt;This affects a common use-case, when each customer has his own database and defaultDb is defined at runtime.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12404">MODM-124</key>
            <summary>ClassMetadata shouldn&apos;t store defaultDb value</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 18 Feb 2011 07:05:20 +0000</created>
                <updated>Fri, 4 Mar 2011 10:56:01 +0000</updated>
                    <resolved>Fri, 4 Mar 2011 10:56:01 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15449" author="jwage" created="Fri, 4 Mar 2011 10:56:01 +0000"  >&lt;p&gt;Hi, this is fixed here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/6b91d944e68bbf94702a38351f03c74b7d6a057a&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/6b91d944e68bbf94702a38351f03c74b7d6a057a&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reporting the issue.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-123] Single Collection Inheritance : hydration won&apos;t work properly</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-123</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;There is still a problem with Single Collection Inheritance. &lt;/p&gt;

&lt;p&gt;Please consider the following code : &lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
/**
 * @Document(db=&quot;forum&quot;, collection=&quot;Items&quot;)
 * @InheritanceType(&quot;SINGLE_COLLECTION&quot;)
 * @DiscriminatorField(fieldName=&quot;type&quot;)
 * @DiscriminatorMap({0=&quot;Items&quot;, 1=&quot;Stuffs&quot;})
*/
class Items
{
    /**
     *
     * @id
     */
    public $id;

    /**
     * @String
     */
    public $title;
}



/**
 * @Document(db=&quot;forum&quot;, collection=&quot;Items&quot;)
*/
class Stuffs extends Items
{
    
    /**
     *
     * @id
     */
    public $id;

    /**
     * @String
     */
    public $stuffname;

}

$a = new Stuffs();
$a-&amp;gt;stuffname = &apos;TTT&apos;;
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Resulting in the database with :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
{
   &quot;_id&quot;: ObjectId(&quot;4d5dd082b53251b84e000000&quot;),
   &quot;stuffname&quot;: &quot;TTT&quot;,
   &quot;type&quot;: 1 
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;Now if I do :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$result = $dm-&amp;gt;find(&apos;Items&apos;, $a-&amp;gt;id);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;then $result is an instance of &lt;b&gt;Stuffs&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;But if I try :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$result = $dm-&amp;gt;find(&apos;Items&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;then $result is an instance of &lt;b&gt;Items&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Note that &apos;$a-&amp;gt;id&apos; is a string, the same string containing &apos;4d5dd082b53251b84e000000&apos;, so :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$result = $dm-&amp;gt;find(&apos;Items&apos;, $a-&amp;gt;id); 
$result = $dm-&amp;gt;find(&apos;Items&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;are semantically equivalent. It seems however that hydration would ignore the DiscriminatorMap in the second example. &lt;/p&gt;

&lt;p&gt;However If you do :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$result = $dm-&amp;gt;find(&apos;Stuffs&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;You&apos;ll get a &lt;b&gt;Stuffs&lt;/b&gt; as a result. &lt;/p&gt;


&lt;p&gt;Now I tried to find a workaround when you don&apos;t know the type of the returned object. My initial intention was to first fetch a document with :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$result = $dm-&amp;gt;find(&apos;Items&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;Then I&apos;m testing a property in the objet to see if it&apos;s a &lt;b&gt;Stuffs&lt;/b&gt;, if it is, I tried an new : &lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$result = $dm-&amp;gt;find(&apos;Stuffs&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;In order to fetch a &lt;b&gt;Stuffs&lt;/b&gt;. But ... I still get a *Items&quot;!&lt;/p&gt;

&lt;p&gt;So basically, if you do :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$result = $dm-&amp;gt;find(&apos;Stuffs&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;You get a &lt;b&gt;Stuffs&lt;/b&gt;. But if you do :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
$dm-&amp;gt;find(&apos;Items&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
$result = $dm-&amp;gt;find(&apos;Stuffs&apos;, &apos;4d5dd082b53251b84e000000&apos;); 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 
&lt;p&gt;You get a &lt;b&gt;Items&lt;/b&gt;!&lt;/p&gt;</description>
                <environment>Mac OS X, MAMP</environment>
            <key id="12403">MODM-123</key>
            <summary>Single Collection Inheritance : hydration won&apos;t work properly</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="billybob">Billy Bob</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Feb 2011 21:10:22 +0000</created>
                <updated>Wed, 23 Feb 2011 23:46:37 +0000</updated>
                    <resolved>Wed, 23 Feb 2011 23:46:37 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15335" author="jwage" created="Fri, 18 Feb 2011 00:58:47 +0000"  >&lt;p&gt;Hi, can you make a phpunit testcase here? &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/tree/master/tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/tree/master/tests/Doctrine/ODM/MongoDB/Tests/Functional/Ticket&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="15341" author="billybob" created="Fri, 18 Feb 2011 19:15:52 +0000"  >&lt;p&gt;Sorry but I&apos;m not familiar with phpunit. &lt;/p&gt;

&lt;p&gt;If that can help, I&apos;ve made more tests here. Strangely when I deleted all the documents in the test base and created new ones, the hydration then worken properly! However in my real project, the issue is still here ...&lt;/p&gt;

&lt;p&gt;In conclusion it seems that the issue is random. &lt;/p&gt;
</comment>
                    <comment id="15343" author="jwage" created="Sat, 19 Feb 2011 18:15:49 +0000"  >&lt;p&gt;I am not able to produce the issue here. Can you make a executable test that I can run so that I can see what you see?&lt;/p&gt;</comment>
                    <comment id="15366" author="billybob" created="Wed, 23 Feb 2011 23:46:37 +0000"  >&lt;p&gt;Doesn&apos;t seem to be an issue in BETA2.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-122] array_slice fails on ReferenceMany and EmbeddedMany fields</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-122</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I am not sure if it&apos;s a bug of the framework or a bug in implementation of array_slice function in PHP&lt;br/&gt;
but when I try to pass @ReferenceMany field value into array_slice built-in PHP function it fails with error:&lt;/p&gt;

&lt;p&gt;==============================================&lt;br/&gt;
array_slice() expects parameter 1 to be array, object given&lt;br/&gt;
==============================================&lt;/p&gt;

&lt;p&gt;I know that PersistentCollection has method &quot;slice&quot; (at least in master branch) but my concern is backward compatibility with the code which treats ReferenceMany type fields as arrays.&lt;br/&gt;
The old code works perfectly until it uses array_slice.&lt;/p&gt;

&lt;p&gt;Please let me know are there any workarounds for this or probably you guys are going to implement some fix?&lt;/p&gt;

&lt;p&gt;Thanks a lot!&lt;/p&gt;</description>
                <environment>CentOS, PHP 5.3</environment>
            <key id="12402">MODM-122</key>
            <summary>array_slice fails on ReferenceMany and EmbeddedMany fields</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Feb 2011 14:19:25 +0000</created>
                <updated>Thu, 17 Feb 2011 19:39:40 +0000</updated>
                    <resolved>Thu, 17 Feb 2011 19:39:40 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15334" author="jwage" created="Thu, 17 Feb 2011 19:39:39 +0000"  >&lt;p&gt;Hi, you need to pass an array so you can convert the iterator to an array with the iterator_to_array() method or call -&amp;gt;toArray() on the PersistentCollection. Then you can pass that array to array_slice()&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-121] a call of unknown method &quot;setIdentifierValues&quot; in UnitOfWork class</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-121</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;On DocumentManager::merge() the following error happens:&lt;/p&gt;

&lt;p&gt;Fatal error: Call to undefined method Doctrine\ODM\MongoDB\Mapping\ClassMetadata::setIdentifierValues() in /projects/tbi_doctrine/vendors/doctrine/odm/lib/Doctrine/ODM/MongoDB/UnitOfWork.php on line 1378&lt;/p&gt;
</description>
                <environment></environment>
            <key id="12398">MODM-121</key>
            <summary>a call of unknown method &quot;setIdentifierValues&quot; in UnitOfWork class</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Wed, 16 Feb 2011 19:05:49 +0000</created>
                <updated>Wed, 16 Feb 2011 19:17:56 +0000</updated>
                    <resolved>Wed, 16 Feb 2011 19:17:56 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15328" author="jwage" created="Wed, 16 Feb 2011 19:17:56 +0000"  >&lt;p&gt;This is already resolve in the latest master in git.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-120] [Configuration] problem with changing the defaultDB</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-120</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;What i want to do is to change the database name of the document manager:&lt;/p&gt;


&lt;p&gt;$config = new Configuration();&lt;br/&gt;
$dm  = new DocumentManager($conn, &apos;my_db&apos;, $config);&lt;/p&gt;

&lt;p&gt;$config-&amp;gt;setDefaultDB(&apos;another_db&apos;);&lt;br/&gt;
$dm-&amp;gt;getDatabase(); // &apos;my_db&apos; insteadof &apos;another_db&apos;&lt;/p&gt;


&lt;p&gt;Is there another solution to do this ?&lt;/p&gt;</description>
                <environment></environment>
            <key id="12390">MODM-120</key>
            <summary>[Configuration] problem with changing the defaultDB</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="gordonslondon">jules b</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 Feb 2011 08:56:39 +0000</created>
                <updated>Wed, 16 Feb 2011 16:58:15 +0000</updated>
                    <resolved>Wed, 16 Feb 2011 16:58:15 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15327" author="jwage" created="Wed, 16 Feb 2011 16:58:15 +0000"  >&lt;p&gt;Hi, i reverted the change that caused these problems so it should be all good now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-119] &quot;strategy&quot; property in @Field annotation is not recognized</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-119</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;@Collection(strategy=&quot;set&quot;)&lt;br/&gt;
works fine&lt;/p&gt;

&lt;p&gt;but&lt;br/&gt;
==========================================&lt;/p&gt;

&lt;p&gt;@Field(type=&quot;collection&quot;, strategy=&quot;set&quot;)&lt;br/&gt;
causes error:&lt;br/&gt;
Fatal error: Uncaught exception &apos;BadMethodCallException&apos; with message &apos;Unknown property &apos;strategy&apos; on annotation &apos;Doctrine\ODM\MongoDB\Mapping\Field&apos;.&apos; in /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/Annotation.php on line 77&lt;/p&gt;

&lt;p&gt;BadMethodCallException: Unknown property &apos;strategy&apos; on annotation &apos;Doctrine\ODM\MongoDB\Mapping\Field&apos;. in /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/Annotation.php on line 77&lt;/p&gt;

&lt;p&gt;Call Stack:&lt;br/&gt;
    0.0007     691072   1. &lt;/p&gt;
{main}
&lt;p&gt;() /projects/tbi_doctrine/lab/doctrine/insert.php:0&lt;br/&gt;
    0.0808    6313168   2. Doctrine\ODM\MongoDB\DocumentManager-&amp;gt;persist() /projects/tbi_doctrine/lab/doctrine/insert.php:34&lt;br/&gt;
    0.0809    6313168   3. Doctrine\ODM\MongoDB\UnitOfWork-&amp;gt;persist() /projects/tbi_doctrine/vendors/doctrine/odm/lib/Doctrine/ODM/MongoDB/DocumentManager.php:338&lt;br/&gt;
    0.0809    6313248   4. Doctrine\ODM\MongoDB\DocumentManager-&amp;gt;getClassMetadata() /projects/tbi_doctrine/vendors/doctrine/odm/lib/Doctrine/ODM/MongoDB/UnitOfWork.php:1177&lt;br/&gt;
    0.0809    6313248   5. Doctrine\ODM\MongoDB\Mapping\ClassMetadataFactory-&amp;gt;getMetadataFor() /projects/tbi_doctrine/vendors/doctrine/odm/lib/Doctrine/ODM/MongoDB/DocumentManager.php:250&lt;br/&gt;
    0.0809    6313248   6. Doctrine\ODM\MongoDB\Mapping\ClassMetadataFactory-&amp;gt;loadMetadata() /projects/tbi_doctrine/vendors/doctrine/odm/lib/Doctrine/ODM/MongoDB/Mapping/ClassMetadataFactory.php:165&lt;br/&gt;
    0.0957    6734784   7. Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver-&amp;gt;loadMetadataForClass() /projects/tbi_doctrine/vendors/doctrine/odm/lib/Doctrine/ODM/MongoDB/Mapping/ClassMetadataFactory.php:221&lt;br/&gt;
    0.0978    6669016   8. Doctrine\Common\Annotations\AnnotationReader-&amp;gt;getPropertyAnnotation() /projects/tbi_doctrine/vendors/doctrine/odm/lib/Doctrine/ODM/MongoDB/Mapping/Driver/AnnotationDriver.php:182&lt;br/&gt;
    0.0978    6669016   9. Doctrine\Common\Annotations\AnnotationReader-&amp;gt;getPropertyAnnotations() /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php:216&lt;br/&gt;
    0.0979    6669392  10. Doctrine\Common\Annotations\Parser-&amp;gt;parse() /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php:201&lt;br/&gt;
    0.0983    6678712  11. Doctrine\Common\Annotations\Parser-&amp;gt;Annotations() /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/Parser.php:209&lt;br/&gt;
    0.0983    6678928  12. Doctrine\Common\Annotations\Parser-&amp;gt;Annotation() /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/Parser.php:270&lt;br/&gt;
    0.0986    6680200  13. Doctrine\Common\Annotations\Parser-&amp;gt;newAnnotation() /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/Parser.php:349&lt;br/&gt;
    0.0986    6680840  14. Doctrine\Common\Annotations\Annotation-&amp;gt;__construct() /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/Parser.php:536&lt;br/&gt;
    0.0986    6681624  15. Doctrine\Common\Annotations\Annotation-&amp;gt;__set() /projects/tbi_doctrine/vendors/doctrine/common/lib/Doctrine/Common/Annotations/Annotation.php:0&lt;/p&gt;</description>
                <environment>Cent OS 5.5, PHP 5.3</environment>
            <key id="12372">MODM-119</key>
            <summary>&quot;strategy&quot; property in @Field annotation is not recognized</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Feb 2011 12:30:29 +0000</created>
                <updated>Fri, 11 Feb 2011 13:25:29 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 13:25:29 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15256" author="jwage" created="Fri, 11 Feb 2011 13:25:29 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/b9bd2dcbab3c8ea2ef537fa1301525b3004ba795&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/b9bd2dcbab3c8ea2ef537fa1301525b3004ba795&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-118] rename &quot;load&quot; method in Proxy object to &quot;__load__&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-118</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It would be really great if the method &quot;load&quot; is renamed to something more protected like &quot;__&lt;em&gt;load&lt;/em&gt;&lt;em&gt;&quot; or &quot;&lt;/em&gt;_doctrineOdmLoad&quot; like it has done for public properties &lt;br/&gt;
    public $__dm;&lt;br/&gt;
    public $__identifier;&lt;br/&gt;
    public $_&lt;em&gt;isInitialized&lt;/em&gt;_ = false;&lt;/p&gt;

&lt;p&gt;Because otherwise if a referenced document has the same method &quot;load&quot; it causes error like this&lt;/p&gt;

&lt;p&gt;&quot;Fatal error: Cannot redeclare Proxies\ProjectProxy::load() in /projects/tbi_doctrine/tmp/doctrine/proxies/ProjectProxy.php on line 46&quot;&lt;/p&gt;</description>
                <environment>Cent OS 5.5, PHP 5.3</environment>
            <key id="12369">MODM-118</key>
            <summary>rename &quot;load&quot; method in Proxy object to &quot;__load__&quot;</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Feb 2011 16:01:01 +0000</created>
                <updated>Fri, 11 Feb 2011 13:33:17 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 13:31:25 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15257" author="jwage" created="Fri, 11 Feb 2011 13:31:25 +0000"  >&lt;p&gt;Fixed for ODM here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/bfda83d678af1e2104ce4fba62f9dd47185b210e&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/bfda83d678af1e2104ce4fba62f9dd47185b210e&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                                <inwardlinks description="is referenced by">
                            <issuelink>
            <issuekey id="12380">DDC-1029</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-117] &quot;name&quot; attribute in @Field annotation</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-117</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It looks like that &quot;name&quot; attribute is not supported anymore in @Field annotation&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/annotations-reference/en#ann_field&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/annotations-reference/en#ann_field&lt;/a&gt;&lt;br/&gt;
&amp;gt; name - By default the property name is used for the mongodb field name also, however the &apos;name&apos; attribute allows you to specify the field name.&lt;/p&gt;

&lt;p&gt;For instance the code below produces a document inside &quot;mydocs&quot; collection which has only one property &quot;first_name&quot; instead of two:&lt;/p&gt;

&lt;p&gt;/** @Document(collection=&quot;mydocs&quot;) */&lt;br/&gt;
class MyDocument&lt;br/&gt;
{&lt;br/&gt;
	/** @Id */&lt;br/&gt;
	public $id;&lt;/p&gt;

&lt;p&gt;	/** @Field(type=&quot;string&quot;) */&lt;br/&gt;
	public $first_name;&lt;/p&gt;

&lt;p&gt;	/** @Field(type=&quot;string&quot;, name=&quot;last_name&quot;) */&lt;br/&gt;
	protected $_last_name;&lt;/p&gt;

&lt;p&gt;	public function __get($propertyName)&lt;br/&gt;
	{&lt;br/&gt;
		return $this-&amp;gt;&lt;/p&gt;
{&apos;_&apos;.$propertyName};&lt;br/&gt;
	}&lt;br/&gt;
&lt;br/&gt;
	public function __set($propertyName, $propertyValue)&lt;br/&gt;
	{&lt;br/&gt;
		$this-&amp;gt;{&apos;_&apos;.$propertyName}
&lt;p&gt; = $propertyValue;&lt;br/&gt;
	}&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;$doc = new MyDocument();&lt;br/&gt;
$doc-&amp;gt;first_name = &apos;aaa&apos;;&lt;br/&gt;
$doc-&amp;gt;last_name = &apos;bbb&apos;;&lt;br/&gt;
dm()-&amp;gt;persist($doc);&lt;br/&gt;
dm()-&amp;gt;flush();&lt;/p&gt;</description>
                <environment>CentOS 5.5, PHP 5.3</environment>
            <key id="12366">MODM-117</key>
            <summary>&quot;name&quot; attribute in @Field annotation</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Feb 2011 13:24:51 +0000</created>
                <updated>Fri, 11 Feb 2011 13:56:39 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 13:56:39 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15259" author="jwage" created="Fri, 11 Feb 2011 13:56:26 +0000"  >&lt;p&gt;I added a test here for your issue and it appears to be working properly in the latest master in git.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/cb1cbd2e81b8912dd5959f1d6275443679959a86&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/cb1cbd2e81b8912dd5959f1d6275443679959a86&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-116] Collection Per Class Inheritance : Documents of a child class referenced in a parent class may be saved to the parent collection</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-116</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Here is my class hierarchy (classes &amp;amp; attributes renamed for a better understanding) :&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
/** @Document @InheritanceType(&quot;COLLECTION_PER_CLASS&quot;) **/
class Parent {
    /** @ReferenceOne(targetDocument=&quot;Child&quot;) **/
    protected $child;
}

/** @Document **/
class Child extends Parent {
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;When doing :&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;$parent-&amp;gt;setXXX($value);
$parent-&amp;gt;getChild()-&amp;gt;setXXX($value2)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;the $parent-&amp;gt;getChild() document is saved to the Parent collection.&lt;/p&gt;

&lt;p&gt;It looks like the problems lies in UnitOfWork::executeUpdates :&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
if (get_class($document) == $className || $document instanceof Proxy &amp;amp;&amp;amp; $document instanceof $className) {
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;$child_document is an instance of Proxy (ChildProxy) and also an instance of Parent =&amp;gt; saved using the Parent persister.&lt;/p&gt;

&lt;p&gt;Shouldn&apos;t the test be : get_class($document) == $className || get_class($document) == $className_of_Proxy ?&lt;/p&gt;

&lt;p&gt;As a side note : why &quot;if ($class-&amp;gt;isEmbeddedDocument) &lt;/p&gt;
{ continue; }
&lt;p&gt;&quot; is within the foreach and not a &quot;if ($class-&amp;gt;isEmbeddedDocument) &lt;/p&gt;
{ return; }
&lt;p&gt;&quot; at the beginning of the method ?&lt;/p&gt;</description>
                <environment></environment>
            <key id="12360">MODM-116</key>
            <summary>Collection Per Class Inheritance : Documents of a child class referenced in a parent class may be saved to the parent collection</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jfbus">JF Bustarret</reporter>
                        <labels>
                    </labels>
                <created>Mon, 7 Feb 2011 04:45:43 +0000</created>
                <updated>Thu, 21 Apr 2011 17:13:51 +0000</updated>
                                    <version>1.0.0BETA3</version>
                                                <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15260" author="jwage" created="Fri, 11 Feb 2011 14:24:04 +0000"  >&lt;p&gt;I added a test for this here and it appears to be passing: &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/3f24d77cc04adc0bb5532333e33826100457c666&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/3f24d77cc04adc0bb5532333e33826100457c666&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="15272" author="jfbus" created="Fri, 11 Feb 2011 16:34:02 +0000"  >&lt;p&gt;I&apos;ll try to get more info on the problem and provide a test for it.&lt;/p&gt;</comment>
                    <comment id="15602" author="jfbus" created="Mon, 28 Mar 2011 06:08:02 +0000"  >&lt;p&gt;Here is a new test case :&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
/** @Document
 *  @InheritanceType(&quot;COLLECTION_PER_CLASS&quot;)
 **/
class MODM116Parent
{
    /** @Id */
    private $id;

    /** @String */
    private $name;

    /** @ReferenceOne **/
    private $child;

    public function getId()
    {
        return $this-&amp;gt;id;
    }

    public function getName()
    {
        return $this-&amp;gt;name;
    }

    public function setName($name)
    {
        $this-&amp;gt;name = $name;
    }

    public function getChild()
    {
        return $this-&amp;gt;child;
    }

    public function setChild(MODM116Child $child)
    {
        $this-&amp;gt;child = $child;
    }
}

/** @Document **/
class MODM116Child extends MODM116Parent
{
    
    /** @EmbedMany(targetDocument=&quot;MODM116Embedded&quot;) **/
    protected $embedded;
    
    function addEmbedded($parent) {
        $this-&amp;gt;embedded[] = new MODM116Embedded($parent);
    }
}

/** @EmbeddedDocument **/
class MODM116Embedded {
    
    /** @ReferenceOne(targetDocument=&quot;MODM116Parent&quot;) **/
    protected $parent;
    
    public function __construct($parent) {
        $this-&amp;gt;parent = $parent;
    }
    
}


$parent = new MODM116Parent();
$parent-&amp;gt;setName(&apos;test&apos;);
$parent-&amp;gt;setChild(new MODM116Child());
$dm-&amp;gt;persist($parent-&amp;gt;getChild());
$dm-&amp;gt;persist($parent);
$dm-&amp;gt;flush();
$dm-&amp;gt;clear();

$parent = $dm-&amp;gt;getRepository(get_class($parent))-&amp;gt;findOneBy(array(&apos;name&apos; =&amp;gt; &apos;test&apos;));

$parent-&amp;gt;getChild()-&amp;gt;setName(&apos;ok&apos;);
$parent-&amp;gt;getChild()-&amp;gt;addEmbedded($parent);
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="15637" author="jfbus" created="Wed, 30 Mar 2011 02:42:50 +0000"  >&lt;p&gt;Pulled the last version from git. The bug still exists.&lt;/p&gt;</comment>
                    <comment id="15741" author="jfbus" created="Thu, 21 Apr 2011 17:13:51 +0000"  >&lt;p&gt;Up. Any news on a fix ?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-115] Persisting a document which references another document drops ID</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-115</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have two documents:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;@Document&lt;br/&gt;
class A {&lt;br/&gt;
  /** @Id  */&lt;br/&gt;
  public $id;&lt;br/&gt;
  /** @ReferenceOne */&lt;br/&gt;
  public $b;&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;@Document&lt;br/&gt;
class B {&lt;br/&gt;
  /** @Id */&lt;br/&gt;
  public $id;&lt;br/&gt;
}&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I have an already persisted instance of B, which A references,&lt;br/&gt;
though while persisting A and examining the resulting collection the id of B is missing.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;{&lt;br/&gt;
  _id: &apos;000123&apos;,&lt;br/&gt;
  b: {&lt;br/&gt;
    $db: &apos;mydb&apos;,&lt;br/&gt;
    $id: &apos;&apos;,&lt;br/&gt;
    $ref: &apos;b&apos;&lt;br/&gt;
  }&lt;br/&gt;
}&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I debugged the code and found the error occurs in &lt;b&gt;DocumentPersister.php at line 210&lt;/b&gt; in the latest git version as of this posting.&lt;br/&gt;
The code is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;  $inserts&lt;span class=&quot;error&quot;&gt;&amp;#91;$oid&amp;#93;&lt;/span&gt; = $data;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;where &lt;b&gt;$data&lt;/b&gt; is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;array&amp;#40;&lt;br/&gt;
  _id =&amp;gt; MongoId&amp;#40;000123&amp;#41;,&lt;br/&gt;
  b =&amp;gt; array&amp;#40;&lt;br/&gt;
    $ref =&amp;gt; &apos;b&apos;,&lt;br/&gt;
    $id =&amp;gt; MongoID&amp;#40;123000&amp;#41;,&lt;br/&gt;
    $db =&amp;gt; &apos;mydb&apos;&lt;br/&gt;
  &amp;#41;&lt;br/&gt;
&amp;#41;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;and &lt;b&gt;$inserts&lt;span class=&quot;error&quot;&gt;&amp;#91;$oid&amp;#93;&lt;/span&gt;&lt;/b&gt; becomes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;array&amp;#40;&lt;br/&gt;
  $oid = array&amp;#40;&lt;br/&gt;
    _id =&amp;gt; MongoId&amp;#40;000123&amp;#41;,&lt;br/&gt;
    b =&amp;gt; array&amp;#40;&lt;br/&gt;
      $ref =&amp;gt; &apos;b&apos;,&lt;br/&gt;
      $id =&amp;gt; &lt;b&gt;MongoID&amp;#40;&amp;#41;&lt;/b&gt;,&lt;br/&gt;
      $db =&amp;gt; &apos;mydb&apos;&lt;br/&gt;
    &amp;#41;&lt;br/&gt;
  &amp;#41;&lt;br/&gt;
&amp;#41;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This assignment makes the MongoID disappear somehow!!?&lt;/p&gt;

&lt;p&gt;Can&apos;t figure it out, could this be a problem with PHP itself?&lt;/p&gt;</description>
                <environment>Debian, PHP 5.3.3-7 Suhosin fcgi</environment>
            <key id="12354">MODM-115</key>
            <summary>Persisting a document which references another document drops ID</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="zybreak">Robert Knutsson</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Feb 2011 10:48:51 +0000</created>
                <updated>Thu, 3 Feb 2011 15:54:42 +0000</updated>
                    <resolved>Thu, 3 Feb 2011 15:54:42 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15222" author="zybreak" created="Thu, 3 Feb 2011 15:54:42 +0000"  >&lt;p&gt;The problem occurred since i was dumping the class before it was initialized, not realizing that proxy classes lazy loaded.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-114] wrong method call in Cursor class</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-114</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;i have found a bug in the Cursor class in mongodb-odm:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Cursor.php#L85&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Cursor.php#L85&lt;/a&gt; this musst call the current function in the parent class, otherwise mistakes happen when there is a grid fs collection.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12343">MODM-114</key>
            <summary>wrong method call in Cursor class</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tecbot">Thomas Adam</reporter>
                        <labels>
                    </labels>
                <created>Tue, 1 Feb 2011 16:56:39 +0000</created>
                <updated>Fri, 11 Feb 2011 14:30:12 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 14:30:12 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mongo, MongoCollection, MongoCursor</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15261" author="jwage" created="Fri, 11 Feb 2011 14:30:12 +0000"  >&lt;p&gt;This is actually already fixed in the github master.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-113] No options for update queries ?</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-113</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;$options are not used for update queries&lt;/p&gt;

&lt;p&gt;=&amp;gt; how can we do an update(&lt;/p&gt;
{&apos;multiple&apos; =&amp;gt; true}
&lt;p&gt;) ?&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; 
diff -rup doctrine-mongodb-odm-a0667bb/lib/vendor/doctrine-mongodb/lib/Doctrine/MongoDB/Query/Query.php mongodb_odm/lib/vendor/doctrine-mongodb/lib/Doctrine/MongoDB/Query/Query.php
--- doctrine-mongodb-odm-a0667bb/lib/vendor/doctrine-mongodb/lib/Doctrine/MongoDB/Query/Query.php	2011-01-17 06:38:18.000000000 +0100
+++ mongodb_odm/lib/vendor/doctrine-mongodb/lib/Doctrine/MongoDB/Query/Query.php	2011-01-31 17:34:04.000000000 +0100
@@ -172,7 +172,7 @@ class Query implements IteratorAggregate
                 return $this-&amp;gt;collection-&amp;gt;insert($this-&amp;gt;query[&apos;newObj&apos;]);
 
             case self::TYPE_UPDATE:
-                return $this-&amp;gt;collection-&amp;gt;update($this-&amp;gt;query[&apos;query&apos;], $this-&amp;gt;query[&apos;newObj&apos;]);
+                return $this-&amp;gt;collection-&amp;gt;update($this-&amp;gt;query[&apos;query&apos;], $this-&amp;gt;query[&apos;newObj&apos;], $this-&amp;gt;options);
 
             case self::TYPE_REMOVE:
                 return $this-&amp;gt;collection-&amp;gt;remove($this-&amp;gt;query[&apos;query&apos;], $this-&amp;gt;options);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; </description>
                <environment></environment>
            <key id="12338">MODM-113</key>
            <summary>No options for update queries ?</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jfbus">JF Bustarret</reporter>
                        <labels>
                    </labels>
                <created>Mon, 31 Jan 2011 11:48:57 +0000</created>
                <updated>Fri, 11 Feb 2011 14:32:07 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 14:32:07 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15262" author="jwage" created="Fri, 11 Feb 2011 14:31:56 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;https://github.com/doctrine/mongodb/commit/9511df1cede93286e8ddaa5dd00c73236fee08bd&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb/commit/9511df1cede93286e8ddaa5dd00c73236fee08bd&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-112] [PATCH] Allow Hydrator classes to be regenerated only if they are absent</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-112</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Hydrator classes are either never generated ou regenerated on each request.&lt;/p&gt;

&lt;p&gt;The patch add another case : regenerate only if absent.&lt;/p&gt;

&lt;p&gt;HydratorFactory::$autoGenerate switches to int and can have 3 values : HydratorFactory::AUTOGENERATE_NEVER, HydratorFactory::AUTOGENERATE_ALWAYS or HydratorFactory::AUTOGENERATE_ABSENT&lt;/p&gt;</description>
                <environment></environment>
            <key id="12336">MODM-112</key>
            <summary>[PATCH] Allow Hydrator classes to be regenerated only if they are absent</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jfbus">JF Bustarret</reporter>
                        <labels>
                    </labels>
                <created>Mon, 31 Jan 2011 03:44:29 +0000</created>
                <updated>Fri, 11 Feb 2011 14:52:32 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 14:52:32 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15199" author="jwage" created="Mon, 31 Jan 2011 11:50:30 +0000"  >&lt;p&gt;Hi, I don&apos;t think this is quite right. We should make this feature match the way proxies are generated. We will need to add a console command to generate the proxies for production.&lt;/p&gt;</comment>
                    <comment id="15204" author="jfbus" created="Wed, 2 Feb 2011 04:38:42 +0000"  >&lt;p&gt;A console command would need to know the configuration of the factories... It can&apos;t be a standalone script.&lt;/p&gt;

&lt;p&gt;A symfony script would be great (provided it works with symfony &amp;lt; 2), but what about non symfony users ?&lt;/p&gt;

&lt;p&gt;I added Proxies to my patch, and switched the two const to the Configuration class.&lt;/p&gt;</comment>
                    <comment id="15205" author="jfbus" created="Wed, 2 Feb 2011 04:40:26 +0000"  >&lt;p&gt;Updated patch with proxies&lt;/p&gt;</comment>
                    <comment id="15263" author="jwage" created="Fri, 11 Feb 2011 14:52:32 +0000"  >&lt;p&gt;Hi, I added the console commands for generating proxy and hydrator clases here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/56fc267459dd0b972e710b0ff1cab5fbf1859fd9&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/56fc267459dd0b972e710b0ff1cab5fbf1859fd9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will be integrated with DoctrineMongoDBBundle soon.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10925" name="autogenerate.patch" size="6557" author="jfbus" created="Wed, 2 Feb 2011 04:40:26 +0000" />
                    <attachment id="10923" name="autogenerate.patch" size="3170" author="jfbus" created="Mon, 31 Jan 2011 03:44:29 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-111] Trouble with MappedSuperclass/Single collection inheritance and commit 2e8071a4dc68b027f969</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-111</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have the following classes :&lt;/p&gt;

&lt;p&gt;@MappedSuperClass&lt;br/&gt;
@InheritanceType(&quot;SINGLE_COLLECTION&quot;)&lt;br/&gt;
@DiscriminatorField(fieldName=&quot;_class&quot;)&lt;br/&gt;
@DiscriminatorMap(&lt;/p&gt;
{&quot;SuperClass&quot;=&quot;SuperClass&quot;, &quot;SubClass1&quot;=&quot;SubClass1&quot;, &quot;SubClass2&quot;=&quot;SubClass2&quot;}
&lt;p&gt;)&lt;br/&gt;
abstract class SuperClass {}&lt;/p&gt;

&lt;p&gt;@Document&lt;br/&gt;
class SubClass1 extends SuperClass {}&lt;/p&gt;

&lt;p&gt;@MappedSuperClass&lt;br/&gt;
abstract class SuperClass2 extends SuperClass {}&lt;/p&gt;

&lt;p&gt;@Document&lt;br/&gt;
abstract class SubClass2 extends SuperClass2 {}&lt;/p&gt;

&lt;p&gt;SubClass2 does not use the single collection.&lt;br/&gt;
SubClass1 and SubClass2 do not use the discriminator map.&lt;/p&gt;

&lt;p&gt;This broke after commit 2e8071a4dc68b027f969.&lt;/p&gt;

&lt;p&gt;Why can&apos;t we use MappedSuperclasses in an single collection inheritance strategy ?&lt;/p&gt;
</description>
                <environment></environment>
            <key id="12333">MODM-111</key>
            <summary>Trouble with MappedSuperclass/Single collection inheritance and commit 2e8071a4dc68b027f969</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jfbus">JF Bustarret</reporter>
                        <labels>
                    </labels>
                <created>Fri, 28 Jan 2011 10:10:04 +0000</created>
                <updated>Fri, 11 Feb 2011 14:55:30 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 14:55:30 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15197" author="jfbus" created="Mon, 31 Jan 2011 03:47:29 +0000"  >&lt;p&gt;Dropped MappedSuperClasses and switched to Document classes.&lt;/p&gt;

&lt;p&gt;I&apos;m not very happy to have abstract classes configured as Document, but it works.&lt;/p&gt;</comment>
                    <comment id="15264" author="jwage" created="Fri, 11 Feb 2011 14:53:13 +0000"  >&lt;p&gt;Hi, can you make a test case for this exposing the problem?&lt;/p&gt;</comment>
                    <comment id="15265" author="jwage" created="Fri, 11 Feb 2011 14:55:30 +0000"  >&lt;p&gt;Ok, a mapped super class is not the top of the inheritance hierarchy. The first class that extends the mapped super class is where you would define that inheritance information.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-110] QueryBuilder missing values and values with wrong data types being inserted</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-110</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I&apos;m using annotation mapping for my documents and found something strange when i insert a document (having an embed document) using the query builder...&lt;/p&gt;

&lt;p&gt;When i use the document class and persist it, things are fine:&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;$testCase = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Documents\Test();
$testCase-&amp;gt;testInt = &apos;0&apos;;
$testCase-&amp;gt;intfields = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \Documents\Embed\Intfields();
$testCase-&amp;gt;intfields-&amp;gt;intone = &apos;1&apos;;
$testCase-&amp;gt;intfields-&amp;gt;inttwo = &apos;2&apos;;
$dm-&amp;gt;persist($testCase);
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Result:&lt;br/&gt;
{&lt;br/&gt;
   &quot;_id&quot;: ObjectId(&quot;4d417fb1723014d009000008&quot;),&lt;br/&gt;
   &quot;testInt&quot;: 0,&lt;br/&gt;
   &quot;intfields&quot;: &lt;/p&gt;
{
     &quot;intone&quot;: 1,
     &quot;inttwo&quot;: 2
  }
&lt;p&gt;} &lt;/p&gt;

&lt;p&gt;But when i use the query builder:&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;$dm-&amp;gt;createQueryBuilder()
-&amp;gt;insert(&apos;Documents\Test&apos;)
-&amp;gt;field(&apos;testInt&apos;)-&amp;gt;set(&apos;0&apos;)
-&amp;gt;field(&apos;intfields.intone&apos;)-&amp;gt;set(&apos;1&apos;)
-&amp;gt;field(&apos;intfields.inttwo&apos;)-&amp;gt;set(&apos;2&apos;)
-&amp;gt;getQuery()-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Result:&lt;br/&gt;
{&lt;br/&gt;
   &quot;_id&quot;: ObjectId(&quot;4d417fb1723014d009000009&quot;),&lt;br/&gt;
   &quot;testInt&quot;: &quot;0&quot;,&lt;br/&gt;
   &quot;intfields&quot;: &lt;/p&gt;
{
     &quot;inttwo&quot;: &quot;2&quot;
  }
&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;Intone is missing and the values are all string values.&lt;/p&gt;

&lt;p&gt;It seems to be a bug, but as i&apos;m new to the doctrine and mongo world, it&apos;s more than possible to be a user error. :}&lt;/p&gt;

&lt;p&gt;I was using the clone version of the master git hub.. is that beta2?&lt;/p&gt;

&lt;p&gt;Regards&lt;br/&gt;
S.&lt;/p&gt;

&lt;p&gt;PS.: Php files are attached&lt;/p&gt;</description>
                <environment></environment>
            <key id="12331">MODM-110</key>
            <summary>QueryBuilder missing values and values with wrong data types being inserted</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="shards">Shards</reporter>
                        <labels>
                    </labels>
                <created>Thu, 27 Jan 2011 10:11:13 +0000</created>
                <updated>Sat, 19 Feb 2011 18:28:25 +0000</updated>
                    <resolved>Sat, 12 Feb 2011 23:54:43 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15266" author="jwage" created="Fri, 11 Feb 2011 14:58:48 +0000"  >&lt;p&gt;Hi, phpunit test case?&lt;/p&gt;</comment>
                    <comment id="15290" author="jwage" created="Sat, 12 Feb 2011 23:54:43 +0000"  >&lt;p&gt;This is fixed now.&lt;/p&gt;</comment>
                    <comment id="15302" author="shards" created="Mon, 14 Feb 2011 03:28:13 +0000"  >&lt;p&gt;thank you =}&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10921" name="Documents.zip" size="1079" author="shards" created="Thu, 27 Jan 2011 10:11:13 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-109] Reference with Inheritance: Proxy error: &apos;document with identifier .. could not be found&apos;</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-109</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It&apos;s hard to explain this issue,&lt;/p&gt;

&lt;p&gt;I have a single table Inheritance, the base class is Block. ContainerBlock is a child class of Block.&lt;br/&gt;
I have a document Page who have a one-one with ContainerBlock (child of Block). ContainerBlock as many Block.&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;Test script:&lt;br/&gt;
----------------&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I have created a complete test-case (see attachment).&lt;br/&gt;
phpunit InheritanceReference/InheritanceReferenceTest.php&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;Expected result:&lt;br/&gt;
-----------------------&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;no error, no exception.&lt;/p&gt;


&lt;ul&gt;
	&lt;li&gt;Actual result:&lt;br/&gt;
-------------------&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;1) InheritanceReference\InheritanceReferenceTest::testMulipleInheritance&lt;br/&gt;
Doctrine\ODM\MongoDB\MongoDBException: The &quot;Proxy\DocumentBlockProxy&quot; document with identifier &quot;4d3d08116aba269508000001&quot; could not be found.&lt;/p&gt;

&lt;p&gt;src/vendor/symfony/vendor/doctrine-mongodb-odm/lib/Doctrine/ODM/MongoDB/MongoDBException.php:69&lt;br/&gt;
src/Bundle/InheritanceReference/Proxy/DocumentBlockProxy.php:25&lt;br/&gt;
src/Bundle/InheritanceReference/Proxy/DocumentBlockProxy.php:34&lt;br/&gt;
src/Bundle/InheritanceReference/InheritanceReferenceTest.php:65&lt;/p&gt;</description>
                <environment>Mac osx</environment>
            <key id="12322">MODM-109</key>
            <summary>Reference with Inheritance: Proxy error: &apos;document with identifier .. could not be found&apos;</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="gordonslondon">jules b</reporter>
                        <labels>
                    </labels>
                <created>Mon, 24 Jan 2011 00:19:11 +0000</created>
                <updated>Fri, 11 Feb 2011 15:26:37 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 15:26:37 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15267" author="jwage" created="Fri, 11 Feb 2011 15:26:37 +0000"  >&lt;p&gt;In your annotations you have @mongodb: but for just a standalone Doctrine test you don&apos;t need that. When I corrected the annotations no problem existed.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10914" name="InheritanceReference.tgz" size="2850" author="gordonslondon" created="Mon, 24 Jan 2011 00:19:11 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-108] Random hydratation problem</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-108</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have the following collection named Isboo_Item :&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
   &quot;_id&quot;: ObjectId(&quot;4d3d02fec9fa877d44a36978&quot;),&lt;br/&gt;
   &quot;author&quot;: null,&lt;br/&gt;
   &quot;backpack&quot;: null,&lt;br/&gt;
   &quot;itemType&quot;: 1,&lt;br/&gt;
   &quot;owner&quot;: &quot;4d3cf450b532519765080000&quot;,&lt;br/&gt;
   &quot;place&quot;: null,&lt;br/&gt;
   &quot;quality&quot;: null,&lt;br/&gt;
   &quot;quantity&quot;: 1,&lt;br/&gt;
   &quot;value&quot;: null &lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;I have a such PHP class :&lt;/p&gt;

&lt;p&gt;/**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@Document(db=&quot;Isboona&quot;, collection=&quot;Isboo_Item&quot;)&lt;/li&gt;
	&lt;li&gt;*/&lt;br/&gt;
class Isboo_Item extends Isboo_Db&lt;br/&gt;
{&lt;br/&gt;
(...)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;When I&apos;m trying :&lt;br/&gt;
$dm-&amp;gt;findOne($collection, array(&apos;_id&apos; =&amp;gt; $id));&lt;/p&gt;

&lt;p&gt;I get : &lt;/p&gt;

&lt;p&gt;Fatal error:  Uncaught exception &apos;ReflectionException&apos; with message &apos;Class 4 does not exist&apos; in /users/developpement/www/library/Doctrine/ODM/MongoDB/Mapping/ClassMetadata.php:285&lt;/p&gt;

&lt;p&gt;However the same works fine with another collection :&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
   &quot;_id&quot;: ObjectId(&quot;4d3cf450b532519765080000&quot;),&lt;br/&gt;
   &quot;characs&quot;: &lt;/p&gt;
{
     &quot;mana&quot;: 64,
     &quot;strenght&quot;: 83,
     &quot;agility&quot;: 69,
     &quot;dexterity&quot;: 88,
     &quot;constitution&quot;: 94,
     &quot;culture&quot;: 79,
     &quot;vivacity&quot;: 57,
     &quot;eloquence&quot;: 64,
     &quot;intellect&quot;: 74,
     &quot;willpower&quot;: 88,
     &quot;empathy&quot;: 96,
     &quot;charisma&quot;: 83 
  }
&lt;p&gt;,&lt;br/&gt;
   &quot;name&quot;: &quot;Krok&quot;,&lt;br/&gt;
   &quot;position&quot;: &lt;/p&gt;
{
     &quot;IDplace&quot;: 0,
     &quot;posX&quot;: 0,
     &quot;posY&quot;: 0,
     &quot;posLocalX&quot;: 0,
     &quot;posLocalY&quot;: 0 
  }
&lt;p&gt;,&lt;br/&gt;
   &quot;refFather&quot;: &lt;/p&gt;
{
     &quot;$ref&quot;: &quot;Isboo_Character&quot;,
     &quot;$id&quot;: ObjectId(&quot;4d3cf450b532519765090000&quot;),
     &quot;$db&quot;: &quot;Isboona&quot; 
  }
&lt;p&gt;,&lt;br/&gt;
   &quot;refMother&quot;: &lt;/p&gt;
{
     &quot;$ref&quot;: &quot;Isboo_Character&quot;,
     &quot;$id&quot;: ObjectId(&quot;4d3cf450b5325197650a0000&quot;),
     &quot;$db&quot;: &quot;Isboona&quot; 
  }
&lt;p&gt; &lt;br/&gt;
}&lt;/p&gt;</description>
                <environment>Mac OS X</environment>
            <key id="12321">MODM-108</key>
            <summary>Random hydratation problem</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="billybob">Billy Bob</reporter>
                        <labels>
                    </labels>
                <created>Sun, 23 Jan 2011 23:57:00 +0000</created>
                <updated>Tue, 25 Jan 2011 19:01:06 +0000</updated>
                    <resolved>Tue, 25 Jan 2011 19:01:06 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-107] Document Manager does not delete References</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-107</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;References are not deleted when the function $dm-&amp;gt;remove($x) is called.&lt;br/&gt;
It deltes $x from the database but all references are still persisted.&lt;/p&gt;

&lt;p&gt;See function: testManyDeleteReference() in attached file. &lt;/p&gt;</description>
                <environment>Ubuntu Linux 10.04 Maveric PHP 5.3.3</environment>
            <key id="12296">MODM-107</key>
            <summary>Document Manager does not delete References</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="exeu">Jan Eichhorn</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Jan 2011 12:04:36 +0000</created>
                <updated>Fri, 11 Feb 2011 15:38:41 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 15:38:41 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15188" author="exeu" created="Wed, 26 Jan 2011 03:06:50 +0000"  >&lt;p&gt;I don&apos;t know why Billy Bob has deleted the description?&lt;br/&gt;
So i&apos;ve restored it ....&lt;br/&gt;
Please don&apos;t do this without leaving a comment why!&lt;/p&gt;</comment>
                    <comment id="15268" author="jwage" created="Fri, 11 Feb 2011 15:38:41 +0000"  >&lt;p&gt;This is fixed here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/1791da1a406d67dc32fcb72cc200ccd2cd6cb828&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/1791da1a406d67dc32fcb72cc200ccd2cd6cb828&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for the issue report!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10908" name="ReferencesTest.php" size="5553" author="exeu" created="Thu, 13 Jan 2011 12:04:36 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-106] $in fails on document identifiers</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-106</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If I try to select a couple of documents with the in() query, I receive an empty result set when the selected field is the document id.&lt;/p&gt;

&lt;p&gt;The following code works fine and selects the right document:&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;       $query = $dm-&amp;gt;createQueryBuilder(&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;\Does\Not\Matter&quot;&lt;/span&gt;)
                   -&amp;gt;field(&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;)-&amp;gt;equals(&lt;span class=&quot;code-quote&quot;&gt;&quot;4d1db8ba2d8aa162300a0000&quot;&lt;/span&gt;)
                   -&amp;gt;getQuery()-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Whereas the following query returns nothing:&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;       $query = $dm-&amp;gt;createQueryBuilder(&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;\Does\Not\Matter&quot;&lt;/span&gt;)
                   -&amp;gt;field(&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;)-&amp;gt;in(array(&lt;span class=&quot;code-quote&quot;&gt;&quot;4d1db8ba2d8aa162300a0000&quot;&lt;/span&gt;))
                   -&amp;gt;getQuery()-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="12286">MODM-106</key>
            <summary>$in fails on document identifiers</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="garbage">Andreas Schmidt</reporter>
                        <labels>
                    </labels>
                <created>Sat, 8 Jan 2011 09:40:19 +0000</created>
                <updated>Fri, 11 Feb 2011 15:53:18 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 15:53:18 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Document Manager</component>
                <component>Document Repositories</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15129" author="jwage" created="Wed, 12 Jan 2011 21:38:33 +0000"  >&lt;p&gt;This should be fixed in the latest version in github. I resolved the issues with converting the different types of query parameters&lt;/p&gt;</comment>
                    <comment id="15206" author="vladar" created="Wed, 2 Feb 2011 08:40:08 +0000"  >&lt;p&gt;This is not fixed actually, as there is other issue in DocumentPersister::prepareQueryValue method, unrelated to type converting.&lt;/p&gt;

&lt;p&gt;e.g. following call will produce unexpectable result:&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;$result = $persister-&amp;gt;prepareQueryValue(&apos;_id&apos;, array(&apos;$in&apos; =&amp;gt; array(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \MongoId(&apos;some_id&apos;))));
&lt;span class=&quot;code-comment&quot;&gt;// will produce &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \MongoId() instead of original array&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That&apos;s because prepareQueryValue always transforms value for &apos;_id&apos; field to scalar, even if it was originally array, containing $in.&lt;/p&gt;</comment>
                    <comment id="15269" author="jwage" created="Fri, 11 Feb 2011 15:53:18 +0000"  >&lt;p&gt;I see better now. I fixed it here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/199cab760a7b3cc6a5050111c25e47d4788b310f&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/199cab760a7b3cc6a5050111c25e47d4788b310f&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-105] inversedBy as ORM</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-105</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;A way to specify &quot;inversedBy&quot; when mapping referenceOne and referenceMany as the ORM have it.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12283">MODM-105</key>
            <summary>inversedBy as ORM</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="henrikbjorn">Henrik Bjornskov</reporter>
                        <labels>
                    </labels>
                <created>Fri, 7 Jan 2011 07:58:02 +0000</created>
                <updated>Fri, 4 Mar 2011 10:33:47 +0000</updated>
                    <resolved>Fri, 4 Mar 2011 10:33:47 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA3</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15270" author="jwage" created="Fri, 11 Feb 2011 15:55:09 +0000"  >&lt;p&gt;hmm. I am not sure if having inversedBy makes sense for the mongodb odm based on how references currently work. What would it be used for? relationships in the odm don&apos;t work like they do in the orm. We don&apos;t use foreign keys to get a reference, we store a reference document on the document that is doing the referencing.&lt;/p&gt;</comment>
                    <comment id="15344" author="jwage" created="Sat, 19 Feb 2011 18:24:31 +0000"  >&lt;p&gt;Thinking about this more:&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;/** @Document */
class Product
{
    /** @ReferenceOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Seller&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $seller;
}

/** @Document */
class Seller
{
    /** @ReferenceMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Product&quot;&lt;/span&gt;, inversedBy=&lt;span class=&quot;code-quote&quot;&gt;&quot;seller&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $products;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now the $products association will be loaded by running a query like this:&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;db.products.find({ &apos;seller.$id&apos; : seller.id })
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Is this what you mean?&lt;/p&gt;</comment>
                    <comment id="15352" author="henrikbjorn" created="Sun, 20 Feb 2011 07:47:37 +0000"  >&lt;p&gt;Sorry not getting back to you about this sooner. But that is exactly what i mean &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; can also be done for reference one i think &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>
                    <comment id="15353" author="jwage" created="Sun, 20 Feb 2011 12:41:38 +0000"  >&lt;p&gt;Can you help me think through the other scenariors where it can be used? and how mappedBy would be used. We just need to be sure to think through all the semantics and define it all before I start trying to implement it.&lt;/p&gt;</comment>
                    <comment id="15355" author="jwage" created="Sun, 20 Feb 2011 22:14:42 +0000"  >&lt;p&gt;I implemented this here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/d1bffbd6bb7b7b690e25f1314f1bf6b69f1e41a6&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/d1bffbd6bb7b7b690e25f1314f1bf6b69f1e41a6&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Can you check it out and give some feedback?&lt;/p&gt;</comment>
                    <comment id="15358" author="henrikbjorn" created="Mon, 21 Feb 2011 02:46:44 +0000"  >&lt;p&gt;Yes i will play around with it later today &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>

<item>
            <title>[MODM-104] Creating mongo configuration class instance hangs php</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-104</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;After pasting down the doc tutorial example I&apos;ve noticed that php hangs on &lt;br/&gt;
Configuration instance creation.&lt;/p&gt;

&lt;p&gt;require &apos;Doctrine/Common/ClassLoader.php&apos;;&lt;br/&gt;
use Doctrine\Common\ClassLoader,&lt;br/&gt;
    Doctrine\Common\Annotations\AnnotationReader,&lt;br/&gt;
    Doctrine\ODM\MongoDB\DocumentManager,&lt;br/&gt;
    Doctrine\ODM\MongoDB\Mongo,&lt;br/&gt;
    Doctrine\ODM\MongoDB\Configuration,&lt;br/&gt;
    Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver;&lt;br/&gt;
// ODM Classes&lt;br/&gt;
$classLoader = new ClassLoader(&apos;Doctrine\ODM&apos;, &apos;mongodb_odm/lib&apos;);&lt;br/&gt;
$classLoader-&amp;gt;register();&lt;br/&gt;
// Common Classes&lt;br/&gt;
$classLoader = new ClassLoader(&apos;Doctrine\Common&apos;, &apos;mongodb_odm/lib/vendor/doctrine-common/lib&apos;);&lt;br/&gt;
$classLoader-&amp;gt;register();&lt;br/&gt;
// Document classes&lt;br/&gt;
$classLoader = new ClassLoader(&apos;Documents&apos;, _&lt;em&gt;DIR&lt;/em&gt;_);&lt;br/&gt;
$classLoader-&amp;gt;register();&lt;/p&gt;

&lt;p&gt;//-------hangs here&lt;br/&gt;
$config = new Configuration();&lt;/p&gt;

&lt;p&gt;//tried explicit too &lt;br/&gt;
// new Doctrine\ODM\MongoDB\Configuration();&lt;/p&gt;

&lt;p&gt;No errors or warnigs of any kind generated.&lt;/p&gt;</description>
                <environment>Ubuntu 10.4, PHP 5.3.3, MongoDB 1.6.5, doctrinemongoODM installed with PEAR, also present Doctrine 1.2.3, php handling installed via pecl</environment>
            <key id="12244">MODM-104</key>
            <summary>Creating mongo configuration class instance hangs 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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="pejot">Peter Jasiulewicz</reporter>
                        <labels>
                    </labels>
                <created>Tue, 21 Dec 2010 18:25:08 +0000</created>
                <updated>Fri, 11 Feb 2011 15:55:33 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 15:55:33 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15000" author="jwage" created="Thu, 23 Dec 2010 14:22:55 +0000"  >&lt;p&gt;Hmm, I am not sure this is a problem with any code or anything in the odm, but something wrong with your environment maybe?&lt;/p&gt;</comment>
                    <comment id="15014" author="pejot" created="Fri, 24 Dec 2010 08:32:27 +0000"  >&lt;p&gt;No reason why it would hang on a simple object constucting. I&apos;m using the box for development for a while now, Doctrine 1.2.3 installd too.&lt;br/&gt;
Will try to change the box after Xmas.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-103] @File tag support in xml notation</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-103</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Please correct me if I&apos;m wrong but it looks like that @File tag (Mongo GridFS indicator) is not supported by xmlDriver.&lt;br/&gt;
I could not find anything about this feature neither in unitests for the system nor in documentation (as concerning the code probably I missed something but I also could not find anything related to GrisFS in xmlDriver code) .&lt;/p&gt;</description>
                <environment>CentOS 5.5, PHP 5.3.3</environment>
            <key id="12241">MODM-103</key>
            <summary>@File tag support in xml notation</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Dec 2010 09:56:58 +0000</created>
                <updated>Mon, 20 Dec 2010 16:08:30 +0000</updated>
                    <resolved>Mon, 20 Dec 2010 16:08:30 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14986" author="jwage" created="Mon, 20 Dec 2010 16:08:30 +0000"  >&lt;p&gt;You would just do this:&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;&amp;lt;field fieldName=&lt;span class=&quot;code-quote&quot;&gt;&quot;photo&quot;&lt;/span&gt; type=&lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt; /&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-102] Documents which belong to global namespace can not be handled?</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-102</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I&apos;m using xml files to store documents annotations. &lt;br/&gt;
All my documents are in global namespace.&lt;/p&gt;

&lt;p&gt;So lets say I created the following configuration file:&lt;/p&gt;

&lt;p&gt;.Blackboard_Page.dcm.xml&lt;/p&gt;

&lt;p&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;br/&gt;
&amp;lt;doctrine-mongo-mapping xmlns=&quot;http://doctrine-project.org/schemas/orm/doctrine-mongo-mapping&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://doctrine-project.org/schemas/orm/doctrine-mongo-mapping.xsd&quot;&amp;gt;&lt;br/&gt;
	&amp;lt;document name=&quot;\Blackboard_Page&quot; collection=&quot;blackboard.pages&quot;&amp;gt;&lt;br/&gt;
		&amp;lt;field fieldName=&quot;_id&quot; name=&quot;_id&quot; id=&quot;true&quot;/&amp;gt;&lt;br/&gt;
		...&lt;br/&gt;
	&amp;lt;/document&amp;gt;&lt;br/&gt;
&amp;lt;/doctrine-mongo-mapping&amp;gt;&lt;/p&gt;

&lt;p&gt;When I try to get the document using the following code:&lt;/p&gt;

&lt;p&gt;foreach($dm-&amp;gt;createQueryBuilder(&quot;\Blackboard_Page&quot;)...&lt;del&gt;&amp;gt;getQuery()&lt;/del&gt;&amp;gt;execute() as $page) {}&lt;/p&gt;

&lt;p&gt;it fails with Exception &quot;Doctrine\ODM\MongoDB\MongoDBException: No identifier/primary key specified for Document &apos;Blackboard_Page&apos;. Every Document must have an identifier/primary key.&quot;&lt;/p&gt;

&lt;p&gt;The reason of the problem is behavior of the function &quot;get_class&quot;.&lt;br/&gt;
See mongodb_odm\lib\Doctrine\ODM\MongoDB\Hydrator.php line 122:&lt;br/&gt;
$metadata = $this-&amp;gt;dm-&amp;gt;getClassMetadata(get_class($document));&lt;br/&gt;
for details.&lt;/p&gt;

&lt;p&gt;When the code pass an instance of the document which belongs to global namespace the function &quot;get_class()&quot; returns class name without &quot;\&quot; prefix&lt;br/&gt;
and AbstractFileDriver-&amp;gt;findMappingFile convert such class name into file name without leading dot (&quot;.&quot;)  (something like &quot;Blackboard_Page.dcm.xml&quot; instead of &quot;.Blackboard_Page.dcm.xml&quot;).&lt;br/&gt;
And it causes the exception.&lt;/p&gt;

&lt;p&gt;Patching of the method &quot;AbstractFileDriver-&amp;gt;findMappingFile&quot; does not help. &lt;br/&gt;
The problem is more complicated than it looks like because get_class() is used in a lot of places in the code.&lt;/p&gt;









</description>
                <environment>CentOS 5.5, PHP 5.3.3</environment>
            <key id="12237">MODM-102</key>
            <summary>Documents which belong to global namespace can not be handled?</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Thu, 16 Dec 2010 14:39:03 +0000</created>
                <updated>Fri, 11 Feb 2011 15:56:30 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 15:56:30 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14987" author="jwage" created="Mon, 20 Dec 2010 16:10:25 +0000"  >&lt;p&gt;When you omit the starting \ does that help? I don&apos;t think you need to include it.&lt;/p&gt;</comment>
                    <comment id="14992" author="vkaplich" created="Tue, 21 Dec 2010 15:41:27 +0000"  >&lt;p&gt;Ok. I&apos;ll keep in mind and try later when it become possible and let you know about the result.&lt;/p&gt;

&lt;p&gt;&amp;gt; I don&apos;t think you need to include it.&lt;/p&gt;

&lt;p&gt;Unfortunately right now I just can not check it.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-101] Following documentation still does not produce a working bootstrap.</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-101</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Setting up following the documentation found at &lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/introduction/en#introduction&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/introduction/en#introduction&lt;/a&gt; produces the following errors.&lt;/p&gt;

&lt;p&gt;PHP Fatal error:  Class &apos;Doctrine\MongoDB\Configuration&apos; not found in C:\Inetpub\sites\phpdev\public\mongodb_odm\lib\Doctrine\ODM\MongoDB\Configuration.php on line 43&lt;br/&gt;
PHP Stack trace:&lt;br/&gt;
PHP   1. &lt;/p&gt;
{main}
&lt;p&gt;() C:\Inetpub\sites\phpdev\public\index.php:0&lt;br/&gt;
PHP   2. Doctrine\Common\ClassLoader-&amp;gt;loadClass() C:\Inetpub\sites\phpdev\public\mongodb_odm\lib\vendor\doctrine-common\lib\Doctrine\Common\ClassLoader.php:0&lt;br/&gt;
PHP   3. require() C:\Inetpub\sites\phpdev\public\mongodb_odm\lib\vendor\doctrine-common\lib\Doctrine\Common\ClassLoader.php:148&lt;/p&gt;

&lt;p&gt;Is there something missing from the documentation?&lt;/p&gt;</description>
                <environment>Windows Server 2003, IIS6, PHP 5.3.4</environment>
            <key id="12222">MODM-101</key>
            <summary>Following documentation still does not produce a working bootstrap.</summary>
                <type id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/documentation.png">Documentation</type>
                                <priority id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/minor.png">Minor</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="thorpe">Tony R Quilkey</reporter>
                        <labels>
                    </labels>
                <created>Sun, 12 Dec 2010 18:17:08 +0000</created>
                <updated>Sat, 19 Feb 2011 18:25:12 +0000</updated>
                    <resolved>Sat, 19 Feb 2011 18:25:12 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14988" author="jwage" created="Mon, 20 Dec 2010 16:11:19 +0000"  >&lt;p&gt;Yes, the documentation is not up to date with the latest version in git. The ODM depends on this now &lt;a href=&quot;https://github.com/doctrine/mongodb&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="15345" author="jwage" created="Sat, 19 Feb 2011 18:25:12 +0000"  >&lt;p&gt;The docs are updated now!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-100] XmlDriver and &quot;discriminatorMap&quot; for &quot;EmbedMany&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-100</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Please correct me if i&apos;m wrong but it looks like that current implementation of XmlDriver does not support the following feature:&lt;/p&gt;

&lt;p&gt;&quot;discriminatorMap&quot; for &quot;EmbedMany&quot;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/embedded-mapping/en#mixing-document-types&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/embedded-mapping/en#mixing-document-types&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;class User&lt;br/&gt;
{&lt;br/&gt;
    /**&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;@EmbedMany(&lt;/li&gt;
	&lt;li&gt;discriminatorMap=
{
     *     &quot;download&quot;=&quot;DownloadTask&quot;,
     *     &quot;build&quot;=&quot;BuildTask&quot;
     *   }&lt;/li&gt;
	&lt;li&gt;)&lt;br/&gt;
     */&lt;br/&gt;
    private $tasks = array();&lt;br/&gt;
}&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This feature is very important for our project and without it looks like that we have to move to Docblock annotations instead of XML format which could be rather painful and time consuming.&lt;/p&gt;
</description>
                <environment>CentOS 5.5 PHP 5.3.3</environment>
            <key id="12213">MODM-100</key>
            <summary>XmlDriver and &quot;discriminatorMap&quot; for &quot;EmbedMany&quot;</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 Dec 2010 15:01:10 +0000</created>
                <updated>Mon, 20 Dec 2010 16:06:02 +0000</updated>
                    <resolved>Mon, 20 Dec 2010 16:06:02 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14973" author="jwage" created="Wed, 15 Dec 2010 16:11:51 +0000"  >&lt;p&gt;It looks like it is just missing. I&apos;d be happy to accept a patch if you can provide 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;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-99] ODM tests drop all collections from all databases on the MongoDB server</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-99</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Recently I run ODM tests in my sandbox and found out that all collections in all databases were dropped after that.&lt;br/&gt;
Thanks god I did run it in my sandbox only which has own database instance.&lt;/p&gt;

&lt;p&gt;After reviewing the code I found out that Doctrine\ODM\MongoDB\Tests\BaseTest-&amp;gt;tearDown() method cleans up the whole MongoDB server after running the tests.&lt;/p&gt;

&lt;p&gt;From one hand such &lt;b&gt;extremely unsafe&lt;/b&gt; behavior is not mentioned anywhere from another hand there are no ways to work around it currently but only changing the tests code.&lt;/p&gt;

&lt;p&gt;It would be really great if there is a way to specify MongoDB connection parameters for ODM tests or at least change tests code in order to drop only databases which were created during the test&lt;br/&gt;
and no others else.&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;</description>
                <environment>Cent OS 5.5, PHP 5.3.3</environment>
            <key id="12206">MODM-99</key>
            <summary>ODM tests drop all collections from all databases on the MongoDB server</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vkaplich">Vitaliy Kaplich</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Dec 2010 13:26:40 +0000</created>
                <updated>Mon, 20 Dec 2010 16:40:33 +0000</updated>
                    <resolved>Mon, 20 Dec 2010 16:40:33 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-98] Partial UnitOfWork clear on runtime defaultDb change</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-98</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Actually I am not sure if this is a bug or just ODM limitation, but there is a use-case for MongoDb which doesn&apos;t fit well with current ODM implementation. &lt;/p&gt;

&lt;p&gt;Imagine SaaS service, where each client has his own DB. Documents and collections are all the same, except most of them are stored in different DBs, depending on context.&lt;/p&gt;

&lt;p&gt;It works pretty well with ODM defaultDB configration setting, until you need to process data from different dbs (e.g. iterate db by db in CLI script). When you try to change default db, repositories and persisters stay there and all keep a reference to initial DB. And they don&apos;t get reset on UnitOfWork-&amp;gt;clear(). It would be great to have runtime defaultDb switching out of the box, but if that is a problem, maybe you can advice on how this could be handled?&lt;/p&gt;</description>
                <environment></environment>
            <key id="12203">MODM-98</key>
            <summary>Partial UnitOfWork clear on runtime defaultDb change</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Dec 2010 02:34:41 +0000</created>
                <updated>Mon, 20 Dec 2010 16:50:15 +0000</updated>
                    <resolved>Mon, 20 Dec 2010 16:50:15 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14989" author="jwage" created="Mon, 20 Dec 2010 16:50:15 +0000"  >&lt;p&gt;Hi, this is actually by design. The configuration is not something you change at runtime. I think in your case you need to be working with multiple DocumentManager instances.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-97] FindAndModify does not return an object</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-97</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Boolean true is returned instead of an object after a FindAndModify command is successfully executed.&lt;/p&gt;

&lt;p&gt;		 $c = $dm-&amp;gt;createQuery(&apos;downloads&apos;)&lt;br/&gt;
				  -&amp;gt;findAndModify(array(&apos;new&apos; =&amp;gt; true))&lt;br/&gt;
				  &lt;del&gt;&amp;gt;field(&apos;key&apos;)&lt;/del&gt;&amp;gt;equals(&apos;file1&apos;)&lt;br/&gt;
				  -&amp;gt;update()&lt;br/&gt;
				  &lt;del&gt;&amp;gt;field(&apos;counter&apos;)&lt;/del&gt;&amp;gt;inc(1)&lt;br/&gt;
				  -&amp;gt;execute();&lt;/p&gt;

&lt;p&gt;                 echo gettype($c); // boolean&lt;/p&gt;</description>
                <environment>Windows xp sp3, apache</environment>
            <key id="12192">MODM-97</key>
            <summary>FindAndModify does not return an object</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="bsrykt">Ba&#351;ar Aykut</reporter>
                        <labels>
                    </labels>
                <created>Sat, 4 Dec 2010 20:10:24 +0000</created>
                <updated>Mon, 20 Dec 2010 16:50:34 +0000</updated>
                    <resolved>Mon, 20 Dec 2010 16:50:34 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14911" author="jwage" created="Sun, 5 Dec 2010 20:23:22 +0000"  >&lt;p&gt;The syntax using the latest version of mongodb odm in git 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;$c = $dm-&amp;gt;createQuery(&apos;downloads&apos;)
-&amp;gt;findAndUpdate()
-&amp;gt;returnNew()
-&amp;gt;field(&apos;key&apos;)-&amp;gt;equals(&apos;file1&apos;)
-&amp;gt;field(&apos;counter&apos;)&amp;gt;inc(1)
-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14915" author="bsrykt" created="Mon, 6 Dec 2010 07:06:47 +0000"  >&lt;p&gt;findAndUpdate does not return an object also however it returns an array which includes the object. Is it an expected behavior? And it does not update the record?&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(1) {
  [&lt;span class=&quot;code-quote&quot;&gt;&quot;4cf9163aff2e00000000154e&quot;&lt;/span&gt;]=&amp;gt;
  object(downloads)#125 (3) {
    [&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;]=&amp;gt;string(24) &lt;span class=&quot;code-quote&quot;&gt;&quot;4cf9163aff2e00000000154e&quot;&lt;/span&gt;
    [&lt;span class=&quot;code-quote&quot;&gt;&quot;key&quot;&lt;/span&gt;] =&amp;gt; string(6) &lt;span class=&quot;code-quote&quot;&gt;&quot;file1&quot;&lt;/span&gt;
    [&lt;span class=&quot;code-quote&quot;&gt;&quot;counter&quot;&lt;/span&gt;] =&amp;gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;(10391)
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14922" author="jwage" created="Mon, 6 Dec 2010 13:19:47 +0000"  >&lt;p&gt;Are you using the latest version of everything?&lt;/p&gt;</comment>
                    <comment id="14925" author="bsrykt" created="Tue, 7 Dec 2010 08:55:28 +0000"  >&lt;p&gt;I have updated to the latest version in the git. Below query works and returns the updated object as expected. However this is true only for the first call. Repeated calls return the first object .&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;		$pid = $dm-&amp;gt;createQueryBuilder(&apos;downloads&apos;)
				  -&amp;gt;findAndUpdate()
				  -&amp;gt;returnNew(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
				  -&amp;gt;field(&apos;key&apos;)-&amp;gt;equals(&apos;file1&apos;)
				  -&amp;gt;field(&apos;counter&apos;)-&amp;gt;inc(1)
				  -&amp;gt;getQuery()-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14927" author="jwage" created="Tue, 7 Dec 2010 13:29:19 +0000"  >&lt;p&gt;Hi, I don&apos;t follow. Can you show a test of what you are doing? I did a simple test executing a findAndUpdate 2 times in a row and it worked.&lt;/p&gt;</comment>
                    <comment id="14928" author="bsrykt" created="Tue, 7 Dec 2010 15:37:06 +0000"  >&lt;p&gt;It works but it doesn&apos;t return the updated object on subsequent calls. &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;$pid = $dm-&amp;gt;createQueryBuilder(&apos;downloads&apos;)
				  -&amp;gt;findAndUpdate()
				  -&amp;gt;returnNew(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
				  -&amp;gt;field(&apos;key&apos;)-&amp;gt;equals(&apos;file1&apos;)
				  -&amp;gt;field(&apos;counter&apos;)-&amp;gt;inc(1)
				  -&amp;gt;getQuery()-&amp;gt;execute();

var_dump($pid);

$pid = $dm-&amp;gt;createQueryBuilder(&apos;downloads&apos;)
				  -&amp;gt;findAndUpdate()
				  -&amp;gt;returnNew(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
				  -&amp;gt;field(&apos;key&apos;)-&amp;gt;equals(&apos;file1&apos;)
				  -&amp;gt;field(&apos;counter&apos;)-&amp;gt;inc(1)
				  -&amp;gt;getQuery()-&amp;gt;execute();

var_dump($pid);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Outputs&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(downloads)#112 (3) {
  [&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;]=&amp;gt;
  string(24) &lt;span class=&quot;code-quote&quot;&gt;&quot;4cfadede55242b0084000003&quot;&lt;/span&gt;
  [&lt;span class=&quot;code-quote&quot;&gt;&quot;key&quot;&lt;/span&gt;]=&amp;gt;
  string(6) &lt;span class=&quot;code-quote&quot;&gt;&quot;file1&quot;&lt;/span&gt;
  [&lt;span class=&quot;code-quote&quot;&gt;&quot;counter&quot;&lt;/span&gt;]=&amp;gt;
  &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;(1)
}

object(downloads)#112 (3) {
  [&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;]=&amp;gt;
  string(24) &lt;span class=&quot;code-quote&quot;&gt;&quot;4cfadede55242b0084000003&quot;&lt;/span&gt;
  [&lt;span class=&quot;code-quote&quot;&gt;&quot;key&quot;&lt;/span&gt;]=&amp;gt;
  string(6) &lt;span class=&quot;code-quote&quot;&gt;&quot;file1&quot;&lt;/span&gt;
  [&lt;span class=&quot;code-quote&quot;&gt;&quot;counter&quot;&lt;/span&gt;]=&amp;gt;
  &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;(1)
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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-comment&quot;&gt;// document at the beginning
&lt;/span&gt;{ &lt;span class=&quot;code-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4cfadede55242b0084000003&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;key&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;file1&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;counter&quot;&lt;/span&gt;: 0 }

&lt;span class=&quot;code-comment&quot;&gt;// after the calls
&lt;/span&gt;{ &lt;span class=&quot;code-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4cfadede55242b0084000003&quot;&lt;/span&gt;,&lt;span class=&quot;code-quote&quot;&gt;&quot;key&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;file1&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;counter&quot;&lt;/span&gt;: 2 }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14929" author="jwage" created="Tue, 7 Dec 2010 20:27:45 +0000"  >&lt;p&gt;Since Doctrine maintains an identity map, the 2nd time it is not refreshing the documents data. Since it already exists in the identity map it simply returns that document. You can tell Doctrine to refresh the data by doing this:&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;$pid = $dm-&amp;gt;createQueryBuilder(&apos;downloads&apos;)
    -&amp;gt;findAndUpdate()
    -&amp;gt;returnNew(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
    -&amp;gt;refresh(&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
    -&amp;gt;field(&apos;key&apos;)-&amp;gt;equals(&apos;file1&apos;)
    -&amp;gt;field(&apos;counter&apos;)-&amp;gt;inc(1)
    -&amp;gt;getQuery()-&amp;gt;execute();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14939" author="bsrykt" created="Thu, 9 Dec 2010 10:28:08 +0000"  >&lt;p&gt;I don&apos;t see any function called refresh? Are you going to add it? I think it would be better to return refreshed data automatically for the findAndUpdate command.&lt;/p&gt;</comment>
                    <comment id="14964" author="jwage" created="Mon, 13 Dec 2010 08:06:48 +0000"  >&lt;p&gt;I added it already to the latest version in git.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-96] YamlDriver Symfony Components Namespace Issue</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-96</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;In the YamlDriver.php the namespace is incorrect I pressume. It should be \Symfony\Components\Yaml\Yaml. Its missing a &apos;s&apos; in Component&lt;/p&gt;

&lt;p&gt;Current in Master :&lt;br/&gt;
protected function loadMappingFile($file)&lt;br/&gt;
{&lt;br/&gt;
        return \Symfony\Component\Yaml\Yaml::load($file);&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;Desired Outcome&lt;br/&gt;
protected function loadMappingFile($file)&lt;br/&gt;
{&lt;br/&gt;
        return \Symfony\Components\Yaml\Yaml::load($file);&lt;br/&gt;
}&lt;/p&gt;</description>
                <environment>Ubunuto, Zend Server, MongoDB 1.6.3</environment>
            <key id="12165">MODM-96</key>
            <summary>YamlDriver Symfony Components Namespace Issue</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="nashad">Nashad Alam</reporter>
                        <labels>
                    </labels>
                <created>Thu, 25 Nov 2010 23:40:11 +0000</created>
                <updated>Mon, 20 Dec 2010 16:51:29 +0000</updated>
                    <resolved>Mon, 20 Dec 2010 16:51:29 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14990" author="jwage" created="Mon, 20 Dec 2010 16:51:29 +0000"  >&lt;p&gt;Hi, no they renamed it to Component. No &quot;s&quot;. Do you have an old version of the YAML component maybe?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-95] Persisting a document that had embedded documents prior to being removed results in a document with no embedded documents</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-95</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;1) Persist a document with embedded documents&lt;br/&gt;
2) Load document into memory (store in variable)&lt;br/&gt;
3) Remove document using ODM&lt;br/&gt;
4) Persist loaded document back to DB using ODM&lt;br/&gt;
5) Embedded documents are now gone&lt;/p&gt;

&lt;p&gt;I have created a new failing test in the ODM and requested a pull&lt;/p&gt;</description>
                <environment></environment>
            <key id="12146">MODM-95</key>
            <summary>Persisting a document that had embedded documents prior to being removed results in a document with no embedded documents</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jseverson">Jay Severson</reporter>
                        <labels>
                    </labels>
                <created>Wed, 24 Nov 2010 06:29:05 +0000</created>
                <updated>Wed, 24 Nov 2010 13:02:52 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 13:02:52 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14809" author="jwage" created="Wed, 24 Nov 2010 13:02:52 +0000"  >&lt;p&gt;Thanks! Fixed in master.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-94] $or operator</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-94</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;MongoDB proposes an operator $or&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24or&quot; class=&quot;external-link&quot;&gt;http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24or&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Can you add this feature in Doctrine\ODM\MongoDB\Query&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;

&lt;p&gt;Julien&lt;/p&gt;</description>
                <environment></environment>
            <key id="12034">MODM-94</key>
            <summary>$or operator</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="julienj">Julien</reporter>
                        <labels>
                    </labels>
                <created>Tue, 26 Oct 2010 13:35:08 +0000</created>
                <updated>Mon, 15 Nov 2010 12:11:57 +0000</updated>
                    <resolved>Mon, 15 Nov 2010 12:11:57 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14654" author="kriswallsmith" created="Mon, 1 Nov 2010 09:33:21 +0000"  >&lt;p&gt;I&apos;ve proposed a resolution in the &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-94&quot; title=&quot;$or operator&quot;&gt;&lt;del&gt;MODM-94&lt;/del&gt;&lt;/a&gt; branch on GitHub, what do you think?&lt;br/&gt;
&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/428c4f3ee2b9600ad83bbe8749ebc56224ad75aa&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/428c4f3ee2b9600ad83bbe8749ebc56224ad75aa&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14668" author="kriswallsmith" created="Fri, 5 Nov 2010 07:41:14 +0000"  >&lt;p&gt;I don&apos;t seem to have permission to close this ticket...&lt;/p&gt;

&lt;p&gt;I merged this change into master.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-93] YAML and XML mapping drivers ignore discriminatorField and discriminatorMap</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-93</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The discriminatorField and discriminatorMap options are ignored by both the YAML and XML drivers.&lt;/p&gt;

&lt;p&gt;Example:&lt;br/&gt;
This mapping fails to store the discriminator in the type field and instead uses _doctrine_class_name as the discriminatorField the mapping also reverts to using class names.&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-xml&quot;&gt; 
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;?xml version=&lt;span class=&quot;code-quote&quot;&gt;&quot;1.0&quot;&lt;/span&gt; encoding=&lt;span class=&quot;code-quote&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;doctrine-mongo-mapping&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;document name=&lt;span class=&quot;code-quote&quot;&gt;&quot;Application\Test\Document\Group&quot;&lt;/span&gt; collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;groups&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;field name=&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; fieldName=&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; id=&lt;span class=&quot;code-quote&quot;&gt;&quot;true&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;field name=&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; fieldName=&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;embed-many field=&lt;span class=&quot;code-quote&quot;&gt;&quot;people&quot;&lt;/span&gt; discriminator-field=&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;discriminator-map&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;discriminator-mapping class=&lt;span class=&quot;code-quote&quot;&gt;&quot;Admin&quot;&lt;/span&gt; value=&lt;span class=&quot;code-quote&quot;&gt;&quot;Admin&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;
                &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;discriminator-mapping class=&lt;span class=&quot;code-quote&quot;&gt;&quot;User&quot;&lt;/span&gt; value=&lt;span class=&quot;code-quote&quot;&gt;&quot;User&quot;&lt;/span&gt; /&amp;gt;&lt;/span&gt;
            &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/discriminator-map&amp;gt;&lt;/span&gt;
        &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/embed-many&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/document&amp;gt;&lt;/span&gt;
&lt;span class=&quot;code-tag&quot;&gt;&amp;lt;/doctrine-mongo-mapping&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I think that this is also a problem for referenced documents as well, as the code for the two is nearly identical.&lt;/p&gt;

&lt;p&gt;I refactored addEmbedMapping and addReferenceMapping to call the same function addDocumentMapping&lt;br/&gt;
Commit can be found here &lt;a href=&quot;http://github.com/dordille/mongodb-odm/commit/41ce2ee126ff7f82610130704dbec451384bfdd3&quot; class=&quot;external-link&quot;&gt;http://github.com/dordille/mongodb-odm/commit/41ce2ee126ff7f82610130704dbec451384bfdd3&lt;/a&gt;&lt;/p&gt;</description>
                <environment>Symony2&lt;br/&gt;
Doctrine2 latest from github</environment>
            <key id="12030">MODM-93</key>
            <summary>YAML and XML mapping drivers ignore discriminatorField and discriminatorMap</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dordille">Dan Ordille</reporter>
                        <labels>
                    </labels>
                <created>Sun, 24 Oct 2010 02:53:38 +0000</created>
                <updated>Wed, 24 Nov 2010 13:13:32 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 13:13:32 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                <version>1.0.0ALPHA2</version>
                <version>1.0.0BETA1</version>
                <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                <fixVersion>1.0.0ALPHA2</fixVersion>
                <fixVersion>1.0.0BETA1</fixVersion>
                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14811" author="jwage" created="Wed, 24 Nov 2010 13:13:32 +0000"  >&lt;p&gt;Merged! Thanks for the fix!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-92] Changing all data in embedMany collections can create duplicate embedded objects</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-92</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Repeatable in the following use case, when the default pushPull strategy is used for an embedMany collection:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Persist an object with a single embedded object in its embedMany collection.  Flush/clear/refetch.&lt;/li&gt;
	&lt;li&gt;Clear the collection and add a new embedded object.  Flush/clear/refetch.&lt;/li&gt;
	&lt;li&gt;The containing object&apos;s collection now has two copies of the replacement object from the previous step.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I investigated this as best I could, and traced the problem to BasicDocumentPersister::prepareUpdateData() and the data it receives from UnitOfWork&apos;s changeset.&lt;/p&gt;

&lt;p&gt;The UoW changeset simply reports the old/new embedded collections as arrays of raw data.  This makes BasicDocumentPersister unable to distinguish whether a $set or $pullAll/$pushAll is an appropriate course of action, since it cannot discern whether the embedded objects are actually different (by SPL object hash) or merely changed.  Following the logic in prepareUpdateData(), we end up doing two things when processing the update for the collection field:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Since old !== new, and we&apos;re a collection field type, generate pull/push commands based on the delete/insert diffs.&lt;/li&gt;
	&lt;li&gt;Since we&apos;re embedded and new evalutes to true, recursively call prepareUpdateData() on ourself, which will then go on to generate set commands.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This chain of commands will then reach BasicDocumentPersister::update() later on and given the logic check within:&lt;/p&gt;

&lt;p&gt;&amp;gt; if ((isset($update&lt;span class=&quot;error&quot;&gt;&amp;#91;$this-&amp;gt;cmd . &amp;#39;pushAll&amp;#39;&amp;#93;&lt;/span&gt;) || isset($update&lt;span class=&quot;error&quot;&gt;&amp;#91;$this-&amp;gt;cmd . &amp;#39;pullAll&amp;#39;&amp;#93;&lt;/span&gt;)) &amp;amp;&amp;amp; isset($update&lt;span class=&quot;error&quot;&gt;&amp;#91;$this-&amp;gt;cmd . &amp;#39;set&amp;#39;&amp;#93;&lt;/span&gt;)) ...&lt;/p&gt;

&lt;p&gt;The $set command will be executed first, followed by $pullAll/$pushAll later.  This $set actually changes the very data that $pullAll expects to remove, so $pullAll will do nothing but $pushAll will still insert a copy of our new data.  The end result is that we now have two copies of our new data in the collection.&lt;/p&gt;</description>
                <environment>MongoDB 1.6.3, with Mongo ODM master as of 10/22/2010</environment>
            <key id="12028">MODM-92</key>
            <summary>Changing all data in embedMany collections can create duplicate embedded objects</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jmikola">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 Oct 2010 15:55:34 +0000</created>
                <updated>Tue, 23 Nov 2010 16:20:55 +0000</updated>
                    <resolved>Tue, 23 Nov 2010 16:20:55 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14595" author="jmikola" created="Fri, 22 Oct 2010 16:05:46 +0000"  >&lt;p&gt;Failing test case here: &lt;a href=&quot;http://github.com/jmikola/mongodb-odm/commit/336a700ac6fe0cdf013fc864d8e70f43cb5b73e2&quot; class=&quot;external-link&quot;&gt;http://github.com/jmikola/mongodb-odm/commit/336a700ac6fe0cdf013fc864d8e70f43cb5b73e2&lt;/a&gt;&lt;br/&gt;
Pull request here: &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/pull/37&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/pull/37&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Temporary fix is to switch the mapping strategy to &quot;set&quot; instead of the default &quot;pushPull&quot;&lt;/p&gt;

&lt;p&gt;I spoke with Bulat and believe the long-term fix for this will be having UoW preserve the SPL object hash of embedded objects in changsets, so that we can compare something more than arrays when deciding what MongoDB commands to utilize.  For cases such as this, the $set is superfluous in my opinion - it should only be used if the same object remained in the collection and had its value(s) changed.&lt;/p&gt;</comment>
                    <comment id="14804" author="jwage" created="Tue, 23 Nov 2010 16:20:55 +0000"  >&lt;p&gt;Thanks! This is now fixed with the refactoring we did the persisters last week!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-91] Document unnecessarily persisted when embedded documents have null properties</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-91</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The setup is a document that has an embedded document. If the embedded document is persisted with at least one field set to null, the changeset for the parent document will include the embedded document, even if no changes have been made.&lt;/p&gt;

&lt;p&gt;The reason is that the &quot;$orgValue&quot; in UnitOfWork::computeChangeSet() won&apos;t contain the null field at all, while the &quot;$actualValue&quot; contains the field properly set to a null value.&lt;/p&gt;

&lt;p&gt;Test coverage and fix to follow.&lt;/p&gt;</description>
                <environment>Ubuntu 10.04, PHP 5.3.2, Mongo 1.6.3</environment>
            <key id="12023">MODM-91</key>
            <summary>Document unnecessarily persisted when embedded documents have null properties</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="weaverryan">Ryan Weaver</reporter>
                        <labels>
                    </labels>
                <created>Wed, 20 Oct 2010 09:12:13 +0000</created>
                <updated>Wed, 24 Nov 2010 13:14:48 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 13:14:48 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Hydration</component>
                <component>Persister</component>
                <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14585" author="weaverryan" created="Wed, 20 Oct 2010 09:21:56 +0000"  >&lt;p&gt;Tests and fix can be found here: &lt;a href=&quot;http://github.com/weaverryan/mongodb-odm/tree/invalid_changeset_on_null_properties&quot; class=&quot;external-link&quot;&gt;http://github.com/weaverryan/mongodb-odm/tree/invalid_changeset_on_null_properties&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Comments on the change welcome. One unrelated test was affected, which required a fix inside BasicDocumentPersister.&lt;/p&gt;</comment>
                    <comment id="14812" author="jwage" created="Wed, 24 Nov 2010 13:14:48 +0000"  >&lt;p&gt;This is fixed now with the latest refactoring of some internal parts.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-90] UnitOfWork incorrectly flushes certain documents with embedded documents on first flush</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-90</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;With documents that have embedded documents, the changeset is sometimes calculated incorrectly so that unmodified documents are flushed unnecessarily. This is similar in spirit to #&lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-83&quot; title=&quot;UnitOfWork incorrectly updates all documents with embedded documents on flush&quot;&gt;&lt;del&gt;MODM-83&lt;/del&gt;&lt;/a&gt;, but this isn&apos;t covered by that fix.&lt;/p&gt;


&lt;p&gt;This can be seen when the document has an embedded document that uses a discriminator map. When calculating the changeset, the original value will have the discriminator field and value present while the actual value does not contain the discriminator field.&lt;/p&gt;

&lt;p&gt;Covering tests with fixes to follow shortly.&lt;/p&gt;</description>
                <environment>Ubuntu, PHP 5.3.2, Mongo 1.6.3</environment>
            <key id="12021">MODM-90</key>
            <summary>UnitOfWork incorrectly flushes certain documents with embedded documents on first flush</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="weaverryan">Ryan Weaver</reporter>
                        <labels>
                    </labels>
                <created>Wed, 20 Oct 2010 08:01:40 +0000</created>
                <updated>Wed, 20 Oct 2010 12:52:06 +0000</updated>
                    <resolved>Wed, 20 Oct 2010 12:52:06 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Hydration</component>
                <component>Persister</component>
                <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14584" author="weaverryan" created="Wed, 20 Oct 2010 08:42:18 +0000"  >&lt;p&gt;The covering test and fix can be found here: &lt;a href=&quot;http://github.com/weaverryan/mongodb-odm/tree/embedded_document_changeset_problem&quot; class=&quot;external-link&quot;&gt;http://github.com/weaverryan/mongodb-odm/tree/embedded_document_changeset_problem&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14587" author="avalanche123" created="Wed, 20 Oct 2010 12:52:06 +0000"  >&lt;p&gt;Fixed here - &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/01e02406f37a316399f4161d00b72efe43716173&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/01e02406f37a316399f4161d00b72efe43716173&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-89] CLONE -UnitOfWork incorrectly updates all documents with embedded documents on flush</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-89</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I use the &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-83&quot; class=&quot;external-link&quot;&gt;MODM-83 fix,&lt;/a&gt; now i cant delete childrens with a other embedded document: &lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;The complete document&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;{
   &lt;span class=&quot;code-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4caeea835634c915360a0000&quot;&lt;/span&gt;),
   &lt;span class=&quot;code-quote&quot;&gt;&quot;categories&quot;&lt;/span&gt; : {
     &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
       &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f55634c99177030000&quot;&lt;/span&gt;),
       &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Kategorie&quot;&lt;/span&gt;,
       &lt;span class=&quot;code-quote&quot;&gt;&quot;questions&quot;&lt;/span&gt; : {
         &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
           &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f75634c99177040000&quot;&lt;/span&gt;),
           &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Frage&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;relevance&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;multi&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answertype&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;other&quot;&lt;/span&gt; : 0
        }
      }
    }
  },
   &lt;span class=&quot;code-quote&quot;&gt;&quot;description&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;pipapo!&quot;&lt;/span&gt;,
   &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;ich bin ein Katalog&quot;&lt;/span&gt;,
   &lt;span class=&quot;code-quote&quot;&gt;&quot;version&quot;&lt;/span&gt; : 1
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Now i add a new answer too the question:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;The question with the new answer&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-quote&quot;&gt;&quot;questions&quot;&lt;/span&gt; : {
         &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answers&quot;&lt;/span&gt; : {
             &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
               &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd56b95634c99b5b090000&quot;&lt;/span&gt;),
               &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Antwort&quot;&lt;/span&gt;
            }
          },
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answertype&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f75634c99177040000&quot;&lt;/span&gt;),
           &lt;span class=&quot;code-quote&quot;&gt;&quot;multi&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Frage&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;other&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;relevance&quot;&lt;/span&gt; : 0
        } 
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;When i delete now the new answer i have a empty array and i cant delete the question from the categorie.&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;The unkillable question&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-quote&quot;&gt;&quot;questions&quot;&lt;/span&gt; : {
         &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answers&quot;&lt;/span&gt; : [
            
          ],
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answertype&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f75634c99177040000&quot;&lt;/span&gt;),
           &lt;span class=&quot;code-quote&quot;&gt;&quot;multi&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Frage&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;other&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;relevance&quot;&lt;/span&gt; : 0
        }
      }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Its a unkillable entry now.&lt;br/&gt;
Sorry for my bad english.&lt;/p&gt;</description>
                <environment>OS X 10.6.4, PHP 5.3.2, Mongo 1.6.3 (can reproduce on Ubuntu 8.04.4 LTS, CentOS, Win 7, etc)</environment>
            <key id="12015">MODM-89</key>
            <summary>CLONE -UnitOfWork incorrectly updates all documents with embedded documents on flush</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="a.koss">Alexander Ko&#223;</reporter>
                        <labels>
                    </labels>
                <created>Tue, 19 Oct 2010 06:51:13 +0000</created>
                <updated>Wed, 24 Nov 2010 14:52:29 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:52:29 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14813" author="jwage" created="Wed, 24 Nov 2010 13:19:10 +0000"  >&lt;p&gt;I don&apos;t understand the issue. Can you show some php code that shows what you are trying to persist?&lt;/p&gt;</comment>
                    <comment id="14828" author="jwage" created="Wed, 24 Nov 2010 14:52:29 +0000"  >&lt;p&gt;I&apos;m pretty certain this is no longer an issue.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-88] Selecting a subset of properties and then flushing causes database corruption</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-88</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Pretty simple to reproduce. Here is the code from our own application. All we wanted to do was to select a subset of fields from the Article document, and found that if we did that and then did anything to cause the DM to mark those documents as modified, when they get flushed to mongo it corrupts your data. For example, article has a property &quot;published&quot; which is set to 1, and after I run this code below, it will set the &quot;published&quot; property to &quot;null&quot; on all documents. &lt;/p&gt;


&lt;p&gt;        $class = &apos;Bundle\ArticleBundle\Document\Article&apos;;&lt;br/&gt;
        $documents = $dm-&amp;gt;createQuery($class)&lt;del&gt;&amp;gt;select(&apos;_id&apos;,&apos;title&apos;,&apos;user&apos;)&lt;/del&gt;&amp;gt;execute();&lt;br/&gt;
        foreach($documents as $document) &lt;/p&gt;
{
            $document-&amp;gt;getTitle();
        }
&lt;p&gt;        $dm-&amp;gt;flush();&lt;br/&gt;
        exit;&lt;/p&gt;
</description>
                <environment></environment>
            <key id="12013">MODM-88</key>
            <summary>Selecting a subset of properties and then flushing causes database corruption</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jseverson">Jay Severson</reporter>
                        <labels>
                    </labels>
                <created>Mon, 18 Oct 2010 15:25:49 +0000</created>
                <updated>Wed, 24 Nov 2010 14:10:10 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:10:10 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14814" author="jwage" created="Wed, 24 Nov 2010 14:10:10 +0000"  >&lt;p&gt;This is not a problem anymore after the recent refactoring.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-87] get_class() expects parameter 1 to be object, array given </title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-87</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The commit on October 4th introduced a bug for me.&lt;br/&gt;
Exactly this line:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/8bd3aef4055cfded62687d5ad0e762e3f12a473d#commitcomment-167197&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/8bd3aef4055cfded62687d5ad0e762e3f12a473d#commitcomment-167197&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now I always get an error, because embeddedDocument is an array, and so get_class fails.&lt;/p&gt;</description>
                <environment></environment>
            <key id="12000">MODM-87</key>
            <summary>get_class() expects parameter 1 to be object, array given </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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sebastian.hoitz">Sebastian Hoitz</reporter>
                        <labels>
                    </labels>
                <created>Tue, 12 Oct 2010 10:09:34 +0000</created>
                <updated>Wed, 24 Nov 2010 14:10:31 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:10:31 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14581" author="jwage" created="Tue, 19 Oct 2010 20:48:22 +0000"  >&lt;p&gt;Can you give the error you get? maybe the document definitions and code you&apos;re using when flushing?&lt;/p&gt;</comment>
                    <comment id="14815" author="jwage" created="Wed, 24 Nov 2010 14:10:31 +0000"  >&lt;p&gt;This is not a problem anymore after the recent refactoring!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-86] Order of keys in embedded document need to be enforced</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-86</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Order of keys in embedded bson hashes in mongodb matters, so you can&apos;t $pullAll an embedded document if the order of keys is different from the one in mongodb:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;code&lt;/tt&gt;&lt;br/&gt;
{&lt;br/&gt;
  _id: ObjectId(&apos;123&apos;),&lt;br/&gt;
  addresses: [&lt;br/&gt;
    &lt;/p&gt;
{
      street: &apos;SomeStreet&apos;,
      zipCode: &apos;11111&apos;
    }
&lt;p&gt;,&lt;br/&gt;
    &lt;/p&gt;
{
      zipCode: &apos;22222&apos;,
      street: &apos;AnotherStreet&apos;
    }
&lt;p&gt;,&lt;br/&gt;
  ]&lt;br/&gt;
}&lt;br/&gt;
&lt;tt&gt;/code&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;then query like:&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;code&lt;/tt&gt;&lt;br/&gt;
db.collection.update({_id: ObjectId(&apos;123&apos;)}, {$pullAll: {addresses: [ &lt;/p&gt;
{ zipCode: &apos;11111&apos;, street: &apos;SomeStreet&apos; }
&lt;p&gt; ]}})&lt;br/&gt;
&lt;tt&gt;/code&lt;/tt&gt;&lt;/p&gt;

&lt;p&gt;would fail, because the order of keys (&apos;zipCode&apos;, &apos;street&apos;) is different from the one stored in mongo (&apos;street&apos;, &apos;zipCode&apos;). More can be found here &lt;a href=&quot;http://jira.mongodb.org/browse/SERVER-1914&quot; class=&quot;external-link&quot;&gt;http://jira.mongodb.org/browse/SERVER-1914&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Therefore, we need to force the order on every insert and update for consistency.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11997">MODM-86</key>
            <summary>Order of keys in embedded document need to be enforced</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Mon, 11 Oct 2010 16:12:08 +0000</created>
                <updated>Wed, 24 Nov 2010 14:10:48 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:10:48 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                <version>1.0.0ALPHA2</version>
                <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14816" author="jwage" created="Wed, 24 Nov 2010 14:10:48 +0000"  >&lt;p&gt;This is not a problem anymore after the recent refactoring!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-85] Saving a array over the top of a PersistentCollection results in duplicated data</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-85</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If you take an document that has a referenceMany and overwrite a PersistentCollection of data with an array, even of the same data, the data is appended to the collection instead of replacing it.&lt;/p&gt;</description>
                <environment>Mongo 1.6.1, opensky/mongo-odm/master</environment>
            <key id="11991">MODM-85</key>
            <summary>Saving a array over the top of a PersistentCollection results in duplicated data</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="cranberyxl">Andy Stanberry</reporter>
                        <labels>
                    </labels>
                <created>Fri, 8 Oct 2010 17:57:14 +0000</created>
                <updated>Wed, 24 Nov 2010 14:11:03 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:11:03 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14557" author="sebastian.hoitz" created="Tue, 12 Oct 2010 10:07:55 +0000"  >&lt;p&gt;Are you using the most recent version of Doctrine MongoDB ODM?&lt;/p&gt;

&lt;p&gt;I&apos;m asking because there was a bug fix for something where all embedded documents were duplicated.&lt;/p&gt;

&lt;p&gt;However I&apos;m also currently investigating a bug where in some cases only one entry does not get removed (although $pullAll is called correctly).&lt;/p&gt;</comment>
                    <comment id="14582" author="jwage" created="Tue, 19 Oct 2010 20:49:57 +0000"  >&lt;p&gt;Bulat, this is the same issue where PersistentCollection is never initialized so thats why the array_diff always appends the data with a $pushAll. Remember we talked about it? we can fix it just need to chat about it for a bit.&lt;/p&gt;</comment>
                    <comment id="14817" author="jwage" created="Wed, 24 Nov 2010 14:11:03 +0000"  >&lt;p&gt;This is not a problem anymore after the recent refactoring!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-84] prePersist and postPersist called twice</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-84</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It appears that the prePersist and postPersist lifecycle events are called twice when persisting and removing a document. Not sure yet if this happens because its an inherited class, will setup a test to try and show behavior.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11983">MODM-84</key>
            <summary>prePersist and postPersist called twice</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jseverson">Jay Severson</reporter>
                        <labels>
                    </labels>
                <created>Wed, 6 Oct 2010 19:08:59 +0000</created>
                <updated>Wed, 24 Nov 2010 14:11:23 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:11:23 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Events</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14548" author="jwage" created="Fri, 8 Oct 2010 17:11:46 +0000"  >&lt;p&gt;I tried to setup a test for this but could not replicate it.&lt;/p&gt;</comment>
                    <comment id="14818" author="jwage" created="Wed, 24 Nov 2010 14:11:23 +0000"  >&lt;p&gt;This is fixed now as well.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-83] UnitOfWork incorrectly updates all documents with embedded documents on flush</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-83</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;UnitOfWork incorrectly contains every managed document with embedded documents. All embedded documents are marked as updated. The whole mess will be updated on the next flush, regardless of whether said documents have actually changed.&lt;/p&gt;

&lt;p&gt;Branch here: &lt;a href=&quot;http://github.com/opensky/mongodb-odm/tree/MODM-83&quot; class=&quot;external-link&quot;&gt;http://github.com/opensky/mongodb-odm/tree/MODM-83&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Test case here: &lt;a href=&quot;http://github.com/opensky/mongodb-odm/commit/af4373b58dd5da0bea5a0f8c4da30dde5ed1f266&quot; class=&quot;external-link&quot;&gt;http://github.com/opensky/mongodb-odm/commit/af4373b58dd5da0bea5a0f8c4da30dde5ed1f266&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here&apos;s what the document changeset looks like in preUpdate and postUpdate:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;preUpdate &quot;Doctrine\ODM\MongoDB\Tests\Functional\Ticket\MODM83OtherDocument&quot;&lt;/b&gt;&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;array(1) {
  [&quot;name&quot;]=&amp;gt;
  array(2) {
    [0]=&amp;gt;
    string(8) &quot;Neighbor&quot;
    [1]=&amp;gt;
    string(3) &quot;Bob&quot;
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&lt;b&gt;postUpdate &quot;Doctrine\ODM\MongoDB\Tests\Functional\Ticket\MODM83OtherDocument&quot;&lt;/b&gt;&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;array(1) {
  [&quot;name&quot;]=&amp;gt;
  array(2) {
    [0]=&amp;gt;
    string(8) &quot;Neighbor&quot;
    [1]=&amp;gt;
    string(3) &quot;Bob&quot;
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&lt;b&gt;preUpdate &quot;Doctrine\ODM\MongoDB\Tests\Functional\Ticket\MODM83TestDocument&quot;&lt;/b&gt;&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;array(1) {
  [&quot;embedded&quot;]=&amp;gt;
  array(2) {
    [0]=&amp;gt;
    array(1) {
      [&quot;name&quot;]=&amp;gt;
      string(5) &quot;Child&quot;
    }
    [1]=&amp;gt;
    array(2) {
      [&quot;name&quot;]=&amp;gt;
      string(5) &quot;Child&quot;
      [&quot;originalObject&quot;]=&amp;gt;
      object(Doctrine\ODM\MongoDB\Tests\Functional\Ticket\MODM83TestEmbeddedDocument)#86 (1) {
        [&quot;name&quot;]=&amp;gt;
        string(5) &quot;Child&quot;
      }
    }
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;&lt;b&gt;postUpdate &quot;Doctrine\ODM\MongoDB\Tests\Functional\Ticket\MODM83TestDocument&quot;&lt;/b&gt;&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;array(1) {
  [&quot;embedded&quot;]=&amp;gt;
  array(2) {
    [0]=&amp;gt;
    array(1) {
      [&quot;name&quot;]=&amp;gt;
      string(5) &quot;Child&quot;
    }
    [1]=&amp;gt;
    array(2) {
      [&quot;name&quot;]=&amp;gt;
      string(5) &quot;Child&quot;
      [&quot;originalObject&quot;]=&amp;gt;
      object(Doctrine\ODM\MongoDB\Tests\Functional\Ticket\MODM83TestEmbeddedDocument)#86 (1) {
        [&quot;name&quot;]=&amp;gt;
        string(5) &quot;Child&quot;
      }
    }
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>OS X 10.6.4, PHP 5.3.2, Mongo 1.6.3 (can reproduce on Ubuntu 8.04.4 LTS, CentOS, Win 7, etc)</environment>
            <key id="11970">MODM-83</key>
            <summary>UnitOfWork incorrectly updates all documents with embedded documents on flush</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="bobthecow">Justin Hileman</reporter>
                        <labels>
                    </labels>
                <created>Thu, 30 Sep 2010 16:11:23 +0000</created>
                <updated>Tue, 19 Oct 2010 07:01:29 +0000</updated>
                    <resolved>Mon, 4 Oct 2010 19:49:20 +0000</resolved>
                                                            <component>UnitOfWork</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14525" author="jwage" created="Mon, 4 Oct 2010 19:49:20 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/8bd3aef4055cfded62687d5ad0e762e3f12a473d&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/8bd3aef4055cfded62687d5ad0e762e3f12a473d&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14578" author="a.koss" created="Tue, 19 Oct 2010 04:39:09 +0000"  >&lt;p&gt;I use this update, now i cant delete childrens with a other embedded document:&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;The complete document&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt; {
   &lt;span class=&quot;code-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4caeea835634c915360a0000&quot;&lt;/span&gt;),
   &lt;span class=&quot;code-quote&quot;&gt;&quot;categories&quot;&lt;/span&gt; : {
     &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
       &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f55634c99177030000&quot;&lt;/span&gt;),
       &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Kategorie&quot;&lt;/span&gt;,
       &lt;span class=&quot;code-quote&quot;&gt;&quot;questions&quot;&lt;/span&gt; : {
         &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
           &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f75634c99177040000&quot;&lt;/span&gt;),
           &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Frage&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;relevance&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;multi&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answertype&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;other&quot;&lt;/span&gt; : 0
        }
      }
    }
  },
   &lt;span class=&quot;code-quote&quot;&gt;&quot;description&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;pipapo!&quot;&lt;/span&gt;,
   &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;ich bin ein Katalog&quot;&lt;/span&gt;,
   &lt;span class=&quot;code-quote&quot;&gt;&quot;version&quot;&lt;/span&gt; : 1
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now i add a new answer too the question:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;The question with the new answer&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-quote&quot;&gt;&quot;questions&quot;&lt;/span&gt; : {
         &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answers&quot;&lt;/span&gt; : {
             &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
               &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd56b95634c99b5b090000&quot;&lt;/span&gt;),
               &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Antwort&quot;&lt;/span&gt;
            }
          },
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answertype&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f75634c99177040000&quot;&lt;/span&gt;),
           &lt;span class=&quot;code-quote&quot;&gt;&quot;multi&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Frage&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;other&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;relevance&quot;&lt;/span&gt; : 0
        } 
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When i delete now the new answer i have a empty array and i cant delete the question from the categorie.&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;The unkillable question&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;&lt;span class=&quot;code-quote&quot;&gt;&quot;questions&quot;&lt;/span&gt; : {
         &lt;span class=&quot;code-quote&quot;&gt;&quot;0&quot;&lt;/span&gt; : {
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answers&quot;&lt;/span&gt; : [
            
          ],
           &lt;span class=&quot;code-quote&quot;&gt;&quot;answertype&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt; : ObjectId(&lt;span class=&quot;code-quote&quot;&gt;&quot;4cbd55f75634c99177040000&quot;&lt;/span&gt;),
           &lt;span class=&quot;code-quote&quot;&gt;&quot;multi&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; : &lt;span class=&quot;code-quote&quot;&gt;&quot;neue Frage&quot;&lt;/span&gt;,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;other&quot;&lt;/span&gt; : 0,
           &lt;span class=&quot;code-quote&quot;&gt;&quot;relevance&quot;&lt;/span&gt; : 0
        }
      } 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Its a unkillable entry now.&lt;br/&gt;
Sorry for my bad english, i hope you can fix it, not my english, the bug. &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>
                    <comment id="14579" author="a.koss" created="Tue, 19 Oct 2010 07:01:29 +0000"  >&lt;p&gt;I have create a new issue: &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-89&quot; class=&quot;external-link&quot;&gt;MODM-89&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-82] Add New Attribute &quot;idGetter&quot; to allow accessing the ID without triggering lazy-load</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-82</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;access the ID of a proxy without loading it.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DDC-687&quot; title=&quot;Add New Entity Attribute &amp;quot;idGetter&amp;quot; to allow accessing the ID without triggering lazy-load&quot;&gt;DDC-687&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="11963">MODM-82</key>
            <summary>Add New Attribute &quot;idGetter&quot; to allow accessing the ID without triggering lazy-load</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="tecbot">Thomas Adam</reporter>
                        <labels>
                    </labels>
                <created>Wed, 29 Sep 2010 16:33:07 +0000</created>
                <updated>Fri, 4 Mar 2011 10:46:11 +0000</updated>
                                    <version>1.0.0BETA2</version>
                                <fixVersion>1.1.0</fixVersion>
                                <component>Proxies</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-81] No reference to a loaded document if proxy id = document id</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-81</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If I load a document and it has an internal reference to the same document with the same ID, only responds to changes in the proxy document. The main document will not be considered and any change has no effect.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11958">MODM-81</key>
            <summary>No reference to a loaded document if proxy id = document id</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tecbot">Thomas Adam</reporter>
                        <labels>
                    </labels>
                <created>Tue, 28 Sep 2010 03:52:52 +0000</created>
                <updated>Wed, 24 Nov 2010 14:12:10 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:12:10 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14523" author="jwage" created="Mon, 4 Oct 2010 19:47:15 +0000"  >&lt;p&gt;Can I see a test case?&lt;/p&gt;</comment>
                    <comment id="14526" author="tecbot" created="Tue, 5 Oct 2010 02:24:23 +0000"  >&lt;p&gt;test case: &lt;a href=&quot;http://github.com/tecbot/mongodb-odm/commit/df4e3102b4b29f7e7ad6aa24800457b52f93b14d&quot; class=&quot;external-link&quot;&gt;http://github.com/tecbot/mongodb-odm/commit/df4e3102b4b29f7e7ad6aa24800457b52f93b14d&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14819" author="jwage" created="Wed, 24 Nov 2010 14:12:10 +0000"  >&lt;p&gt;Thanks! This is fixed now. The reference will now be the same instance as the root document itself instead of another instance of the same document.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-80] Changeset for embedded documents calculates to an unnecessary pullAll() and pushAll() in some cases.</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-80</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When embedded documents are persisted and then some of them are removed in just the right way, the resulting update will issue a $pullAll for ALL of the embedded documents and then a $pushAll on whichever embedded documents weren&apos;t actually removed. Obviously, only a $pullAll on the removed items is necessary.&lt;/p&gt;

&lt;p&gt;Additionally, while the $pullAll and the $pushAll seem like they should add up to the correct finish (though inefficient), the removed items appear to not be removed correctly. The $pullAll falls correctly into the if loop found here: &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php#L230&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php#L230&lt;/a&gt;, but the end result of that $pullAll in this case is that some items are not removed.&lt;/p&gt;

&lt;p&gt;A test case for this is here: &lt;a href=&quot;http://github.com/weaverryan/mongodb-odm/commit/9968697a2c07e31ecfdd8d55ecbf9bf39183d01e&quot; class=&quot;external-link&quot;&gt;http://github.com/weaverryan/mongodb-odm/commit/9968697a2c07e31ecfdd8d55ecbf9bf39183d01e&lt;/a&gt;. The first case, testModifyGroupsArrayDirectly() tests for this. The second case relates to &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-79&quot; title=&quot;Referenced and Embedded document duplicates are inserted&quot;&gt;&lt;del&gt;MODM-79&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks - I&apos;ve found the issue particular strange to nail down and inconsistent. If you spot any issues in my test cases, let me know.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11932">MODM-80</key>
            <summary>Changeset for embedded documents calculates to an unnecessary pullAll() and pushAll() in some cases.</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="weaverryan">Ryan Weaver</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Sep 2010 07:17:51 +0000</created>
                <updated>Wed, 24 Nov 2010 14:12:27 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:12:27 +0000</resolved>
                            <version>1.0.0BETA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14820" author="jwage" created="Wed, 24 Nov 2010 14:12:27 +0000"  >&lt;p&gt;This is not a problem anymore after the recent refactoring!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-79] Referenced and Embedded document duplicates are inserted</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-79</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have a document with several collections referencing documents in other collections.&lt;/p&gt;

&lt;p&gt;Doctrine ODM seems to have issues with ArrayCollections and realizing that elements are being taken out. I call ArrayCollection-&amp;gt;clear() on those collections but when calculating the changeset Doctrine does not realize that some were deleted.&lt;/p&gt;

&lt;p&gt;My scenario is following: I have a REST API. On the API I use Doctrine ODM as data backend.&lt;/p&gt;

&lt;p&gt;Now when I get a request to update an object, I get the passed ID of the object, and populate all the fields.&lt;/p&gt;

&lt;p&gt;However with collections I call clear() on the collection and then re-add all passed elements. This might not be a very elegant solution, but I don&apos;t have to worry about added / changed / deleted items. I pretty much just set a new collection.&lt;/p&gt;

&lt;p&gt;However, when persisting this document, Doctrine does not seem to notice that I cleared the collection. It just adds all the objects I added to the collection. Therefore I have a lot of duplicate items in my collection.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11916">MODM-79</key>
            <summary>Referenced and Embedded document duplicates are inserted</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sebastian.hoitz">Sebastian Hoitz</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Sep 2010 12:54:17 +0000</created>
                <updated>Wed, 24 Nov 2010 14:13:02 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:13:02 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14377" author="a.koss" created="Wed, 15 Sep 2010 03:39:23 +0000"  >&lt;p&gt;i have the same problem.&lt;br/&gt;
when i flush persistant data i get duplicated entries. &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;blockquote&gt;
&lt;p&gt;$this-&amp;gt;_dm-&amp;gt;persist($Opinion);&lt;br/&gt;
$this-&amp;gt;_dm-&amp;gt;flush();&lt;/p&gt;&lt;/blockquote&gt;</comment>
                    <comment id="14418" author="weaverryan" created="Mon, 20 Sep 2010 07:09:38 +0000"  >&lt;p&gt;I believe I&apos;m replicating this issue and have a test case for it here: &lt;a href=&quot;http://github.com/weaverryan/mongodb-odm/commit/9968697a2c07e31ecfdd8d55ecbf9bf39183d01e&quot; class=&quot;external-link&quot;&gt;http://github.com/weaverryan/mongodb-odm/commit/9968697a2c07e31ecfdd8d55ecbf9bf39183d01e&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second test case, testReplaceEntireGroupsArray() displays the above error. The update contains a pushAll() for the one embedded document that remains, but no pullAll() to remove the embedded documents that no longer exist.&lt;/p&gt;

&lt;p&gt;The first test case, testModifyGroupsArrayDirectly() tests for a different, related issue. I&apos;ll open a separate ticket for it.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    <comment id="14423" author="sebastian.hoitz" created="Mon, 20 Sep 2010 12:25:31 +0000"  >&lt;p&gt;It looks like the changeset is calculated correctly.&lt;br/&gt;
So there must be a fault afterwards.&lt;/p&gt;

&lt;p&gt;Maybe it has to do with MongoDB&apos;s limitation of just sending one atomic operator on one field at a time?&lt;/p&gt;

&lt;p&gt;Can we use a $set on a collection? Or don&apos;t we do this because we would also re-send unmodified entries?&lt;/p&gt;</comment>
                    <comment id="14446" author="sebastian.hoitz" created="Wed, 22 Sep 2010 06:37:31 +0000"  >&lt;p&gt;This commit fixed the issue for me:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/6b78658b74507edafc59f0ff004d51d6be0e45f5&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/6b78658b74507edafc59f0ff004d51d6be0e45f5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks @jwage &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>
                    <comment id="14821" author="jwage" created="Wed, 24 Nov 2010 14:13:02 +0000"  >&lt;p&gt;This is for sure fixed now with our recent refactoring.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-78] mappedSuperclass as parent embedded class</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-78</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;i have 3 documents : a contact,  a professional address and a personal address&lt;br/&gt;
A contact embed the 2 addresses&lt;/p&gt;

&lt;p&gt;The &lt;b&gt;Contact&lt;/b&gt;  class inherits from an abstract class &lt;b&gt;DomainAbstract&lt;/b&gt;&lt;br/&gt;
The 2 &lt;b&gt;addresses&lt;/b&gt; classes inherits from an abstract class &lt;b&gt;Address&lt;/b&gt; which inherits from &lt;b&gt;DomainAbstract&lt;/b&gt; &lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;DomainAbstract  &amp;lt;- Contact&lt;/li&gt;
	&lt;li&gt;DomainAbstract &amp;lt;- Address &amp;lt;-   PersonalAddress, ProfessionalAddress&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;DomainAbstract is defined as &lt;b&gt;mappedSuperclass&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Address is defined as &lt;b&gt;mappedSuperclass&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;PersonalAddress, ProfessionalAddress  are &lt;b&gt;embeddedDocument&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;But the fields defined by address are not inherited by embedded PersonalAddress and ProfessionalAddress ( but the fields in domainAbstract are like expected)&lt;/p&gt;

&lt;p&gt;I think, 2 levels of inheritance and embedded document is wrong...&lt;/p&gt;

&lt;p&gt;thx for help&lt;/p&gt;

&lt;p&gt;ps: yaml mapping&lt;/p&gt;
</description>
                <environment></environment>
            <key id="11914">MODM-78</key>
            <summary>mappedSuperclass as parent embedded class</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jenreve">julien rollin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Sep 2010 04:47:14 +0000</created>
                <updated>Fri, 11 Feb 2011 15:58:41 +0000</updated>
                    <resolved>Fri, 11 Feb 2011 15:58:41 +0000</resolved>
                                                            <component>Mapping Drivers</component>
                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14822" author="jwage" created="Wed, 24 Nov 2010 14:13:49 +0000"  >&lt;p&gt;Could you provide a test case or the files you are using to produce the problem?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-77] Add &quot;addToSet&quot; strategy for collections / embedMany / referenceMany</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-77</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;There are cases when collection must not contain duplicates. Mongo has &quot;$addToSet&quot; atomic command for such cases. It would be great to have a separate strategy for that command when persisting collections / embedMany / referenceMany.&lt;/p&gt;

&lt;p&gt;As far as I understand, Doctrine already supports &quot;set&quot; and &quot;pushPull&quot; strategy, so adding &quot;addToSet&quot; strategy should be possible, right?&lt;/p&gt;</description>
                <environment></environment>
            <key id="11913">MODM-77</key>
            <summary>Add &quot;addToSet&quot; strategy for collections / embedMany / referenceMany</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 13 Sep 2010 02:17:27 +0000</created>
                <updated>Wed, 24 Nov 2010 14:35:37 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:35:37 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14823" author="jwage" created="Wed, 24 Nov 2010 14:35:37 +0000"  >&lt;p&gt;Sure, it was simple to add. If you specify $addToSet now it will use that instead of $pushAll to add insert new elements in a collection.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-76] I get an error when trying to persist a document</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-76</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;This is the error I get:&lt;/p&gt;

&lt;p&gt;get_class() expects parameter 1 to be object, array given.&lt;/p&gt;

&lt;p&gt;Stack Trace:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;#0 [internal function]: {closure}(2, &apos;get_class() exp...&apos;, &apos;/Library/WebSer...&apos;, 562, Array)
#1 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php(562): get_class(Array)
#2 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php(545): Doctrine\ODM\MongoDB\Persisters\BasicDocumentPersister-&amp;gt;prepareReferencedDocValue(Array, Array)
#3 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php(536): Doctrine\ODM\MongoDB\Persisters\BasicDocumentPersister-&amp;gt;prepareValue(Array, Array)
#4 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php(463): Doctrine\ODM\MongoDB\Persisters\BasicDocumentPersister-&amp;gt;prepareValue(Array, Array)
#5 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php(209): Doctrine\ODM\MongoDB\Persisters\BasicDocumentPersister-&amp;gt;prepareUpdateData(Object(App_Model_Ticket))
#6 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/UnitOfWork.php(771): Doctrine\ODM\MongoDB\Persisters\BasicDocumentPersister-&amp;gt;update(Object(App_Model_Ticket), Array)
#7 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/UnitOfWork.php(281): Doctrine\ODM\MongoDB\UnitOfWork-&amp;gt;executeUpdates(Object(Doctrine\ODM\MongoDB\Mapping\ClassMetadata), Array)
#8 /Library/WebServer/Documents/ktapi/library/Doctrine/ODM/MongoDB/DocumentManager.php(503): Doctrine\ODM\MongoDB\UnitOfWork-&amp;gt;commit(Array)
#9 /Library/WebServer/Documents/ktmodels/library/App/Model/Service/Dao/Doctrine.php(26): Doctrine\ODM\MongoDB\DocumentManager-&amp;gt;flush()
#10 /Library/WebServer/Documents/ktmodels/library/App/Model/Service/Abstract.php(54): App_Model_Service_Dao_Doctrine-&amp;gt;save(Object(App_Model_Ticket))
#11 /Library/WebServer/Documents/ktmodels/library/App/Model/Abstract.php(215): App_Model_Service_Abstract-&amp;gt;save(Object(App_Model_Ticket))
#12 /Library/WebServer/Documents/ktmodels/library/App/Model/Ticket.php(84): App_Model_Abstract-&amp;gt;save()
#13 /Library/WebServer/Documents/ktapi/application/controllers/TicketController.php(145): App_Model_Ticket-&amp;gt;save()
#14 /Library/WebServer/Documents/ktapi/library/Zend/Controller/Action.php(513): TicketController-&amp;gt;putAction()
#15 /Library/WebServer/Documents/ktapi/library/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action-&amp;gt;dispatch(&apos;putAction&apos;)
#16 /Library/WebServer/Documents/ktapi/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard-&amp;gt;dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#17 /Library/WebServer/Documents/ktapi/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front-&amp;gt;dispatch()
#18 /Library/WebServer/Documents/ktapi/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap-&amp;gt;run()
#19 /Library/WebServer/Documents/ktapi/public/index.php(34): Zend_Application-&amp;gt;run()
#20 {main}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Please tell me how I can be more precise or of more help. Do you need my models for debugging? (I do not want to post them here).&lt;/p&gt;</description>
                <environment></environment>
            <key id="11910">MODM-76</key>
            <summary>I get an error when trying to persist a document</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sebastian.hoitz">Sebastian Hoitz</reporter>
                        <labels>
                    </labels>
                <created>Sat, 11 Sep 2010 14:32:21 +0000</created>
                <updated>Mon, 20 Sep 2010 11:53:34 +0000</updated>
                    <resolved>Mon, 20 Sep 2010 11:53:34 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14340" author="sebastian.hoitz" created="Sat, 11 Sep 2010 15:29:56 +0000"  >&lt;p&gt;I got the latest version from Github and this error still occures.&lt;/p&gt;

&lt;p&gt;I also checked with my models. Before persisting my model with Doctrine all the referenced models are Documents. Somewhere in the Persister the model has to get changed to an array.&lt;/p&gt;</comment>
                    <comment id="14341" author="sebastian.hoitz" created="Sat, 11 Sep 2010 15:51:15 +0000"  >&lt;p&gt;The issue seems to be in this &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php#L419&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php#L419&lt;/a&gt; method.&lt;/p&gt;

&lt;p&gt;When calculating the changeset we end up with an array. When this array is passed on to prepareValue in &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php#L464&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters/BasicDocumentPersister.php#L464&lt;/a&gt; this method can not handle the array.&lt;/p&gt;

&lt;p&gt;I hope this helps a bit with pinpointing the error.&lt;/p&gt;</comment>
                    <comment id="14362" author="sebastian.hoitz" created="Mon, 13 Sep 2010 13:10:00 +0000"  >&lt;p&gt;I changed the prepareReferencedDocValue method in BasicDocumentPersister.php to this:&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;private&lt;/span&gt; function prepareReferencedDocValue(array $referenceMapping, $document)
	{
		$id = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;;

		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (is_array($document))
		{
			$className = $referenceMapping[&apos;targetDocument&apos;];
		}
		&lt;span class=&quot;code-keyword&quot;&gt;else&lt;/span&gt;
		{
			$className = get_class($document);
			$id = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;uow-&amp;gt;getDocumentIdentifier($document);
		}

		$class = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getClassMetadata($className);

		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; !== $id)
		{
			$id = $class-&amp;gt;getDatabaseIdentifierValue($id);
		}
		$ref = array(
				$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;cmd . &apos;ref&apos; =&amp;gt; $class-&amp;gt;getCollection(),
				$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;cmd . &apos;id&apos; =&amp;gt; $id,
				$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;cmd . &apos;db&apos; =&amp;gt; $class-&amp;gt;getDB()
		);
		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!isset($referenceMapping[&apos;targetDocument&apos;]))
		{
			$discriminatorField = isset($referenceMapping[&apos;discriminatorField&apos;]) ? $referenceMapping[&apos;discriminatorField&apos;] : &apos;_doctrine_class_name&apos;;
			$discriminatorValue = isset($referenceMapping[&apos;discriminatorMap&apos;]) ? array_search($class-&amp;gt;getName(), $referenceMapping[&apos;discriminatorMap&apos;]) : $class-&amp;gt;getName();
			$ref[$discriminatorField] = $discriminatorValue;
		}
		&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $ref;
	}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and this seems to solve the issue.&lt;/p&gt;

&lt;p&gt;However, I was not able to get the whole Doctrine ODM unit testing set up, so I could not check if all unit tests still pass.&lt;/p&gt;

&lt;p&gt;I would love if somebody could help me getting the github and unit testing environment for Doctrine set up, so that I can work on some issues too!&lt;/p&gt;</comment>
                    <comment id="14422" author="sebastian.hoitz" created="Mon, 20 Sep 2010 11:53:34 +0000"  >&lt;p&gt;Resolved with this commit:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/sebastianhoitz/mongodb-odm/commit/9ec340697b184284f420e077457127f3147566e0&quot; class=&quot;external-link&quot;&gt;http://github.com/sebastianhoitz/mongodb-odm/commit/9ec340697b184284f420e077457127f3147566e0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Includes test case to reproduce the issue.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-75] mappedSuperclass and embedded document not working with yaml mapping</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-75</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;all documents inherits from an abstract class   Cgd\DomainObject\DomainObjectAbstract&lt;/p&gt;

&lt;p&gt;The document  App\Entity\Contact\Contact    has many  App\Entity\Contact\Program&lt;/p&gt;



&lt;p&gt;abstract class Cgd\DomainObject\DomainObjectAbstract&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;mappedSuperclass&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;#Cgd.DomainObject.DomainObjectAbstract.dcm.yml
Cgd\DomainObject\DomainObjectAbstract:
  type: mappedSuperclass
  fields:
    id:
      fieldName: id
      id: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    createdAt:
      fieldName: createdAt
      type: date
    updatedAt:
      fieldName: updatedAt
      type: date
  lifecycleCallbacks:
    prePersist: [onPreInsert]
    preUpdate: [onPreUpdate]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Here the inherited class &lt;/p&gt;

&lt;p&gt;class App\Entity\Contact\Contact extends Cgd\DomainObject\DomainObjectAbstract&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;InheritedClass&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;#App.Entity.Contact.Contact.dcm.yml
App\Entity\Contact\Contact:
  collection: contacts
  type: document
  fields:
    email:
      fieldName: email
      type: string
    status:
      fieldName: status
      type: &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
  embedMany:
    programs:
      targetDocument: App\Entity\Contact\Program
      cascade: all
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The embedded&lt;/p&gt;

&lt;p&gt;class App\Entity\Contact\Program extends Cgd\DomainObject\DomainObjectAbstract&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;embeddedDocument&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;#App.Entity.Contact.Program.dcm.yml
App\Entity\Contact\Program:
  type: embeddedDocument
  fields:
    name:
      fieldName: name
      type: string
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;No field from abstract class are populated in embedded document&lt;/p&gt;</description>
                <environment></environment>
            <key id="11906">MODM-75</key>
            <summary>mappedSuperclass and embedded document not working with yaml mapping</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jenreve">julien rollin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 10 Sep 2010 10:06:53 +0000</created>
                <updated>Wed, 24 Nov 2010 14:49:31 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:49:31 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14319" author="jenreve" created="Fri, 10 Sep 2010 11:21:58 +0000"  >&lt;p&gt;if i call &lt;/p&gt;

&lt;p&gt;$dm-&amp;gt;persist($contact);&lt;br/&gt;
$dm-&amp;gt;flush();&lt;/p&gt;

&lt;p&gt;properties  createdAt and updatedAt are saved to contact document only&lt;/p&gt;



&lt;p&gt;if i call &lt;/p&gt;

&lt;p&gt;$dm-&amp;gt;persist($program);&lt;br/&gt;
$dm-&amp;gt;persist($contact);&lt;br/&gt;
$dm-&amp;gt;flush();&lt;/p&gt;

&lt;p&gt;properties  createdAt and updatedAt are saved to contact and embedded documents.&lt;/p&gt;

&lt;p&gt;So is it the   &quot;cascade: all&quot;  property the problem ?&lt;/p&gt;</comment>
                    <comment id="14322" author="jwage" created="Fri, 10 Sep 2010 13:29:25 +0000"  >&lt;p&gt;Are you using the absolute latest version from git? we made some changes recently to cascading and embedded documents. It is not necessary anymore to specify any cascading options as it does not make sense for embedded documents. it should and does cascade by default now for embedded documents.&lt;/p&gt;</comment>
                    <comment id="14324" author="jenreve" created="Fri, 10 Sep 2010 14:10:02 +0000"  >&lt;p&gt;yes i use  the remote origin/master   (i just did an update to de2e671201ef5a97e2a970f35cc94b5ad3590bb5)&lt;/p&gt;

&lt;p&gt;but actually, since your my comments and after yours,  i got this beautiful fatal error  (unknown before )&lt;/p&gt;

&lt;p&gt;Fatal error: Class Doctrine\ODM\MongoDB\Query\Lexer contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Doctrine\Common\Lexer::_getType) in D:\web\php\doctrine2-mongodb\lib\Doctrine\ODM\MongoDB\Query\Lexer.php on line 33&lt;/p&gt;

&lt;p&gt;edit : rechecking all dependencies (doctrine/common, etc )&lt;/p&gt;

&lt;p&gt;edit 2 : last checkout resolved cascade persist&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-74] lifecycleCallbacks are not inherited from mappedSuperclass in yaml mapping</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-74</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The abstract class : &lt;/p&gt;

&lt;p&gt;abstract class Cgd\DomainObject\DomainObjectAbstract&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;mappedSuperclass&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;#Cgd.DomainObject.DomainObjectAbstract.dcm.yml
Cgd\DomainObject\DomainObjectAbstract:
  type: mappedSuperclass
  fields:
    id:
      fieldName: id
      id: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    createdAt:
      fieldName: createdAt
      type: date
    updatedAt:
      fieldName: updatedAt
      type: date
  lifecycleCallbacks:
    prePersist: [onPreInsert]
    preUpdate: [onPreUpdate]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; 

&lt;p&gt;Here the inherited class &lt;/p&gt;

&lt;p&gt;class App\Entity\Contact\Contact extends Cgd\DomainObject\DomainObjectAbstract&lt;/p&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;InheritedClass&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;#App.Entity.Contact.Contact.dcm.yml
App\Entity\Contact\Contact:
  collection: contacts
  type: document
  fields:
    email:
      fieldName: email
      type: string
    status:
      fieldName: status
      type: &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If i add the lifecycleCallbacks in the InheritedClass  yaml config. Events are working &lt;/p&gt;</description>
                <environment></environment>
            <key id="11905">MODM-74</key>
            <summary>lifecycleCallbacks are not inherited from mappedSuperclass in yaml mapping</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jenreve">julien rollin</reporter>
                        <labels>
                    </labels>
                <created>Fri, 10 Sep 2010 09:46:04 +0000</created>
                <updated>Wed, 24 Nov 2010 14:36:10 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:36:10 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14327" author="jenreve" created="Fri, 10 Sep 2010 15:01:20 +0000"  >&lt;p&gt;fixed in current master branch&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-73] Neo4j (Graph oriented Database)</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-73</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;MongoDB Object Document Mapper is a particularly nice added value and represent a great interest for integrating into php framework.&lt;br/&gt;
MongoDB is one of the most representative actor in the document oriented databse and my suggestion here would be to implement&lt;br/&gt;
the same for the most representative graph oriented database which is Neo4J.&lt;/p&gt;

&lt;p&gt;Someone tried an overall PHP approach and his choice seems an interesting compromise =&amp;gt; &lt;a href=&quot;http://wiki.neo4j.org/content/PHP&quot; class=&quot;external-link&quot;&gt;http://wiki.neo4j.org/content/PHP&lt;/a&gt;.&lt;br/&gt;
A more elaborated approach around a doctrine work would be ore than helpful.&lt;/p&gt;</description>
                <environment>Multiplatform</environment>
            <key id="11890">MODM-73</key>
            <summary>Neo4j (Graph oriented Database)</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="kynao">Alexandre Emeriau</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Sep 2010 15:21:29 +0000</created>
                <updated>Wed, 24 Nov 2010 14:36:41 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:36:41 +0000</resolved>
                                                            <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14296" author="jwage" created="Mon, 6 Sep 2010 17:22:01 +0000"  >&lt;p&gt;Hi, it sounds interesting! As of right now all the members of the Doctrine team are pretty busy with the existing projects and integrations. We would gladly consider accepting a contribution for another Doctrine library that follows the Doctrine2 style persistence layer. Maybe you and some others could work on something? or you could try and raise interest in it?&lt;/p&gt;</comment>
                    <comment id="14297" author="kynao" created="Mon, 6 Sep 2010 18:00:14 +0000"  >&lt;p&gt;Yes, that&apos;s absolutely the approach to follow as the doctrine team is busy. I will definitely try this once my skills will be enough in this area.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-72] New property &apos;options&apos; in Annotations</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-72</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It would be great for many purposes to add a property options to document annotations like this:&lt;/p&gt;

&lt;p&gt;/** @Field(type=&quot;mytype&quot;, options={}) */ &lt;/p&gt;

&lt;p&gt;the options should also be implemented in the MetadataClass.&lt;/p&gt;

&lt;p&gt;See also discussion:&lt;br/&gt;
&lt;a href=&quot;http://groups.google.de/group/doctrine-user/browse_thread/thread/71d29b8284beee86&quot; class=&quot;external-link&quot;&gt;http://groups.google.de/group/doctrine-user/browse_thread/thread/71d29b8284beee86&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="11889">MODM-72</key>
            <summary>New property &apos;options&apos; in Annotations</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sterie">Stefan Riehl</reporter>
                        <labels>
                    </labels>
                <created>Mon, 6 Sep 2010 14:06:09 +0000</created>
                <updated>Wed, 24 Nov 2010 14:45:32 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:45:32 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14825" author="jwage" created="Wed, 24 Nov 2010 14:45:32 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/16e0ac113c557c1fb73e3f31eec93176ad5992a1&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/16e0ac113c557c1fb73e3f31eec93176ad5992a1&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-71] &quot;Getting Started&quot; Canonical example is needlessly confusing</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-71</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/introduction/en#introduction&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/introduction/en#introduction&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &apos;/path/to/doctrine/&apos; placeholders are nondescript and confusing to new users, especially when the only way to make them work is to pass in just the path to the DocumentRoot.  That should be mentioned, cleaned up, re-purposed, re-clarified, reverted, or whichever adjective of adjustment is suitable.&lt;/p&gt;</description>
                <environment>Ubuntu 10.04&lt;br/&gt;
PHP 5.3.2</environment>
            <key id="11875">MODM-71</key>
            <summary>&quot;Getting Started&quot; Canonical example is needlessly confusing</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="cainiac">cainiac</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Sep 2010 19:22:28 +0000</created>
                <updated>Fri, 3 Sep 2010 13:21:46 +0000</updated>
                    <resolved>Thu, 2 Sep 2010 20:23:04 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14259" author="jwage" created="Fri, 3 Sep 2010 12:07:27 +0000"  >&lt;p&gt;I don&apos;t understand, why did you open this then mark it as invalid? I agree the documentation needs some work, the code has been in heavy development and we try and make the documentation good, but it lacks and gets out of date sometimes.&lt;/p&gt;

&lt;p&gt;Anyways, I have to be honest your tone here just really irritated to me. Not just irritated, but made me angry. It comes off rude using words like &quot;hideous&quot;, &quot;God awful&quot; and other smart ass comments. Remember this is open source, if you don&apos;t like something, either make your suggestion in a non asshole way and move on or clone the documentation and fix it yourself!&lt;/p&gt;

&lt;p&gt;Thanks, Jon&lt;/p&gt;</comment>
                    <comment id="14262" author="jwage" created="Fri, 3 Sep 2010 13:11:32 +0000"  >&lt;p&gt;Does this change help? &lt;a href=&quot;http://github.com/doctrine/mongodb-odm-documentation/commit/a71440c84b013589277636db4992caf64c71c83e&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm-documentation/commit/a71440c84b013589277636db4992caf64c71c83e&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/introduction/en#introduction&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/introduction/en#introduction&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14263" author="cainiac" created="Fri, 3 Sep 2010 13:21:46 +0000"  >&lt;p&gt;You sexy man, had I encountered that yesterday, I would have been flying through the setup process!&lt;/p&gt;

&lt;p&gt;Sorry for the pissy tone in the beginning... my default literary stance is vitriolic polemics and I try my best (and fail) to keep it tucked away. :X&lt;/p&gt;

&lt;p&gt;The elaboration and the follow-up example at the end will certainly assist future users in gracefully integrating this great solution to their shops.&lt;/p&gt;

&lt;p&gt;Thanks, John!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-70] Updates of documents after read</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-70</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When I save a document and then read it again updated the document with the initial values.&lt;/p&gt;

&lt;p&gt;The following log output when saving Doctrine:&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
(
    [storing] =&amp;gt; 1
    [file] =&amp;gt; /app/tests/cases/models/asset/test.swf
    [document] =&amp;gt; Array
        (
            [filename] =&amp;gt; a3f06b4b882ee28ee8d8c7a5e6ab67e6.swf
            [php] =&amp;gt; ass
        )

    [class] =&amp;gt; Documents\Assets\Asset
    [db] =&amp;gt; test
    [collection] =&amp;gt; assets_files
)

Array
(
    [batchInsert] =&amp;gt; 1
    [num] =&amp;gt; 1
    [data] =&amp;gt; Array
        (
            [00000000341a62a40000000001574585] =&amp;gt; Array
                (
                    [cS] =&amp;gt; 3
                    [rS] =&amp;gt; 3
                    [co] =&amp;gt; 0
                    [ca] =&amp;gt; 0
                    [lvl] =&amp;gt; 0
                    [nb] =&amp;gt; 0
                    [sex] =&amp;gt; 0
                    [na] =&amp;gt; Building01
                    [typ] =&amp;gt; building
                    [as] =&amp;gt; Array
                        (
                            [$ref] =&amp;gt; assets_files
                            [$id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                                (
                                )

                            [$db] =&amp;gt; test
                        )

                )

        )

    [class] =&amp;gt; Documents\Assets\MapAsset
    [db] =&amp;gt; test
    [collection] =&amp;gt; map_assets
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then read:&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
(
    [findOne] =&amp;gt; 1
    [query] =&amp;gt; Array
        (
            [_id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                (
                )

        )

    [fields] =&amp;gt; Array
        (
        )

    [class] =&amp;gt; Documents\Assets\MapAsset
    [db] =&amp;gt; test
    [collection] =&amp;gt; map_assets
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then check for updates Document:&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;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;computeChangeSets();
$update = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;getDocumentPersister(&apos;Documents\Assets\MapAsset&apos;)-&amp;gt;prepareUpdateData($mapAsset);
print_r($update);

Array
(
    [$set] =&amp;gt; Array
        (
            [cS] =&amp;gt; 3
            [rS] =&amp;gt; 3
            [co] =&amp;gt; 0
            [ca] =&amp;gt; 0
            [lvl] =&amp;gt; 0
            [nb] =&amp;gt; 0
            [sex] =&amp;gt; 0
            [na] =&amp;gt; Building01
            [typ] =&amp;gt; building
            [as] =&amp;gt; Array
                (
                    [$ref] =&amp;gt; assets_files
                    [$id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                        (
                        )

                    [$db] =&amp;gt; test
                )

        )

)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Why is there an update even though it set the initial values? In Mongo are the values set correctly!&lt;/p&gt;

&lt;p&gt;Then I run a flush:&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
(
    [update] =&amp;gt; 1
    [criteria] =&amp;gt; Array
        (
            [_id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                (
                )

        )

    [newObj] =&amp;gt; Array
        (
            [$set] =&amp;gt; Array
                (
                    [uploadDate] =&amp;gt; 0.63800000 1283421657
                    [length] =&amp;gt; 4222
                    [chunkSize] =&amp;gt; 262144
                    [md5] =&amp;gt; 2af70cb102026bde0cf9f181780b642c
                )

        )

    [options] =&amp;gt; Array
        (
        )

    [class] =&amp;gt; Documents\Assets\Asset
    [db] =&amp;gt; test
    [collection] =&amp;gt; assets_files
)

Array
(
    [update] =&amp;gt; 1
    [criteria] =&amp;gt; Array
        (
            [_id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                (
                )

        )

    [newObj] =&amp;gt; Array
        (
            [$set] =&amp;gt; Array
                (
                    [cS] =&amp;gt; 3
                    [rS] =&amp;gt; 3
                    [co] =&amp;gt; 0
                    [ca] =&amp;gt; 0
                    [lvl] =&amp;gt; 0
                    [nb] =&amp;gt; 0
                    [sex] =&amp;gt; 0
                    [na] =&amp;gt; Building01
                    [typ] =&amp;gt; building
                    [as] =&amp;gt; Array
                        (
                            [$ref] =&amp;gt; assets_files
                            [$id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                                (
                                )

                            [$db] =&amp;gt; test
                        )

                )

        )

    [options] =&amp;gt; Array
        (
        )

    [class] =&amp;gt; Documents\Assets\MapAsset
    [db] =&amp;gt; test
    [collection] =&amp;gt; map_assets
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;1st Doctrine update GridFS file and destroyed it! Wrong value for uploadDate and the file can then be displayed in the browser no longer!&lt;/p&gt;

&lt;p&gt;2nd Why did he updatet The Document with the same values that are already there in Mongo and the initial values are?&lt;/p&gt;

&lt;p&gt;Here is my test 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;$asset = APP_TEST_CASES . DS . &apos;models&apos; . DS . &apos;asset&apos; . DS . &apos;test.swf&apos;;
$assetInfo = pathinfo($asset);
$assetName =  md5($assetInfo[&apos;basename&apos;] . time() . mt_rand()) . &apos;.&apos; . $assetInfo[&apos;extension&apos;];
$assetFile = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Documents\Assets\Asset($asset, $assetName);

$cSpan = 3;
$rSpan = 3;
$mapAsset = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Documents\Assets\MapAsset(&apos;Building01&apos;, &apos;building&apos;, $cSpan, $rSpan, &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;, $assetFile);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($mapAsset-&amp;gt;getColumnSpan(), $cSpan);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($mapAsset-&amp;gt;getRowSpan(), $rSpan);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEqual($mapAsset-&amp;gt;getSpans(), array(&apos;columnSpan&apos; =&amp;gt; $cSpan, &apos;rowSpan&apos; =&amp;gt; $rSpan));

$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;persist($mapAsset);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush();
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;refresh($mapAsset);

$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;computeChangeSets();
$update = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;getDocumentPersister(&apos;Documents\Assets\MapAsset&apos;)-&amp;gt;prepareUpdateData($mapAsset);
debug($update);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Here is my test Documents:&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 Documents\Assets;

/**
 * @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;assets_files&quot;&lt;/span&gt;)
 */
class Asset {
	/**
	 * @Id
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_id;
	/**
	 * @File
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_file;
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;filename&quot;&lt;/span&gt;)
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_filename;
	/**
	 * @Field(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;uploadDate&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_uploadDate;
	/**
	 * @Field(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;length&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_length;
	/**
	 * @Field(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;chunkSize&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_chunkSize;
	/**
	 * @Field(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;md5&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_md5;
	/**
	 * @Field(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;contentType&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_contentType;
	/**
	 * @Field(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;metadata&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_metadata;

	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __construct($file, $filename = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_file = $file;
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_filename = $filename;
	}
	
	&lt;span class=&quot;code-comment&quot;&gt;// ..
&lt;/span&gt;}

namespace Documents\Assets;

/**
 * @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;map_assets&quot;&lt;/span&gt;)
 */
class MapAsset {
	/**
	 * @Id
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_id;

	/**
	 * @ReferenceOne(
	 *	targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Documents\Assets\Asset&quot;&lt;/span&gt;,
	 *	name=&lt;span class=&quot;code-quote&quot;&gt;&quot;as&quot;&lt;/span&gt;,
	 *	cascade={&lt;span class=&quot;code-quote&quot;&gt;&quot;persist&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;remove&quot;&lt;/span&gt;}
	 *	)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; Documents\Assets\Asset
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_asset;

	&lt;span class=&quot;code-comment&quot;&gt;// ..
&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment>Mongodb 1.6 (64-bit + Google V8)</environment>
            <key id="11870">MODM-70</key>
            <summary>Updates of documents after read</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/blocker.png">Blocker</priority>
                    <status id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="tecbot">Thomas Adam</reporter>
                        <labels>
                    </labels>
                <created>Thu, 2 Sep 2010 06:21:33 +0000</created>
                <updated>Wed, 24 Nov 2010 14:48:43 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:48:43 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14232" author="tecbot" created="Thu, 2 Sep 2010 06:33:05 +0000"  >&lt;p&gt;I have just seen. The read out after each of the Documents with the same values updated!&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;$user = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\User&apos;, array(&apos;snu.id&apos; =&amp;gt; (&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;) $snid)); &lt;span class=&quot;code-comment&quot;&gt;//, array(&apos;snu.friends&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;));
&lt;/span&gt;$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;computeChangeSets();
$update = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;getDocumentPersister(&apos;Documents\User&apos;)-&amp;gt;prepareUpdateData($user);
print_r($update); die();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;print all values!!!!&lt;/p&gt;</comment>
                    <comment id="14243" author="jwage" created="Thu, 2 Sep 2010 15:03:44 +0000"  >&lt;p&gt;Hi, can you make a simplified phpunit test case?&lt;/p&gt;</comment>
                    <comment id="14245" author="tecbot" created="Thu, 2 Sep 2010 15:37:58 +0000"  >&lt;p&gt;I&apos;ve just seen the &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-66&quot; title=&quot;Bug when persisting referenced collection&quot;&gt;&lt;del&gt;MODM-66&lt;/del&gt;&lt;/a&gt; is exactly the same errors.&lt;br/&gt;
It is the initial value after a refresh or read at a subsequent flush again highlighted as an update and it is doubly in Mongo!&lt;/p&gt;

&lt;p&gt;I can not just create a test case.&lt;/p&gt;</comment>
                    <comment id="14246" author="jwage" created="Thu, 2 Sep 2010 15:52:41 +0000"  >&lt;p&gt;Thanks, I see it is the same issue in &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-66&quot; title=&quot;Bug when persisting referenced collection&quot;&gt;&lt;del&gt;MODM-66&lt;/del&gt;&lt;/a&gt;. We&apos;ll have a look and see what is wrong. Thanks, Jon&lt;/p&gt;</comment>
                    <comment id="14292" author="tecbot" created="Mon, 6 Sep 2010 14:36:40 +0000"  >&lt;p&gt;Test Case Added&lt;/p&gt;</comment>
                    <comment id="14294" author="avalanche123" created="Mon, 6 Sep 2010 15:20:51 +0000"  >&lt;p&gt;should be fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/tree/MODM-70&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/tree/MODM-70&lt;/a&gt;, Jon please review.&lt;br/&gt;
The issue was cause due to the fact, that after hydration in UnitOfWork::getOrCreateDocument() we used the resultset from mongo as originalDocumentData, which in case field names were different from document properties led to wrong changeset calculation&lt;/p&gt;</comment>
                    <comment id="14295" author="tecbot" created="Mon, 6 Sep 2010 15:34:53 +0000"  >&lt;p&gt;Fantastic! it works. Many many thanks &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>
                    <comment id="14301" author="sebastian.hoitz" created="Tue, 7 Sep 2010 08:34:15 +0000"  >&lt;p&gt;I can also say that it works. This should be resolved.&lt;/p&gt;</comment>
                    <comment id="14314" author="tecbot" created="Fri, 10 Sep 2010 01:37:35 +0000"  >&lt;p&gt;When it is added into the master branch?&lt;/p&gt;</comment>
                    <comment id="14826" author="jwage" created="Wed, 24 Nov 2010 14:48:43 +0000"  >&lt;p&gt;This is fixed now due to some other refactoring we did. Committed test here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/bfe54c52ac242181392c6c8f9af04c9885b53db8&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/bfe54c52ac242181392c6c8f9af04c9885b53db8&lt;/a&gt; and it is passing. Thanks!&lt;/p&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Duplicate</name>
                                                <inwardlinks description="is duplicated by">
                            <issuelink>
            <issuekey id="11851">MODM-66</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                    <attachment id="10777" name="MODM70Test.php" size="2189" author="tecbot" created="Mon, 6 Sep 2010 14:36:40 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-69] implement commands to generate documents</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-69</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description></description>
                <environment></environment>
            <key id="11861">MODM-69</key>
            <summary>implement commands to generate documents</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Aug 2010 19:16:45 +0000</created>
                <updated>Sat, 12 Feb 2011 11:56:10 +0000</updated>
                    <resolved>Sat, 12 Feb 2011 11:56:11 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                <version>1.0.0ALPHA2</version>
                <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due>Mon, 6 Sep 2010 00:00:00 +0000</due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15281" author="jwage" created="Sat, 12 Feb 2011 11:56:10 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/e2b7c35d9baa8444c62348c4132dc6bbb276114d&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/e2b7c35d9baa8444c62348c4132dc6bbb276114d&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-68] port EntityGenerator to DocumentGenerator </title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-68</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description></description>
                <environment></environment>
            <key id="11860">MODM-68</key>
            <summary>port EntityGenerator to DocumentGenerator </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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Aug 2010 19:16:07 +0000</created>
                <updated>Sat, 12 Feb 2011 11:56:26 +0000</updated>
                    <resolved>Sat, 12 Feb 2011 11:56:26 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                <version>1.0.0ALPHA2</version>
                <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due>Mon, 6 Sep 2010 00:00:00 +0000</due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="15282" author="jwage" created="Sat, 12 Feb 2011 11:56:26 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;https://github.com/doctrine/mongodb-odm/commit/e2b7c35d9baa8444c62348c4132dc6bbb276114d&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/mongodb-odm/commit/e2b7c35d9baa8444c62348c4132dc6bbb276114d&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-67] EmbeddedDocument - no LifecycleCallbacks</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-67</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;LifecycleCallbacks in EmbeddedDocument are not called&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;/**
 * @EmbeddedDocument
 * @HasLifecycleCallbacks
 */
class SocialNetworkUser {

	/**
	 * @Int(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;fN&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $firstName;
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;lN&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $lastName;
	/**
	 * @NotSaved
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $name;

        &lt;span class=&quot;code-comment&quot;&gt;// ....
&lt;/span&gt;
	/**
	 * @PostLoad
	 */
        &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function postLoad() {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;name = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;firstName . &apos; &apos; . $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;lastName;
	}
}

/**
 * @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;users&quot;&lt;/span&gt;)
 */
class User {
	/**
	 * @Id
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
	/**
	 * @EmbedOne(
	 * 	discriminatorField=&lt;span class=&quot;code-quote&quot;&gt;&quot;php&quot;&lt;/span&gt;,
	 * 	discriminatorMap={
	 * 		&lt;span class=&quot;code-quote&quot;&gt;&quot;fbu&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;Documents\SocialNetworkUser &quot;&lt;/span&gt;
	 * 	},
	 * 	name=&lt;span class=&quot;code-quote&quot;&gt;&quot;snu&quot;&lt;/span&gt;,
	 * 	cascade={&lt;span class=&quot;code-quote&quot;&gt;&quot;persist&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;remove&quot;&lt;/span&gt;}
	 * )
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $socialNetworkUser;
}

$_user = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\User&apos;, array(&apos;snu.id&apos; =&amp;gt; $uid));
print_r($_user-&amp;gt;getSocialNetworkUser()-&amp;gt;getName())
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;$name is empty.&lt;br/&gt;
postLoad is never called after load&lt;/p&gt;</description>
                <environment></environment>
            <key id="11852">MODM-67</key>
            <summary>EmbeddedDocument - no LifecycleCallbacks</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tecbot">Thomas Adam</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Aug 2010 02:52:51 +0000</created>
                <updated>Tue, 31 Aug 2010 12:15:17 +0000</updated>
                    <resolved>Tue, 31 Aug 2010 02:58:18 +0000</resolved>
                                                            <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14187" author="tecbot" created="Tue, 31 Aug 2010 02:58:18 +0000"  >&lt;p&gt;Sorry, my mistake.&lt;br/&gt;
I have forgotten &quot;callbacks&quot; in cascade attribute &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;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-66] Bug when persisting referenced collection</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-66</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;After adding new entry to referenced collection of existing document, ODM generates invalid update query.&lt;/p&gt;

&lt;p&gt;Here is a test case:&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;
/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @ReferenceMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;, cascade=&lt;span class=&quot;code-quote&quot;&gt;&quot;all&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b;

    function __construct($b) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;b = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ArrayCollection($b);}

    function getB() {&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;b;}
}

/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests2&quot;&lt;/span&gt;) */
class b
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $tmp;

    function __construct($v) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;tmp = $v;}
}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a(array(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; b(&apos;first&apos;)));
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush(); &lt;span class=&quot;code-comment&quot;&gt;// flush causes notices
&lt;/span&gt;$dm-&amp;gt;refresh($a);

$a-&amp;gt;getB()-&amp;gt;add(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; b(&apos;second&apos;));
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
$dm-&amp;gt;refresh($a);

print_r($a-&amp;gt;getB()-&amp;gt;toArray());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Expecting following output:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Array
(
    [0] =&amp;gt; b Object
        (
            [id:protected] =&amp;gt; 4c7c9eea0f9d502005000000
            [tmp:protected] =&amp;gt; first
        )

    [1] =&amp;gt; b Object
        (
            [id:protected] =&amp;gt; 4c7c9eea0f9d502005020000
            [tmp:protected] =&amp;gt; second
        )

)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;But getting:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Array
(
    [0] =&amp;gt; b Object
        (
            [id:protected] =&amp;gt; 4c7c9eea0f9d502005000000
            [tmp:protected] =&amp;gt; first
        )

    [1] =&amp;gt; b Object
        (
            [id:protected] =&amp;gt; 4c7c9eea0f9d502005000000
            [tmp:protected] =&amp;gt; first
        )

    [2] =&amp;gt; b Object
        (
            [id:protected] =&amp;gt; 4c7c9eea0f9d502005020000
            [tmp:protected] =&amp;gt; second
        )

)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
            <key id="11851">MODM-66</key>
            <summary>Bug when persisting referenced collection</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 31 Aug 2010 02:22:13 +0000</created>
                <updated>Mon, 6 Sep 2010 14:37:32 +0000</updated>
                    <resolved>Mon, 6 Sep 2010 12:26:21 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>1</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="14261" author="avalanche123" created="Fri, 3 Sep 2010 12:43:49 +0000"  >&lt;p&gt;here is a test case for it &lt;a href=&quot;http://pastie.org/1136303&quot; class=&quot;external-link&quot;&gt;http://pastie.org/1136303&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14264" author="avalanche123" created="Fri, 3 Sep 2010 13:28:27 +0000"  >&lt;p&gt;Jon, fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/tree/MODM-66&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/tree/MODM-66&lt;/a&gt;&lt;br/&gt;
Please review and resolve jira if everything is ok&lt;br/&gt;
As soon as the jira is resolved, I&apos;ll merge it in master&lt;/p&gt;</comment>
                    <comment id="14265" author="tecbot" created="Fri, 3 Sep 2010 14:38:00 +0000"  >&lt;p&gt;Error is not resolved!&lt;br/&gt;
Wrong test case. Test case should properly be so.&lt;br/&gt;
are dm-&amp;gt;refresh before the next flush. For there do it again a double entry!&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;$b1 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; B(&apos;first&apos;);
$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; A(array($b1));
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;persist($a);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush();
$b2 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; B(&apos;second&apos;);

$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;refresh($a); &lt;span class=&quot;code-comment&quot;&gt;// !!!!!!!!
&lt;/span&gt;
$a-&amp;gt;getB()-&amp;gt;add($b2);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush(); &lt;span class=&quot;code-comment&quot;&gt;// He now adds the initial values there too. Thus, the array first, first and second!
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;// $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;refresh($a);
&lt;/span&gt;$b = $a-&amp;gt;getB()-&amp;gt;toArray();

$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEquals(2, count($b));

$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertEquals(array(
	$b1-&amp;gt;getId(), $b2-&amp;gt;getId()
), array(
	$b[0]-&amp;gt;getId(), $b[1]-&amp;gt;getId()
));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14266" author="avalanche123" created="Fri, 3 Sep 2010 14:41:27 +0000"  >&lt;p&gt;looking into it&lt;/p&gt;</comment>
                    <comment id="14267" author="avalanche123" created="Fri, 3 Sep 2010 16:49:05 +0000"  >&lt;p&gt;should be fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commits/MODM-66&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commits/MODM-66&lt;/a&gt;, please test and provide feedback&lt;/p&gt;</comment>
                    <comment id="14268" author="tecbot" created="Fri, 3 Sep 2010 18:11:03 +0000"  >&lt;p&gt;So the test is working now.&lt;/p&gt;

&lt;p&gt;But in my documents the problem persists!&lt;br/&gt;
Here is my test document:&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 Documents\Avatar;

/**
 * @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;avatars&quot;&lt;/span&gt;)
 */
class Avatar {

	/**
	 * @Id
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_id;
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;na&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_name;
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;sex&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_sex;
	/**
	 * @EmbedMany(
	 *	targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Documents\Avatar\AvatarPartTest&quot;&lt;/span&gt;,
	 *	name=&lt;span class=&quot;code-quote&quot;&gt;&quot;aP&quot;&lt;/span&gt;
	 * )
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; array Documents\Avatar\AvatarPartTest
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_avatarParts;

	/**
	 * Constructor
	 * @param string $name
	 * @param &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; $sex
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __construct($name, $sex, $avatarParts = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_name = $name;
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_sex = $sex;
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_avatarParts = $avatarParts;
	}

	/**
	 * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getId() {
		&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;_id;
	}

	/**
	 * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getName() {
		&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;_name;
	}

	/**
	 * @param string $name
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setName($name) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_name = $name;
	}

	/**
	 * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getSex() {
		&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;_sex;
	}

	/**
	 * @param &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt; $sex
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setSex($sex) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_sex = $sex;
	}

	/**
	 * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; array Documents\Avatar\AvatarPartTest
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getAvatarParts() {
		&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;_avatarParts;
	}

	/**
	 * @param Documents\Avatar\AvatarPartTest $part
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function addAvatarPart($part) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_avatarParts[] = $part;
	}

	/**
	 * @param array Documents\Avatar\AvatarPartTest $parts
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setAvatarParts($parts) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_avatarParts = $parts;
	}

	/**
	 * @param Documents\Avatar\AvatarPartTest $part
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function removeAvatarPart($part) {
		$key = array_search($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_avatarParts, $part);
		&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; ($key !== &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;) {
			unset($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_avatarParts[$key]);
		}
	}

}

namespace Documents\Avatar;

/**
 * @EmbeddedDocument
 */
class AvatarPartTest {
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;col&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_color;

	/**
	 * Constructor
	 * @param string $type
	 * @param string $color
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __construct($color = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_color = $color;
	}

	/**
	 * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getColor() {
		&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;_color;
	}

	/**
	 * @param string $color
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setColor($color) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;_color = $color;
	}

}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And here is my test 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;$part = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Documents\Avatar\AvatarPartTest();
$avatar = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Documents\Avatar\Avatar(&apos;Test&apos;, 1, array($part));
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;persist($avatar);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush();
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;refresh($avatar);

$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;computeChangeSets();
$update = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;getDocumentPersister(&apos;Documents\Avatar\Avatar&apos;)-&amp;gt;prepareUpdateData($avatar);
print_r($update);
&lt;span class=&quot;code-comment&quot;&gt;// print :
&lt;/span&gt;Array
(
    [$set] =&amp;gt; Array
        (
            [na] =&amp;gt; Test
            [sex] =&amp;gt; 1
        )
    [$pushAll] =&amp;gt; Array
        (
            [aP] =&amp;gt; Array
                (
                    [0] =&amp;gt; Array
                        (
                        )
                )
        )
)
&lt;span class=&quot;code-comment&quot;&gt;// That is wrong because it priced the initial values are!
&lt;/span&gt;
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And this is the log:&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-comment&quot;&gt;// First insert
&lt;/span&gt;Array
(
    [batchInsert] =&amp;gt; 1
    [num] =&amp;gt; 1
    [data] =&amp;gt; Array
        (
            [0000000061fd6eaa00000000066fdfcd] =&amp;gt; Array
                (
                    [na] =&amp;gt; Test
                    [sex] =&amp;gt; 1
                    [aP] =&amp;gt; Array
                        (
                            [0] =&amp;gt; Array
                                (
                                )
                        )
                )
        )
    [class] =&amp;gt; Documents\Avatar\Avatar
    [db] =&amp;gt;test
    [collection] =&amp;gt; avatars
)

&lt;span class=&quot;code-comment&quot;&gt;// Refresh findOne
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;// The last flush after refresh
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// I have made no updates yet he wants to save the entire document again!
&lt;/span&gt;
Array
(
    [update] =&amp;gt; 1
    [criteria] =&amp;gt; Array
        (
            [_id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                (
                )
        )
    [newObj] =&amp;gt; Array
        (
            [$set] =&amp;gt; Array
                (
                    [na] =&amp;gt; Test
                    [sex] =&amp;gt; 1
                )
        )
    [options] =&amp;gt; Array
        (
        )
    [class] =&amp;gt; Documents\Avatar\Avatar
    [db] =&amp;gt; test
    [collection] =&amp;gt; avatars
)

Array
(
    [update] =&amp;gt; 1
    [criteria] =&amp;gt; Array
        (
            [_id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
                (
                )
        )
    [newObj] =&amp;gt; Array
        (
            [$pushAll] =&amp;gt; Array
                (
                    [aP] =&amp;gt; Array
                        (
                            [0] =&amp;gt; Array
                                (
                                )
                        )
                )
        )
    [options] =&amp;gt; Array
        (
        )
    [class] =&amp;gt; Documents\Avatar\Avatar
    [db] =&amp;gt; test
    [collection] =&amp;gt; avatars
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14270" author="vladar" created="Sat, 4 Sep 2010 02:37:03 +0000"  >&lt;p&gt;Still getting same error with example from original post (after odm update).&lt;/p&gt;</comment>
                    <comment id="14280" author="avalanche123" created="Sun, 5 Sep 2010 13:47:47 +0000"  >&lt;p&gt;The fix was in the &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-66&quot; title=&quot;Bug when persisting referenced collection&quot;&gt;&lt;del&gt;MODM-66&lt;/del&gt;&lt;/a&gt; branch, it is merged now into master, please re-try and confirm you are still getting an error&lt;/p&gt;</comment>
                    <comment id="14282" author="vladar" created="Sun, 5 Sep 2010 23:32:45 +0000"  >&lt;p&gt;Yes, it is fixed now. Thanks a lot!&lt;/p&gt;</comment>
                    <comment id="14283" author="tecbot" created="Mon, 6 Sep 2010 02:28:10 +0000"  >&lt;p&gt;The upper test works, but not my test!&lt;br/&gt;
Please test my written test earlier in a comment. Test documents are part of it!&lt;/p&gt;

&lt;p&gt;And:&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;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;computeChangeSets();
$update = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;getUnitOfWork()-&amp;gt;getDocumentPersister(&apos;Documents\Avatar\Avatar&apos;)-&amp;gt;prepareUpdateData($avatar);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;still shows all the variables in it are already in Mongo!&lt;br/&gt;
According to flush all variables reset or push out!&lt;/p&gt;</comment>
                    <comment id="14287" author="avalanche123" created="Mon, 6 Sep 2010 12:26:21 +0000"  >&lt;p&gt;resolved&lt;/p&gt;</comment>
                    <comment id="14288" author="tecbot" created="Mon, 6 Sep 2010 12:59:15 +0000"  >&lt;p&gt;So I recorded all the updates, but my test document still does not work. The test for&lt;br/&gt;
this ticket is working, but not the test of my comment. Did they not make the mistake that he is a&lt;br/&gt;
push with initial values and sets makes name and gender again? Please give me an answer.&lt;br/&gt;
With this error is useless for me odm, because I can save anything, because everything in there twice&lt;br/&gt;
stands. There are also variables Increments etc.&lt;/p&gt;

&lt;p&gt;&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;</comment>
                    <comment id="14289" author="avalanche123" created="Mon, 6 Sep 2010 13:57:35 +0000"  >&lt;p&gt;Thomas, the &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-70&quot; title=&quot;Updates of documents after read&quot;&gt;&lt;del&gt;MODM-70&lt;/del&gt;&lt;/a&gt; ticket is still open&lt;br/&gt;
Jon, can you please remove related to &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-70&quot; title=&quot;Updates of documents after read&quot;&gt;&lt;del&gt;MODM-70&lt;/del&gt;&lt;/a&gt;, so that we don&apos;t confuse Thomas.&lt;br/&gt;
I am working on that ticket.&lt;/p&gt;</comment>
                    <comment id="14290" author="avalanche123" created="Mon, 6 Sep 2010 13:58:10 +0000"  >&lt;p&gt;Thomas, it would help me very much if you created a phpunit test case that fails.&lt;/p&gt;</comment>
                    <comment id="14293" author="tecbot" created="Mon, 6 Sep 2010 14:37:19 +0000"  >&lt;p&gt;Ok. I added a PHPUnit test case in &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-70&quot; title=&quot;Updates of documents after read&quot;&gt;&lt;del&gt;MODM-70&lt;/del&gt;&lt;/a&gt;.&lt;br/&gt;
I hope this helps. &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>
                <issuelinks>
                        <issuelinktype id="10000">
                <name>Duplicate</name>
                                <outwardlinks description="duplicates">
                            <issuelink>
            <issuekey id="11870">MODM-70</issuekey>
        </issuelink>
                    </outwardlinks>
                                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-65] EmbeddedDocument - Incorrect assignment of special field names on save</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-65</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If I have a document which has a  EmbeddedDocument and this other name used as the variable name. Thus, when saving but not used by the special reserved name of the variable name. But when read out of the special reserved name is used. so is my EmbeddedDocument always empty when the specific name are different. Furthermore, when I set no specific name for it is also EmbeddedDocument empty.&lt;/p&gt;

&lt;p&gt;Example:&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;/**
 * @EmbeddedDocument
 */
class SocialNetworkUser {
	/**
	 * @Int(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;int&lt;/span&gt;
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;fN&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $firstName;
	/**
	 * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;(name=&lt;span class=&quot;code-quote&quot;&gt;&quot;lN&quot;&lt;/span&gt;)
	 * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; string
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $lastName;
}

/**
 * @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;users&quot;&lt;/span&gt;)
 */
class User {
	/**
	 * @Id
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
	/**
	 * @EmbedOne(
	 * 	discriminatorField=&lt;span class=&quot;code-quote&quot;&gt;&quot;php&quot;&lt;/span&gt;,
	 * 	discriminatorMap={
	 * 		&lt;span class=&quot;code-quote&quot;&gt;&quot;fbu&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;Documents\SocialNetworkUser &quot;&lt;/span&gt;
	 * 	},
	 * 	name=&lt;span class=&quot;code-quote&quot;&gt;&quot;snu&quot;&lt;/span&gt;,
	 * 	cascade={&lt;span class=&quot;code-quote&quot;&gt;&quot;persist&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;remove&quot;&lt;/span&gt;}
	 * )
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $socialNetworkUser;
}

$user = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\User&apos;, array(&apos;snu.id&apos; =&amp;gt; $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;Facebook-&amp;gt;getUser()));

print_r($user-&amp;gt;getSocialNetworkUser()):

Documents\SocialNetworkUser  &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt;
(
    [id:&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt;] =&amp;gt; &lt;span class=&quot;code-comment&quot;&gt;// Commented
&lt;/span&gt;    [firstName:&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt;] =&amp;gt; 
    [lastName:&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt;] =&amp;gt; 
)

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;in Mongo:&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
(
    [_id] =&amp;gt; 4c7b4fc3ed1590814d050000
    [snu] =&amp;gt; Array
        (
            [id] =&amp;gt; &lt;span class=&quot;code-comment&quot;&gt;// Commented
&lt;/span&gt;            [firstName] =&amp;gt; Thomas
            [lastName] =&amp;gt; Adam
            [php] =&amp;gt; fbu
        )
)

Correct but should be:

Array
(
    [_id] =&amp;gt; 4c7b4fc3ed1590814d050000
    [snu] =&amp;gt; Array
        (
            [id] =&amp;gt; &lt;span class=&quot;code-comment&quot;&gt;// Commented
&lt;/span&gt;            [fN] =&amp;gt; Thomas
            [lN] =&amp;gt; Adam
            [php] =&amp;gt; fbu
        )
)

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11847">MODM-65</key>
            <summary>EmbeddedDocument - Incorrect assignment of special field names on save</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="tecbot">Thomas Adam</reporter>
                        <labels>
                    </labels>
                <created>Mon, 30 Aug 2010 03:38:38 +0000</created>
                <updated>Mon, 30 Aug 2010 14:40:05 +0000</updated>
                    <resolved>Mon, 30 Aug 2010 14:40:05 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14162" author="jwage" created="Mon, 30 Aug 2010 10:20:38 +0000"  >&lt;p&gt;So, basically the name attribute is not being used on embedded documents?&lt;/p&gt;</comment>
                    <comment id="14164" author="tecbot" created="Mon, 30 Aug 2010 10:53:31 +0000"  >&lt;p&gt;Correct. But when read out of data it is used the name attribute.&lt;/p&gt;</comment>
                    <comment id="14168" author="jwage" created="Mon, 30 Aug 2010 14:39:51 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/3331a91fc628cc2196bcbdc4bbed91d6faa743d3&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/3331a91fc628cc2196bcbdc4bbed91d6faa743d3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks, Jon&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-64] @DynamicFields</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-64</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I suggest adding a new feature called @DynamicFields. The idea is from roman and documeneted here: &lt;a href=&quot;http://github.com/romanb/couchdb-persistence-api/blob/master/src/main/java/org/code_factory/couch/annotations/DynamicFields.java&quot; class=&quot;external-link&quot;&gt;http://github.com/romanb/couchdb-persistence-api/blob/master/src/main/java/org/code_factory/couch/annotations/DynamicFields.java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Idea: Save all &quot;left-over&quot; fields of the result in an array.&lt;/p&gt;

&lt;p&gt;This would greatly enhance the flexibility of document mappers&lt;/p&gt;</description>
                <environment></environment>
            <key id="11843">MODM-64</key>
            <summary>@DynamicFields</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="beberlei">Benjamin Eberlei</reporter>
                        <labels>
                    </labels>
                <created>Sat, 28 Aug 2010 10:54:56 +0000</created>
                <updated>Mon, 30 Aug 2010 14:40:26 +0000</updated>
                    <resolved>Mon, 30 Aug 2010 14:40:26 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14131" author="jwage" created="Sat, 28 Aug 2010 11:25:47 +0000"  >&lt;p&gt;Nice idea! So something like this could essentially work:&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;/** @Document */
class User
{
    /** @DynamicFields */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $data;
}

$user = $dm-&amp;gt;find(....);
echo $user-&amp;gt;data[&apos;username&apos;];
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I am not sure if it is a good idea to just allow them to use a single @DynamicFields, maybe we should throw an exception if they use it that way? Also, if they modify a value inside $data should we persist the changes?&lt;/p&gt;</comment>
                    <comment id="14132" author="beberlei" created="Sat, 28 Aug 2010 12:34:42 +0000"  >&lt;p&gt;i guess the semantics should be, just one dynamic fields per entity allowed and that is inlined into the &quot;normal&quot; fields using array_merge() ?&lt;/p&gt;</comment>
                    <comment id="14133" author="beberlei" created="Sun, 29 Aug 2010 02:37:56 +0000"  >&lt;p&gt;ok maybe array_merge() is a bit dangerous, when the dynamic field has a property named like a real property.&lt;/p&gt;

&lt;p&gt;But you could do $data = array_merge($dynamicData, $staticData); and should be fine then semantically, of course this should be documented &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/wink.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;I think you should have at least an ID or not? but something like this would even be very fast for prototyping:&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;/** @Document */
class User
{
    /** @Id @Field */
    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $id;

    /** @DynamicFields */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $data;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="14145" author="jwage" created="Sun, 29 Aug 2010 15:23:49 +0000"  >&lt;p&gt;After thinking about it and discussing it I think the @Collection type can do what is needed:&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;/** @Document */
class User
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $id;

    /** @Collection */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $data = array();
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-63] More errors when persisting gridfs files</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-63</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Getting following errors when trying to persist GridFS file.&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Trying to get property of non-object in file Doctrine\ODM\MongoDB\MongoCollection.php on line 196 
Undefined index: _id in file Doctrine\ODM\MongoDB\Persisters\BasicDocumentPersister.php on line 163 
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Unfortunately couldn&apos;t create reproducable test-case yet, but if that is not an obvious issue, please let me know, I&apos;ll try to dig deeper and get the test case.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11842">MODM-63</key>
            <summary>More errors when persisting gridfs files</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Sat, 28 Aug 2010 05:38:38 +0000</created>
                <updated>Wed, 24 Nov 2010 14:37:24 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 14:37:09 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14169" author="jwage" created="Mon, 30 Aug 2010 14:41:37 +0000"  >&lt;p&gt;We&apos;ll need a test case, always. Or atleast some kind of pasted code that I can use to produce the issue.&lt;/p&gt;</comment>
                    <comment id="14173" author="jwage" created="Mon, 30 Aug 2010 15:30:41 +0000"  >&lt;p&gt;Can you just paste the code that causes the error? Like you have done in previous issues. I can&apos;t seem to replicate this one.&lt;/p&gt;</comment>
                    <comment id="14186" author="vladar" created="Tue, 31 Aug 2010 02:29:04 +0000"  >&lt;p&gt;I&apos;ve found a case when it happens. It is an exceptional situation when someone is trying to persist file without property $file being set.&lt;/p&gt;

&lt;p&gt;E.g. the case:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;fs&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @File */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $file; &lt;span class=&quot;code-comment&quot;&gt;// note, file is not set
&lt;/span&gt;
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $c = &apos;tmp&apos;;
}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a();
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This test case produces notices and warnings. My guess is that it should end up with Exception?&lt;/p&gt;</comment>
                    <comment id="14824" author="jwage" created="Wed, 24 Nov 2010 14:37:09 +0000"  >&lt;p&gt;This should be fixed now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-62] PHP warning when array is replaced with ArrayCollection: array_udiff_assoc(): Argument #2 is not an array</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-62</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Simple test case to reproduce:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a {
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @Collection */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b = array(&apos;test&apos;);

    function setB($b) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;b = $b;}
}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a();
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
$dm-&amp;gt;refresh($a);

$a-&amp;gt;setB(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ArrayCollection(array(&apos;test&apos;)));
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Getting PHP warning:&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;PHP Warning:  array_udiff_assoc(): Argument #2 is not an array in Doctrine\ODM\MongoDB\Persisters\BasicDocumentPersister.php on line 458
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11841">MODM-62</key>
            <summary>PHP warning when array is replaced with ArrayCollection: array_udiff_assoc(): Argument #2 is not an array</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Sat, 28 Aug 2010 05:10:43 +0000</created>
                <updated>Mon, 30 Aug 2010 15:10:44 +0000</updated>
                    <resolved>Mon, 30 Aug 2010 15:10:44 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14170" author="jwage" created="Mon, 30 Aug 2010 15:10:44 +0000"  >&lt;p&gt;Thanks, fixed in &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/c12c9239cf152b4764da07b2bc89bfc6967a9569&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/c12c9239cf152b4764da07b2bc89bfc6967a9569&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-61] GridFs file is stored incorrectly after two flushes</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-61</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;GridFs file is stored incorrectly after two flushes.&lt;/p&gt;

&lt;p&gt;Consider an example:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;fs&quot;&lt;/span&gt;) */
class File
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @File */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $file;

    function  __construct($source) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;file = $source;}
}

$file = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; File(__DIR__ . &apos;/test.txt&apos;);

$dm-&amp;gt;persist($file);
$dm-&amp;gt;flush();
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;After second flush, doctrine will also store &quot;file&quot; property as if it was a regular object. Expecting:&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-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4c777fc00f9d505407020000&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;filename&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;/test.txt&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;uploadDate&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;sec&quot;&lt;/span&gt;: 1282899904,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;usec&quot;&lt;/span&gt;: 0
  },
  &lt;span class=&quot;code-quote&quot;&gt;&quot;length&quot;&lt;/span&gt;: 10,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;chunkSize&quot;&lt;/span&gt;: 262144,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;md5&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;76ce9f441de2ed5de337d391ad4516b7&quot;&lt;/span&gt;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Actual result:&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-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4c777f780f9d508416020000&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;chunkSize&quot;&lt;/span&gt;: 262144,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt;: {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: {},
      &lt;span class=&quot;code-quote&quot;&gt;&quot;filename&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;/test.txt&quot;&lt;/span&gt;,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;uploadDate&quot;&lt;/span&gt;: {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;sec&quot;&lt;/span&gt;: 1282899832,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;usec&quot;&lt;/span&gt;: 0
      },
      &lt;span class=&quot;code-quote&quot;&gt;&quot;length&quot;&lt;/span&gt;: 10,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;chunkSize&quot;&lt;/span&gt;: 262144,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;md5&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;76ce9f441de2ed5de337d391ad4516b7&quot;&lt;/span&gt;
    },
    &quot;&quot;: {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;w&quot;&lt;/span&gt;: 1,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;wtimeout&quot;&lt;/span&gt;: 10000,
      &lt;span class=&quot;code-quote&quot;&gt;&quot;chunks&quot;&lt;/span&gt;: {
        &lt;span class=&quot;code-quote&quot;&gt;&quot;w&quot;&lt;/span&gt;: 1,
        &lt;span class=&quot;code-quote&quot;&gt;&quot;wtimeout&quot;&lt;/span&gt;: 10000
      },
      &lt;span class=&quot;code-quote&quot;&gt;&quot;&quot;: &quot;&lt;/span&gt;fs.chunks&quot;
    }
  },
  &lt;span class=&quot;code-quote&quot;&gt;&quot;filename&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;/test.txt&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;length&quot;&lt;/span&gt;: 10,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;md5&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;76ce9f441de2ed5de337d391ad4516b7&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;uploadDate&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;sec&quot;&lt;/span&gt;: 1282899832,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;usec&quot;&lt;/span&gt;: 0
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;P.S. Unfortunately cannot use PHPUnit 3.5 right now to provide unit test.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11834">MODM-61</key>
            <summary>GridFs file is stored incorrectly after two flushes</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Fri, 27 Aug 2010 05:11:43 +0000</created>
                <updated>Mon, 30 Aug 2010 15:30:05 +0000</updated>
                    <resolved>Mon, 30 Aug 2010 15:30:05 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14172" author="jwage" created="Mon, 30 Aug 2010 15:30:05 +0000"  >&lt;p&gt;Fixed by &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/e8945bc53b59e8c8b8c0b13df0b73a8774c7111b&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/e8945bc53b59e8c8b8c0b13df0b73a8774c7111b&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-60] Need a way to find all documents from collection by their base class</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-60</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Imagine a use case:&lt;/p&gt;

&lt;p&gt;I have a set of classes, which extend abstract class BaseGridFsFile. All children classess are stored in same GridFs collection (using single collection inheritance).&lt;/p&gt;

&lt;p&gt;But I cannot fetch all files from this collection, regardless their type. I know that I can use array of subclasses to fetch, but this won&apos;t work in my case, because there is no static DiscriminatorMap.&lt;/p&gt;

&lt;p&gt;It whould be great if I could use something like this:&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;$files = $dm-&amp;gt;find(&apos;BaseGridFsFile&apos;, $query);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and Doctrine would instantiate proper classes for found documents.&lt;/p&gt;

&lt;p&gt;Is it possible?&lt;/p&gt;</description>
                <environment></environment>
            <key id="11829">MODM-60</key>
            <summary>Need a way to find all documents from collection by their base class</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 26 Aug 2010 08:10:50 +0000</created>
                <updated>Tue, 31 Aug 2010 05:17:55 +0000</updated>
                    <resolved>Mon, 30 Aug 2010 15:11:43 +0000</resolved>
                                                            <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14097" author="jwage" created="Thu, 26 Aug 2010 21:54:38 +0000"  >&lt;p&gt;It is possible if you have a none abstract parent class that all other subclasses extend from. If you query that class the queries will include a $in query limiting the results to itself and all subclasses using the discriminator values.&lt;/p&gt;</comment>
                    <comment id="14098" author="jwage" created="Thu, 26 Aug 2010 22:00:28 +0000"  >&lt;p&gt;Actually it should work even if it is abstract. It just must be a mapped document that has a discriminatorMap specified.&lt;/p&gt;</comment>
                    <comment id="14171" author="jwage" created="Mon, 30 Aug 2010 15:11:43 +0000"  >&lt;p&gt;This should work. You can ask usage questions on the mailing list and open an issue for bugs or enhancements.&lt;/p&gt;</comment>
                    <comment id="14189" author="vladar" created="Tue, 31 Aug 2010 05:17:55 +0000"  >&lt;p&gt;Yes, I checked. it works for non-abstract classes, with condition that queried class is in DiscriminatorMap for given collection.&lt;/p&gt;

&lt;p&gt;But it forces me to rework classes hierarchy to be able to use this feature. I think it would be great to have it work with abstract classes in future versions of ODM.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-59] Exception:  &quot;The given document has no identity.&quot; when findOne query returns none from a MongoGridFs</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-59</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When running a query against a GridFS that should return no results, I expect the return value to be null (as with normal documents) instead an InvalidArgumentException is thrown, with the message &quot;The given document has no identity&quot;.&lt;/p&gt;

&lt;p&gt;It appears the empty result is trying to be registered as a managed document with the UOW, because MongoCollection does not return null in this case.&lt;/p&gt;
</description>
                <environment></environment>
            <key id="11824">MODM-59</key>
            <summary>Exception:  &quot;The given document has no identity.&quot; when findOne query returns none from a MongoGridFs</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="scottaubrey">Scott Aubrey</reporter>
                        <labels>
                    </labels>
                <created>Wed, 25 Aug 2010 11:44:33 +0000</created>
                <updated>Thu, 26 Aug 2010 10:53:10 +0000</updated>
                    <resolved>Thu, 26 Aug 2010 10:53:10 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Mongo, MongoCollection, MongoCursor</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14067" author="scottaubrey" created="Wed, 25 Aug 2010 11:55:55 +0000"  >&lt;p&gt;Issue fixed in my git hub branch&lt;/p&gt;

&lt;p&gt;scottaubrey / mongodb-odm @ &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-59&quot; title=&quot;Exception:  &amp;quot;The given document has no identity.&amp;quot; when findOne query returns none from a MongoGridFs&quot;&gt;&lt;del&gt;MODM-59&lt;/del&gt;&lt;/a&gt; &lt;br/&gt;
git@github.com:scottaubrey/mongodb-odm.git&lt;/p&gt;

&lt;p&gt;pull request sent&lt;/p&gt;

&lt;p&gt;(sorry not sure how much of this I&apos;m meant to mention here, my first contribution with git and github)&lt;/p&gt;</comment>
                    <comment id="14090" author="avalanche123" created="Thu, 26 Aug 2010 10:53:10 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/e677f64004b9bc900bfc8f098b15eb24dc3d5262&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/e677f64004b9bc900bfc8f098b15eb24dc3d5262&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-58] Update Collection API</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-58</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;need to update to reflect this change &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/DCOM-17&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/jira/browse/DCOM-17&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="11820">MODM-58</key>
            <summary>Update Collection API</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 24 Aug 2010 16:03:15 +0000</created>
                <updated>Fri, 27 Aug 2010 11:48:24 +0000</updated>
                    <resolved>Fri, 27 Aug 2010 11:48:24 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                <version>1.0.0ALPHA2</version>
                <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Collections</component>
                <component>Mongo, MongoCollection, MongoCursor</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14088" author="avalanche123" created="Thu, 26 Aug 2010 09:36:06 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/e46ec823bb1b2b463f4931a0cadfe6c6bd39286d&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/e46ec823bb1b2b463f4931a0cadfe6c6bd39286d&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14096" author="avalanche123" created="Thu, 26 Aug 2010 14:19:23 +0000"  >&lt;p&gt;fix typo and add test &lt;/p&gt;</comment>
                    <comment id="14116" author="avalanche123" created="Fri, 27 Aug 2010 11:48:24 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/298b72378d829c5b7010273981b23fb7f9882d89&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/298b72378d829c5b7010273981b23fb7f9882d89&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-57] The SchemaManager::createDocumentDB/createDatabases</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-57</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Make ShemaManager execute an arbitrary command on selected db, to trigger actual db creation in SchemaManager::createDocumentDB/createDatabases.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11817">MODM-57</key>
            <summary>The SchemaManager::createDocumentDB/createDatabases</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Mon, 23 Aug 2010 18:48:05 +0000</created>
                <updated>Tue, 24 Aug 2010 10:31:43 +0000</updated>
                    <resolved>Tue, 24 Aug 2010 10:31:43 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14045" author="avalanche123" created="Tue, 24 Aug 2010 10:31:43 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/87dfe45ac63818e5a274744bfb46abe63c4fb36d&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/87dfe45ac63818e5a274744bfb46abe63c4fb36d&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-56] @PreUpdate &amp; EmbedMany</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-56</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;code-comment&quot;&gt;// Article
&lt;/span&gt;namespace Bundle\ArticleBundle\Document;

use Bundle\CommentBundle\Document\Comment;
use Bundle\ExerciseCommonBundle\Document\Repository;

/**
 * @Document(
 *   collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;article&quot;&lt;/span&gt;,
 *   indexes={
 *     @Index(keys={&lt;span class=&quot;code-quote&quot;&gt;&quot;createdAt&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;asc&quot;&lt;/span&gt;})
 *   },
 *   repositoryClass=&lt;span class=&quot;code-quote&quot;&gt;&quot;Bundle\ArticleBundle\Document\ArticleRepository&quot;&lt;/span&gt;
 * )
 * @HasLifecycleCallbacks
 */
class Article
{
    /**
     * @Id
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
    /**
     * @ReferenceOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Bundle\AccountBundle\Document\User&quot;&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $user;
    /**
     * @ReferenceOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Bundle\ArticleBundle\Document\ArticleCategory&quot;&lt;/span&gt;)
     * @Validation({
     *      @NotBlank (message=&lt;span class=&quot;code-quote&quot;&gt;&quot;Please select a category.&quot;&lt;/span&gt;)
     * })
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $category;
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $slug;
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt;)
     * @Validation({
     *      @NotBlank (message=&lt;span class=&quot;code-quote&quot;&gt;&quot;You forgot a Title?&quot;&lt;/span&gt;),
     *      @MinLength(limit=4, message=&lt;span class=&quot;code-quote&quot;&gt;&quot;Just a little too &lt;span class=&quot;code-object&quot;&gt;short&lt;/span&gt;.&quot;&lt;/span&gt;)
     * })
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $title;
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt;)
     * @Validation({
     *      @NotBlank (message=&lt;span class=&quot;code-quote&quot;&gt;&quot;Please summarize your article.&quot;&lt;/span&gt;),
     *      @MinLength(limit=100, message=&lt;span class=&quot;code-quote&quot;&gt;&quot;Not &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt; enough!&quot;&lt;/span&gt;),
     *      @MaxLength(limit=200, message=&lt;span class=&quot;code-quote&quot;&gt;&quot;A wee bit too &lt;span class=&quot;code-object&quot;&gt;long&lt;/span&gt;.&quot;&lt;/span&gt;)
     * })
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $summary;
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt;)
     * @Validation({
     *      @NotBlank (message=&lt;span class=&quot;code-quote&quot;&gt;&quot;Where&apos;s the beef?&quot;&lt;/span&gt;)
     * })
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $body;
    
	/** 
	 * @EmbedMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Bundle\CommentBundle\Document\Comment&quot;&lt;/span&gt;) 
	 * */
	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $comments = array();
	
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-object&quot;&gt;boolean&lt;/span&gt;&quot;&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $published = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;date&quot;&lt;/span&gt;, nullable=&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $createdAt;
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;date&quot;&lt;/span&gt;, nullable=&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $updatedAt;

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getId()
    {
        &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;id;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function isNew() {
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; empty($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;id);
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getUser()
    {
        &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;user;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getCategory()
    {
        &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;category;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getSlug()
    {
        &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;slug;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setSlug($slug)
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;slug = $slug;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUniqueSlug()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;slug = Repository::Slugify($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;title);
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function isPublished()
    {
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;published) {
            &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
        }
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function publish()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;published = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function unpublish()
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;published = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getSummary()
    {
        &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;summary;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setSummary($summary)
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;summary = $summary;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getTitle()
    {
        &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;title;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setTitle($title)
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;title = $title;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getBody()
    {
        &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;body;
    }



    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setBody($body)
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;body = $body;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUser($user) {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;user = $user;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setCategory($category) {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;category = $category;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getCreatedAt()
    {
        &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;createdAt;
    }

    /**
     * It can be useful when writing fixtures
     * @param \DateTime $date
     * @&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 setCreatedAt(\DateTime $date)
    {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createdAt = $date;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getUpdatedAt()
    {
        &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;updatedAt;
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function __toString()
    {
        &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;title();
    }
    
    
	/**
	 * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; the $comments
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getComments() {
		&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;comments;
	}    
    
	/**
	 * @param $comments the $comments to set
	 */
	&lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setComments($comments) {
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;comments = $comments;
	}
    /** @PrePersist */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function incrementCreatedAt()
    {
        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; === $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createdAt) {
            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createdAt = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \DateTime();
        }
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;updatedAt = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \DateTime();
    }

    /** @PreUpdate */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function incrementUpdatedAt() {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;updatedAt = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \DateTime();
    }

    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function fromArray(array $array)
    {
        foreach($array as $property =&amp;gt; $value) {
            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;$property = $value;
        }
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;code-comment&quot;&gt;// Comment
&lt;/span&gt;&amp;lt;?php

namespace Bundle\CommentBundle\Document;

/**
 * @EmbeddedDocument
 */
class Comment
{
	
	/**
     * @Id
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
	
    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;date&quot;&lt;/span&gt;, nullable=&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $createdAt;

    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt;, nullable=&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $message;

    /**
     * @ReferenceOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Bundle\AccountBundle\Document\User&quot;&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $user;

    /**
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; the $createdAt
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getCreatedAt() {
        &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;createdAt;
    }

    /**
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; the $message
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getMessage() {
        &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;message;
    }

    /**
     * @&lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; the $user
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function getUser() {
        &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;user;
    }

    /**
     * @param $createdAt the $createdAt to set
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setCreatedAt($createdAt) {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createdAt = $createdAt;
    }

&lt;span class=&quot;code-comment&quot;&gt;//    /** @PrePersist */
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function incrementCreatedAt()
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//    {
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; === $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createdAt) {
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//            $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;createdAt = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \DateTime();
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        }
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;updatedAt = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \DateTime();
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//    }
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//    /** @PreUpdate */
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function incrementUpdatedAt() {
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;updatedAt = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \DateTime();
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;//    }
&lt;/span&gt;
    /**
     * @param $message the $message to set
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setMessage($message) {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;message = $message;
    }

    /**
     * @param $by_user_id the $by_user_id to set
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; function setUser($user) {
        $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;user = $user;
    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;                $article = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;odm-&amp;gt;getRepository(&apos;Bundle\ArticleBundle\Document\Article&apos;)-&amp;gt;find(&lt;span class=&quot;code-quote&quot;&gt;&quot;someID&quot;&lt;/span&gt;);

		$newComment = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Comment();
		$newComment-&amp;gt;setUser($user);
		$newComment-&amp;gt;setMessage(&lt;span class=&quot;code-quote&quot;&gt;&quot;PPPPOOOOOPPPP&quot;&lt;/span&gt;);
		$newComment-&amp;gt;setCreatedAt(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; \DateTime());
		
		$comments = $article-&amp;gt;getComments();
		$comments[] = $newComment;
		$article-&amp;gt;setComments($comments);
		
		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;odm-&amp;gt;persist($article);
                &lt;span class=&quot;code-comment&quot;&gt;// With or without the args to flush
&lt;/span&gt;		$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;odm-&amp;gt;flush(array(&apos;safe&apos; =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;With the above - no exception or error is thrown.  It appears that the comment is added - but checking the collection in mongo and there&apos;s nothing added to the document.&lt;br/&gt;
Removing the PreUpdate on the Article method allows the embedded document to be saved into Article.&lt;/p&gt;</description>
                <environment>PHP 5.3.2+, Mongodb, recent (varies by developer but all experiencing the same issue)</environment>
            <key id="11811">MODM-56</key>
            <summary>@PreUpdate &amp; EmbedMany</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dasher">D Ashwood</reporter>
                        <labels>
                    </labels>
                <created>Sun, 22 Aug 2010 09:06:41 +0000</created>
                <updated>Tue, 24 Aug 2010 11:38:03 +0000</updated>
                    <resolved>Tue, 24 Aug 2010 11:38:03 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14032" author="jwage" created="Mon, 23 Aug 2010 12:59:46 +0000"  >&lt;p&gt;Hi, can you provide a consolidated PHPUnit test case?&lt;/p&gt;</comment>
                    <comment id="14036" author="dasher" created="Mon, 23 Aug 2010 16:05:24 +0000"  >&lt;p&gt;Just to clarify:&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;$parent = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ParentDocument();
$odm-&amp;gt;persist($parent);
$odm-&amp;gt;flush();

&lt;span class=&quot;code-comment&quot;&gt;// count(parent-&amp;gt;getChildren() ) = 0
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;// Add some children
&lt;/span&gt;$childOne = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; childEmbededDocument();

$children = $parent-&amp;gt;getChildren();
$children[] = $childOne;
$parent-&amp;gt;setChildren($children);
$odm-&amp;gt;persist($parent);

$childTwo = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; childEmbededDocument();

$children = $parent-&amp;gt;getChildren();
$children[] = $childTwo;
$parent-&amp;gt;setChildren($children);
$odm-&amp;gt;persist($parent);

&lt;span class=&quot;code-comment&quot;&gt;// Results
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// When $parent has lifeCycle callbacks - specifically @PreUpdate - count(parent-&amp;gt;getChildren() ) = 0
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// When $parent doesn&apos;t have lifeCycle callbacks - count(parent-&amp;gt;getChildren() ) = 2&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So the issue isn&apos;t so much about lifeCycle cascading to the children - it&apos;s that the parent lifeCycle callback @PreUpdate affects adding embedded children.&lt;/p&gt;</comment>
                    <comment id="14038" author="jwage" created="Mon, 23 Aug 2010 16:14:15 +0000"  >&lt;p&gt;I am still not clear on what the problem is &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; Jay said you were trying to use lifecycle callbacks on embedded documents which is not supported. You all seem to be talking about 2 different things?&lt;/p&gt;</comment>
                    <comment id="14039" author="jwage" created="Mon, 23 Aug 2010 17:20:58 +0000"  >&lt;p&gt;Fixed by &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/faf85a281b1562d184b44261a6e4dcdb13e03c5e&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/faf85a281b1562d184b44261a6e4dcdb13e03c5e&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14046" author="jwage" created="Tue, 24 Aug 2010 11:38:03 +0000"  >&lt;p&gt;The callbacks will also work on embedded documents now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-55] Extract SchemaManager from DocumentManager</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-55</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description></description>
                <environment></environment>
            <key id="11805">MODM-55</key>
            <summary>Extract SchemaManager from DocumentManager</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Thu, 19 Aug 2010 14:47:02 +0000</created>
                <updated>Mon, 23 Aug 2010 11:02:56 +0000</updated>
                    <resolved>Mon, 23 Aug 2010 11:02:56 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14029" author="avalanche123" created="Mon, 23 Aug 2010 11:02:56 +0000"  >&lt;p&gt;finished here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/231dc888be3673658254aad3946e04440400b24c&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/231dc888be3673658254aad3946e04440400b24c&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-54] New console commands</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-54</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;We need to add commands for creating and dropping document databases and collections. I added methods to DocumentManager for creating/dropping databases and collections for documents. We have the command for creating indexes, now we need the same for databases and collections.&lt;/p&gt;

&lt;p&gt;The reason is because you can specify configuration for the collection in the mapping that is used on collection creation:&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;/** @Document(collection={&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;collname&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;capped&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;&quot;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&quot;max&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;10&quot;&lt;/span&gt;}) */
class Document
{}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11804">MODM-54</key>
            <summary>New console commands</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="jwage">Jonathan H. Wage</reporter>
                        <labels>
                    </labels>
                <created>Thu, 19 Aug 2010 14:31:38 +0000</created>
                <updated>Tue, 24 Aug 2010 11:58:26 +0000</updated>
                    <resolved>Tue, 24 Aug 2010 11:58:26 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14040" author="avalanche123" created="Mon, 23 Aug 2010 18:03:22 +0000"  >&lt;p&gt;Jon, these are implemented here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/tree/MODM-54&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/tree/MODM-54&lt;/a&gt;, please comment with suggestions, or else I&apos;ll merge it in, thanks&lt;/p&gt;</comment>
                    <comment id="14047" author="jwage" created="Tue, 24 Aug 2010 11:38:26 +0000"  >&lt;p&gt;Looks good. Once you implement the changes we discussed via jabber you can merge.&lt;/p&gt;</comment>
                    <comment id="14049" author="avalanche123" created="Tue, 24 Aug 2010 11:58:26 +0000"  >&lt;p&gt;done&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-53] Problems with querying referenced elements</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-53</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When trying to query embedded objects, I can use this syntax:&lt;/p&gt;

&lt;p&gt;object.value = &quot;asd&quot;&lt;/p&gt;

&lt;p&gt;but when I reference a different collections object, this would give me no result.&lt;/p&gt;

&lt;p&gt;However, according to &lt;a href=&quot;http://www.mongodb.org/display/DOCS/Schema+Design#SchemaDesign-Embedvs.Reference&quot; class=&quot;external-link&quot;&gt;http://www.mongodb.org/display/DOCS/Schema+Design#SchemaDesign-Embedvs.Reference&lt;/a&gt; this should work the same way.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11797">MODM-53</key>
            <summary>Problems with querying referenced elements</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sebastian.hoitz">Sebastian Hoitz</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 Aug 2010 12:55:50 +0000</created>
                <updated>Sat, 19 Feb 2011 18:28:24 +0000</updated>
                    <resolved>Wed, 18 Aug 2010 13:49:47 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="14007" author="jwage" created="Wed, 18 Aug 2010 13:17:23 +0000"  >&lt;p&gt;Can you be more specific what your issue? I can&apos;t quite understand what you mean. If you are asking if you can query a referenced document like you can an embedded document, the answer is no.&lt;/p&gt;

&lt;p&gt;i.e. if you have a document like this:&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(&apos;username&apos; =&amp;gt; &apos;jwage&apos;, &apos;profile&apos; =&amp;gt; array(...dbref....))
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can&apos;t query something like &quot;profile.someFieldName&quot; which exists on the referenced document.&lt;/p&gt;</comment>
                    <comment id="14008" author="sebastian.hoitz" created="Wed, 18 Aug 2010 13:34:30 +0000"  >&lt;p&gt;But is this a limitation of Doctrine ODM or of MongoDB?&lt;/p&gt;

&lt;p&gt;Could there be a work-around for this issue? I can see quite a lot of cases where this might be important to do.&lt;/p&gt;</comment>
                    <comment id="14009" author="jwage" created="Wed, 18 Aug 2010 13:49:08 +0000"  >&lt;p&gt;It is the way MongoDB works, you have to think about how this is actually being stored and how the dot annotation works for querying. It only works with embedded documents, and the fields of the referenced document aren&apos;t embedded, they live somewhere else on another collection and the data is loaded in PHP with another query to mongo.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-52] Changes of nested embedded collection are not persisted</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-52</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When there is a nested EmbedMany collection, changes of this collection are not persisted when saving root document.&lt;/p&gt;

&lt;p&gt;Maybe simpler to explain with a test case:&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;
/**
 * @MappedSuperClass
 */
class container
{
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $tmp = &apos;ensureSaved&apos;;

    /** @EmbedMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;emb&quot;&lt;/span&gt;, cascade=&lt;span class=&quot;code-quote&quot;&gt;&quot;all&quot;&lt;/span&gt;, strategy=&lt;span class=&quot;code-quote&quot;&gt;&quot;set&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $items = array();

    function __construct($items = &lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt;) {&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;($items) $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;items = $items;}
    function getItems() {&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;items;}
    function getItem($index) {&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;items[$index];}
    function removeItem($i) {unset($&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;items[$i]);}
}

/** @EmbeddedDocument */
class emb &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; container
{}

/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class doc &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; container
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
}

$emb = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(array(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(), &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb()));
$doc = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; doc(array($emb));

$dm-&amp;gt;persist($doc);
$dm-&amp;gt;flush();
$dm-&amp;gt;refresh($doc);

&lt;span class=&quot;code-comment&quot;&gt;// change nested embedded collection:
&lt;/span&gt;$doc-&amp;gt;getItem(0)-&amp;gt;removeItem(1);
$before = count($doc-&amp;gt;getItem(0)-&amp;gt;getItems());

$dm-&amp;gt;persist($doc);
$dm-&amp;gt;flush();
$dm-&amp;gt;refresh($doc);

$after = count($doc-&amp;gt;getItem(0)-&amp;gt;getItems());
var_dump($before); &lt;span class=&quot;code-comment&quot;&gt;// outputs 1
&lt;/span&gt;var_dump($after);  &lt;span class=&quot;code-comment&quot;&gt;// outputs 2, but expecting 1&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11790">MODM-52</key>
            <summary>Changes of nested embedded collection are not persisted</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 Aug 2010 04:14:24 +0000</created>
                <updated>Wed, 18 Aug 2010 13:14:24 +0000</updated>
                    <resolved>Wed, 18 Aug 2010 13:14:12 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13994" author="vladar" created="Wed, 18 Aug 2010 04:27:48 +0000"  >&lt;p&gt;I think it might be related to &lt;a href=&quot;http://www.doctrine-project.org/jira/browse/MODM-29?focusedCommentId=13972&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_13972&quot; class=&quot;external-link&quot;&gt;this comment&lt;/a&gt;, although not sure.&lt;/p&gt;</comment>
                    <comment id="14006" author="jwage" created="Wed, 18 Aug 2010 13:14:12 +0000"  >&lt;p&gt;Thanks for the issue and test!&lt;/p&gt;

&lt;p&gt;Fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/3e71c6a6f99360d88c66043ff989d7671e2ded08&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/3e71c6a6f99360d88c66043ff989d7671e2ded08&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-51] Strange issue with @File annotation</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-51</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Not sure if it is ODM issue or some PHP Reflection issue, or I just don&apos;t getting something, but following test case won&apos;t save the file:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;files&quot;&lt;/span&gt;) */
class file
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /**
     * @File
     * @&lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; \MongoGridFSFile
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $file;

    function __construct($file) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;file = $file;}
}

$f = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; file(__DIR__  . &apos;/test.txt&apos;);
$dm-&amp;gt;persist($f);
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The problem is in annotation @var \MongoGridFSFile. Without it file is saved properly. Also, if I remove &quot;\&quot; in front of MongoGridFSFile, file will be also saved properly. Weird thing.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11789">MODM-51</key>
            <summary>Strange issue with @File annotation</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Wed, 18 Aug 2010 00:08:49 +0000</created>
                <updated>Wed, 18 Aug 2010 21:52:43 +0000</updated>
                    <resolved>Wed, 18 Aug 2010 21:52:43 +0000</resolved>
                                            <fixVersion>1.0.0BETA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13993" author="jwage" created="Wed, 18 Aug 2010 00:52:55 +0000"  >&lt;p&gt;I think this is a problem with the annotations parser and nothing with the ODM.&lt;/p&gt;</comment>
                    <comment id="14011" author="jwage" created="Wed, 18 Aug 2010 21:52:43 +0000"  >&lt;p&gt;This was an issue with Doctrine Common. I committed a fix for it.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-50] GridFs file classes don&apos;t support inheritance</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-50</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;GridFs files do not support inheritance anymore. This issue only appeared after latest updates from git. It was working before.&lt;/p&gt;

&lt;p&gt;Here is a test case:&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;/**
 * @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;files&quot;&lt;/span&gt;, db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;)
 * @InheritanceType(&lt;span class=&quot;code-quote&quot;&gt;&quot;SINGLE_COLLECTION&quot;&lt;/span&gt;)
 * @DiscriminatorField(fieldName=&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;)
 * @DiscriminatorMap({
 *      &lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt;,
 *      &lt;span class=&quot;code-quote&quot;&gt;&quot;image&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;image&quot;&lt;/span&gt;
 * })
 */
class file
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @File */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $file;

    function __construct($file) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;file = $file;}
}

/** @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;files&quot;&lt;/span&gt;, db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class image &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; file
{
    /** @File */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $file;
}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; image(__DIR__ . &apos;/test.txt&apos;);
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This code creates document in regular collection &quot;files&quot; instead of GridFs collection.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11786">MODM-50</key>
            <summary>GridFs file classes don&apos;t support inheritance</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 17 Aug 2010 08:39:29 +0000</created>
                <updated>Tue, 17 Aug 2010 23:57:45 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 20:33:17 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13991" author="jwage" created="Tue, 17 Aug 2010 20:33:17 +0000"  >&lt;p&gt;Thanks for the issue! Fixed by &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/3830635986a288235c46e198b7170d959ce37647&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/3830635986a288235c46e198b7170d959ce37647&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13992" author="vladar" created="Tue, 17 Aug 2010 23:57:45 +0000"  >&lt;p&gt;Thanks for quick fixes! &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;I also found other weird issue, will create separate case for it.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-49] Getting PHP notice and warning with empty persistent collection</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-49</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If there is an object with empty collection, e.g.:&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-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4c6a11810f9d503c03000000&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;: [
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then following code produces notice and warning:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @ReferenceMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;, cascade=&lt;span class=&quot;code-quote&quot;&gt;&quot;persist&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b;

    function getB()   {&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;b;}
}

/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests2&quot;&lt;/span&gt;) */
class b
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;
}

$a = $dm-&amp;gt;loadByID(&apos;a&apos;, &apos;4c6a11810f9d503c03000000&apos;);
echo count($a-&amp;gt;getB()); &lt;span class=&quot;code-comment&quot;&gt;// produces notice and warning&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Notice and warning text:&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;Notice: Undefined variable: groupedIds in library\Doctrine\ODM\MongoDB\PersistentCollection.php on line 122

Warning: Invalid argument supplied &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; foreach() in library\Doctrine\ODM\MongoDB\PersistentCollection.php on line 122
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11782">MODM-49</key>
            <summary>Getting PHP notice and warning with empty persistent collection</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 17 Aug 2010 00:45:22 +0000</created>
                <updated>Tue, 17 Aug 2010 17:16:52 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 17:16:52 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Collections</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13988" author="jwage" created="Tue, 17 Aug 2010 17:16:52 +0000"  >&lt;p&gt;This is fixed now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-48] Embedded document changes are ignored if it was empty before</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-48</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Imaging the object in DB:&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-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4c693f9f0f9d501c0d000000&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;: [
  ]
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then following code fails to update property &quot;b&quot;:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @EmbedOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;, cascade=&lt;span class=&quot;code-quote&quot;&gt;&quot;all&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b;

    function getId()  {&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;id;}
    function getB()   {&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;b;}
    function setB($b) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;b = $b;}
}

/** @EmbeddedDocument */
class b
{
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $val;
    function setVal($val) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;val = $val;}
    function getVal() {&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;val;}
}

$a = $dm-&amp;gt;loadByID(&apos;a&apos;, &apos;4c693f9f0f9d501c0d000000&apos;);
$a-&amp;gt;getB()-&amp;gt;setVal(&apos;test&apos;);

$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
$dm-&amp;gt;getUnitOfWork()-&amp;gt;clear();

$a = $dm-&amp;gt;loadByID(&apos;a&apos;, $a-&amp;gt;getId());
$c = (&apos;test&apos; === $a-&amp;gt;getB()-&amp;gt;getVal());

var_dump($c); &lt;span class=&quot;code-comment&quot;&gt;// expecting &lt;span class=&quot;code-quote&quot;&gt;&quot;&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;&quot;&lt;/span&gt;, but outputs &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11778">MODM-48</key>
            <summary>Embedded document changes are ignored if it was empty before</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Aug 2010 09:48:33 +0000</created>
                <updated>Tue, 17 Aug 2010 20:13:13 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 20:13:13 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13965" author="jwage" created="Mon, 16 Aug 2010 13:41:00 +0000"  >&lt;p&gt;Are you using the most recent version of mongo in git?&lt;/p&gt;</comment>
                    <comment id="13970" author="vladar" created="Mon, 16 Aug 2010 23:31:35 +0000"  >&lt;p&gt;Yes, just updated to today&apos;s version from git - got same results.&lt;/p&gt;</comment>
                    <comment id="13990" author="jwage" created="Tue, 17 Aug 2010 20:13:13 +0000"  >&lt;p&gt;Thanks for the issue!&lt;/p&gt;

&lt;p&gt;Fixed by &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/c57cc9fbf279918edcafd03ab4562ed33b467323&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/c57cc9fbf279918edcafd03ab4562ed33b467323&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-47] @AlsoLoad annotation, used on method causes fatal error</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-47</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Getting following errors when using @AlsoLoad annotation on method:&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;Notice: Undefined index: isCascadePersist in library\Doctrine\ODM\MongoDB\UnitOfWork.php on line 1661

Notice: Undefined index: fieldName in library\Doctrine\ODM\MongoDB\UnitOfWork.php on line 362

Notice: Undefined index: in library\Doctrine\ODM\MongoDB\Mapping\ClassMetadata.php on line 923

Fatal error: Call to a member function getValue() on a non-object in library\Doctrine\ODM\MongoDB\Mapping\ClassMetadata.php on line 923
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Test Case:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b = &apos;tmp&apos;;

    /** @AlsoLoad(&lt;span class=&quot;code-quote&quot;&gt;&quot;c&quot;&lt;/span&gt;) */
    function renameC($c) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;b = $c;}
    function getId() {&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;id;}
}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a();
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
$dm-&amp;gt;getUnitOfWork()-&amp;gt;clear();

$a = $dm-&amp;gt;loadByID(&apos;a&apos;, $a-&amp;gt;getId());
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11777">MODM-47</key>
            <summary>@AlsoLoad annotation, used on method causes fatal error</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Aug 2010 09:24:12 +0000</created>
                <updated>Tue, 17 Aug 2010 17:15:27 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 17:15:27 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13987" author="jwage" created="Tue, 17 Aug 2010 17:15:27 +0000"  >&lt;p&gt;Thanks for all the issues &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;Fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/6e7610ac99dcc4cab92cd01bd66e0a2c9ffda1ce&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/6e7610ac99dcc4cab92cd01bd66e0a2c9ffda1ce&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-46] @AlsoLoad annotation causes exception when used together with Embed/Reference annotations</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-46</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Imagine that there is following object in DB:&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-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4c6936bf0f9d50300d000000&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;c&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;tmp&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;tmp&quot;&lt;/span&gt;
  }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And I want to rename property &quot;c&quot; to &quot;b&quot; in my class, using @AlsoLoad together with @EmbedOne&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /**
     * @EmbedOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;)
     * @AlsoLoad(&lt;span class=&quot;code-quote&quot;&gt;&quot;c&quot;&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b;
}

/** @EmbeddedDocument */
class b
{
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $tmp = &apos;tmp&apos;;
}

$a = $dm-&amp;gt;loadByID(&apos;a&apos;, &apos;4c6936bf0f9d50300d000000&apos;); &lt;span class=&quot;code-comment&quot;&gt;// will &lt;span class=&quot;code-keyword&quot;&gt;throw&lt;/span&gt; an exception: Property &lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt; in &lt;span class=&quot;code-quote&quot;&gt;&quot;a&quot;&lt;/span&gt; was already declared, but it must be declared only once&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
</description>
                <environment></environment>
            <key id="11776">MODM-46</key>
            <summary>@AlsoLoad annotation causes exception when used together with Embed/Reference 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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Aug 2010 09:11:13 +0000</created>
                <updated>Tue, 17 Aug 2010 16:57:27 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 16:57:27 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13986" author="jwage" created="Tue, 17 Aug 2010 16:57:27 +0000"  >&lt;p&gt;Fixed by &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/166ca49c13c8e3132b85383e4c55f0a09ce0d2b1&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/166ca49c13c8e3132b85383e4c55f0a09ce0d2b1&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-45] Doctrine doesn&apos;t persist empty objects</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-45</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Doctrine won&apos;t persist object if it is empty (all fields are nulls). Not sure if it is bug or expected behavior, but sometimes it causes inconvenience. Test case:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b;
}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a();
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush(); &lt;span class=&quot;code-comment&quot;&gt;// $a won&apos;t be inserted&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;


&lt;p&gt;There is also related issue: when embedding empty object (all fields are nulls) embedded object is not saved.&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $tmp = &apos;WorkaroundToBeSaved&apos;;

    /** @EmbedOne(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;, cascade=&lt;span class=&quot;code-quote&quot;&gt;&quot;all&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $b;

    function getId()  {&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;id;}
    function getB()   {&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;b;}
    function setB($b) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;b = $b;}
}

/** @EmbeddedDocument */
class b
{
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $val;
    function setVal($val) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;val = $val;}
    function getVal() {&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;val;}
}

$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a();
$a-&amp;gt;setB(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; b());

$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();
$dm-&amp;gt;getUnitOfWork()-&amp;gt;clear();

$a = $dm-&amp;gt;loadByID(&apos;a&apos;, $a-&amp;gt;getId());
$c = (&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; !== $a-&amp;gt;getB()); 
var_dump($c); &lt;span class=&quot;code-comment&quot;&gt;// returns &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, &lt;span class=&quot;code-keyword&quot;&gt;while&lt;/span&gt; expecting &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11775">MODM-45</key>
            <summary>Doctrine doesn&apos;t persist empty objects</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 16 Aug 2010 08:40:28 +0000</created>
                <updated>Tue, 17 Aug 2010 15:49:32 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 15:49:32 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13966" author="jwage" created="Mon, 16 Aug 2010 13:41:37 +0000"  >&lt;p&gt;Mongo won&apos;t let you insert empty documents, so we can&apos;t allow it.&lt;/p&gt;</comment>
                    <comment id="13967" author="jwage" created="Mon, 16 Aug 2010 13:43:09 +0000"  >&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;$mongo = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Mongo();
$doc = array();
$mongo-&amp;gt;dbname-&amp;gt;coll-&amp;gt;insert($doc);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Causes this 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;PHP Fatal error:  Uncaught exception &apos;MongoException&apos; with message &apos;no elements in doc&apos; in /Users/jwage/Sites/mongodb-odm/test.php:5
Stack trace:
#0 /Users/jwage/Sites/mongodb-odm/test.php(5): MongoCollection-&amp;gt;insert(Array)
#1 {main}
  thrown in /Users/jwage/Sites/mongodb-odm/test.php on line 5

MongoException: no elements in doc in /Users/jwage/Sites/mongodb-odm/test.php on line 5

Call Stack:
    0.0004     320216   1. {main}() /Users/jwage/Sites/mongodb-odm/test.php:0
    0.0037     322036   2. MongoCollection-&amp;gt;insert() /Users/jwage/Sites/mongodb-odm/test.php:5
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13969" author="vladar" created="Mon, 16 Aug 2010 23:24:46 +0000"  >&lt;p&gt;I see now. But second case is still possible with mongo and not supported by ODM:&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;$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a();
$a-&amp;gt;setB(&lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; b());
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush($a);

/* expecting:
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4c69ff3c0f9d50c80e000000&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;tmp&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;WorkaroundToBeSaved&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt; =&amp;gt; []
}

* getting:
{
  &lt;span class=&quot;code-quote&quot;&gt;&quot;_id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;4c69ff3c0f9d50c80e000000&quot;&lt;/span&gt;,
  &lt;span class=&quot;code-quote&quot;&gt;&quot;tmp&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;WorkaroundToBeSaved&quot;&lt;/span&gt;
}
*/

Also, &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; I remove string &lt;span class=&quot;code-quote&quot;&gt;&quot;WorkaroundToBeSaved&quot;&lt;/span&gt; from $a, it won&apos;t be saved with flush, although it is not empty (has $b field set).
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13971" author="jwage" created="Tue, 17 Aug 2010 02:35:33 +0000"  >&lt;p&gt;This is expected as well since we never store null values or empty arrays.&lt;/p&gt;</comment>
                    <comment id="13980" author="jwage" created="Tue, 17 Aug 2010 15:48:40 +0000"  >&lt;p&gt;After a second look we can fix this.&lt;/p&gt;</comment>
                    <comment id="13982" author="jwage" created="Tue, 17 Aug 2010 15:49:32 +0000"  >&lt;p&gt;Fixed by &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/b3a16496c0576e8f926faec9bbcfd5716006273b&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/b3a16496c0576e8f926faec9bbcfd5716006273b&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-44] repositoryClass doesn&apos;t always get picked up for the Document Annotation</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-44</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Adding the following to getRepository after the $customRepositoryClassName=..&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;die(print_r( array($customRepositoryClassName, $metadata),&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Provides:&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 ( [0] =&amp;gt; [1] =&amp;gt; Doctrine\ODM\MongoDB\Mapping\ClassMetadata &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; ( [db] =&amp;gt; &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt; [collection] =&amp;gt; User [identifier] =&amp;gt; id [file] =&amp;gt; [indexes] =&amp;gt; Array ( ) [name] =&amp;gt; Bundle\DoctrineUserBundle\Documents\User [namespace] =&amp;gt; Bundle\DoctrineUserBundle\Documents [rootDocumentName] =&amp;gt; Bundle\DoctrineUserBundle\Documents\User [customRepositoryClassName] =&amp;gt; [allowCustomID] =&amp;gt; [parentClasses] =&amp;gt; Array ( ) [subClasses] =&amp;gt; Array ( ) [reflFields] =&amp;gt; Array ( [id] =&amp;gt; ReflectionProperty &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; ( [name] =&amp;gt; id [class] =&amp;gt; Bundle\DoctrineUserBundle\Documents\User ) ) [_prototype:Doctrine\ODM\MongoDB\Mapping\ClassMetadata:&lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt;] =&amp;gt; [inheritanceType] =&amp;gt; 1 [fieldMappings] =&amp;gt; Array ( [id] =&amp;gt; Array ( [id] =&amp;gt; 1 [fieldName] =&amp;gt; id [name] =&amp;gt; id [isCascadeRemove] =&amp;gt; [isCascadePersist] =&amp;gt; [isCascadeRefresh] =&amp;gt; [isCascadeMerge] =&amp;gt; [isCascadeDetach] =&amp;gt; [type] =&amp;gt; id [nullable] =&amp;gt; ) ) [lifecycleCallbacks] =&amp;gt; Array ( ) [discriminatorValue] =&amp;gt; [discriminatorMap] =&amp;gt; Array ( ) [discriminatorField] =&amp;gt; [reflClass] =&amp;gt; ReflectionClass &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; ( [name] =&amp;gt; Bundle\DoctrineUserBundle\Documents\User ) [isMappedSuperclass] =&amp;gt; [isEmbeddedDocument] =&amp;gt; ) )
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For the following Document:&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;/**
 * @Document(
 *   db=&lt;span class=&quot;code-quote&quot;&gt;&quot;account&quot;&lt;/span&gt;,
 *   collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;sf_doctrine_user&quot;&lt;/span&gt;,
 *   indexes={
 *     @Index(keys={&lt;span class=&quot;code-quote&quot;&gt;&quot;username&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;asc&quot;&lt;/span&gt;})
 *   },
 *   repositoryClass=&lt;span class=&quot;code-quote&quot;&gt;&quot;Bundle\UserBundle\Documents\UserRepository&quot;&lt;/span&gt;
 * )
 * @HasLifecycleCallbacks
 */
class User
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>SF2&lt;br/&gt;
Config for the Bundle:&lt;br/&gt;
doctrine_odm.mongodb:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;server: &lt;a href=&quot;mongodb://localhost:27017&quot;&gt;mongodb://localhost:27017&lt;/a&gt;&lt;br/&gt;
&amp;nbsp;&amp;nbsp;options:&lt;br/&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;connect: true&lt;br/&gt;
&lt;br/&gt;
</environment>
            <key id="11750">MODM-44</key>
            <summary>repositoryClass doesn&apos;t always get picked up for the Document Annotation</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="dasher">D Ashwood</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Aug 2010 19:38:23 +0000</created>
                <updated>Tue, 17 Aug 2010 16:48:25 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 16:48:25 +0000</resolved>
                            <version>1.0.0BETA1</version>
                                                <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13897" author="dasher" created="Tue, 10 Aug 2010 20:08:53 +0000"  >&lt;p&gt;I suspect that it&apos;s due to the driver it&apos;s using - for some reason it wants to use the XMLDriver.&lt;/p&gt;</comment>
                    <comment id="13898" author="dasher" created="Tue, 10 Aug 2010 21:46:13 +0000"  >&lt;p&gt;Ok - I&apos;ve tracked down this issue and it&apos;s related to the XMLDriver being used as the default driver with SF2, MongoBundle &amp;amp; Mongo-odm.&lt;/p&gt;

&lt;p&gt;It&apos;ll try to annotation driver correctly if you have a folder called \Document.  It would be helpful if we could config the folder name.&lt;/p&gt;</comment>
                    <comment id="13899" author="jwage" created="Wed, 11 Aug 2010 00:00:47 +0000"  >&lt;p&gt;It works by detecting the files you have in your bundle. Do you have some .dcm.xml files in your bundle?&lt;/p&gt;</comment>
                    <comment id="13939" author="dasher" created="Thu, 12 Aug 2010 21:40:17 +0000"  >&lt;p&gt;Nope.  They&apos;re all PHP files.&lt;/p&gt;</comment>
                    <comment id="13985" author="jwage" created="Tue, 17 Aug 2010 16:48:25 +0000"  >&lt;p&gt;I can&apos;t reproduce anything here. It sounds like it would be a Symfony2 issue and not something with the ODM itself.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-43] Explicit schema migration</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-43</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Currently supported ways of schema migration are sufficient in many cases. But I think it&apos;s worth considering to have more explicit way to migrate schema for better readability / code maintenance.&lt;/p&gt;

&lt;p&gt;It might be useful to be able to transform original MongoDb data prior to hydration. Maybe as a new lifecycle callback (e.g. preLoad). This way one could have special property for schema version in the document and normalize data according to version differencies. e.g.:&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;function preLoad(array &amp;amp;$data)
{
    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(!isset($data[&apos;version&apos;])) {
        $data[&apos;version&apos;] = 1;
    }
    &lt;span class=&quot;code-keyword&quot;&gt;switch&lt;/span&gt;($data[&apos;version&apos;]) {
        &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 1:
             $data[&apos;fullName&apos;] = $data[&apos;name&apos;];
             unset($data[&apos;name&apos;]);
             &lt;span class=&quot;code-comment&quot;&gt;// breaks are ommitted intentionally here and below
&lt;/span&gt;        &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 2:
             $e = explode(&apos; &apos;, $data[&apos;fullName&apos;])
             $data[&apos;firstname&apos;] = $e[0];
             $data[&apos;lastname&apos;] = $e[1];
             unset($data[&apos;fullName&apos;]);
        &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 3:
             $data[&apos;address&apos;] = array(
                 &apos;street&apos; =&amp;gt; $data[&apos;street&apos;],
                 &apos;city&apos; =&amp;gt; $data[&apos;city&apos;]
             );
             unset($data[&apos;street&apos;]);
             unset($data[&apos;city&apos;]);
         &lt;span class=&quot;code-keyword&quot;&gt;case&lt;/span&gt; 4:
         &lt;span class=&quot;code-keyword&quot;&gt;default&lt;/span&gt;:
              &lt;span class=&quot;code-comment&quot;&gt;// current version
&lt;/span&gt;    }
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Just as example. It also simplifies writing tests for schema migrations as I think. Is it possible with current ODM internals? What do you think? &lt;br/&gt;
I could try to implement this feature if it is acceptable proposal.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11748">MODM-43</key>
            <summary>Explicit schema migration</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Aug 2010 09:55:45 +0000</created>
                <updated>Tue, 17 Aug 2010 16:46:39 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 16:46:29 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13893" author="jwage" created="Tue, 10 Aug 2010 13:53:44 +0000"  >&lt;p&gt;I think this can be implemented already without having to change Doctrine. You just need to manage a version field and use the preLoad() like you are above. It is an acceptable idea, but I think it is already possible. What do you think?&lt;/p&gt;</comment>
                    <comment id="13901" author="vladar" created="Wed, 11 Aug 2010 01:22:22 +0000"  >&lt;p&gt;It&apos;s great if it is already possible. But I think there is no &quot;preLoad&quot;, &quot;preHydrate&quot; or similar event right now. At least I didn&apos;t find one in code or docs.&lt;/p&gt;</comment>
                    <comment id="13917" author="jwage" created="Wed, 11 Aug 2010 13:15:30 +0000"  >&lt;p&gt;Ok, I think maybe we can add a preLoad() event.&lt;/p&gt;</comment>
                    <comment id="13984" author="jwage" created="Tue, 17 Aug 2010 16:46:29 +0000"  >&lt;p&gt;Fixed by &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/78fefc3b70aa8ec0facd3cc4ffa27d6c88670407&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/78fefc3b70aa8ec0facd3cc4ffa27d6c88670407&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-42] PersistentCollection fails when working with MongoGridFs</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-42</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Getting following error when trying to use MongoGridFs files with referenceMany:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Argument 2 passed to Doctrine\ODM\MongoDB\UnitOfWork::getOrCreateDocument() must be an array, object given, called in 
D:\Work\www\syter2.localhost.dev\library\Doctrine\ODM\MongoDB\PersistentCollection.php on line 110 and defined
D:\Work\www\syter2.localhost.dev\library\Doctrine\ODM\MongoDB\UnitOfWork.php:1719
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;As far as I understand queries against MongoGridFS collection return instances of MongoGridFSFile, while PersistentCollection only expects arrays (as with regular collections)&lt;/p&gt;

&lt;p&gt;I think Issue appeared after latest updates from git. Because I didn&apos;t experience it with ALPHA1 (didn&apos;t test with ALPHA2)&lt;/p&gt;</description>
                <environment></environment>
            <key id="11746">MODM-42</key>
            <summary>PersistentCollection fails when working with MongoGridFs</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Aug 2010 00:58:29 +0000</created>
                <updated>Tue, 17 Aug 2010 15:52:52 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 15:52:52 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Collections</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13889" author="jwage" created="Tue, 10 Aug 2010 04:53:17 +0000"  >&lt;p&gt;I&apos;ll check it out, if you can provide a test that&apos;d be helpful.&lt;/p&gt;</comment>
                    <comment id="13892" author="vladar" created="Tue, 10 Aug 2010 09:09:13 +0000"  >&lt;p&gt;Here is a test case:&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;/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class a
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @ReferenceMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;file&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $files = array();

    function __construct($files) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;files = $files;}

    function getFiles() {&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;files;}
}

/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;files&quot;&lt;/span&gt;) */
class file
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @File */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $file;

    function __construct($path) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;file = $path;}

    function getMongoFile() {&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;file;}
}

$f = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; file(__DIR__ . &apos;/test.txt&apos;);
$a = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; a(array($f));

$dm-&amp;gt;persist($f);
$dm-&amp;gt;persist($a);
$dm-&amp;gt;flush();

$dm-&amp;gt;getUnitOfWork()-&amp;gt;clear();

$a = $dm-&amp;gt;findOne(&apos;a&apos;, array());
foreach($a-&amp;gt;getFiles() as $file) {
    $file-&amp;gt;getMongoFile(); &lt;span class=&quot;code-comment&quot;&gt;// produces catchable fatal error
&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13895" author="jwage" created="Tue, 10 Aug 2010 15:22:13 +0000"  >&lt;p&gt;Fixed in &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/964ce247841d11af8ab28cfbde36f6cc09b0d366&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/964ce247841d11af8ab28cfbde36f6cc09b0d366&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-41] Hydration down not work for annotation &quot;@ReferenceMany&quot;</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-41</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When you try to find or execute query, filds with annotation reference many (arrays) do not load.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;user.php&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;&amp;lt;?php

/**
 * @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;DB&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;Users&quot;&lt;/span&gt;)
 */
class User
{
    /**
     * @Id
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $id;
    /**
     * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $name;
    /**
     * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $password;
    /**
     * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $email;
        /**
     * @ReferenceMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;Group&quot;&lt;/span&gt;)
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $groups = array();
}
?&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;group.php&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;&amp;lt;?php

/**
 * @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;MCI&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;Groups&quot;&lt;/span&gt;)
 */
class Group
{
    /**
     * @Id
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $id;
    /**
     * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $name;
    /**
     * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $role_name;

}
?&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;When you execute this line:&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; $obj = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;findOne(&lt;span class=&quot;code-quote&quot;&gt;&quot;User&quot;&lt;/span&gt;,(&lt;span class=&quot;code-quote&quot;&gt;&quot;name&quot;&lt;/span&gt; =&amp;gt; &lt;span class=&quot;code-quote&quot;&gt;&quot;Flavio&quot;&lt;/span&gt;));
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;All the fields are returned correctly, but &quot;groups&quot; apear empty.&lt;/p&gt;

&lt;p&gt;When you use @EmbedMany annotation works file.&lt;/p&gt;

&lt;p&gt;Regards.&lt;/p&gt;

&lt;p&gt;PS: I&apos;m using codeigniter framework&lt;/p&gt;</description>
                <environment>Windows(webserver) / Unix (Mongo)</environment>
            <key id="11734">MODM-41</key>
            <summary>Hydration down not work for annotation &quot;@ReferenceMany&quot;</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="flaviolacer">Flavio Lacerda</reporter>
                        <labels>
                    </labels>
                <created>Fri, 6 Aug 2010 16:48:56 +0000</created>
                <updated>Mon, 9 Aug 2010 10:03:09 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 23:39:57 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13797" author="jwage" created="Fri, 6 Aug 2010 17:03:28 +0000"  >&lt;p&gt;This works for me. Can you provide a more exact test case that does not work?&lt;/p&gt;</comment>
                    <comment id="13803" author="flaviolacer" created="Fri, 6 Aug 2010 22:23:13 +0000"  >&lt;p&gt;I created an script.&lt;br/&gt;
Took a picture of output script too.&lt;/p&gt;</comment>
                    <comment id="13805" author="jwage" created="Fri, 6 Aug 2010 23:39:57 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/cbe22dfd50225250ab468ea2f5e243736b2f35fd&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/cbe22dfd50225250ab468ea2f5e243736b2f35fd&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13876" author="flaviolacer" created="Mon, 9 Aug 2010 10:03:09 +0000"  >&lt;p&gt;Now works perfect. I&#180;m using it a lot. Amazing lib and amazing support.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10726" name="screenshot-script.jpg" size="214270" author="flaviolacer" created="Fri, 6 Aug 2010 22:25:43 +0000" />
                    <attachment id="10724" name="test.zip" size="406077" author="flaviolacer" created="Fri, 6 Aug 2010 22:23:54 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-40] Move value scalarization and comparison to Unit Of Work</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-40</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The BasicDocumentPersister::_equals belongs in the UnitOfWork.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11733">MODM-40</key>
            <summary>Move value scalarization and comparison to Unit Of Work</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Fri, 6 Aug 2010 14:59:24 +0000</created>
                <updated>Fri, 6 Aug 2010 22:11:17 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 22:11:17 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                <version>1.0.0ALPHA2</version>
                                <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Persister</component>
                <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13801" author="jwage" created="Fri, 6 Aug 2010 22:11:17 +0000"  >&lt;p&gt;I refactored and that code is not needed and gone now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-39] Update project description on the projects page</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-39</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The projects page &lt;a href=&quot;http://www.doctrine-project.org/projects&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects&lt;/a&gt; says that ODM MongoDB is for PHP 5.3.0, whereas it really is for PHP 5.3.2+, as far as I know.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11728">MODM-39</key>
            <summary>Update project description on the projects page</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/trivial.png">Trivial</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Thu, 5 Aug 2010 17:08:24 +0000</created>
                <updated>Tue, 17 Aug 2010 15:52:27 +0000</updated>
                    <resolved>Tue, 17 Aug 2010 15:52:27 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-38] Using YAML description with embedMany causes PHP notice error</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-38</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When using the YAML style description together with the new embedMany functionality of mixed documents, you get a PHP notice error every time you create a new model.&lt;/p&gt;

&lt;p&gt;Because when you have mixed documents, you don&apos;t specify a targetDocument, and therefore the YAML Driver can not find an element in the array that describes the targetDocument.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11721">MODM-38</key>
            <summary>Using YAML description with embedMany causes PHP notice error</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sebastian.hoitz">Sebastian Hoitz</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 Aug 2010 13:51:50 +0000</created>
                <updated>Fri, 6 Aug 2010 17:06:13 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 17:06:13 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13798" author="jwage" created="Fri, 6 Aug 2010 17:06:13 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/8c8437a9113a0849f38db0664f66dd407a497918&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/8c8437a9113a0849f38db0664f66dd407a497918&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-37] Problems with EmbedMany and discrimatorMap and discriminatorField</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-37</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I&apos;m experiencing a problem when trying to embed documents and specify my own discriminatorMap and Field.&lt;/p&gt;

&lt;p&gt;This is the code I have:&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;    /** @Document(collection = &lt;span class=&quot;code-quote&quot;&gt;&quot;ticket&quot;&lt;/span&gt;) */
    class App_Model_Ticket &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; App_Model_Abstract
    {
    	/**
    	 * @EmbedMany(
    	 *	discriminatorField = &lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;,
    	 *	discriminatorMap={
    	 *		&lt;span class=&quot;code-quote&quot;&gt;&quot;twitter&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;App_Model_Ticket_Twitter&quot;&lt;/span&gt;,
	 *		&lt;span class=&quot;code-quote&quot;&gt;&quot;email&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;App_Model_Ticket_Email&quot;&lt;/span&gt;
	 *	})
	 */
    	&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $messages = array();
    
    	&lt;span class=&quot;code-comment&quot;&gt;// [...]
&lt;/span&gt;    }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;App_Model_Abstract is a MappedSuperClass.&lt;/p&gt;

&lt;p&gt;App_Model_Ticket_Email and App_Model_Ticket_Twitter pretty much look alike right now:&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;    /** @EmbeddedDocument */
    class App_Model_Ticket_Email &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; App_Model_Ticket_Message
    {
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;and App_Model_Ticket_Message is another MappedSuperClass that extends App_Model_Abstract.&lt;/p&gt;

&lt;p&gt;Now, whenever I create a new model and persist it to mongoDB, the entry gets created and looks like this:&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;    [_id] =&amp;gt; MongoId &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; (
    )
    [messages] =&amp;gt; Array (
        [0] =&amp;gt; Array (
            [message] =&amp;gt; Lorem ipsum
            [subject] =&amp;gt; Ich bin ein Berliner22
            [dateSent] =&amp;gt; MongoDate &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; (
                [sec] =&amp;gt; 1280909855
                [usec] =&amp;gt; 0
            )
            [_doctrine_class_name] =&amp;gt; App_Model_Ticket_Twitter
        )
        [1] =&amp;gt; Array (
            [message] =&amp;gt; Lorem ipsum
            [subject] =&amp;gt; Ich bin ein Berliner22
            [dateSent] =&amp;gt; MongoDate &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; (
                [sec] =&amp;gt; 1280909855
                [usec] =&amp;gt; 0
            )
            [_doctrine_class_name] =&amp;gt; App_Model_Ticket_Email
        )
    )
    [subject] =&amp;gt; Ich bin ein Berliner22
    [dateCreated] =&amp;gt; MongoDate &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; (
        [sec] =&amp;gt; 1280909855
        [usec] =&amp;gt; 0
    )
    [dateLastMessage] =&amp;gt; MongoDate &lt;span class=&quot;code-object&quot;&gt;Object&lt;/span&gt; (
        [sec] =&amp;gt; 1280909855
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;However, as you can see no type field for my embedded documents, it still uses _doctrine_class_name.&lt;/p&gt;

&lt;p&gt;But when I try to fetch this object, I get an exception saying &quot;Class not found&quot;.&lt;/p&gt;

&lt;p&gt;I think this is because right now Doctrine ODM does not write into the custom discriminatorField with embedded documents, but reads from it.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11720">MODM-37</key>
            <summary>Problems with EmbedMany and discrimatorMap and discriminatorField</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="sebastian.hoitz">Sebastian Hoitz</reporter>
                        <labels>
                    </labels>
                <created>Wed, 4 Aug 2010 13:51:19 +0000</created>
                <updated>Fri, 6 Aug 2010 17:09:14 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 17:09:14 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0BETA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13799" author="jwage" created="Fri, 6 Aug 2010 17:09:14 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/618896bb8d879a8365dc359a8949c9d2cad5bec7&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/618896bb8d879a8365dc359a8949c9d2cad5bec7&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-36] Embedded relations are not persisted after a flush()</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-36</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Newly added embedded relations do not get persisted when a flush() is executed before they are added to the parent document. Here is a failing test, note the comment &quot;// Adding this flush here makes level1 not to be inserted.&quot;:&lt;/p&gt;

&lt;p&gt;public function testFlushEmbedded()&lt;/p&gt;
  {
    $test = new EmbeddedTestLevel0();
    $test-&amp;gt;name = &apos;test&apos;;

    $this-&amp;gt;dm-&amp;gt;persist($test);
    $this-&amp;gt;dm-&amp;gt;flush();
    $this-&amp;gt;dm-&amp;gt;clear();

    $test = $this-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\Functional\EmbeddedTestLevel0&apos;);
    $this-&amp;gt;assertInstanceOf(&apos;Documents\Functional\EmbeddedTestLevel0&apos;, $test);

    // Adding this flush here makes level1 not to be inserted.
    $this-&amp;gt;dm-&amp;gt;flush();
   
    $level1 = new EmbeddedTestLevel1();
    $level1-&amp;gt;name = &apos;test level1 #1&apos;;
    $test-&amp;gt;level1[] = $level1;

    $this-&amp;gt;dm-&amp;gt;persist($test);
    $this-&amp;gt;dm-&amp;gt;flush();
    $this-&amp;gt;dm-&amp;gt;clear();

    $test = $this-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\Functional\EmbeddedTestLevel0&apos;);
    $this-&amp;gt;assertInstanceOf(&apos;Documents\Functional\EmbeddedTestLevel0&apos;, $test);
    $this-&amp;gt;assertInstanceOf(&apos;Documents\Functional\EmbeddedTestLevel1&apos;, $test-&amp;gt;level1[0]);

  } </description>
                <environment></environment>
            <key id="11711">MODM-36</key>
            <summary>Embedded relations are not persisted after a flush()</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="pgodel">Pablo Godel</reporter>
                        <labels>
                    </labels>
                <created>Tue, 3 Aug 2010 21:44:55 +0000</created>
                <updated>Fri, 6 Aug 2010 17:01:41 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 17:01:41 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13791" author="vladar" created="Fri, 6 Aug 2010 02:56:54 +0000"  >&lt;p&gt;I also experience this issue. Formatted text from original message for convenience:&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 testFlushEmbedded() 
{
	$test = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; EmbeddedTestLevel0(); 
	$test-&amp;gt;name = &apos;test&apos;; 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;persist($test); 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush(); 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;clear(); 
	$test = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\Functional\EmbeddedTestLevel0&apos;);
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertInstanceOf(&apos;Documents\Functional\EmbeddedTestLevel0&apos;, $test); 
	&lt;span class=&quot;code-comment&quot;&gt;// Adding &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; flush here makes level1 not to be inserted. 
&lt;/span&gt;	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush(); 

	$level1 = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; EmbeddedTestLevel1(); 
	$level1-&amp;gt;name = &apos;test level1 #1&apos;; 
	$test-&amp;gt;level1[] = $level1; 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;persist($test); 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush(); 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;clear(); 
	$test = $&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\Functional\EmbeddedTestLevel0&apos;); 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertInstanceOf(&apos;Documents\Functional\EmbeddedTestLevel0&apos;, $test); 
	$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;assertInstanceOf(&apos;Documents\Functional\EmbeddedTestLevel1&apos;, $test-&amp;gt;level1[0]); 
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13793" author="jwage" created="Fri, 6 Aug 2010 07:57:12 +0000"  >&lt;p&gt;Do you all have the cascade operating enabled in your mapping?&lt;/p&gt;</comment>
                    <comment id="13796" author="jwage" created="Fri, 6 Aug 2010 17:01:41 +0000"  >&lt;p&gt;Fixed in &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/20033a35a9cbf345636defdaaaa57204bae8fbab&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/20033a35a9cbf345636defdaaaa57204bae8fbab&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10715" name="odm_functionalTest_testFlushEmbedded.php" size="869" author="pgodel" created="Tue, 3 Aug 2010 21:46:17 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-35] Proxy item gets reset on persistent collection load if that item was in the collection</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-35</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description></description>
                <environment></environment>
            <key id="11706">MODM-35</key>
            <summary>Proxy item gets reset on persistent collection load if that item was in the collection</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Mon, 2 Aug 2010 10:01:43 +0000</created>
                <updated>Fri, 6 Aug 2010 22:13:51 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 22:13:41 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                <fixVersion>1.0.0BETA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13802" author="jwage" created="Fri, 6 Aug 2010 22:13:41 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/236d4c6fad228f281a6fff9979c5fdc3773969e1&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/236d4c6fad228f281a6fff9979c5fdc3773969e1&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-34] Custom Id always gets sent with changeset </title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-34</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Whenever the Unit of Work computes the changeset for a document with custom id, the id attribute always gets sent. &lt;/p&gt;</description>
                <environment></environment>
            <key id="11705">MODM-34</key>
            <summary>Custom Id always gets sent with changeset </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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Mon, 2 Aug 2010 09:24:47 +0000</created>
                <updated>Fri, 6 Aug 2010 23:15:38 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 23:15:38 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>UnitOfWork</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13804" author="jwage" created="Fri, 6 Aug 2010 23:15:38 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/ad8a7821bd176e875b9ec1f756c32a15eed31fb3&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/ad8a7821bd176e875b9ec1f756c32a15eed31fb3&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-33] Class-level annotations are ignored if set on MappedSuperclass</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-33</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Class-level annotations: @HasLifecycleCallbacks, @InheritanceType, @DiscriminatorField, @DiscriminatorMap have no effect when defined on @MappedSuperclass&lt;/p&gt;

&lt;p&gt;You must explicitly set @HasLifecycleCallbacks for every document class to make callback work. As for inheritance annotations, you have to copy-paste all annotations to all document classes to make it work.&lt;/p&gt;

&lt;p&gt;Simple example:&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;/**
 * @MappedSuperclass
 * @HasLifecycleCallbacks
 */
&lt;span class=&quot;code-keyword&quot;&gt;abstract&lt;/span&gt; class a
{
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $a = &apos;&apos;;

    /** @PrePersist */
    function prePersist() {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;a = &apos;a&apos;;}
}

/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;,collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class b &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; a
{}

$b = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; b();
$dm-&amp;gt;persist($b);
$dm-&amp;gt;flush($b);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;With this example prePersist won&apos;t be called. Not sure if it is bug or expected behavior, but it adds some inconvenience, especially with inheritance mapping.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11704">MODM-33</key>
            <summary>Class-level annotations are ignored if set on MappedSuperclass</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Mon, 2 Aug 2010 02:28:49 +0000</created>
                <updated>Fri, 6 Aug 2010 23:51:42 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 23:51:42 +0000</resolved>
                                            <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13759" author="jwage" created="Mon, 2 Aug 2010 16:10:51 +0000"  >&lt;p&gt;This appears to work for me. I tested it here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/af9aa0f674f8b542c89f8c975ac403fd46f6e29e&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/af9aa0f674f8b542c89f8c975ac403fd46f6e29e&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13763" author="vladar" created="Mon, 2 Aug 2010 23:49:11 +0000"  >&lt;p&gt;Hi, looks like it affected ALPHA1. &lt;br/&gt;
I just updated to latest version from git and this issue disappeared. &lt;/p&gt;

&lt;p&gt;Also, want to thank you and other committers for ODM project. It is really cool!&lt;/p&gt;</comment>
                    <comment id="13780" author="vladar" created="Thu, 5 Aug 2010 01:08:52 +0000"  >&lt;p&gt;Looks like issue still exists for inheritance. At least following test case doesn&apos;t work for me on the latest version from git:&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;/**
 * @MappedSuperClass
 * @InheritanceType(&lt;span class=&quot;code-quote&quot;&gt;&quot;SINGLE_COLLECTION&quot;&lt;/span&gt;)
 * @DiscriminatorField(fieldName=&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;)
 * @DiscriminatorMap({
 *     &lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;b&quot;&lt;/span&gt;,
 *     &lt;span class=&quot;code-quote&quot;&gt;&quot;c&quot;&lt;/span&gt;=&lt;span class=&quot;code-quote&quot;&gt;&quot;c&quot;&lt;/span&gt;
 * })
 */
&lt;span class=&quot;code-keyword&quot;&gt;abstract&lt;/span&gt; class a
{
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $a = &apos;&apos;;
}

/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;,collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class b &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; a
{}

/** @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;,collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class c &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; a
{}

$b = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; b();
$dm-&amp;gt;persist($b);
$dm-&amp;gt;flush($b);
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;New document will be created without &quot;type&quot; field. It works properly only if I copy-paste all annotations to every document class (b, c, etc).&lt;/p&gt;</comment>
                    <comment id="13787" author="jwage" created="Thu, 5 Aug 2010 11:32:27 +0000"  >&lt;p&gt;I don&apos;t think that is supposed to work. Try removing the @MappedSuperclass annotation.&lt;/p&gt;</comment>
                    <comment id="13790" author="vladar" created="Thu, 5 Aug 2010 23:46:24 +0000"  >&lt;p&gt;Removing @MappedSuperClass didn&apos;t help, but adding @Document annotation on abstract class did (it also allows to remove @Document annotation on concrete classes). &lt;/p&gt;

&lt;p&gt;The main point was to avoid annotations duplication, so I think this solution works pretty well. But maybe worth mentioning in the documentation, because it is pretty common use case to have one abstract class and several subclasses within same collection. And it took some time for me to find out how that could be done.&lt;/p&gt;</comment>
                    <comment id="13806" author="jwage" created="Fri, 6 Aug 2010 23:51:42 +0000"  >&lt;p&gt;Pretty sure it is fixed now.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/7ca29f25f7018b781183cf72082802ab4dcc567a&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/7ca29f25f7018b781183cf72082802ab4dcc567a&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-32] dbref $id persisted as string instead of objectid</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-32</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;A clone of &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/issues/issue/2/&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/issues/issue/2/&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11702">MODM-32</key>
            <summary>dbref $id persisted as string instead of objectid</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="avalanche123">Bulat Shakirzyanov</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Sat, 31 Jul 2010 09:56:42 +0000</created>
                <updated>Fri, 6 Aug 2010 22:09:43 +0000</updated>
                    <resolved>Fri, 6 Aug 2010 22:09:43 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                <version>1.0.0ALPHA2</version>
                <version>1.0.0BETA1</version>
                                <fixVersion>1.0.0BETA1</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13800" author="jwage" created="Fri, 6 Aug 2010 22:09:43 +0000"  >&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/935759b498a057d08652379fb8133bb238b23a18&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/935759b498a057d08652379fb8133bb238b23a18&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-31] Cannot use a document against multiple classes</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-31</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It would be useful to be able to use two classes on one document, in a way that transparently extends the original schema. My use case:&lt;/p&gt;

&lt;p&gt;I have a base Application that manages users of the system. A module/plugin to the system wants to extend the User records to include references to one of it&apos;s documents:&lt;/p&gt;

&lt;p&gt;namespace Application\Model;&lt;br/&gt;
class User {&lt;br/&gt;
//user properties here&lt;br/&gt;
}&lt;/p&gt;

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

&lt;p&gt;namespace Organisation\Model;&lt;br/&gt;
use Application\Model\User as BaseUser;&lt;/p&gt;

&lt;p&gt;class Organisation {&lt;br/&gt;
//organisations properties&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;class User extends BaseUser {&lt;br/&gt;
/** @ReferenceOne(targetDocument=&quot;\Organisation\Model\Organisation&quot;) */&lt;br/&gt;
protected $organisation&lt;br/&gt;
}&lt;/p&gt;


&lt;p&gt;It this theoretical scenario, the original \Application\Model\User needs to be used by the base application, but the \Organisation\Model\User can be used by the addon module to transparently add more data to the same user. The base class doesn&apos;t need to know it will be used this way.&lt;/p&gt;

&lt;p&gt;Current behaviour for the above will ignore the additional properties not available in the parent class, and doesn&apos;t throw any exceptions/errors.&lt;/p&gt;

&lt;p&gt;Other ways to make it work involve the base class knowing it will be extended via SCI, or using a mappedsuperclass?, which isn&apos;t transparent in the base class, it needs to be altered to work with it&apos;s children.&lt;/p&gt;</description>
                <environment>Mac OS X 10.6.4, Built in PHP with extra modules: &lt;br/&gt;
zend_extension=xdebug.so&lt;br/&gt;
extension=mongo.so&lt;br/&gt;
extension=mssql.so&lt;br/&gt;
extension=xdiff.so&lt;br/&gt;
extension=pcntl.so&lt;br/&gt;
extension=imap.so&lt;br/&gt;
extension=mcrypt.so&lt;br/&gt;
&lt;br/&gt;
Doctrine Commond/DBAL/ODM from git</environment>
            <key id="11695">MODM-31</key>
            <summary>Cannot use a document against multiple classes</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="scottaubrey">Scott Aubrey</reporter>
                        <labels>
                    </labels>
                <created>Thu, 29 Jul 2010 15:20:54 +0000</created>
                <updated>Fri, 30 Jul 2010 13:27:17 +0000</updated>
                    <resolved>Fri, 30 Jul 2010 13:27:17 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13730" author="jwage" created="Thu, 29 Jul 2010 15:31:43 +0000"  >&lt;p&gt;We have inheritance options that will allow that. Wouldn&apos;t this do the trick?&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 Application\Model;

/** @MappedSuperclass(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;users&quot;&lt;/span&gt;) */
class BaseUser
{
    &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;}

/** @Document */
class User &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; BaseUser
{
    &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;}

namespace Organisation\Model;

use Application\Model\BaseUser;

/** @Document */
class User &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; BaseUser
{
    &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-30] yaml lifecycleCallbacks param expects an array not string</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-30</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;In the manual, when configuring lifecycleCallbacks&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;  lifecycleCallbacks:
    doStuffOnPrePersist: prePersist
    doStuffOnPostPersist: postPersist
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;it seems, that event name must be the key not the value&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;  lifecycleCallbacks:
    prePersist: doStuffOnPrePersist
    postPersist: doStuffOnPostPersist
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and when parsing it is expecting an array not a string&lt;/p&gt;

&lt;p&gt;maybe a fix would be :&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-comment&quot;&gt;// Doctrine/ODM/MongoDB/Mapping/Driver/YamlDriver.php  line 123
&lt;/span&gt;&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (isset($element[&apos;lifecycleCallbacks&apos;])) {
            foreach ($element[&apos;lifecycleCallbacks&apos;] as $type =&amp;gt; $methods) {
&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(!is_array($methods)){
$methods = array($methods);
}
                foreach ($methods as $method) {
                    $class-&amp;gt;addLifecycleCallback($method, constant(&apos;Doctrine\ODM\MongoDB\ODMEvents::&apos; . $type));
                }
            }
        }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11683">MODM-30</key>
            <summary>yaml lifecycleCallbacks param expects an array not string</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jenreve">julien rollin</reporter>
                        <labels>
                    </labels>
                <created>Tue, 27 Jul 2010 06:18:23 +0000</created>
                <updated>Tue, 27 Jul 2010 10:23:51 +0000</updated>
                    <resolved>Tue, 27 Jul 2010 10:13:09 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13708" author="jwage" created="Tue, 27 Jul 2010 10:05:52 +0000"  >&lt;p&gt;Hi, where in the documentation do you see that example?&lt;/p&gt;</comment>
                    <comment id="13709" author="jwage" created="Tue, 27 Jul 2010 10:13:09 +0000"  >&lt;p&gt;I fixed the issue in the code but I can&apos;t locate the example documentation you are pasting to fix.&lt;/p&gt;</comment>
                    <comment id="13710" author="jwage" created="Tue, 27 Jul 2010 10:18:17 +0000"  >&lt;p&gt;Actually, I changed my mind. It will always require an array and we&apos;ll fix any wrong documentation. So this would be correct:&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;lifecycleCallbacks:
    prePersist: [doStuffOnPrePersist]
    postPersist: [doStuffOnPostPersist]
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13711" author="jenreve" created="Tue, 27 Jul 2010 10:23:51 +0000"  >&lt;p&gt;Hi, &lt;br/&gt;
weird, i searched in tests units too, but i cant find it anymore...&lt;br/&gt;
sorry, i certainly did a mistake&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-29] Persisting changes ordering of elements in embedded collection in some cases</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-29</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;After changing ordering of elements in collection, it is persisted incorrectly (with different ordering than expected).&lt;/p&gt;

&lt;p&gt;Here is a test case:&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;/** @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class doc
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @EmbedMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;emb&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $collection;

    function __construct($c) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;set($c);}

    function set($c) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;collection = $c;}
    function get() {&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;collection;}
}

/** @EmbeddedDocument */
class emb
{
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $val;

    function __construct($val) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;val = $val;}
    function get() {&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;val;}
}

$collection = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ArrayCollection(array(
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(&apos;0&apos;),
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(&apos;1&apos;),
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(&apos;2&apos;)
));

&lt;span class=&quot;code-comment&quot;&gt;// TEST CASE:
&lt;/span&gt;$doc = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; doc($collection);

$dm-&amp;gt;persist($doc);
$dm-&amp;gt;flush();

&lt;span class=&quot;code-comment&quot;&gt;// place element &apos;0&apos; after &apos;1&apos;
&lt;/span&gt;$collection = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ArrayCollection(array(
    $collection[1],
    $collection[0],
    $collection[2]
));

$doc-&amp;gt;set($collection);

$dm-&amp;gt;persist($doc);
$dm-&amp;gt;flush();

$dm-&amp;gt;refresh($doc);

foreach($doc-&amp;gt;get() as $value) {
    echo $value-&amp;gt;get() . &lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt;;
}

&lt;span class=&quot;code-comment&quot;&gt;// expecting: 
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 1
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 0
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 2
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;// getting: 
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 2
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 1
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 0&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Is it an issue? Or is it supposed that ordering should be resolved in application code? &lt;/p&gt;</description>
                <environment></environment>
            <key id="11682">MODM-29</key>
            <summary>Persisting changes ordering of elements in embedded collection in some cases</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Tue, 27 Jul 2010 00:38:46 +0000</created>
                <updated>Thu, 19 Aug 2010 03:54:56 +0000</updated>
                    <resolved>Wed, 18 Aug 2010 11:55:55 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Persister</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13707" author="jwage" created="Tue, 27 Jul 2010 00:54:41 +0000"  >&lt;p&gt;Hi, I think we should try and make it maintain the order. I will investigate.&lt;/p&gt;</comment>
                    <comment id="13713" author="jwage" created="Tue, 27 Jul 2010 10:58:33 +0000"  >&lt;p&gt;I am not sure if we can control the order. Mongo doesn&apos;t give us anyway to do this. We use $pullAll and $pushAll operators currently.&lt;/p&gt;

&lt;p&gt;Can you log that test and paste what queries are executed on mongo when persisting?&lt;/p&gt;</comment>
                    <comment id="13714" author="avalanche123" created="Tue, 27 Jul 2010 12:02:57 +0000"  >&lt;p&gt;I think that you should be getting 2,1,0 after the first flush as well, since we would not send an update after the second flush at all. We check whether the actual value in the collection changed or not, if you want the keys to be taken into account, you should use @Hash instead.&lt;/p&gt;</comment>
                    <comment id="13719" author="vladar" created="Wed, 28 Jul 2010 00:17:38 +0000"  >&lt;p&gt;I have just checked. After first flush I get expected result: 0, 1, 2. And for second flush Doctrine Persister generates following update query:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Array
(
    [$pullAll] =&amp;gt; Array
        (
            [collection] =&amp;gt; Array
                (
                    [0] =&amp;gt; Array
                        (
                            [val] =&amp;gt; 0
                        )

                    [1] =&amp;gt; Array
                        (
                            [val] =&amp;gt; 1
                        )

                )

        )

    [$pushAll] =&amp;gt; Array
        (
            [collection] =&amp;gt; Array
                (
                    [0] =&amp;gt; Array
                        (
                            [val] =&amp;gt; 1
                        )

                    [1] =&amp;gt; Array
                        (
                            [val] =&amp;gt; 0
                        )

                )

        )

)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then it sequentally executes two updates: 1 for $pullAll and then another for $pushAll (due to &lt;a href=&quot;http://jira.mongodb.org/browse/SERVER-1050&quot; class=&quot;external-link&quot;&gt;http://jira.mongodb.org/browse/SERVER-1050&lt;/a&gt;). As a result 1, 0 are  pushed after 2 and we get 2,1,0. &lt;/p&gt;

&lt;p&gt;I think in many cases using $set would work as a  workaround for this issue. But as far as I understand there is no way to hint Doctrine to use $set currently. Or is it possible somehow?&lt;/p&gt;

&lt;p&gt;Hash won&apos;t work in this case, because it doesn&apos;t preserve classes of embedded objects.&lt;/p&gt;</comment>
                    <comment id="13736" author="jwage" created="Fri, 30 Jul 2010 13:28:12 +0000"  >&lt;p&gt;I think we can maybe allow you to force a collection to always use $set if you want to maintain ordering. The downside is it is much slower and not atomic. I don&apos;t know if it is a good idea, what do you think?&lt;/p&gt;</comment>
                    <comment id="13744" author="vladar" created="Sat, 31 Jul 2010 02:46:30 +0000"  >&lt;p&gt;Well, in my use case $set will work well, because embedded objects are small, there will be only 1-40 of them and saving operation is rare. I think this use-case is pretty usual, so $set will be definately useful.&lt;/p&gt;

&lt;p&gt;The alternative is to complicate application-code to resolve ordering on the client-side, which doesn&apos;t worth it in many cases. And people will use different workarounds as I did: currently I update all embedded objects with unique random token and Doctrine pulls/pushes them all back with valid ordering.&lt;/p&gt;</comment>
                    <comment id="13807" author="jwage" created="Sat, 7 Aug 2010 01:35:11 +0000"  >&lt;p&gt;In this commit &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/7a9e0088153e1f3f7f9a0650f5f7461bbc41ec64&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/7a9e0088153e1f3f7f9a0650f5f7461bbc41ec64&lt;/a&gt; I made it so that you can control the strategy for persisting. The default value is pushPull but you can also specify set so the entire value is re $set each time:&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;/** @Collection(strategy=&lt;span class=&quot;code-quote&quot;&gt;&quot;set&quot;&lt;/span&gt;) */
/** @ReferenceMany(strategy=&lt;span class=&quot;code-quote&quot;&gt;&quot;set&quot;&lt;/span&gt;) */
/** @EmbedMany(strategy=&lt;span class=&quot;code-quote&quot;&gt;&quot;set&quot;&lt;/span&gt;) */
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13972" author="vladar" created="Tue, 17 Aug 2010 06:55:37 +0000"  >&lt;p&gt;Discovered another related issue. There are situations with strategy &quot;set&quot;, when ODM generates following update 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;array (
  &apos;$set&apos; =&amp;gt; array (
    &apos;collection.1.val&apos; =&amp;gt; &apos;tmp&apos;,
    &apos;collection&apos; =&amp;gt; array (
      0 =&amp;gt; array (
        &apos;val&apos; =&amp;gt; &apos;1&apos;,
      ),
      1 =&amp;gt; array (
        &apos;val&apos; =&amp;gt; &apos;tmp&apos;,
      ),
      2 =&amp;gt; array (
        &apos;val&apos; =&amp;gt; &apos;2&apos;,
      ),
    ),
  ),
)
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;E.g. when changing ordering of elements AND field value of any embedded document. &lt;br/&gt;
This update will only persist new field value, but not elements reordering.&lt;/p&gt;

&lt;p&gt;Full Test Case:&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;/** @Document(collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;, db=&lt;span class=&quot;code-quote&quot;&gt;&quot;tests&quot;&lt;/span&gt;) */
class doc
{
    /** @Id */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $id;

    /** @EmbedMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;emb&quot;&lt;/span&gt;, strategy=&lt;span class=&quot;code-quote&quot;&gt;&quot;set&quot;&lt;/span&gt;, cascade=&lt;span class=&quot;code-quote&quot;&gt;&quot;all&quot;&lt;/span&gt;) */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $collection;

    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $tmp = &apos;&apos;; &lt;span class=&quot;code-comment&quot;&gt;// force save
&lt;/span&gt;
    function __construct($c) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;set($c);}

    function getId() {&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;id;}
    function set($c) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;collection = $c;}
    function get() {&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;collection;}
}

/** @EmbeddedDocument */
class emb
{
    /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $val;

    function __construct($val) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;set($val);}
    function get() {&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;val;}
    function set($val) {$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;val = $val;}
}

$collection = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ArrayCollection(array(
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(&apos;0&apos;),
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(&apos;1&apos;),
    &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; emb(&apos;2&apos;)
));

&lt;span class=&quot;code-comment&quot;&gt;// TEST CASE:
&lt;/span&gt;$doc = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; doc($collection);

$dm-&amp;gt;persist($doc);
$dm-&amp;gt;flush();

&lt;span class=&quot;code-comment&quot;&gt;// place element &apos;0&apos; after &apos;1&apos;
&lt;/span&gt;$collection = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; ArrayCollection(array(
    $collection[1],
    $collection[0],
    $collection[2]
));

$doc-&amp;gt;set($collection);

&lt;span class=&quot;code-comment&quot;&gt;// changing value together with reordering causes issue when saving:
&lt;/span&gt;$collection[1]-&amp;gt;set(&apos;tmp&apos;);

$dm-&amp;gt;persist($doc);
$dm-&amp;gt;flush();

$dm-&amp;gt;refresh($doc);

foreach($doc-&amp;gt;get() as $value) {
    echo $value-&amp;gt;get() . &lt;span class=&quot;code-quote&quot;&gt;&quot;\n&quot;&lt;/span&gt;;
}

&lt;span class=&quot;code-comment&quot;&gt;// expecting: 
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 1
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 0
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 2
&lt;/span&gt;
&lt;span class=&quot;code-comment&quot;&gt;// getting: 
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 0
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 1
&lt;/span&gt;&lt;span class=&quot;code-comment&quot;&gt;// 2&lt;/span&gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13995" author="vladar" created="Wed, 18 Aug 2010 04:28:35 +0000"  >&lt;p&gt;Reopening because of other related issue&lt;/p&gt;</comment>
                    <comment id="14002" author="jwage" created="Wed, 18 Aug 2010 11:38:21 +0000"  >&lt;p&gt;So the &quot;&apos;collection.1.val&apos; =&amp;gt; &apos;tmp&apos;,&quot; part succeeds and the rest is ignored? Obviously the &apos;collection.1.val&apos; =&amp;gt; &apos;tmp&apos;, part should not be there.&lt;/p&gt;</comment>
                    <comment id="14003" author="jwage" created="Wed, 18 Aug 2010 11:40:09 +0000"  >&lt;p&gt;Hi, to make things easier would you mind making the test cases in the Doctrine test suite? Every test case you provide is great and it works but I have to spend a few minutes modifying the code and putting it into a test case in phpunit.&lt;/p&gt;</comment>
                    <comment id="14004" author="jwage" created="Wed, 18 Aug 2010 11:51:38 +0000"  >&lt;p&gt;Why are you expecting 1, 0, 2? Wouldn&apos;t the change to &apos;tmp&apos; need to be persisted as well?&lt;/p&gt;</comment>
                    <comment id="14005" author="jwage" created="Wed, 18 Aug 2010 11:55:46 +0000"  >&lt;p&gt;Fixed here &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/485fbdfb7f85ecb290530ea0fc9c55a6dca91e19&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/485fbdfb7f85ecb290530ea0fc9c55a6dca91e19&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think the expected values and order would be &quot;1, tmp, 2&quot;&lt;/p&gt;</comment>
                    <comment id="14012" author="vladar" created="Thu, 19 Aug 2010 03:54:56 +0000"  >&lt;p&gt;Yeah, sorry, expecting &quot;1, tmp, 2&quot; of course.&lt;/p&gt;

&lt;p&gt;As for tests - I&apos;ll setup Doctrine tests on my side. How should I deliver test cases then? Via github? Or just copy-paste phpunit tests here?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-28] xml mapping : embedded-document  node is ignored, can&apos;t persist </title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-28</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&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-comment&quot;&gt;//file Doctrine/ODM/MongoDB/Mapping/Driver/XmlDriver.php line 171
&lt;/span&gt;
&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; function _loadMappingFile($file)
    {
        $result = array();
        $xmlElement = simplexml_load_file($file);

        &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (isset($xmlElement-&amp;gt;document)) {
            foreach ($xmlElement-&amp;gt;document as $documentElement) {
                $documentName = (string) $documentElement[&apos;name&apos;];
                $result[$documentName] = $documentElement;
            }
        }
        
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; $result;
    }

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;embedded-document  and mapped-superclass are ignored so embed documents are not persisted&lt;/p&gt;

</description>
                <environment></environment>
            <key id="11681">MODM-28</key>
            <summary>xml mapping : embedded-document  node is ignored, can&apos;t persist </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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="jenreve">julien rollin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 26 Jul 2010 13:04:22 +0000</created>
                <updated>Tue, 27 Jul 2010 10:55:23 +0000</updated>
                    <resolved>Tue, 27 Jul 2010 10:55:23 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-27] It would be great to have a way to use different collection classes with referencing/embedding</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-27</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Currently ODM creates an instance of ArrayCollection for every referenced/embedded collection. &lt;/p&gt;

&lt;p&gt;It would be great, if there was a way to specify which collection class should be actually used. Imagine simple use-case: one have created class TagsCollection extends ArrayCollection with __toString method, which automatically transforms collection of tags to comma-separated tags string.&lt;/p&gt;

&lt;p&gt;Would it be possible to have e.g. @EmbedMany(collection=&quot;TagsCollection&quot;) ?&lt;/p&gt;</description>
                <environment></environment>
            <key id="11673">MODM-27</key>
            <summary>It would be great to have a way to use different collection classes with referencing/embedding</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="vladar">Vladimir Razuvaev</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Jul 2010 10:46:47 +0000</created>
                <updated>Thu, 22 Jul 2010 23:17:59 +0000</updated>
                    <resolved>Thu, 22 Jul 2010 12:07:20 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13659" author="jwage" created="Thu, 22 Jul 2010 12:05:49 +0000"  >&lt;p&gt;Is it not just as simple for you to do this yourself instead of cluttering the Doctrine codebase? Simply wrap your collection with your own class. Use another class to do what you want, passing the collection to it.&lt;/p&gt;</comment>
                    <comment id="13660" author="jwage" created="Thu, 22 Jul 2010 12:07:12 +0000"  >&lt;p&gt;Also, doing this I think would not be a good idea as it&apos;s not really related to object domain persistence. I think you should do this in your own project by wrapping collections or having a convenience/helper method you can pass a collection of tags to, to get the comma separated tags string. I also think this is not a part of your domain model, it is more a part of your view layer.&lt;/p&gt;</comment>
                    <comment id="13669" author="vladar" created="Thu, 22 Jul 2010 23:17:59 +0000"  >&lt;p&gt;Well, that was just a simple example, I am pretty sure there might be other use-cases (related to domain model). Anyway if that is not an easy change, I&apos;ll use ArrayCollection here. Thanks for clarifications.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-26] MongoCursor doesn&apos;t implement Countable interface</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-26</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;this causes confusion when query returns empty array instead of MongoCursor object, meaning you can&apos;t use neither count($result) nor $result-&amp;gt;count(), and have to check for the returned type explicitly&lt;/p&gt;</description>
                <environment></environment>
            <key id="11621">MODM-26</key>
            <summary>MongoCursor doesn&apos;t implement Countable interface</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 13 Jul 2010 10:40:39 +0000</created>
                <updated>Mon, 19 Jul 2010 13:09:48 +0000</updated>
                    <resolved>Mon, 19 Jul 2010 13:09:19 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13610" author="jwage" created="Mon, 19 Jul 2010 13:09:48 +0000"  >&lt;p&gt;Fixed and added a MongoCursorTest file.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-25] AnnotationDriver.php Line 175</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-25</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;$mapping&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;fieldName&amp;#39;&amp;#93;&lt;/span&gt; should be replace with something else.&lt;br/&gt;
Maybe create a whole new metadata property, or map load methods as onLoad lyfecycle events...&lt;/p&gt;</description>
                <environment></environment>
            <key id="11595">MODM-25</key>
            <summary>AnnotationDriver.php Line 175</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Wed, 7 Jul 2010 17:25:12 +0000</created>
                <updated>Mon, 19 Jul 2010 14:28:20 +0000</updated>
                    <resolved>Mon, 19 Jul 2010 14:28:20 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-24] Hydratation of extra fields</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-24</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I&apos;m working on a project using MongoDB with ODM especially for the schemaless features.&lt;br/&gt;
So I have one collection with some default fields in my base class.&lt;br/&gt;
Every inherited class add fields but we&apos;re still in the same collection.&lt;/p&gt;

&lt;p&gt;First, prior to save the document, I add the new mappings (imported from the inherited class) so they will be saved in the database. This part works fine.&lt;br/&gt;
The problem is that when the ODM hydrates the documents, it sticks to the $metadata-&amp;gt;fieldMappings defined by the base class, and ignore the others.&lt;/p&gt;

&lt;p&gt;I&apos;ve made a quick patch for that, but it doesn&apos;t make any type cast, I didn&apos;t inspect the code deep enough to make it better.&lt;/p&gt;

&lt;p&gt;In the Doctrine\ODM\MongoDB\Hydrator class (line 73) :&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 hydrate(ClassMetadata $metadata, $document, $data)
    {
        $values = array();

        &lt;span class=&quot;code-comment&quot;&gt;// Patch
&lt;/span&gt;        foreach ($data as $field =&amp;gt; $value)
        {
          &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt;(!array_key_exists($field, $metadata-&amp;gt;fieldMappings))
          {
            $document-&amp;gt;$field = $value;
          }
        }
        &lt;span class=&quot;code-comment&quot;&gt;// end Patch
&lt;/span&gt;
        foreach ($metadata-&amp;gt;fieldMappings as $mapping) {
[...]

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
            <key id="11590">MODM-24</key>
            <summary>Hydratation of extra fields</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="oktodindon">Anonymous</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Jul 2010 05:14:40 +0000</created>
                <updated>Mon, 19 Jul 2010 23:15:39 +0000</updated>
                    <resolved>Mon, 19 Jul 2010 23:15:39 +0000</resolved>
                                            <fixVersion>1.0.0ALPHA2</fixVersion>
                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13613" author="jwage" created="Mon, 19 Jul 2010 23:15:21 +0000"  >&lt;p&gt;This is fixed now. Make sure your classes inheritance mapping is setup properly too if you have other problems.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-23] Embeded objects gets doubled [see description for the whole scenario]</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-23</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If you have the database structure as:&lt;br/&gt;
&apos;Group&apos; Collection has &apos;tables&apos; (ReferenceMany targetDocument=&quot;Documents\Table&quot;) and &apos;chairs&apos; (ReferenceMany targetDocument=&quot;Documents\Chair&quot;).&lt;br/&gt;
&apos;Table&apos; Collection has &apos;glasses&apos; (EmbedMany targetDocument=&quot;Documents\Glass&quot;) and a name as (@String).&lt;br/&gt;
&apos;Chair&apos; Collection has a name as (@String) and tablenames as (@Hash).&lt;br/&gt;
&apos;Glass&apos; Collection has name as (@String).&lt;/p&gt;

&lt;p&gt;First, I simply add a glass to table and add that table to group. And create a chair and add it to group also.&lt;br/&gt;
                $dm = $this-&amp;gt;doctrine-&amp;gt;getDM();&lt;br/&gt;
		$group = new Group();&lt;br/&gt;
		$table = new Table();&lt;br/&gt;
		$chair = new Chair();&lt;br/&gt;
		$glass = new Glass();&lt;/p&gt;

&lt;p&gt;		$group-&amp;gt;tables[] = $table;&lt;br/&gt;
		$group-&amp;gt;chairs[] = $chair;&lt;br/&gt;
		$table-&amp;gt;glasses[] = $glass;&lt;/p&gt;

&lt;p&gt;		$dm-&amp;gt;persist($group);&lt;br/&gt;
                $dm-&amp;gt;flush();&lt;br/&gt;
*At this point the tablenames in &apos;Chair&apos; collection is not entered.&lt;/p&gt;

&lt;p&gt;Now I call a function, which adds a new chair;&lt;br/&gt;
function addChair()&lt;br/&gt;
	{&lt;br/&gt;
		$dm = $this-&amp;gt;doctrine-&amp;gt;getDM();&lt;br/&gt;
		$chair = new Chair();&lt;br/&gt;
		$group = $dm-&amp;gt;createQuery(&apos;Documents\Group&apos;)&lt;br/&gt;
			-&amp;gt;where(&apos;name&apos;,&apos;group&apos;)&lt;br/&gt;
			-&amp;gt;getSingleResult();&lt;br/&gt;
		foreach($group-&amp;gt;tables as $table)&lt;/p&gt;
		{
			$chair-&amp;gt;tableNames[] = $table-&amp;gt;name;

		}
&lt;p&gt;		$group-&amp;gt;chairs[] = $chair;&lt;br/&gt;
		$dm-&amp;gt;persist($chair);&lt;br/&gt;
		$dm-&amp;gt;flush();&lt;br/&gt;
	}&lt;/p&gt;

&lt;p&gt;and as mentioned I traverse on tables to get table names and add those name in a new &apos;Chair&apos; Collection&apos;s tablenames (@Hash).&lt;/p&gt;

&lt;p&gt;Now in Db I have:&lt;br/&gt;
a group with two chairs and a table (both Referenced).&lt;br/&gt;
two chairs (one with an array of &quot;tablenames&quot; and one doesn&apos;t have &quot;tablenames&quot;),&lt;br/&gt;
a table with &quot;TWO&quot; embedded glasses &amp;lt;&amp;lt;--this is very strange I never added another glass to table!!!!&lt;/p&gt;

&lt;p&gt;Note: As I call &quot;addChair()&quot; one more time the glasses in table get multiplied by two!!!&lt;br/&gt;
Please fix this asap.&lt;br/&gt;
Thanks&lt;br/&gt;
Regards&lt;br/&gt;
Ahsan&lt;/p&gt;</description>
                <environment>Ubuntu with LAMP. I am using Code Igniter.</environment>
            <key id="11571">MODM-23</key>
            <summary>Embeded objects gets doubled [see description for the whole scenario]</summary>
                <type id="1" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/bug.png">Bug</type>
                                <priority id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/critical.png">Critical</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="asymptote">Ahsan Shafiq</reporter>
                        <labels>
                    </labels>
                <created>Wed, 30 Jun 2010 06:21:33 +0000</created>
                <updated>Tue, 13 Jul 2010 10:41:51 +0000</updated>
                    <resolved>Tue, 13 Jul 2010 10:41:51 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13529" author="avalanche123" created="Tue, 6 Jul 2010 18:53:52 +0000"  >&lt;p&gt;this should be resolved in the current trunk&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10682" name="glass multiplier.zip" size="2152" author="asymptote" created="Wed, 30 Jun 2010 06:21:33 +0000" />
                    <attachment id="10683" name="glass multiplier.zip" size="2152" author="asymptote" created="Wed, 30 Jun 2010 06:21:33 +0000" />
                    <attachment id="10684" name="glass multiplier.zip" size="2152" author="asymptote" created="Wed, 30 Jun 2010 06:21:33 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-22] Document incorrectly scheduled for update</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-22</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I have the following documents:&lt;/p&gt;

&lt;p&gt;Product:&lt;br/&gt;
  product_id&lt;br/&gt;
  sellable (dbref)&lt;/p&gt;

&lt;p&gt;Sellable:&lt;br/&gt;
  product (dbref)&lt;br/&gt;
  seller (dbref)&lt;/p&gt;

&lt;p&gt;Seller:&lt;br/&gt;
  name&lt;/p&gt;

&lt;p&gt;If I create a new Sellable for a seller the seller gets scheduled for update even if nothing has changed.The document persister correctly doesn&apos;t try to actually execute the update but Lifecycle events still get called. The flow is:&lt;/p&gt;

&lt;p&gt;1. Schedule for update&lt;br/&gt;
2. Call _executeUpdate&lt;br/&gt;
3. Call preUpdate&lt;br/&gt;
4. Call BasicDocumentPersister::update(), which does nothing because of no actual changes&lt;br/&gt;
5. Call postUpdate.&lt;/p&gt;

&lt;p&gt;preUpdate and postUpdate being called when there&apos;s no actual changes is causing problems. It seems like the proper course of action would be to either not schedule the document for update or check if there&apos;s any actual changes before calling preUpdate and postUpdate.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11564">MODM-22</key>
            <summary>Document incorrectly scheduled for update</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="5">Cannot Reproduce</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ssurowiec">Steven Surowiec</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Jun 2010 16:45:31 +0000</created>
                <updated>Mon, 19 Jul 2010 23:52:55 +0000</updated>
                    <resolved>Mon, 19 Jul 2010 23:52:55 +0000</resolved>
                                            <fixVersion>1.0.0ALPHA2</fixVersion>
                                <component>Document Manager</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13520" author="jwage" created="Mon, 5 Jul 2010 12:25:36 +0000"  >&lt;p&gt;I will take a look at this. Can you try creating a test case that reproduces the issue?&lt;/p&gt;</comment>
                    <comment id="13581" author="jwage" created="Tue, 13 Jul 2010 13:27:45 +0000"  >&lt;p&gt;Bulat, is this not fixed?&lt;/p&gt;</comment>
                    <comment id="13611" author="jwage" created="Mon, 19 Jul 2010 15:49:27 +0000"  >&lt;p&gt;Any chance of a test case? Could you provide the documents you are using?&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-21] AnnotationDriver doesn&apos;t allow custom types</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-21</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Right now AnnotationDriver.php does not allow you to create custom types. You can with YAML and XML but the $types array on line ~142 of AnnotationDriver.php is hard coded so there&apos;s no way to get a custom type in there.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11562">MODM-21</key>
            <summary>AnnotationDriver doesn&apos;t allow custom types</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ssurowiec">Steven Surowiec</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Jun 2010 10:47:46 +0000</created>
                <updated>Mon, 19 Jul 2010 15:01:15 +0000</updated>
                    <resolved>Mon, 19 Jul 2010 15:01:15 +0000</resolved>
                                            <fixVersion>1.0.0ALPHA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-20] SINGLE_COLLECTION inheritance does not work</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-20</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;It seems that SINGLE_COLLECTION inheritance is not implemented?&lt;/p&gt;

&lt;p&gt;Method UnitOfWork::getOrCreateDocument calls Mapping\Metadata::newInstance without taking possible discriminator map into account.&lt;/p&gt;

&lt;p&gt;The example in the official documentation (&lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/inheritance-mapping/en&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/inheritance-mapping/en&lt;/a&gt;) is not a real test: the object is first created as a child-class instance before being queried through the parent class, so the object is returned without hydration, from the UnitOfWork identityMap cache.&lt;/p&gt;

&lt;p&gt;The corresponding code from Doctrine\ORM is in Doctrine\ORM\Internal\Hydration\ObjectHydrator::_getEntity (find class name through discriminator map, if any).&lt;/p&gt;</description>
                <environment>PHP 5.3.1, Doctrine ODM MongoDB 2010-06-22 16:07:10</environment>
            <key id="11546">MODM-20</key>
            <summary>SINGLE_COLLECTION inheritance does not work</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="okapi">Okapi</reporter>
                        <labels>
                    </labels>
                <created>Thu, 24 Jun 2010 10:01:42 +0000</created>
                <updated>Wed, 24 Nov 2010 13:10:19 +0000</updated>
                    <resolved>Wed, 24 Nov 2010 13:10:19 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                <fixVersion>1.0.0BETA2</fixVersion>
                                <component>Hydration</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13521" author="jwage" created="Mon, 5 Jul 2010 12:27:33 +0000"  >&lt;p&gt;It is just not implemented/finished yet. I will fix the code you mention soon. Thanks, Jon&lt;/p&gt;</comment>
                    <comment id="14239" author="okapi" created="Thu, 2 Sep 2010 12:40:58 +0000"  >&lt;p&gt;Hi Jon,&lt;/p&gt;

&lt;p&gt;Indeed, hydration seems aware of the discriminator map now (I only use Single Collection inheritance).&lt;/p&gt;

&lt;p&gt;But the discriminator map seems ignored when a document is fetched through its ID (eg. DM::find($class, $id) ).&lt;/p&gt;

&lt;p&gt;Because of that, I just can&apos;t use this inheritance model. I can&apos;t see any possible workaround, since the discriminator field is no longer allowed to be declared in the class.&lt;/p&gt;


&lt;p&gt;Other point which is not a bug but a suggestion : instead of using a static discrminator map, couldn&apos;t we register an inflector class? Indeed, in most use cases, the document class name is the mere concatenation of the base class with a backslash followed by the camel-cased discriminator value.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;Okapi&lt;/p&gt;</comment>
                    <comment id="14244" author="jwage" created="Thu, 2 Sep 2010 15:11:19 +0000"  >&lt;p&gt;Hi, the discriminator map should be used in both DocumentManager::find() and findOne()&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/MongoCollection.php#L285&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/MongoCollection.php#L285&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/MongoCollection.php#L315&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/MongoCollection.php#L315&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As far as the inflector class, we have to specify the full discriminator map on the parent class because otherwise we would have to load all the mapping information for all the subclasses to know the information.&lt;/p&gt;

&lt;p&gt;Can you give some kind of test code or a test case or something for your reason to re-open?&lt;/p&gt;</comment>
                    <comment id="14252" author="okapi" created="Fri, 3 Sep 2010 08:53:59 +0000"  >&lt;p&gt;Hi, indeed. I&apos;ve had difficulties in running the PHPUnit tests, but have struggled on the issue within my app long enough to have a clear scenario.&lt;/p&gt;

&lt;p&gt;Consider the following unit test:&lt;br/&gt;
Doctrine\ODM\MongoDB\Tests\Functional\InheritanceTest::testSingleCollectionInhertiance()&lt;/p&gt;

&lt;p&gt;Data has been inserted according to the code before $this-&amp;gt;dm-&amp;gt;clear();&lt;/p&gt;

&lt;p&gt;Now, in a new PHP instance (web req or CLI proc) (to avoid taking any risk related to the reliability of DocumentManager::clear() and make sure objects are freshly hydrated ),&lt;/p&gt;

&lt;p&gt;The follow assertion should be OK (I would expect it to be in the test, as it represents the purpose of the discriminator map):&lt;br/&gt;
        $document = $this-&amp;gt;dm-&amp;gt;findOne(&apos;Documents\Project&apos;, array(&apos;name&apos; =&amp;gt; &apos;Sub Project&apos;));&lt;br/&gt;
        $this-&amp;gt;assertInstanceOf(&apos;Documents\SubProject&apos;, $document);&lt;/p&gt;

&lt;p&gt;Now, suppose $id is the identifier value of $document as returned by the former code.&lt;br/&gt;
The following assertion should be also true:&lt;br/&gt;
        $document = $this-&amp;gt;dm-&amp;gt;find(&apos;Documents\Project&apos;, $id);&lt;br/&gt;
        $this-&amp;gt;assertInstanceOf(&apos;Documents\SubProject&apos;, $document);&lt;/p&gt;

&lt;p&gt;This former test would fail in my case (doc class is Documents\Project as queried).&lt;/p&gt;

&lt;p&gt;To me, the purpose of single inheritance is when we don&apos;t know by advance the class of the object that hydration will yield. The query is made on a common document class, and the class of each returned document will depend on the discriminator field.&lt;br/&gt;
In a typical application, these classes would implement a common interface. Having the possibility to isolate the implementation (concrete class) from the query is a key feature to benefit from the schema-less character of a NoSQL DB.&lt;/p&gt;

&lt;p&gt;Am I right, or missing something?&lt;/p&gt;
</comment>
                    <comment id="14260" author="jwage" created="Fri, 3 Sep 2010 12:22:13 +0000"  >&lt;p&gt;That is correct, this is how it is intended to work and as far as I&apos;ve tested it is working that way. I even added your code to the test and it passes: &lt;a href=&quot;http://github.com/doctrine/mongodb-odm/commit/54f68d9a4623ec7daa18bf5671ebba778bbc0df8&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/commit/54f68d9a4623ec7daa18bf5671ebba778bbc0df8&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="14285" author="okapi" created="Mon, 6 Sep 2010 11:27:43 +0000"  >&lt;p&gt;Hello, after hours of seeking the cause why Doctrine tests pass and mines don&apos;t although very similar to each other!!&lt;/p&gt;

&lt;p&gt;Answer is: in my project, the base document class which declares the single inheritance behaviour does not include itself in the discriminator map.&lt;/p&gt;

&lt;p&gt;Indeed, in the unit tests, Documents\Project is used for both a collection (to query from) and an implementation (of documents with type &quot;project&quot;).&lt;/p&gt;

&lt;p&gt;In my project, the &quot;collection document class&quot; (setting up the inheritance) is abstract. For now, to please Doctrine ODM, I have included it in the discriminator map under the dumb key &quot;abstract&quot;. Doctrine seems fine with it, but there is a logical problem, in the sense that it may try innocently  to instanciate my abstract class if it fetches from MongoDB a document with the corresponding type.&lt;/p&gt;

&lt;p&gt;What do you think?&lt;/p&gt;

&lt;p&gt;Thinking of the case where a fetched document does not match an item in the discriminator map, does the hydrator fall back to the main document class?&lt;br/&gt;
Should we have an annotation like @DiscriminatorFallbackValue or @DiscriminatorFallbackDocument ?&lt;/p&gt;

&lt;p&gt;If I have suggestions / thinking about how inheritance can be better used, where do you want me to write them? Here or on the forum?&lt;/p&gt;</comment>
                    <comment id="14286" author="jwage" created="Mon, 6 Sep 2010 11:58:20 +0000"  >&lt;p&gt;Can you make a test then with how your entities are setup so I can work on a patch?&lt;/p&gt;</comment>
                    <comment id="14298" author="okapi" created="Tue, 7 Sep 2010 06:08:03 +0000"  >&lt;p&gt;Sorry, I don&apos;t have a Github account, and am leaving for a week-long trip, so I don&apos;t have th etime yet to make a proper contribution.&lt;/p&gt;

&lt;p&gt;However, I have modified tests&apos; Documents\Project, added Documents\OtherSubProject and updated Doctrine\ODM\MongoDB\Tests\Functional\InheritanceTest. Here is a tar.gz of these 3 files.&lt;/p&gt;

&lt;p&gt;The instanceOf assertions fails, as the hydrator always returns Documents\Project objects, whatever the &quot;type&quot; is.&lt;br/&gt;
Note that adding &quot;project&quot;=&quot;Documents\Project&quot; to the discriminator map makes the test pass again.&lt;/p&gt;</comment>
                    <comment id="14810" author="jwage" created="Wed, 24 Nov 2010 13:10:19 +0000"  >&lt;p&gt;I&apos;m pretty certain this is fixed now. I ran your test and it is passing now. I merged the changes and committed it.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                    <attachment id="10778" name="unit_test.tar.gz" size="1187" author="okapi" created="Tue, 7 Sep 2010 06:08:03 +0000" />
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-19] Field annotation missing &quot;name&quot; support</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-19</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Documentation states that field names can be overriden by using a &quot;name&quot; parameter but Doctrine throws exception.&lt;br/&gt;
Also there is a missing comma in the documentation between the type and name params.&lt;/p&gt;

&lt;p&gt;From documentation:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/annotations-reference/en#ann_field&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/annotations-reference/en#ann_field&lt;/a&gt;&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;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;/**
 * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt; name=&lt;span class=&quot;code-quote&quot;&gt;&quot;origin&quot;&lt;/span&gt;)
 */
&lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $country;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;My source 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;div class=&quot;error&quot;&gt;&lt;span class=&quot;error&quot;&gt;Unable to find source-code formatter for language: php.&lt;/span&gt; Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml&lt;/div&gt;&lt;pre&gt;    /**
     * @Field(type=&lt;span class=&quot;code-quote&quot;&gt;&quot;string&quot;&lt;/span&gt;, name=&lt;span class=&quot;code-quote&quot;&gt;&quot;password&quot;&lt;/span&gt;)
    **/
    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; $_password;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Exception:&lt;/p&gt;

&lt;p&gt;BadMethodCallException:&lt;br/&gt;
Unknown property &apos;name&apos; on annotation &apos;Doctrine\ODM\MongoDB\Mapping\Field&apos;.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11537">MODM-19</key>
            <summary>Field annotation missing &quot;name&quot; support</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rabbit">Rabbit</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Jun 2010 16:06:17 +0000</created>
                <updated>Mon, 19 Jul 2010 15:51:10 +0000</updated>
                    <resolved>Mon, 19 Jul 2010 15:51:10 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA2</fixVersion>
                                <component>Mapping Drivers</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-18] All Document object properties are persisted regardless of mapping instructions.</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-18</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;User Model&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;class Users_Model_User
{
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $id;
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $username;
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $password;
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $myRuntimeProperty = &apos;some value&apos;;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;Document Mapping (in YAML)&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;Users_Model_User:
db: my_db
collection: users
fields:
    id:
        fieldName: id
        id: &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
    username:
        fieldName: username
        type: string
    password:
        fieldName: password
        type: string
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeHeader panelHeader&quot; style=&quot;border-bottom-width: 1px;&quot;&gt;&lt;b&gt;My test code&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;$user = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; Users_Model_User;
$user-&amp;gt;username = &apos;hello&apos;;
$user-&amp;gt;password = &apos;world&apos;;
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;persist($user);
$&lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt;-&amp;gt;dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The result is &quot;myRuntimeProperty&quot; is saved to the db.&lt;br/&gt;
This causes problems for several properties such as &quot;_propertyChangedListeners&quot; which, once saved and later loaded back from the database, overrides the array of object listeners with a string of &quot;Array&quot;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;If this is not a bug:&lt;/b&gt;&lt;br/&gt;
I have search everywhere for an answer. All the docs, mailing list, irc, blogs. If this is not a bug the solution needs to be better documented.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Temporary fix:&lt;/b&gt;&lt;br/&gt;
Use Docblock Annotations, set the unwanted properties with @NotSaved&lt;br/&gt;
(Unless there is also a way to set NotSaved using YAML?)&lt;/p&gt;</description>
                <environment>ubuntu, php 5.3.2, odm 1.0.0ALPHA1</environment>
            <key id="11529">MODM-18</key>
            <summary>All Document object properties are persisted regardless of mapping instructions.</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="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="rabbit">Rabbit</reporter>
                        <labels>
                    </labels>
                <created>Sun, 20 Jun 2010 12:23:32 +0000</created>
                <updated>Tue, 13 Jul 2010 10:42:43 +0000</updated>
                    <resolved>Tue, 13 Jul 2010 10:42:43 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13383" author="rabbit" created="Sun, 20 Jun 2010 20:27:59 +0000"  >&lt;p&gt;I see how I was mistaken on this issue.&lt;/p&gt;

&lt;p&gt;Conceptually, marking any property as &quot;transient&quot; therefore preventing the data from persisting makes sense. In practice, I wonder if it would be possible to set the default behavior to transient on all fields unless otherwise stated.&lt;/p&gt;</comment>
                    <comment id="13384" author="jwage" created="Mon, 21 Jun 2010 00:24:21 +0000"  >&lt;p&gt;Right now it cannot be customized. It always persist every property unless otherwise specified.&lt;/p&gt;</comment>
                    <comment id="13530" author="avalanche123" created="Tue, 6 Jul 2010 18:56:10 +0000"  >&lt;p&gt;this should be resolved in the current trunk&lt;/p&gt;</comment>
                    <comment id="13575" author="avalanche123" created="Tue, 13 Jul 2010 10:42:43 +0000"  >&lt;p&gt;all the magic was removed&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-17] Multiple array / object with same content/properties do not get persisted </title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-17</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;If I have a Collection field and try to add 2 values that are the same, the second value never gets saved to the document.  Example 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;class User
{
  /** @Id */
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $id;

  /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $name;

  /** @Collection */
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $logs = array();

}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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 = $dm-&amp;gt;findOne(&apos;:User&apos;, array(&apos;name&apos; =&amp;gt; $arguments[&apos;name&apos;]));

    $found = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;

    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!$o) {
      $found = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
      $o = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User();
    }

    $o-&amp;gt;setName($arguments[&apos;name&apos;]);

    $o-&amp;gt;addLog( array(&apos;a&apos; =&amp;gt; &apos;b&apos; ));

    $dm-&amp;gt;persist($o);

    $dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;or a EmbeddedMany field, and try to add to add 2  objects with the same content the same thing happens:&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 User
{
  /** @Id */
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $id;

  /** @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; */
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $name;

  /** @EmbedMany(targetDocument=&lt;span class=&quot;code-quote&quot;&gt;&quot;UserLog&quot;&lt;/span&gt;) */
  &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $logs = array();
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&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 = $dm-&amp;gt;findOne(&apos;:User&apos;, array(&apos;name&apos; =&amp;gt; $arguments[&apos;name&apos;]));

    $found = &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;;

    &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; (!$o) {
      $found = &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;
      $o = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; User();
    }

    $o-&amp;gt;setName($arguments[&apos;name&apos;]);

    $l = &lt;span class=&quot;code-keyword&quot;&gt;new&lt;/span&gt; UserLog();

    $l-&amp;gt;setMsg(&apos;Testing&apos;);

    $o-&amp;gt;addLog($l);

    $dm-&amp;gt;persist($o);

    $dm-&amp;gt;flush();
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If I change     $l-&amp;gt;setMsg(&apos;Testing&apos;.time());&lt;/p&gt;

&lt;p&gt;then it adds all the instances.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11516">MODM-17</key>
            <summary>Multiple array / object with same content/properties do not get persisted </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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="pgodel">Pablo Godel</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Jun 2010 10:55:10 +0000</created>
                <updated>Mon, 19 Jul 2010 17:13:16 +0000</updated>
                    <resolved>Mon, 19 Jul 2010 17:13:16 +0000</resolved>
                                            <fixVersion>1.0.0ALPHA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13612" author="jwage" created="Mon, 19 Jul 2010 16:11:25 +0000"  >&lt;p&gt;Seems to be working now.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-16] loadById failing on custom ids</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-16</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;DocumentManager::loadByID is failing on custom ids right now because it&apos;s checking for the custom id flag on the metadata and converting to \MongoID. It should probably be using the new $class-&amp;gt;getPHPIdentifierValue method instead.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11513">MODM-16</key>
            <summary>loadById failing on custom ids</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ssurowiec">Steven Surowiec</reporter>
                        <labels>
                    </labels>
                <created>Thu, 17 Jun 2010 08:40:29 +0000</created>
                <updated>Thu, 17 Jun 2010 09:11:33 +0000</updated>
                    <resolved>Thu, 17 Jun 2010 09:11:33 +0000</resolved>
                                            <fixVersion>1.0.0ALPHA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13355" author="ssurowiec" created="Thu, 17 Jun 2010 08:41:27 +0000"  >&lt;p&gt;Fixed in &lt;a href=&quot;http://github.com/opensky/mongodb-odm/commit/78ac8bf8e31e91f88d2cdd7918db3ebaafe76a63&quot; class=&quot;external-link&quot;&gt;http://github.com/opensky/mongodb-odm/commit/78ac8bf8e31e91f88d2cdd7918db3ebaafe76a63&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13356" author="jwage" created="Thu, 17 Jun 2010 09:11:33 +0000"  >&lt;p&gt;Thanks for the issue and fix!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-15] addWhere</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-15</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;After removing addWhere &lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/query-builder-api/en#addWhere&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/query-builder-api/en#addWhere&lt;/a&gt; should be updated.&lt;br/&gt;
$query = $dm-&amp;gt;createQuery(&apos;User&apos;)&lt;br/&gt;
    -&amp;gt;where(&apos;type&apos;, &apos;admin&apos;)&lt;br/&gt;
    -&amp;gt;where(&apos;active&apos;, 1);&lt;br/&gt;
like this, right?&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Query.php#L313&quot; class=&quot;external-link&quot;&gt;http://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Query.php#L313&lt;/a&gt;&lt;br/&gt;
Is at least missleading.&lt;/p&gt;

&lt;p&gt;Thanks for the great work!&lt;/p&gt;</description>
                <environment></environment>
            <key id="11494">MODM-15</key>
            <summary>addWhere</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fkubis">Florian Kubis</reporter>
                        <labels>
                    </labels>
                <created>Tue, 15 Jun 2010 02:59:20 +0000</created>
                <updated>Tue, 15 Jun 2010 12:09:20 +0000</updated>
                    <resolved>Tue, 15 Jun 2010 12:09:20 +0000</resolved>
                            <version>1.0.0ALPHA2</version>
                                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-14] Default database when @Document annotation does not contain a db attribute.</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-14</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When a Document is annotated with @Document(collection=&quot;test&quot;) and is missing the db attribute the ODM defaults to mongo_dev. What i expected was it defaulted to the database name given when creating a connection.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11476">MODM-14</key>
            <summary>Default database when @Document annotation does not contain a db attribute.</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="7">Can&apos;t Fix</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="henrikbjorn">Henrik Bjornskov</reporter>
                        <labels>
                    </labels>
                <created>Fri, 11 Jun 2010 14:39:33 +0000</created>
                <updated>Fri, 11 Jun 2010 15:06:46 +0000</updated>
                    <resolved>Fri, 11 Jun 2010 15:06:46 +0000</resolved>
                                            <fixVersion>1.0.0ALPHA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13279" author="jwage" created="Fri, 11 Jun 2010 15:06:32 +0000"  >&lt;p&gt;We have no way to retrieve the database you connected to so you have to configure it by setting $config-&amp;gt;setDefaultDB(&apos;db_name&apos;);&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-13] Problems with merge()</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-13</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;while doing a merge, I got some PHP errors.&lt;br/&gt;
Seems like these steps fix the problem:&lt;br/&gt;
1. Change line 1215 of UnitOfWork.php to&lt;br/&gt;
$id = $class-&amp;gt;getIdentifierValue($document);&lt;br/&gt;
it was ValueS before&lt;/p&gt;

&lt;p&gt;2. in function _cascadeMerge starting in line 1464 of UnitOfWork.php&lt;br/&gt;
change the inner calls from:&lt;br/&gt;
                        $this-&amp;gt;_cascadeMerge($relatedDocument, $visited);&lt;br/&gt;
To:&lt;br/&gt;
                        $this-&amp;gt;_cascadeMerge($relatedDocument, $managedCopy, $visited);&lt;/p&gt;

&lt;p&gt;I didn&apos;t look deeper into ODM, just tried this to things and it seems to work now, so please excuse if it&apos;s bs ... &lt;img class=&quot;emoticon&quot; src=&quot;http://www.doctrine-project.org/jira/images/icons/emoticons/wink.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;</description>
                <environment>OSX, HEAD</environment>
            <key id="11471">MODM-13</key>
            <summary>Problems with merge()</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fkubis">Florian Kubis</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Jun 2010 08:51:03 +0000</created>
                <updated>Thu, 10 Jun 2010 09:00:24 +0000</updated>
                    <resolved>Thu, 10 Jun 2010 08:59:11 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13267" author="jwage" created="Thu, 10 Jun 2010 09:00:24 +0000"  >&lt;p&gt;Thanks for reporting the issue!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-12] Undefined variable error</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-12</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;In UnitOfWork::_computeAssociationChanges there are several references to $document but $document is never declared in that method, or passed into it. From looking at ORM it looks like $entry is the right variable to be using here.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11469">MODM-12</key>
            <summary>Undefined variable error</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ssurowiec">Steven Surowiec</reporter>
                        <labels>
                    </labels>
                <created>Wed, 9 Jun 2010 19:25:00 +0000</created>
                <updated>Wed, 9 Jun 2010 19:55:06 +0000</updated>
                    <resolved>Wed, 9 Jun 2010 19:46:06 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA2</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13261" author="ssurowiec" created="Wed, 9 Jun 2010 19:27:42 +0000"  >&lt;p&gt;Fixed in &lt;a href=&quot;http://github.com/opensky/mongodb-odm/tree/MODM-12&quot; class=&quot;external-link&quot;&gt;http://github.com/opensky/mongodb-odm/tree/MODM-12&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-11] Allow custom persisters</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-11</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I&apos;m trying to write a SoftDelete extension for Doctrine ODM but am unable to do so because I need to be able to either use my own, custom, Persister or my own, custom, MongoCollection proxy. Providing a custom persister seems like the way to go as it opens up the flexibility of creating other behaviors (such as a Paginator).&lt;/p&gt;</description>
                <environment></environment>
            <key id="11457">MODM-11</key>
            <summary>Allow custom persisters</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="2">Won&apos;t Fix</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ssurowiec">Steven Surowiec</reporter>
                        <labels>
                    </labels>
                <created>Mon, 7 Jun 2010 17:41:05 +0000</created>
                <updated>Wed, 9 Jun 2010 19:55:48 +0000</updated>
                    <resolved>Wed, 9 Jun 2010 19:55:48 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13132" author="ssurowiec" created="Mon, 7 Jun 2010 17:43:27 +0000"  >&lt;p&gt;Started in: &lt;a href=&quot;http://github.com/opensky/mongodb-odm/tree/topic-MODM-11&quot; class=&quot;external-link&quot;&gt;http://github.com/opensky/mongodb-odm/tree/topic-MODM-11&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13133" author="jwage" created="Mon, 7 Jun 2010 20:41:52 +0000"  >&lt;p&gt;I am not convinced this is a good idea. We need to think through this thoroughly before adding features like this.&lt;/p&gt;</comment>
                    <comment id="13228" author="jwage" created="Tue, 8 Jun 2010 17:21:28 +0000"  >&lt;p&gt;I think we need to allow custom ids that are not MongoId but I am not convinced allowing custom persisters is the right solution for you to create these extensions. We should see how this is best handled in the ORM and follow suit.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-10] Missing use statement in UnitOfWork</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-10</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;The UnitOfWork.php class has several references to LifecycleEventArgs but has no &apos;use&apos; statement for it. This causes syntax errors when trying to use lifecycle events.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11447">MODM-10</key>
            <summary>Missing use statement in UnitOfWork</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="ssurowiec">Steven Surowiec</reporter>
                        <labels>
                    </labels>
                <created>Sat, 5 Jun 2010 10:40:30 +0000</created>
                <updated>Wed, 9 Jun 2010 19:50:51 +0000</updated>
                    <resolved>Sun, 6 Jun 2010 14:38:55 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13109" author="ssurowiec" created="Sat, 5 Jun 2010 10:48:19 +0000"  >&lt;p&gt;Fixed in the below commit:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/opensky/mongodb-odm/commit/865527aa3403a1fd9f8acdddd0584e1b1e74438a&quot; class=&quot;external-link&quot;&gt;http://github.com/opensky/mongodb-odm/commit/865527aa3403a1fd9f8acdddd0584e1b1e74438a&lt;/a&gt;&lt;/p&gt;</comment>
                    <comment id="13123" author="jwage" created="Sun, 6 Jun 2010 14:38:55 +0000"  >&lt;p&gt;Thanks for the issue and topic branch! Merged!&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-9] Unexpected: MappedSuperclass private property without annotation becomes persisted</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-9</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&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;/** @MappedSuperclass */
class Model {

    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $errors = array();

    &lt;span class=&quot;code-keyword&quot;&gt;protected&lt;/span&gt; function getErrors() {
        &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;errors;
    }
}

/**
 * @Document(db=&lt;span class=&quot;code-quote&quot;&gt;&quot;mydb&quot;&lt;/span&gt;, collection=&lt;span class=&quot;code-quote&quot;&gt;&quot;data&quot;&lt;/span&gt;)
 */
class Data &lt;span class=&quot;code-keyword&quot;&gt;extends&lt;/span&gt; Model {
    /**
     * @Id
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $id;

    /**
     * @&lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt;
     */
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; $name;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Did not expect, that $errors goes into mongo.&lt;/p&gt;</description>
                <environment>OS X, latest ODM checkout</environment>
            <key id="11441">MODM-9</key>
            <summary>Unexpected: MappedSuperclass private property without annotation becomes persisted</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="fkubis">Florian Kubis</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Jun 2010 03:26:41 +0000</created>
                <updated>Wed, 9 Jun 2010 19:50:37 +0000</updated>
                    <resolved>Thu, 3 Jun 2010 18:59:10 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13098" author="jwage" created="Thu, 3 Jun 2010 18:59:10 +0000"  >&lt;p&gt;This is expected behavior. It was changed so that all properties are persisted unless specified otherwise. Map the property is @Transient and it will be ignored by Doctrine:&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 MyDocument
{
    &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;
    /** @Transient */
    &lt;span class=&quot;code-keyword&quot;&gt;private&lt;/span&gt; $errors = array();
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                    <comment id="13104" author="fkubis" created="Fri, 4 Jun 2010 06:46:01 +0000"  >&lt;p&gt;Thanks, this works.&lt;br/&gt;
Just to complete this issue, for now documentation of @Transient is missing in the reference.&lt;br/&gt;
&lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/annotations-reference/en&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/reference/annotations-reference/en&lt;/a&gt; &lt;/p&gt;</comment>
                    <comment id="13105" author="jwage" created="Fri, 4 Jun 2010 11:40:09 +0000"  >&lt;p&gt;Thanks. I have updated the documentation with the new @Transient annotation.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-8] custom repositories don&apos;t work when  setting MetadataCacheImpl</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-8</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When I enable metadataCache:&lt;/p&gt;

&lt;p&gt;$config-&amp;gt;setMetadataCacheImpl(new \Doctrine\Common\Cache\ApcCache());&lt;/p&gt;

&lt;p&gt;My custom repository stops working. For I example I have a method findAllAssoc.&lt;br/&gt;
witout enabling metadata cache it works fine.&lt;/p&gt;

&lt;p&gt;Fatal error: Uncaught exception &apos;BadMethodCallException&apos; with message &apos;Undefined method &apos;findAllAssoc&apos;. The method name must start with either findBy or findOneBy!&apos; in /data/sites/mongodb_odm/lib/Doctrine/ODM/MongoDB/DocumentRepository.php:197&lt;br/&gt;
Stack trace:&lt;br/&gt;
#0 &lt;span class=&quot;error&quot;&gt;&amp;#91;internal function&amp;#93;&lt;/span&gt;: Doctrine\ODM\MongoDB\DocumentRepository-&amp;gt;__call(&apos;findAllAssoc&apos;, Array)&lt;br/&gt;
#1 /data/sites/cms.enkorting.nl/application/modules/user/controllers/IndexController.php(72): Doctrine\ODM\MongoDB\DocumentRepository-&amp;gt;findAllAssoc()&lt;/p&gt;

&lt;p&gt;Cheers, Onno&lt;/p&gt;</description>
                <environment></environment>
            <key id="11402">MODM-8</key>
            <summary>custom repositories don&apos;t work when  setting MetadataCacheImpl</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="oschmidt">Onno Schmidt</reporter>
                        <labels>
                    </labels>
                <created>Sat, 22 May 2010 11:56:58 +0000</created>
                <updated>Mon, 2 Aug 2010 17:27:24 +0000</updated>
                    <resolved>Thu, 3 Jun 2010 18:57:13 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="13097" author="jwage" created="Thu, 3 Jun 2010 18:57:13 +0000"  >&lt;p&gt;When you enable your metadata cache, it is pulling your mapping information from the cache instead of from your files. So it is probably pulling an older version that does not have the customRepositoryClassName property populated. Clear your metadata cache and it should work fine.&lt;/p&gt;</comment>
                    <comment id="13760" author="oschmidt" created="Mon, 2 Aug 2010 17:27:24 +0000"  >&lt;p&gt;Somehow, I am still not able to get this to work. Even when I clear the cache I get the message that my custom methods can&apos;t be found. I will try to create reproducible case.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-7] Fatal error when using a custom repository class in AnnotationDriver</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-7</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;When defining a custom repository in an annotation the AnnotationDriver gives an Fatal error on line 105&lt;/p&gt;

&lt;p&gt;Call to a member function setCustomRepositoryClass() on a non-object in /data/sites/lib/Doctrine/ODM/MongoDB/Mapping/Driver/AnnotationDriver.php on line 105 &lt;/p&gt;

&lt;p&gt;replacing:&lt;br/&gt;
$metadata-&amp;gt;setCustomRepositoryClass($documentAnnot-&amp;gt;repositoryClass);&lt;/p&gt;

&lt;p&gt;for:&lt;br/&gt;
$class-&amp;gt;setCustomRepositoryClass($documentAnnot-&amp;gt;repositoryClass);&lt;/p&gt;

&lt;p&gt;solves this issue..&lt;br/&gt;
Cheers, Onno&lt;/p&gt;</description>
                <environment></environment>
            <key id="11374">MODM-7</key>
            <summary>Fatal error when using a custom repository class in AnnotationDriver</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="oschmidt">Onno Schmidt</reporter>
                        <labels>
                    </labels>
                <created>Sun, 16 May 2010 15:49:55 +0000</created>
                <updated>Wed, 9 Jun 2010 19:50:01 +0000</updated>
                    <resolved>Thu, 20 May 2010 18:05:33 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-6] Error In Documentation</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-6</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;@see &lt;a href=&quot;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/cookbook/getting-started/en&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/projects/mongodb_odm/1.0/docs/cookbook/getting-started/en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Doctrine\Common\Annotations\AnnotationReader requires an instance Doctrine\Common\Cache\Cache to be passed to it on construction.  In the documentation above it is constructed with no such instance.&lt;/p&gt;

&lt;p&gt;Regards,&lt;/p&gt;

&lt;p&gt;Sam&lt;/p&gt;</description>
                <environment></environment>
            <key id="11370">MODM-6</key>
            <summary>Error In Documentation</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="6">Invalid</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="phuedx">Sam Smith</reporter>
                        <labels>
                    </labels>
                <created>Sun, 16 May 2010 04:38:15 +0000</created>
                <updated>Wed, 9 Jun 2010 19:49:49 +0000</updated>
                    <resolved>Thu, 20 May 2010 18:10:41 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12980" author="avalanche123" created="Sun, 16 May 2010 13:08:11 +0000"  >&lt;p&gt;check this out - &lt;a href=&quot;http://github.com/jwage/doctrine2/blob/master/lib/Doctrine/Common/Annotations/AnnotationReader.php#L65&quot; class=&quot;external-link&quot;&gt;http://github.com/jwage/doctrine2/blob/master/lib/Doctrine/Common/Annotations/AnnotationReader.php#L65&lt;/a&gt;&lt;br/&gt;
as you can see, the $cache in the __construct, is defaulted to null, which makes it unnecessary to pass cache instance to the constructor, in which case \Doctrine\Common\Cache\ArrayCache will be used.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-5] Make embedding work on objects in a collection inheritance tree</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-5</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;&lt;a href=&quot;https://gist.github.com/72a8e30931eb56dd84bc&quot; class=&quot;external-link&quot;&gt;https://gist.github.com/72a8e30931eb56dd84bc&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
            <key id="11361">MODM-5</key>
            <summary>Make embedding work on objects in a collection inheritance tree</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Fri, 14 May 2010 11:23:47 +0000</created>
                <updated>Wed, 9 Jun 2010 19:49:27 +0000</updated>
                    <resolved>Sat, 29 May 2010 12:41:05 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="13030" author="jwage" created="Thu, 20 May 2010 18:07:31 +0000"  >&lt;p&gt;Can you make a Doctrine test case that I can run more easily? and maybe some information about the issue? &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>

<item>
            <title>[MODM-4] tweak xml/yml syntax</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-4</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;15:00&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; we need to write the schema file for the xml&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:00&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; and maybe expand the xml and yaml syntax&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:00&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; to have &amp;lt;reference&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:00&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; &amp;lt;embedded&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:00&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; etc&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:00&amp;#93;&lt;/span&gt; &amp;lt;avalanche123&amp;gt; ah, I see, to make it more like ORM?&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:01&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; i think so&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:01&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; it&apos;s just better &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;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:01&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; you dont have to specify embedded=true&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:01&amp;#93;&lt;/span&gt; &amp;lt;avalanche123&amp;gt; right&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:01&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; when reading in the &amp;lt;embedded you will just set that&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;15:01&amp;#93;&lt;/span&gt; &amp;lt;jwage&amp;gt; in the array&lt;/p&gt;</description>
                <environment></environment>
            <key id="11347">MODM-4</key>
            <summary>tweak xml/yml syntax</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="avalanche123">Bulat Shakirzyanov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 11 May 2010 15:06:17 +0000</created>
                <updated>Wed, 9 Jun 2010 19:48:57 +0000</updated>
                    <resolved>Wed, 12 May 2010 12:54:22 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12928" author="avalanche123" created="Wed, 12 May 2010 12:54:22 +0000"  >&lt;p&gt;fixed it yesterday&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>

<item>
            <title>[MODM-3] API design</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-3</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;I know I am nit-picky, I&apos;m really just trying to help, but I think methods like save() that were recently added are just API bloat since all it does is persist + flush. The naming is also confusing, having both save and persist. If you really want to add a method to the public API to exchange 2 lines in user code against 1 line, then at least a more descriptive name would be better, like persistAndFlush().&lt;/p&gt;

&lt;p&gt;API design is difficult, don&apos;t take it too lightly (thats what php did, heh) &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;</description>
                <environment></environment>
            <key id="11299">MODM-3</key>
            <summary>API design</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="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="romanb">Roman S. Borschel</reporter>
                        <labels>
                    </labels>
                <created>Fri, 30 Apr 2010 07:10:40 +0000</created>
                <updated>Wed, 9 Jun 2010 19:48:43 +0000</updated>
                    <resolved>Fri, 30 Apr 2010 12:29:43 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12789" author="romanb" created="Fri, 30 Apr 2010 07:24:46 +0000"  >&lt;p&gt;I think it just really helps ease of use if we keep the different APIs as similar as possible. Of course each can have their own methods, classes etc. We should just not overload the same names with completely different meanings in the different APIs.&lt;/p&gt;

&lt;p&gt;Concerning this example, it just doesnt look very streamlined if there are such minor extra methods like save/persistAndFlush that you don&apos;t have in the other APIs and are &lt;b&gt;neither&lt;/b&gt; mongo-specific (mongo-specific methods are fine!). Of course we don&apos;t want to fit the same API on all these projects, they should just not be too different in weird ways, like additional non-project-specific convenience methods that are available in one project but not in the other.&lt;/p&gt;

&lt;p&gt;I hope I explained that well. It&apos;s just about a polished API feeling when using the different Doctrine projects.&lt;/p&gt;</comment>
                    <comment id="12796" author="jwage" created="Fri, 30 Apr 2010 12:21:02 +0000"  >&lt;p&gt;I had the same thought when I was adding it and I wobbled back and fourth. Now that you say this I agree we should remove it.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[MODM-2] Reconsider the naming</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-2</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;We may want to reconsider the naming of things in ODM projects. I know the term &quot;entity&quot; is heavily overloaded but I think there might be a misunderstanding here of what @Entity refers to in the ORM. The ORM @Entity actually means a (relational) database entity (entity relationship diagram, etc...) not the &quot;DDD&quot; entity, of course there are many similarities.&lt;/p&gt;

&lt;p&gt;I don&apos;t feel that comfortable with the possibility of half a dozen different &quot;EntityManager&quot;s, especially if they represent entirely different storage paradigms.&lt;/p&gt;

&lt;p&gt;Remember, @Entity does not really mean &quot;DDD entity&quot;. An EntityManager is not a &quot;DDD entity manager&quot; &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; It is part of the infrastructure (persistence), not of the domain model.&lt;/p&gt;

&lt;p&gt;Do we want X different &quot;EntityManager&quot;s? When considering that @Entity actually refers to a relational database entity, it would make more sense to call these things @Document in the ODM projects, since that is what they&apos;re stored as. Then we could instead use the term DocumentManager, and not EntityManager for the ODM projects.&lt;/p&gt;

&lt;p&gt;I realize that this confusion comes from the fact that many think &quot;entity&quot; = &quot;DDD entity&quot; but that is not the case. @Entity in the ORM refers to a relational database entity just like @Column refers to a relational database column.&lt;/p&gt;

&lt;p&gt;So my vote currently absolutely goes for @Document and DocumentManager to keep things consistent. Of course, a mongo and a couch project can both have a DocumentManager, that is fine, both storage paradigms are documents.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11298">MODM-2</key>
            <summary>Reconsider the naming</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="romanb">Roman S. Borschel</reporter>
                        <labels>
                    </labels>
                <created>Fri, 30 Apr 2010 06:05:18 +0000</created>
                <updated>Wed, 9 Jun 2010 19:48:14 +0000</updated>
                    <resolved>Fri, 30 Apr 2010 13:38:11 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12799" author="jwage" created="Fri, 30 Apr 2010 13:38:11 +0000"  >&lt;p&gt;Agreed. This is great to have you here to provide this kind of valuable input! &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>

<item>
            <title>[MODM-1] Using Doctrine\Common\Collections\Collection</title>
                <link>http://www.doctrine-project.org/jira/browse/MODM-1</link>
                <project id="10044" key="MODM">Doctrine MongoDB ODM</project>
                        <description>&lt;p&gt;Collections of objects in mongodb entities/documents should be handled like in the ORM through the Common collections.&lt;br/&gt;
This makes it possible to use similar transparent lazy-loading strategies, without $em-&amp;gt;loadEntityAssociations which is contrary to the idea of transparent persistence.&lt;br/&gt;
Also this would make mongo entities/documents compatible with orm/relational entities, that is, using the same class(es) as a mongo and orm entity.&lt;/p&gt;

&lt;p&gt;This goes for other potential upcoming projects, like couchdb, too. We should always encourage the use of the Doctrine Common collections in domain models.&lt;/p&gt;</description>
                <environment></environment>
            <key id="11297">MODM-1</key>
            <summary>Using Doctrine\Common\Collections\Collection</summary>
                <type id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/task.png">Task</type>
                                <priority id="3" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/major.png">Major</priority>
                    <status id="5" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/resolved.png">Resolved</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="jwage">Jonathan H. Wage</assignee>
                                <reporter username="romanb">Roman S. Borschel</reporter>
                        <labels>
                    </labels>
                <created>Fri, 30 Apr 2010 05:51:39 +0000</created>
                <updated>Wed, 9 Jun 2010 19:47:41 +0000</updated>
                    <resolved>Tue, 11 May 2010 15:04:02 +0000</resolved>
                            <version>1.0.0ALPHA1</version>
                                <fixVersion>1.0.0ALPHA1</fixVersion>
                                        <due></due>
                    <votes>0</votes>
                        <watches>0</watches>
                        <comments>
                    <comment id="12800" author="jwage" created="Fri, 30 Apr 2010 14:49:12 +0000"  >&lt;p&gt;I implemented the base usage of the Collection stuff instead of php arrays. I will need your input on the best way to eliminate the loadEntityAssociation(s)() stuff and do something more transparent.&lt;/p&gt;</comment>
                </comments>
                    <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DWEB-111] http://wiki.doctrine-project.org/ not working</title>
                <link>http://www.doctrine-project.org/jira/browse/DWEB-111</link>
                <project id="10033" key="DWEB">Doctrine Website</project>
                        <description>&lt;p&gt;return a 500 the last few Days&lt;/p&gt;</description>
                <environment></environment>
            <key id="14307">DWEB-111</key>
            <summary>http://wiki.doctrine-project.org/ not working</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="jwage">Jonathan H. Wage</assignee>
                                <reporter username="obw">Marcus Obwandner</reporter>
                        <labels>
                    </labels>
                <created>Wed, 12 Dec 2012 13:28:39 +0000</created>
                <updated>Wed, 12 Dec 2012 13:29:14 +0000</updated>
                                                                    <component>Documentation</component>
                        <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>

<item>
            <title>[DWEB-110] Cannot access API documentation because of redirect loop</title>
                <link>http://www.doctrine-project.org/jira/browse/DWEB-110</link>
                <project id="10033" key="DWEB">Doctrine Website</project>
                        <description>&lt;p&gt;&lt;a href=&quot;http://www.doctrine-project.org/api/orm/2.2/&quot; class=&quot;external-link&quot;&gt;http://www.doctrine-project.org/api/orm/2.2/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Trying to access the URL above results in a redirect loop.&lt;/p&gt;</description>
                <environment>Google Chrome, Safari</environment>
            <key id="14283">DWEB-110</key>
            <summary>Cannot access API documentation because of redirect loop</summary>
                