<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:15:24 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-588] Restconf Apidoc can&apos;t show the Model Schema</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-588</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;&#160; &#160; &#160; &#160; In oxygen and newer version, the class org.opendaylight.netconf.sal.rest.doc.jaxrs.ApidocApplication is changed to use a GsonProvider as MessageBodyWriter&lt;br/&gt;
 for swagger api object, such as ApiDelaration and ResourceList and so on.&lt;br/&gt;
&#160; &#160; &#160; &#160; GsonProvider uses com.google.gson.Gson to convert a JavaBean to a json string and is not compatitble with &lt;br/&gt;
the ApiDelaration which has a defined field, com.fasterxml.jackson.databind.node.ObjectNode models for the swagger model object.&lt;br/&gt;
&#160; &#160; &#160; &#160;The problem is that the ObjectNode is a concept in fasterxml not in Gson.&#160; com.google.gson.Gson can&apos;t correctly convert com.fasterxml.jackson.databind.node.ObjectNode, &lt;br/&gt;
 because the converted result contains &quot;_children&quot; which does not belong to a JavaBean.&lt;br/&gt;
The Correct result converted by com.fasterxml.jackson.databind.ObjectMapper:&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;
&lt;span class=&quot;code-quote&quot;&gt;&quot;models&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;unique_empty_identifier&quot;&lt;/span&gt;: {},
&lt;span class=&quot;code-quote&quot;&gt;&quot;(config)general-entity_modulePOST&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;$schema&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;http:&lt;span class=&quot;code-comment&quot;&gt;//json-schema.org/draft-04/schema&quot;&lt;/span&gt;,
&lt;/span&gt;&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;object&quot;&lt;/span&gt;,
&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;(config)general-entity_modulePOST&quot;&lt;/span&gt;,
&lt;span class=&quot;code-quote&quot;&gt;&quot;properties&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;entity&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;array&quot;&lt;/span&gt;,
&lt;span class=&quot;code-quote&quot;&gt;&quot;items&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;$ref&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;general-entity(config)entity&quot;&lt;/span&gt;
}

}
}
},
Incorrect result converted by com.google.gson.Gson: &lt;span class=&quot;code-quote&quot;&gt;&quot;models&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;_children&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;unique_empty_identifier&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;_children&quot;&lt;/span&gt;: {},
&lt;span class=&quot;code-quote&quot;&gt;&quot;_nodeFactory&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_cfgBigDecimalExact&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
}

},
&lt;span class=&quot;code-quote&quot;&gt;&quot;(config)general-entity_modulePOST&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;_children&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;$schema&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;http:&lt;span class=&quot;code-comment&quot;&gt;//json-schema.org/draft-04/schema&quot;&lt;/span&gt;
&lt;/span&gt;}
,
&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;object&quot;&lt;/span&gt;
}

,
&lt;span class=&quot;code-quote&quot;&gt;&quot;id&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;(config)general-entity_modulePOST&quot;&lt;/span&gt;
}

,
&lt;span class=&quot;code-quote&quot;&gt;&quot;properties&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;_children&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;entity&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;_children&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;type&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;array&quot;&lt;/span&gt;
}

,
&lt;span class=&quot;code-quote&quot;&gt;&quot;items&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;_children&quot;&lt;/span&gt;: {
&lt;span class=&quot;code-quote&quot;&gt;&quot;$ref&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_value&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;general-entity(config)entity&quot;&lt;/span&gt;
}

},
&lt;span class=&quot;code-quote&quot;&gt;&quot;_nodeFactory&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_cfgBigDecimalExact&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
}

}
},
&lt;span class=&quot;code-quote&quot;&gt;&quot;_nodeFactory&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_cfgBigDecimalExact&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
}

}
},
&lt;span class=&quot;code-quote&quot;&gt;&quot;_nodeFactory&quot;&lt;/span&gt;:

{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_cfgBigDecimalExact&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
}

}
},
&lt;span class=&quot;code-quote&quot;&gt;&quot;_nodeFactory&quot;&lt;/span&gt;:
{
&lt;span class=&quot;code-quote&quot;&gt;&quot;_cfgBigDecimalExact&quot;&lt;/span&gt;: &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
}

},&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So, the com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider class should be&#160;used to serialize&#160;an instance of ApidocApplication. The GsonProvider class can&apos;t be used for ApidocApplication.&lt;/p&gt;</description>
                <environment></environment>
        <key id="31200">NETCONF-588</key>
            <summary>Restconf Apidoc can&apos;t show the Model Schema</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="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="JMorvay">Jakub Morvay</assignee>
                                    <reporter username="wusandi">sandi wu</reporter>
                        <labels>
                            <label>restconf</label>
                    </labels>
                <created>Sat, 15 Dec 2018 04:01:07 +0000</created>
                <updated>Mon, 20 May 2019 16:36:29 +0000</updated>
                            <resolved>Mon, 20 May 2019 16:36:29 +0000</resolved>
                                    <version>Oxygen</version>
                    <version>Oxygen SR3</version>
                    <version>Oxygen SR2</version>
                    <version>Fluorine</version>
                    <version>Oxygen SR1</version>
                    <version>Fluorine SR1</version>
                                    <fixVersion>Fluorine SR3</fixVersion>
                    <fixVersion>Neon SR1</fixVersion>
                    <fixVersion>Sodium</fixVersion>
                                    <component>restconf-nb</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                    <workratio workratioPercent="0"/>
                                    <progress percentage="0">
                                    <originalProgress>
                                                    <row percentage="100" backgroundColor="#89afd7"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="0" backgroundColor="#51a825"/>
                                                    <row percentage="100" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </progress>
                                    <aggregateprogress percentage="0">
                                    <originalProgress>
                                                    <row percentage="100" backgroundColor="#89afd7"/>
                                            </originalProgress>
                                                    <currentProgress>
                                                    <row percentage="0" backgroundColor="#51a825"/>
                                                    <row percentage="100" backgroundColor="#ec8e00"/>
                                            </currentProgress>
                            </aggregateprogress>
                                    <timeoriginalestimate seconds="3600">1 hour</timeoriginalestimate>
                            <timeestimate seconds="3600">1 hour</timeestimate>
                                                <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_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10312"><![CDATA[High]]></customfieldvalue>

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

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