<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:58:05 UTC 2024

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 append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[JAVA-2790] MapPropertyCodecProvider prevents custom extension</title>
                <link>https://jira.mongodb.org/browse/JAVA-2790</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;Hi, our old custom ORM supported pojos with Maps with non-string keys, IF it was a ObjectId or if it was an enum (because both are rather easily converted to and from string).&lt;/p&gt;

&lt;p&gt;The standard ORM model does not allow this and requires the key to be a String (MapPropertyCodecProvider). &lt;/p&gt;

&lt;p&gt;Which is fine, but it throws an exception if the key is not a String. This prevents me from making a custom PropertyCodecProvider. Since the MapPropertyCodecProvider is higher up the chain...&lt;/p&gt;

&lt;p&gt;I think MapPropertyCodecProvider should not throw an exception if the map key is not a string, and just pass it on to other PropertyCodecProvider.&lt;/p&gt;</description>
                <environment></environment>
        <key id="501532">JAVA-2790</key>
            <summary>MapPropertyCodecProvider prevents custom extension</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13202">Works as Designed</resolution>
                                        <assignee username="ross@mongodb.com">Ross Lawley</assignee>
                                    <reporter username="jessevanhouten">Jesse van Houten</reporter>
                        <labels>
                    </labels>
                <created>Fri, 23 Feb 2018 13:27:57 +0000</created>
                <updated>Fri, 27 Oct 2023 13:21:09 +0000</updated>
                            <resolved>Fri, 23 Feb 2018 15:42:18 +0000</resolved>
                                    <version>3.6.3</version>
                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="1814272" author="ross@10gen.com" created="Fri, 23 Feb 2018 15:42:18 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jessevanhouten&quot; class=&quot;user-hover&quot; rel=&quot;jessevanhouten&quot;&gt;jessevanhouten&lt;/a&gt; good to hear its working.&lt;/p&gt;</comment>
                            <comment id="1814098" author="jessevanhouten" created="Fri, 23 Feb 2018 14:06:26 +0000"  >&lt;p&gt;I cannot close or remove this story, but I believe it should be considered closed or no-issue.&lt;/p&gt;</comment>
                            <comment id="1814097" author="jessevanhouten" created="Fri, 23 Feb 2018 14:05:41 +0000"  >&lt;p&gt;Sorry, you are correct. I did add a custom PropertyCodecProvider to check, but not to the one that was actually used. Thanks for your assistance&lt;/p&gt;</comment>
                            <comment id="1814070" author="ross@10gen.com" created="Fri, 23 Feb 2018 13:40:47 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jessevanhouten&quot; class=&quot;user-hover&quot; rel=&quot;jessevanhouten&quot;&gt;jessevanhouten&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;Thanks for the ticket, seems like something is wrong, in 3.6.3 you should still be register your own custom &lt;tt&gt;PropertyCodecProvider&lt;/tt&gt; as the user defined providers are checked first, then the defaults.  There is a test case for such a model that has a &lt;tt&gt;Map&amp;lt;Integer, Integer&amp;gt;&lt;/tt&gt; field.&lt;/p&gt;

&lt;p&gt;Custom &lt;tt&gt;PropertyCodecProvider&lt;/tt&gt; instances can be registered via the &lt;tt&gt;PropertyCodecProvider#Builder&lt;/tt&gt; eg: &lt;tt&gt;Builder#register(PropertyCodecProvider)&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Let me know if that is not the case,&lt;/p&gt;

&lt;p&gt;Ross&lt;/p&gt;
</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htif3z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>