<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:53:09 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-408] Cast exception when serializing L3Address from groupbasedpolicy policy.yang</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-408</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;We get the following stack trace:&lt;/p&gt;

&lt;p&gt;2015-02-06 15:20:10,954 | INFO  | DOM-OPER-DCL-1   | SwitchManager                    | 178 - org.opendaylight.groupbasedpolicy - 0.2.0.SNAPSHOT | New switch Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=openflow:2&amp;#93;&lt;/span&gt; connected&lt;br/&gt;
java.lang.ClassCastException: Cannot cast org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.L3ContextId to org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress&lt;br/&gt;
	at sun.invoke.util.ValueConversions.newClassCastException(ValueConversions.java:461)&lt;br/&gt;
	at sun.invoke.util.ValueConversions.castReference(ValueConversions.java:456)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:71)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:28)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.getBindingChildValue(KeyedListNodeCodecContext.java:62)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.getBindingData(LazyDataObject.java:117)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.invoke(LazyDataObject.java:64)&lt;br/&gt;
	at com.sun.proxy.$Proxy100.getKey(Unknown Source)&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoint.fields.L3Address$StreamWriter.serialize(DataObjectSerializerPrototype.java)&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.Endpoint$StreamWriter.serialize(DataObjectSerializerPrototype.java)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry$DataObjectSerializerProxy.serialize(BindingNormalizedNodeCodecRegistry.java:273)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:99)&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:56)&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.put(AbstractWriteTransaction.java:42)&lt;br/&gt;
	at org.opendaylight.controller.md.sal.binding.impl.BindingDataWriteTransactionImpl.put(BindingDataWriteTransactionImpl.java:40)&lt;br/&gt;
	at org.opendaylight.groupbasedpolicy.renderer.ofoverlay.EndpointManager$UpdateEndpoint.run(EndpointManager.java:375) &lt;/p&gt;



&lt;p&gt;This happens when we try to update an Endpoint we&apos;ve read back from the data store with an augmentation, using the builder:&lt;/p&gt;

&lt;p&gt; EndpointBuilder epBuilder = new EndpointBuilder(ep);&lt;/p&gt;

&lt;p&gt;  ... (update EP with augmentation)&lt;/p&gt;



&lt;p&gt;The exception happens when we put this into the write transaction (i.e. before submit):&lt;/p&gt;

&lt;p&gt; tx.put(LogicalDatastoreType.OPERATIONAL, iidEp, epBuilder.build());&lt;/p&gt;




&lt;p&gt;We noticed that the Endpoint that we read from the data store (i.e. to do the update) has an empty augmentation in the L3Address:&lt;/p&gt;

