Update MRI projects for Aluminium
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / protocol / serialization / messages / GroupMessageSerializer.java
index d05129b9992e5f1e1ebff9652d74c48e99c0ea69..f46b3da8df01059d112ebd7709f6776aba66a43c 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.impl.protocol.serialization.messages;
 
 import com.google.common.base.MoreObjects;
@@ -21,6 +20,7 @@ import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.Ord
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupMessage;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.GroupModCommand;
+import org.opendaylight.yangtools.yang.common.Uint16;
 
 /**
  * Translates GroupMod messages.
@@ -42,12 +42,12 @@ public class GroupMessageSerializer extends AbstractMessageSerializer<GroupMessa
 
     private SerializerRegistry registry;
 
-    public GroupMessageSerializer(boolean isGroupAddModEnabled) {
+    public GroupMessageSerializer(final boolean isGroupAddModEnabled) {
         this.isGroupAddModEnabled =  isGroupAddModEnabled;
     }
 
     @Override
-    public void serialize(GroupMessage message, ByteBuf outBuffer) {
+    public void serialize(final GroupMessage message, final ByteBuf outBuffer) {
         final int index = outBuffer.writerIndex();
         super.serialize(message, outBuffer);
         if (isGroupAddModEnabled) {
@@ -66,20 +66,20 @@ public class GroupMessageSerializer extends AbstractMessageSerializer<GroupMessa
 
         Optional.ofNullable(message.getBuckets())
             .filter(b -> !GroupModCommand.OFPGCDELETE.equals(message.getCommand()))
-            .flatMap(b -> Optional.ofNullable(b.getBucket()))
-            .ifPresent(b -> b.stream()
+            .flatMap(b -> Optional.ofNullable(b.nonnullBucket()))
+            .ifPresent(b -> b.values().stream()
                 .sorted(COMPARATOR)
                 .forEach(bucket -> {
                     final int bucketIndex = outBuffer.writerIndex();
                     outBuffer.writeShort(EncodeConstants.EMPTY_LENGTH);
-                    outBuffer.writeShort(MoreObjects.firstNonNull(bucket.getWeight(), 0));
+                    outBuffer.writeShort(MoreObjects.firstNonNull(bucket.getWeight(), Uint16.ZERO).toJava());
                     outBuffer.writeInt(MoreObjects.firstNonNull(bucket.getWatchPort(), OFConstants.OFPG_ANY)
                             .intValue());
                     outBuffer.writeInt(MoreObjects.firstNonNull(bucket.getWatchGroup(), OFConstants.OFPG_ANY)
                             .intValue());
                     outBuffer.writeZero(PADDING_IN_BUCKET);
 
-                    Optional.ofNullable(bucket.getAction()).ifPresent(as -> as
+                    Optional.ofNullable(bucket.nonnullAction()).ifPresent(as -> as.values()
                             .stream()
                             .sorted(OrderComparator.build())
                             .forEach(a -> ActionUtil.writeAction(
@@ -99,7 +99,7 @@ public class GroupMessageSerializer extends AbstractMessageSerializer<GroupMessa
     }
 
     @Override
-    public void injectSerializerRegistry(SerializerRegistry serializerRegistry) {
+    public void injectSerializerRegistry(final SerializerRegistry serializerRegistry) {
         registry = serializerRegistry;
     }
 }