<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:08:43 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-129] Add syntactic sugar Java Map interface on top of MD-SAL lists</title>
                <link>https://jira.opendaylight.org/browse/MDSAL-129</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;It would be nice to be able to pass the path (instance identifier) to a YANG list in the MD-SAL and have that return an MD-SAL-backed Java map that would listen to updates and translate put/deletes into appropriate transactions into the MD-SAL.&lt;/p&gt;

&lt;p&gt;This would have to have a few quirks to handle possibly failing transactions (do mutating calls block, return a Future, or something else?) as well as possibly provide notifications on changes.&lt;/p&gt;

&lt;p&gt;In either event, this would drastically decrease the programmer knowledge required to write an MD-SAL app.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="26951">MDSAL-129</key>
            <summary>Add syntactic sugar Java Map interface on top of MD-SAL lists</summary>
                <type id="10103" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10311&amp;avatarType=issuetype">New Feature</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="colindixon">Colin Dixon</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Feb 2016 17:13:01 +0000</created>
                <updated>Mon, 20 Apr 2020 10:19:02 +0000</updated>
                            <resolved>Mon, 20 Apr 2020 10:19:02 +0000</resolved>
                                                                    <component>Binding API</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>5</watches>
                                                                                                                <comments>
                            <comment id="54227" author="rovarga" created="Mon, 22 Feb 2016 19:10:20 +0000"  >&lt;p&gt;Couple of questions:&lt;br/&gt;
1) what would be the consistency model?&lt;br/&gt;
2) what would be the thread safety model?&lt;br/&gt;
3) I do not see how futures can be exposed via java.util.Map&lt;br/&gt;
4) I do not quite see how change notifications could be unified with java.util.Map&lt;/p&gt;</comment>
                            <comment id="54228" author="colin@colindixon.com" created="Tue, 12 Apr 2016 18:29:36 +0000"  >&lt;p&gt;(In reply to Robert Varga from comment #1)&lt;br/&gt;
&amp;gt; Couple of questions:&lt;br/&gt;
&amp;gt; 1) what would be the consistency model?&lt;/p&gt;

&lt;p&gt;It could be configurable, but I think the simplest way to do it would be to have every put/putAll create a write-only transaction, have ever get do a read-only transaction and and have an iterators over the entryset/keyset be based off of one read transaction.&lt;/p&gt;

&lt;p&gt;&amp;gt; 2) what would be the thread safety model?&lt;/p&gt;

&lt;p&gt;I&apos;d say the same as if you had done the relevant transactions without making them related as if by a chain.&lt;/p&gt;

&lt;p&gt;&amp;gt; 3) I do not see how futures can be exposed via java.util.Map&lt;/p&gt;

&lt;p&gt;You wouldn&apos;t, you would expose the actual values and wait for them to materialize.&lt;/p&gt;

&lt;p&gt;&amp;gt; 4) I do not quite see how change notifications could be unified with&lt;br/&gt;
&amp;gt; java.util.Map&lt;/p&gt;

&lt;p&gt;In my mind, you should be able to to register for a notification on a key and have a callback whenever the value at that key changes. Under the hood it would just register on the IID to the list and the key and when the DCN fired it would make the callback with the value.&lt;/p&gt;</comment>
                            <comment id="54229" author="colin@colindixon.com" created="Thu, 28 Jul 2016 15:16:52 +0000"  >&lt;p&gt;Just adding one more idea here. If you had this implemented, you could have two different backing implementations: one using MD-SAL binding APIs and another using RESTCONF calls.&lt;/p&gt;

&lt;p&gt;Assuming you could figure out how to cleanly generate the Java YANG bindings from the YANG file without the need for Maven, you could then (at least in theory) have a standalone Java app written against OpenDaylight where the developer wouldn&apos;t need to understand Karaf, OSGi, Maven, the MD-SAL internals or anything.&lt;/p&gt;

&lt;p&gt;They could just write an app against a set of Java Maps.&lt;/p&gt;</comment>
                            <comment id="68030" author="rovarga" created="Mon, 20 Apr 2020 10:19:02 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-434&quot; title=&quot;Fix unordered keyed list mapping&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-434&quot;&gt;&lt;del&gt;MDSAL-434&lt;/del&gt;&lt;/a&gt; has changed List to Map in keyed lists. As far as proxying things around, that functionality is already covered by disting DOMDataBroker implementations, hence it is only a question of wiring for a particular use case.&lt;/p&gt;</comment>
                    </comments>
                    <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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5365</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=5365]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10308"><![CDATA[New Feature]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02whr:</customfieldvalue>

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