<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:52:50 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>[CONTROLLER-365] Enhancements to the toaster md-sal exampl</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-365</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;While documenting the toaster example on wiki, Devin Avery and I would like to propose some enhancements to the example, specifically the toaster consumer part.&lt;/p&gt;

&lt;p&gt;Currently, the ToasterConsumer is a hand-coded interface providing a createToast method and the implementation merely passes through to ToasterService.makeToast. We were a little confused initially as to the intent of having another interface to make toast that essentially is a wrapper for the ToasterService. We surmise that the purpose of the ToasterConsumer is to demonstrate how to programmatically access the ToasterService. This is fine however essentially re-defining the same interface isn&apos;t very compelling and may be a little confusing.&lt;/p&gt;

&lt;p&gt;We&apos;d like to propose changing the ToasterConsumer to a KitchenService interface with the ability to make breakfast:&lt;/p&gt;

&lt;p&gt;   boolean makeBreakfast( EggsType eggs, Class&amp;lt;? extends ToastType&amp;gt; toast, int toastDoneness );&lt;/p&gt;

&lt;p&gt;This defines a higher-level service for making a full breakfast, including toast and eggs. This nicely demonstrates &#8220;service chaining&#8221;, a consumer of one or more services being a provider of another service. This example would only actually implement and call into the &apos;toast&apos; service but one can see that it could be extended to also implement and call into an &apos;eggs&apos; service and also add &apos;coffee&apos; service etc.&lt;/p&gt;

&lt;p&gt;In addition, we&apos;d like to propose replacing the &apos;toastDone&apos; notification with  &#179;toasterOutOfStock&#178; and &apos;toasterRestocked&apos; notifications. The KitchenService would listen for these notifications and set/clear an internal &apos;toasterOutOfStock&apos; flag. In the makeBreakfast method, if toasterOutOfStock is true, fail the call, ie return false.&lt;/p&gt;

&lt;p&gt;In the toaster provider:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Add an amountOfBreadInStock field to the OpenDayLightToaster&lt;/li&gt;
	&lt;li&gt;Define toasterOutOfStock and toasterRestocked notifications. toasterRestocked would have an amountOfBread param&lt;/li&gt;
	&lt;li&gt;In makeToast, if toastsDone == amountOfBreadInStock, send the toasterOutOfStock notification and fail the call.&lt;/li&gt;
	&lt;li&gt;Add a JMX RPC, restockToaster with an amountOfBread param to the provider.&lt;/li&gt;
	&lt;li&gt;On  restockToaster call, clear toastsDone, set amountOfBreadInStock, and send the toasterReStocked notification&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="24919">CONTROLLER-365</key>
            <summary>Enhancements to the toaster md-sal exampl</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</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="tpantelis">Tom Pantelis</assignee>
                                    <reporter username="tpantelis">Tom Pantelis</reporter>
                        <labels>
                    </labels>
                <created>Tue, 22 Apr 2014 17:08:31 +0000</created>
                <updated>Thu, 18 Jan 2018 12:33:30 +0000</updated>
                            <resolved>Wed, 14 May 2014 01:09:14 +0000</resolved>
                                    <version>Helium</version>
                                                    <component>mdsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="48102" author="tpantelis" created="Fri, 25 Apr 2014 01:44:42 +0000"  >&lt;p&gt;Added gerrit:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/6379/1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/6379/1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="60757" author="vrpolak" created="Thu, 18 Jan 2018 12:33:30 +0000"  >&lt;p&gt;&amp;gt; replacing the &apos;toastDone&apos; notification&lt;/p&gt;

&lt;p&gt;Does anybody remember why it was a good idea to remove the toastDone notification? I mean, toasterOutOfStock and toasterRestocked does not tell anything about whether my toast is done already.&lt;/p&gt;

&lt;p&gt;The notification removal causes ODL toaster to be incompatible with netconf central toaster, see &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-1808&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.opendaylight.org/browse/CONTROLLER-1808&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&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>809</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=809]]></customfieldvalue>

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

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