<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:10:50 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>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[MDSAL-745] Fix bits mapping string/getDefaultInstance mapping</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-745</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;Bits type mapping is completely nonsensical where String mapping is concerned. On the one hand we 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;
    @Override
    &lt;span class=&quot;code-keyword&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;code-object&quot;&gt;String&lt;/span&gt; toString() {
        &lt;span class=&quot;code-keyword&quot;&gt;final&lt;/span&gt; &lt;span class=&quot;code-keyword&quot;&gt;var&lt;/span&gt; helper = MoreObjects.toStringHelper(Foo.class);
        CodeHelpers.appendValue(helper, &lt;span class=&quot;code-quote&quot;&gt;&quot;_one&quot;&lt;/span&gt;, _one);
        CodeHelpers.appendValue(helper, &lt;span class=&quot;code-quote&quot;&gt;&quot;_bar&quot;&lt;/span&gt;, _bar);
        &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt; helper.toString();
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;and on the other hand we only have:&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;    public static Foo getDefaultInstance(final String defaultValue) {
        List&amp;lt;String&amp;gt; properties = Lists.newArrayList(&quot;bar&quot;,
        &quot;one&quot;
        );
        if (!properties.contains(defaultValue)) {
            throw new IllegalArgumentException(&quot;invalid default parameter&quot;);
        }
        int i = 0;
        return new Foo(
        properties.get(i++).equals(defaultValue) ? Boolean.TRUE : null,
        properties.get(i++).equals(defaultValue) ? Boolean.TRUE : null
        );
    }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;i.e. there is method producing the output &apos;getDefaultInstance&apos; expects. Furthermore the only it works is single-bits &amp;#8211; otherwise &apos;defaultValue&apos; is just not included in the List  and there is just now way to specify more than one bit that would get accepted by getDefaultInstance().&lt;/p&gt;

&lt;p&gt;Replace &apos;getDefaultInstance(String)&apos; with a valueOf(String) method which will accept a comma-separated list of Strings identifying individual bits. This is guaranteed to be okay because of how bit argument is &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7950#section-9.7.4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;defined&lt;/a&gt;  which in turn goes to &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7950#section-6.2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;identifier&lt;/a&gt;, which in turn goes into &lt;a href=&quot;https://datatracker.ietf.org/doc/html/rfc7950#page-208&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;ABNF&lt;/a&gt;, which does not allow for commas.&lt;/p&gt;

&lt;p&gt;Also define a counterpart stringValue() matching the formatting, which is part of (the proposed) BitsTypeObjectContract. The contract here is that the output of stringValue() is accepted by ofValue(String).&lt;/p&gt;

&lt;p&gt;Both of these methods need to be specified by BitsTypeObject.&lt;/p&gt;</description>
                <environment></environment>
        <key id="35504">MDSAL-745</key>
            <summary>Fix bits mapping string/getDefaultInstance mapping</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="10001" iconUrl="https://jira.opendaylight.org/" description="">In Review</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Mon, 11 Apr 2022 20:13:38 +0000</created>
                <updated>Tue, 30 Jan 2024 11:13:11 +0000</updated>
                                                            <fixVersion>14.0.0</fixVersion>
                    <fixVersion>13.0.1</fixVersion>
                                    <component>Binding codegen</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="35502">MDSAL-743</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10002" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MDSAL-742</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0423j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>