<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:59:49 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>[GENIUS-66] IfmUtil.getEgressActionInfosForInterface()&apos;s behaviour needs to be verified and documented</title>
                <link>https://jira.opendaylight.org/browse/GENIUS-66</link>
                <project id="10126" key="GENIUS">genius</project>
                    <description>&lt;p&gt;Currently, getEgressActionInfosForInterface() has a number of fall-through cases. Each of these needs to be verified, and either:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;replaced with a break;&lt;/li&gt;
	&lt;li&gt;or documented.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Documentation involves also removing any associated TODOs (e.g. from &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53896&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53896&lt;/a&gt;) and @SuppressWarnings.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="19847">GENIUS-66</key>
            <summary>IfmUtil.getEgressActionInfosForInterface()&apos;s behaviour needs to be verified and documented</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</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="vorburger">Michael Vorburger</assignee>
                                    <reporter username="skitt">Stephen Kitt</reporter>
                        <labels>
                    </labels>
                <created>Mon, 27 Mar 2017 16:25:41 +0000</created>
                <updated>Thu, 6 Apr 2017 15:29:30 +0000</updated>
                            <resolved>Thu, 6 Apr 2017 15:29:30 +0000</resolved>
                                    <version>(unspecified)</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="35930" author="vorburger" created="Tue, 28 Mar 2017 10:15:39 +0000"  >&lt;p&gt;On looking at this code more closely a 2nd time after a good night&apos;s sleep, I can actually now see that the if/s in the case sort of cancel each other out.. &lt;/p&gt;

&lt;p&gt;It&apos;s very confusing / non-obvious / hard to read code - but probably not really a bug then, as it looks like a switch case fall through bug, but because of the nested if actually is not (which I didn&apos;t notice yesterday).  &lt;/p&gt;

&lt;p&gt;This really should be refactored more clearly, under this bug.&lt;/p&gt;

&lt;p&gt;As &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53631/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53631/&lt;/a&gt; and &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53875/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53875/&lt;/a&gt; are just about to add more tests for this code (according to private email from Faseela), perhaps someone could have a go at cleaning up the switch in IfmUtil.getEgressActionInfosForInterface() after those two changes for extended test coverage have been merged.&lt;/p&gt;</comment>
                            <comment id="35931" author="vorburger" created="Tue, 28 Mar 2017 12:06:10 +0000"  >&lt;p&gt;&amp;gt; * replaced with a break;&lt;/p&gt;

&lt;p&gt;meanwhile had a chat with Faseela on IRC to confirm it&apos;s not a bug, it&apos;s supposed to be like this, it just confused us.&lt;/p&gt;

&lt;p&gt;&amp;gt; * or documented.&lt;/p&gt;

&lt;p&gt;just noticed on &lt;a href=&quot;http://checkstyle.sourceforge.net/config_coding.html#FallThrough&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://checkstyle.sourceforge.net/config_coding.html#FallThrough&lt;/a&gt;  that CS has a something that&apos;s a bit nicer for this case then the  SuppressWarnings, apparently if you put &quot;// falls through&quot; just before  the case: without a &quot;break;&quot; that indicates to it that it&apos;s intentional and OK.&lt;/p&gt;</comment>
                            <comment id="35932" author="vorburger" created="Tue, 28 Mar 2017 12:13:22 +0000"  >&lt;p&gt;&amp;gt; nicer for this case then the @SuppressWarnings(&quot;checkstyle:FallThrough&quot;)&lt;/p&gt;

&lt;p&gt;and, apparently @SuppressWarnings(&quot;fallthrough&quot;) helps javac understand that we really mean to do that, so we probably should put that as hit to javac.&lt;/p&gt;</comment>
                            <comment id="35933" author="david.suarez.fuentes@ericsson.com" created="Tue, 28 Mar 2017 12:42:05 +0000"  >&lt;p&gt;(In reply to Michael Vorburger from comment #3)&lt;br/&gt;
&amp;gt; &amp;gt; nicer for this case then the @SuppressWarnings(&quot;checkstyle:FallThrough&quot;)&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; and, apparently @SuppressWarnings(&quot;fallthrough&quot;) helps javac understand that&lt;br/&gt;
&amp;gt; we really mean to do that, so we probably should put that as hit to javac.&lt;/p&gt;

&lt;p&gt;I followed your recommendation to comment the &quot;fall-through&quot;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53896/5&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53896/5&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="35934" author="vorburger" created="Thu, 6 Apr 2017 15:25:23 +0000"  >&lt;p&gt;Considering this resolved, as we&apos;ve confirmed verbally with Faseela that the switch case &quot;fall through&quot; in IfmUtil.getEgressActionInfosForInterface() is intentional and not a bug, and &quot;documented&quot; this (not the &quot;why&quot; just the &quot;fact that&quot;) via inline &quot;// fall through&quot;, which Checkstyle detects and then shuts up about.&lt;/p&gt;

&lt;p&gt;I did actually spend a moment to try to refactor it differently, but figured that the code becomes less not more readable - so let&apos;s just leave that as it is.&lt;/p&gt;

&lt;p&gt;PS: We &lt;b&gt;ARE&lt;/b&gt; hoping that the nascent but extremely minimalistic IfmUtilTest can be expanded upon to cover the IfmUtil.getEgressActionInfosForInterface() &amp;amp; more code better!&lt;/p&gt;</comment>
                            <comment id="35935" author="vorburger" created="Thu, 6 Apr 2017 15:29:30 +0000"  >&lt;p&gt;&amp;gt; nascent but extremely minimalistic IfmUtilTest &lt;/p&gt;

&lt;p&gt;sorry, that was the wrong class of course; the InterfaceManagerConfigurationTest is actually one of our shining examples of Component Tests ... I&apos;ve just quickly locally verified with &lt;a href=&quot;http://www.eclemma.org&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.eclemma.org&lt;/a&gt;, and it does seem to cover the case of VLAN_INTERFACE in IfmUtil.getEgressActionInfosForInterface() .. perhaps future work could cover the other cases (MPLS_OVER_GRE, GRE_TRUNK_INTERFACE, VXLAN_TRUNK_INTERFACE).&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>8089</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=8089]]></customfieldvalue>

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

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