Merge "OPNFLWPLUG-1077 : Bundle resync is not able to push groups to switch"
authorArunprakash D <d.arunprakash@ericsson.com>
Thu, 7 Nov 2019 06:58:06 +0000 (06:58 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 7 Nov 2019 06:58:06 +0000 (06:58 +0000)
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/convertor/GroupConvertor.java

index 87ebf56005ab131275c09abd4f5b6a7b9ac593eb..84fa9a3b4d31efc083f28609ce271d4e270d4fed 100644 (file)
@@ -25,7 +25,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.gro
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Group;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupTypes;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.Buckets;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.BucketsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev150203.actions.grouping.Action;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupModCommand;
@@ -182,10 +184,14 @@ public class GroupConvertor extends Convertor<Group, GroupModInputBuilder, Versi
         if (groupModInputBuilder.getCommand() != GroupModCommand.OFPGCDELETE) {
             if (source.getBuckets() != null && source.getBuckets().getBucket().size() != 0) {
 
-                Collections.sort(source.getBuckets().getBucket(), COMPARATOR);
+                List<Bucket> bucketList = new ArrayList<>(source.getBuckets().getBucket());
+                Group group = new GroupBuilder(source)
+                        .setBuckets(new BucketsBuilder().setBucket(bucketList).build())
+                        .build();
+                Collections.sort(group.getBuckets().getBucket(), COMPARATOR);
 
-                List<BucketsList> bucketLists = salToOFBucketList(source.getBuckets(), data.getVersion(),
-                        source.getGroupType().getIntValue(), data.getDatapathId());
+                List<BucketsList> bucketLists = salToOFBucketList(group.getBuckets(), data.getVersion(),
+                        group.getGroupType().getIntValue(), data.getDatapathId());
                 groupModInputBuilder.setBucketsList(bucketLists);
             }
         }