<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:28 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>[NETCONF-1014] Expand netconf.api.messages</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-1014</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;We have a baseline NetconfMessage, HelloMessage and NotificationMessage. We are notably missing RpcMessage and RpcReplyMessage &#8211; which means our object model of NETCONF Messages Layer is incomplete.&lt;/p&gt;

&lt;p&gt;This omission actually has a number of repercussions across the code, as we do not end up deferring to the internal document to check its tags over and over again to determine which message we are talking to.&lt;/p&gt;

&lt;p&gt;This issue has these deliverables, to be delivered in this order:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;move NetconfMessage to netconf.api.messages&lt;/li&gt;
	&lt;li&gt;introduce RpcMessage and RpcReplyMessage&lt;/li&gt;
	&lt;li&gt;Make Notification&apos;s constructor private and provide a wrapping and non-wrapping static methods yielding NotificationMessage, to go in-line with Rpc- and RpcReplyMessage interface&lt;/li&gt;
	&lt;li&gt;netty-util&apos;s NetconfStartExiMessage should be turned into an utility class that constructs a raw Document and returns an RpcMessage with that Document&lt;/li&gt;
	&lt;li&gt;make NetconfMessage abstract and sealed, permitting on only the known messages, to be constructed through a &apos;public static @NonNull NetconfMessage of(Document document)&apos; method. NOTE: This turned out to be more tangled up than anticipated, so it had to be broken down into a few steps:
	&lt;ol&gt;
		&lt;li&gt;Implement the NetconfMessage.of(Document) method&lt;/li&gt;
		&lt;li&gt;Since the of() method verifies the content of the document and constructs a corresponding subclass of NetconfMessage accordingly, there are some tests that will be failing when using the of() method, because they are using documents with malformed payload. Fix those tests&lt;/li&gt;
		&lt;li&gt;Eliminate all usages of NetconfMessage constructor outside of its inheritors, make the constructor protected, make the class abstract and sealed, permitting only Hello-, Notification-, Rpc-, RpcReply- Message.&lt;/li&gt;
	&lt;/ol&gt;
	&lt;/li&gt;
	&lt;li&gt;improve netconf.server.spi.SubtreeFilter to not take plain org.w3c.Documents, but rather NotificationMessage, RpcMessage, RpcReplyMessage&lt;/li&gt;
	&lt;li&gt;audit for other opportunities, like NetconfDeviceCommunicator.processMessage(), where we should be able to use instanceof checks and have Request.request be a RpcMessage&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="36908">NETCONF-1014</key>
            <summary>Expand netconf.api.messages</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <status id="3" iconUrl="https://jira.opendaylight.org/images/icons/statuses/inprogress.png" description="This issue is being actively worked on at the moment by the assignee.">In Progress</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="matusmatok">Mat&#250;&#353; Matok</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                            <label>pick-next</label>
                            <label>pt</label>
                    </labels>
                <created>Thu, 4 May 2023 22:19:49 +0000</created>
                <updated>Mon, 4 Sep 2023 15:53:01 +0000</updated>
                                                            <fixVersion>7.0.0</fixVersion>
                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="72427" author="rovarga" created="Mon, 31 Jul 2023 20:44:36 +0000"  >&lt;p&gt;A &lt;a href=&quot;https://git.opendaylight.org/gerrit/c/netconf/+/106797&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;prototype&lt;/a&gt; shows the route, but this really needs to be split up into multiple steps, broken down into subtasks in this issue, as outlined in review comments&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="37150">NETCONF-1105</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i04507:</customfieldvalue>

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