[YANGTOOLS-35] Inconsistent constructor argument ordering Created: 03/Oct/13  Updated: 10/Apr/22  Resolved: 03/Oct/13

Status: Resolved
Project: yangtools
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Robert Varga Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 101

 Description   

TablesKey, which is a list key, has its constructor arguments ordered differently on my machine and on jenkins.

My:
public TablesKey(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily> _Afi, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily> _Safi) {

Jenkins:
public TablesKey(Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily> _Safi, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily> _Afi) {

which causes verification to fail with:
[ERROR] /opt/jenkins-bgpcep/workspace/bgpcep-verify/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java:[55,36] no suitable constructor found for TablesKey(java.lang.Class<capture#1 of ? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily>,java.lang.Class<capture#2 of ? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily>)
constructor org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.TablesKey.TablesKey(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.TablesKey) is not applicable
(actual and formal argument lists differ in length)
constructor org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.TablesKey.TablesKey(java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily>,java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily>) is not applicable
(actual argument java.lang.Class<capture#1 of ? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily> cannot be converted to java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily> by method invocation conversion)

The reason for this seems to be reliance on HashMaps, whose ordering is indeterminate. Please make sure to alpha-sort arguments before emitting them.



 Comments   
Comment by Martin Vitez [ 03/Oct/13 ]

Fixed in binding-generator version 0.6.0-SNAPSHOT.

https://git.opendaylight.org/gerrit/#/c/1646/

Generated at Wed Feb 07 20:52:05 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.