<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:55:05 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>[YANGTOOLS-1063] Make DataSchemaNode.isConfiguration() tri-state</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-1063</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;The idea that isConfiguration() boils down to a simple boolean is flawed, as DataSchemaNodes defined under a grouping can be either. There are three basic models here:&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;
module foo {

  grouping foo {
    container indeterminate {
       &lt;span class=&quot;code-comment&quot;&gt;// ancestors is neither &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt; or &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;, hence we &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt; not know
&lt;/span&gt;    }
  }

  container cfg {
    &lt;span class=&quot;code-comment&quot;&gt;// No config, defaults to &lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;
&lt;/span&gt;    grouping foo {
      container indeterminate {
        &lt;span class=&quot;code-comment&quot;&gt;// ancestor is config=&lt;span class=&quot;code-keyword&quot;&gt;true&lt;/span&gt;, but &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; may be used in config=&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
&lt;/span&gt;      } 
    }
  }

  container oper {
    &lt;span class=&quot;code-comment&quot;&gt;// Explicitly &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
&lt;/span&gt;    config &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;;

    grouping foo {
      container &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; {
        &lt;span class=&quot;code-comment&quot;&gt;// ancestor is config=&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; and hence &lt;span class=&quot;code-keyword&quot;&gt;this&lt;/span&gt; can only be referenced
&lt;/span&gt;        &lt;span class=&quot;code-comment&quot;&gt;// by other config=&lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt; nodes.
&lt;/span&gt;      }
    }
  }
}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;For the purposes of modeling, though, DataSchemaNodes defined within a grouping hierarchy should have a isConfiguration=UNDEF.&lt;/p&gt;

&lt;p&gt;Semantically the question is what happens to nodes in notifications/actions/RPCs &#8211; they are not inherently tied to a particular data store, although RFC7950 would seem to imply these are runtime constructs and hence would be config=false. Since ODL extends the invocation model to allow RPC/action/notifications on any datastore, these should end up being undefined, too.&lt;/p&gt;

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

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

&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="32312">YANGTOOLS-1063</key>
            <summary>Make DataSchemaNode.isConfiguration() tri-state</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="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="rovarga">Robert Varga</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Jan 2020 13:05:14 +0000</created>
                <updated>Fri, 4 Dec 2020 15:53:50 +0000</updated>
                            <resolved>Fri, 4 Dec 2020 15:53:50 +0000</resolved>
                                                    <fixVersion>7.0.0</fixVersion>
                                    <component>parser</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="68024" author="rovarga" created="Fri, 17 Apr 2020 19:12:35 +0000"  >&lt;p&gt;We probably want to have a separate boolean property which rolls up whether the boolean returned by isConfiguration() is accurate, i.e. whether the node is in fact instantiated. That way we can ignore guidance from config statement for the purposes where this matters.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="31465">YANGTOOLS-957</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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03qnz:</customfieldvalue>

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