&lt;p&gt;Endpoint{getCondition=[], getEndpointGroup=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=1eaf9a67-a171-42a8-9282-71cf702f61dd&amp;#93;&lt;/span&gt;, getL2Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=7b796915-adf4-4356-b5ca-de005ac410c1&amp;#93;&lt;/span&gt;, getL3Address=[L3Address{getIpAddress=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.0.35.2&amp;#93;&lt;/span&gt;, _value=&lt;span class=&quot;error&quot;&gt;&amp;#91;1, 0, ., 0, ., 3, 5, ., 2&amp;#93;&lt;/span&gt;], getL3Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=cbe0cc07-b8ff-451d-8171-9eef002a8e80&amp;#93;&lt;/span&gt;, augmentations={}}], getMacAddress=MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:00:00:00:35:02&amp;#93;&lt;/span&gt;, getPortName=Name &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=vethl26839&amp;#93;&lt;/span&gt;, getTenant=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=f5c7d344-d1c7-4208-8531-2c2693657e12&amp;#93;&lt;/span&gt;, getTimestamp=1423266774630, augmentations={interface org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay.rev140528.OfOverlayContext=OfOverlayContext{}}}&lt;/p&gt;


&lt;p&gt;Here is the definition of the L3Address in the yang model:&lt;/p&gt;

&lt;p&gt;        list l3-address &lt;/p&gt;
{
            description
                &quot;All the layer 3 addresses associated with this endpoint&quot;;
            key &quot;l3-context ip-address&quot;;
            uses l3-key;
        }

&lt;p&gt;where:&lt;/p&gt;

&lt;p&gt;    grouping l3-key {&lt;br/&gt;
        description&lt;br/&gt;
            &quot;The fields that identify an endpoint by a layer 3 address&quot;;&lt;br/&gt;
        leaf l3-context &lt;/p&gt;
{
            type gbp-common:l3-context-id;
            mandatory true;
            description 
                &quot;The context for this layer 3 address&quot;;
        }
&lt;p&gt;        leaf ip-address &lt;/p&gt;
{
            type inet:ip-address;
            mandatory true;
            description
                &quot;The actual IP address for the endpoint&quot;;
        }
&lt;p&gt;    }&lt;/p&gt;

&lt;p&gt;(fwiw, the l3-context-id is just a UUID)&lt;/p&gt;

&lt;p&gt;The resulting interface for the corresponding Java class (L3Address) has this:&lt;/p&gt;

&lt;p&gt;public interface L3Address&lt;/p&gt;

&lt;p&gt;    extends&lt;/p&gt;

&lt;p&gt;    ChildOf&amp;lt;EndpointFields&amp;gt;,&lt;/p&gt;

&lt;p&gt;    Augmentable&amp;lt;org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoint.fields.L3Address&amp;gt;,&lt;/p&gt;

&lt;p&gt;    L3Key,&lt;/p&gt;

&lt;p&gt;    Identifiable&amp;lt;L3AddressKey&amp;gt;&lt;/p&gt;

{

...

}


&lt;p&gt;We are able to work around this for now by manually (re-)constructing the L3Address:&lt;/p&gt;

&lt;p&gt;List&amp;lt;L3Address&amp;gt; l3Addresses= new ArrayList&amp;lt;&amp;gt;();&lt;br/&gt;
for(L3Address l3Address: ep.getL3Address()) {&lt;br/&gt;
    L3AddressBuilder l3AB = new L3AddressBuilder();&lt;br/&gt;
    l3AB.setIpAddress(l3Address.getIpAddress())&lt;br/&gt;
        .setL3Context(l3Address.getL3Context());&lt;br/&gt;
    l3Addresses.add(l3AB.build());&lt;br/&gt;
}&lt;br/&gt;
epBuilder.setL3Address(l3Addresses);&lt;/p&gt;


&lt;p&gt;However, it doesn&apos;t seem like we should have to do this.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Mac OS&lt;br/&gt;
Platform: Macintosh&lt;/p&gt;</environment>
        <key id="22828">YANGTOOLS-408</key>
            <summary>Cast exception when serializing L3Address from groupbasedpolicy policy.yang</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="martin.ciglan">Martin Ciglan</assignee>
                                    <reporter username="tbachman@yahoo.com">Thomas Bachman</reporter>
                        <labels>
                    </labels>
                <created>Sat, 7 Feb 2015 11:11:35 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:28 +0000</updated>
                            <resolved>Mon, 2 Mar 2015 08:49:25 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="43259" author="martin.ciglan" created="Thu, 12 Feb 2015 12:02:29 +0000"  >&lt;p&gt;I wasn&apos;t able to get the error you have described.&lt;br/&gt;
I&apos;ve got the groupbasedpolicy project cloned and built,&lt;br/&gt;
trying to replicate your steps.&lt;/p&gt;

&lt;p&gt;Could you please provide me more information about the part&lt;/p&gt;

&lt;p&gt;EndpointBuilder epBuilder = new EndpointBuilder(ep);&lt;/p&gt;

&lt;p&gt;  ... (update EP with augmentation)&lt;/p&gt;

&lt;p&gt;especially augmentation please.&lt;/p&gt;

&lt;p&gt;Also, how is it connected to doing copy of l3address list in last part of your description.&lt;/p&gt;

&lt;p&gt;If you can attach source code, it will be great. Thanks.&lt;/p&gt;</comment>
                            <comment id="43260" author="tbachman@yahoo.com" created="Thu, 12 Feb 2015 12:14:14 +0000"  >&lt;p&gt;Here is the (merged) gerrit that added the code that triggered this:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/14945/3/groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/EndpointManager.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/14945/3/groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/EndpointManager.java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Line 360 is where the builder is created. The Endpoint used to initialize the builder comes from line 334. When we looked at the contents of this Endpoint using the Eclipse debugger, we noticed the empty augmentation (as shown in the description here).&lt;/p&gt;

&lt;p&gt;Lines 365 - 371 of this gerrit were added to re-initialize the L3Address in order to avoid this exception.&lt;/p&gt;</comment>
                            <comment id="43261" author="martin.ciglan" created="Thu, 12 Feb 2015 16:13:13 +0000"  >&lt;p&gt;Hi Thomas&lt;/p&gt;

&lt;p&gt;Thanks for additional information, I re-constructed Endpoint ep value based on your information.&lt;br/&gt;
I am still not able to get the error.&lt;/p&gt;

&lt;p&gt;This is the state of ep, epBuilder and augmentation, getting it in similar way as you did with Eclipse debugger. I haven&apos;t got actual values for nodeId.getId() and nodeConnectorId.getId(), so I just used test values.&lt;br/&gt;
Augmentation appears in epBuilder, based on ep, as you can see below.&lt;/p&gt;

&lt;p&gt;epBuilder.getAugmentation().toString(): &lt;br/&gt;
OfOverlayContext [_nodeConnectorId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=tst&amp;#93;&lt;/span&gt;, _nodeId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=test&amp;#93;&lt;/span&gt;]&lt;/p&gt;

&lt;p&gt;ep.toString():&lt;br/&gt;
Endpoint [_endpointGroup=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=1eaf9a67-a171-42a8-9282-71cf702f61dd&amp;#93;&lt;/span&gt;, _key=EndpointKey [_l2Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=7b796915-adf4-4356-b5ca-de005ac410c1&amp;#93;&lt;/span&gt;, _macAddress=MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:00:00:00:35:02&amp;#93;&lt;/span&gt;], _l2Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=7b796915-adf4-4356-b5ca-de005ac410c1&amp;#93;&lt;/span&gt;, _l3Address=[L3Address [_ipAddress=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.0.35.2&amp;#93;&lt;/span&gt;, _value=&lt;span class=&quot;error&quot;&gt;&amp;#91;1, 0, ., 0, ., 3, 5, ., 2&amp;#93;&lt;/span&gt;], _key=L3AddressKey [_l3Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=cbe0cc07-b8ff-451d-8171-9eef002a8e80&amp;#93;&lt;/span&gt;, _ipAddress=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.0.35.2&amp;#93;&lt;/span&gt;, _value=&lt;span class=&quot;error&quot;&gt;&amp;#91;1, 0, ., 0, ., 3, 5, ., 2&amp;#93;&lt;/span&gt;]], _l3Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=cbe0cc07-b8ff-451d-8171-9eef002a8e80&amp;#93;&lt;/span&gt;, augmentation=[]]], _macAddress=MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:00:00:00:35:02&amp;#93;&lt;/span&gt;, _portName=Name &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=vethl26839&amp;#93;&lt;/span&gt;, _tenant=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=f5c7d344-d1c7-4208-8531-2c2693657e12&amp;#93;&lt;/span&gt;, _timestamp=1423266774630, augmentation=[]]&lt;/p&gt;

&lt;p&gt;epBuilder.build().toString():&lt;br/&gt;
Endpoint [_endpointGroup=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=1eaf9a67-a171-42a8-9282-71cf702f61dd&amp;#93;&lt;/span&gt;, _key=EndpointKey [_l2Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=7b796915-adf4-4356-b5ca-de005ac410c1&amp;#93;&lt;/span&gt;, _macAddress=MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:00:00:00:35:02&amp;#93;&lt;/span&gt;], _l2Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=7b796915-adf4-4356-b5ca-de005ac410c1&amp;#93;&lt;/span&gt;, _l3Address=[L3Address [_ipAddress=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.0.35.2&amp;#93;&lt;/span&gt;, _value=&lt;span class=&quot;error&quot;&gt;&amp;#91;1, 0, ., 0, ., 3, 5, ., 2&amp;#93;&lt;/span&gt;], _key=L3AddressKey [_l3Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=cbe0cc07-b8ff-451d-8171-9eef002a8e80&amp;#93;&lt;/span&gt;, _ipAddress=IpAddress [_ipv4Address=Ipv4Address &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=10.0.35.2&amp;#93;&lt;/span&gt;, _value=&lt;span class=&quot;error&quot;&gt;&amp;#91;1, 0, ., 0, ., 3, 5, ., 2&amp;#93;&lt;/span&gt;]], _l3Context=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=cbe0cc07-b8ff-451d-8171-9eef002a8e80&amp;#93;&lt;/span&gt;, augmentation=[]]], _macAddress=MacAddress &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=00:00:00:00:35:02&amp;#93;&lt;/span&gt;, _portName=Name &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=vethl26839&amp;#93;&lt;/span&gt;, _tenant=Uuid &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=f5c7d344-d1c7-4208-8531-2c2693657e12&amp;#93;&lt;/span&gt;, _timestamp=1423266774630, augmentation=[OfOverlayContext [_nodeConnectorId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=tst&amp;#93;&lt;/span&gt;, _nodeId=Uri &lt;span class=&quot;error&quot;&gt;&amp;#91;_value=test&amp;#93;&lt;/span&gt;]]]&lt;/p&gt;

&lt;p&gt;Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.85 sec - in org.opendaylight.controller.md.sal.binding.impl.test.Bug2689GBPCastException&lt;/p&gt;

&lt;p&gt;Results :&lt;/p&gt;

&lt;p&gt;Tests run: 1, Failures: 0, Errors: 0, Skipped: 0&lt;/p&gt;</comment>
                            <comment id="43262" author="tbachman@yahoo.com" created="Thu, 12 Feb 2015 16:18:32 +0000"  >&lt;p&gt;I&apos;m not sure if this makes a difference, but the Endpoint state we saw used augmentations={} (note the plural form, and curly brackets instead of non-curly brackets). The state you showed below has just augmentation=[].&lt;/p&gt;</comment>
                            <comment id="43263" author="martin.ciglan" created="Fri, 13 Feb 2015 14:31:54 +0000"  >&lt;p&gt;Hi Thomas&lt;/p&gt;

&lt;p&gt;Issue replicated, debug in progress...&lt;/p&gt;

&lt;p&gt;java.lang.ClassCastException: Cannot cast org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.L3ContextId to org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress&lt;br/&gt;
	at sun.invoke.util.ValueConversions.newClassCastException(ValueConversions.java:461)&lt;br/&gt;
	at sun.invoke.util.ValueConversions.castReference(ValueConversions.java:456)&lt;br/&gt;
	at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:71)&lt;/p&gt;</comment>
                            <comment id="43264" author="martin.ciglan" created="Fri, 20 Feb 2015 15:19:29 +0000"  >&lt;p&gt;fix pushed:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/15558/1&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/15558/1&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="43265" author="martin.ciglan" created="Thu, 26 Feb 2015 08:41:03 +0000"  >&lt;p&gt;patch pushed:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/15558/3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/15558/3&lt;/a&gt;&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>2689</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=2689]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10306"><![CDATA[Lithium-M3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10301"><![CDATA[Normal]]></customfieldvalue>

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

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