<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:21 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-567] NetconfMessageTransformer action ok message</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-567</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;If the action inside yang doesn&apos;t contain output, only ok is returned within rpc-reply. But NetconfMessageTransformer reports error when such a message is processed.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;For this issue I used the same invokation as in &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-566&quot; title=&quot;NetconfMessageTransformer action list message issue&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-566&quot;&gt;&lt;del&gt;NETCONF-566&lt;/del&gt;&lt;/a&gt;. The Remove action has no output defined in Yang:&lt;/p&gt;

&lt;p&gt;Optional&amp;lt;MountPoint&amp;gt; mountPointOpt = mountPointService.getMountPoint(NETCONF_MOUNTPOINT_II).toJavaUtil();&lt;br/&gt;
 Optional&amp;lt;ActionService&amp;gt; serviceOpt = mountPointOpt.get().getService(org.opendaylight.controller.md.sal.binding.api.ActionService.class).toJavaUtil();&lt;br/&gt;
 ActionService actionService = serviceOpt.get();&lt;br/&gt;
 InstanceIdentifier&amp;lt;ActionExampleList&amp;gt; listId = InstanceIdentifier.builder(ActionExampleList.class, new ActionExampleListKey(2)).build();&lt;br/&gt;
 Remove action = actionService.getActionHandle(Remove.class);&lt;br/&gt;
 Preconditions.checkNotNull(action, &quot;Action &quot; + Remove.QNAME + &quot; is not supported on device.&quot;);&lt;br/&gt;
 Input input = new InputBuilder().setForce(true).build();&lt;br/&gt;
 FluentFuture&amp;lt;RpcResult&amp;lt;Output&amp;gt;&amp;gt; outputFuture = action.invoke((KeyedInstanceIdentifier&amp;lt;ActionExampleList, ActionExampleListKey&amp;gt;) listId, input);&lt;br/&gt;
 RpcResult&amp;lt;Output&amp;gt; result = outputFuture.get();&lt;/p&gt;

&lt;p&gt;But we have problem when parsing the result, the NullPointerException is present:&lt;/p&gt;

&lt;p&gt;Exception in thread &quot;pool-13-thread-1&quot; java.lang.NullPointerException&lt;br/&gt;
 &#160;&#160; &#160;at java.util.Objects.requireNonNull(Objects.java:203)&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.mdsal.dom.spi.SimpleDOMActionResult.&amp;lt;init&amp;gt;(SimpleDOMActionResult.java:43)&lt;br/&gt;
 &#160;&#160; &#160;&lt;b&gt;at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toActionResult(NetconfMessageTransformer.java:320)&lt;/b&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toActionResult(NetconfMessageTransformer.java:74)&lt;br/&gt;
 &#160;&#160; &#160;at &#8212; ommited custom action service &#8212;&lt;br/&gt;
 &#160;&#160; &#160;at com.google.common.util.concurrent.Futures$CallbackListener.run(Futures.java:1377)&lt;br/&gt;
 &#160;&#160; &#160;at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)&lt;br/&gt;
 &#160;&#160; &#160;at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)&lt;br/&gt;
 &#160;&#160; &#160;at java.lang.Thread.run(Thread.java:748)&lt;br/&gt;
 &#160;&#160; &#160;&lt;br/&gt;
 As an input inside NetconfMessageTransformer is actionDefinition for Remove action (see attached yang model) and netconf message:&lt;br/&gt;
 &amp;lt;rpc-reply xmlns=&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot; message-id=&quot;m-0&quot;&amp;gt;&lt;br/&gt;
 &#160;&#160;&#160; &amp;lt;ok/&amp;gt;&lt;br/&gt;
 &amp;lt;/rpc-reply&amp;gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="30754">NETCONF-567</key>
            <summary>NetconfMessageTransformer action ok message</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <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="apuchyova">Anna Benc&#250;rov&#225;</assignee>
                                    <reporter username="apuchyova">Anna Benc&#250;rov&#225;</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Sep 2018 12:30:09 +0000</created>
                <updated>Wed, 16 Jan 2019 09:48:51 +0000</updated>
                            <resolved>Wed, 16 Jan 2019 09:48:51 +0000</resolved>
                                    <version>Neon</version>
                    <version>Fluorine SR1</version>
                                    <fixVersion>Neon</fixVersion>
                    <fixVersion>Fluorine SR2</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="65128" author="jmorvay" created="Mon, 1 Oct 2018 17:58:58 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=apuchyova&quot; class=&quot;user-hover&quot; rel=&quot;apuchyova&quot;&gt;apuchyova&lt;/a&gt; If possible and convenient, can you please provide us with model and data to easily replicate this?&lt;/p&gt;</comment>
                            <comment id="65178" author="apuchyova" created="Wed, 3 Oct 2018 11:30:57 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=JMorvay&quot; class=&quot;user-hover&quot; rel=&quot;JMorvay&quot;&gt;JMorvay&lt;/a&gt;, please see the updated description. Thank you.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="15003" name="action-test@2018-10-03.yang" size="1127" author="apuchyova" created="Wed, 3 Oct 2018 11:29:31 +0000"/>
                    </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|i03itr:</customfieldvalue>

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