new serialization factories and tests 38/1738/2
authorTimotej Kubas <timotej.kubas@pantheon.sk>
Tue, 8 Oct 2013 06:31:51 +0000 (08:31 +0200)
committerTimotej Kubas <timotej.kubas@pantheon.sk>
Tue, 8 Oct 2013 11:08:58 +0000 (13:08 +0200)
Change-Id: I85da9bc251724d0aa45254081ed3153c35a2a3f6
Signed-off-by: Timotej Kubas <timotej.kubas@pantheon.sk>
17 files changed:
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/DecoderTable.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactory.java [new file with mode: 0644]
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/RoleReplyMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/EncoderTable.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/ExperimenterInputMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/HelloInputMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MultipartRequestMessageFactory.java [new file with mode: 0644]
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/FlowRemovedMessageFactoryTest.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactoryTest.java [new file with mode: 0644]
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/PacketInMessageFactoryTest.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/QueueGetConfigReplyMessageFactoryMultiTest.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/QueueGetConfigReplyMessageFactoryTest.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/ExperimenterInputMessageFactoryTest.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/GroupModInputMessageFactoryTest.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MeterModInputMessageFactoryTest.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MultipartRequestMessageFactoryTest.java [new file with mode: 0644]
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/SetAsyncInputMessageFactoryTest.java

index ba59351e04cff1f7f85f0f3ff158288a57c5dfc7..f470ae27f2ea5f4baf0fb871e0e383d8093f4b86 100644 (file)
@@ -12,6 +12,7 @@ import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.Err
 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.ExperimenterMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.FeaturesReplyMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.FlowRemovedMessageFactory;\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.GetAsyncReplyMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.GetConfigReplyMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.HelloMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.MultipartReplyMessageFactory;\r
@@ -100,6 +101,7 @@ public class DecoderTable {
         table.put(new MessageTypeCodeKey(OF13, (short) 21), BarrierReplyMessageFactory.getInstance());\r
         table.put(new MessageTypeCodeKey(OF13, (short) 23), QueueGetConfigReplyMessageFactory.getInstance());\r
         table.put(new MessageTypeCodeKey(OF13, (short) 25), RoleReplyMessageFactory.getInstance());\r
+        table.put(new MessageTypeCodeKey(OF13, (short) 27), GetAsyncReplyMessageFactory.getInstance());\r
     }\r
     \r
     /**\r
diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactory.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactory.java
new file mode 100644 (file)
index 0000000..56f682d
--- /dev/null
@@ -0,0 +1,147 @@
+/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
+package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;\r
+\r
+import io.netty.buffer.ByteBuf;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.OFDeserializer;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowRemovedReason;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortReason;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncOutput;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncOutputBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.FlowRemovedMask;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.FlowRemovedMaskBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PacketInMask;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PacketInMaskBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PortStatusMask;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PortStatusMaskBuilder;\r
+\r
+/**\r
+ * @author timotej.kubas\r
+ * @author michal.polkorab\r
+ */\r
+public class GetAsyncReplyMessageFactory implements OFDeserializer<GetAsyncOutput> {\r
+    private static GetAsyncReplyMessageFactory instance;\r
+    \r
+    private GetAsyncReplyMessageFactory() {\r
+        // singleton\r
+    }\r
+\r
+    /**\r
+     * @return singleton factory\r
+     */\r
+    public static GetAsyncReplyMessageFactory getInstance() {\r
+        if (instance == null) {\r
+            instance = new GetAsyncReplyMessageFactory();\r
+        }\r
+        return instance;\r
+    }\r
+    \r
+    @Override\r
+    public GetAsyncOutput bufferToMessage(ByteBuf rawMessage, short version) {\r
+        GetAsyncOutputBuilder builder = new GetAsyncOutputBuilder();\r
+        builder.setVersion(version);\r
+        builder.setXid(rawMessage.readUnsignedInt());\r
+        builder.setPacketInMask(decodePacketInMask(rawMessage));\r
+        builder.setPortStatusMask(decodePortStatusMask(rawMessage));\r
+        builder.setFlowRemovedMask(decodeFlowRemovedMask(rawMessage));\r
+        return builder.build();\r
+    }\r
+    \r
+    private static List<PacketInMask> decodePacketInMask(ByteBuf outputBuf) {\r
+        List<PacketInReason> readPIRList = new ArrayList<PacketInReason>();\r
+        List<PacketInMask> inMasks = new ArrayList<PacketInMask>();\r
+        PacketInMaskBuilder maskBuilder = new PacketInMaskBuilder();\r
+        \r
+        readPIRList.add(decodedPacketInReason((int) outputBuf.readUnsignedInt()));\r
+        readPIRList.add(decodedPacketInReason((int) outputBuf.readUnsignedInt()));\r
+        inMasks.add(maskBuilder.setMask(readPIRList).build()); \r
+        return inMasks;\r
+    }\r
+    \r
+    private static List<PortStatusMask> decodePortStatusMask(ByteBuf outputBuf) {\r
+        List<PortReason> readPortReasonList = new ArrayList<PortReason>();\r
+        List<PortStatusMask> inMasks = new ArrayList<PortStatusMask>();\r
+        PortStatusMaskBuilder maskBuilder = new PortStatusMaskBuilder();\r
+        \r
+        readPortReasonList.add(decodePortReason((int) outputBuf.readUnsignedInt()));\r
+        readPortReasonList.add(decodePortReason((int) outputBuf.readUnsignedInt()));\r
+        inMasks.add(maskBuilder.setMask(readPortReasonList).build()); \r
+        return inMasks;\r
+    }\r
+    \r
+    private static List<FlowRemovedMask> decodeFlowRemovedMask(ByteBuf outputBuf) {\r
+        List<FlowRemovedReason> readFlowRemovedReasonList = new ArrayList<FlowRemovedReason>();\r
+        List<FlowRemovedMask> inMasks = new ArrayList<FlowRemovedMask>();\r
+        FlowRemovedMaskBuilder maskBuilder = new FlowRemovedMaskBuilder();\r
+        \r
+        readFlowRemovedReasonList.add(decodeFlowRemovedReason((int) outputBuf.readUnsignedInt()));\r
+        readFlowRemovedReasonList.add(decodeFlowRemovedReason((int) outputBuf.readUnsignedInt()));\r
+        inMasks.add(maskBuilder.setMask(readFlowRemovedReasonList).build()); \r
+        return inMasks;\r
+    }\r
+    \r
+    private static PacketInReason decodedPacketInReason(int input) {\r
+        PacketInReason reason = null;\r
+        Boolean OFPRNOMATCH = (input & (1 << 0)) > 0;\r
+        Boolean OFPRACTION = (input & (1 << 1)) > 0;\r
+        Boolean OFPRINVALIDTTL = (input & (1 << 2)) > 0;\r
+        \r
+        if (OFPRNOMATCH) {\r
+            return PacketInReason.forValue(0);\r
+            }\r
+        if (OFPRACTION) {\r
+            return PacketInReason.forValue(1);\r
+            }\r
+        if (OFPRINVALIDTTL) {\r
+            return PacketInReason.forValue(2);\r
+            }\r
+        \r
+        return reason;\r
+    }\r
+    \r
+    private static PortReason decodePortReason(int input) {\r
+        PortReason reason = null;\r
+        Boolean OFPPRADD = (input & (1 << 0)) > 0;\r
+        Boolean OFPPRDELETE = (input & (1 << 1)) > 0;\r
+        Boolean OFPPRMODIFY = (input & (1 << 2)) > 0;\r
+        \r
+        if (OFPPRADD) {\r
+            return PortReason.forValue(0);\r
+            }\r
+        if (OFPPRDELETE) {\r
+            return PortReason.forValue(1);\r
+            }\r
+        if (OFPPRMODIFY) {\r
+            return PortReason.forValue(2);\r
+            }\r
+        \r
+        return reason;\r
+    }\r
+    \r
+    private static FlowRemovedReason decodeFlowRemovedReason(int input) {\r
+        FlowRemovedReason reason = null;\r
+        Boolean OFPRRIDLETIMEOUT = (input & (1 << 0)) > 0;\r
+        Boolean OFPRRHARDTIMEOUT = (input & (1 << 1)) > 0;\r
+        Boolean OFPRRDELETE = (input & (1 << 2)) > 0;\r
+        Boolean OFPRRGROUPDELETE = (input & (1 << 3)) > 0;\r
+        \r
+        if (OFPRRIDLETIMEOUT) {\r
+            return FlowRemovedReason.forValue(0);\r
+            }\r
+        if (OFPRRHARDTIMEOUT) {\r
+            return FlowRemovedReason.forValue(1);\r
+            }\r
+        if (OFPRRDELETE) {\r
+            return FlowRemovedReason.forValue(2);\r
+            }\r
+        if (OFPRRGROUPDELETE) {\r
+            return FlowRemovedReason.forValue(3);\r
+            }\r
+        \r
+        return reason;\r
+    }\r
+}\r
index cbdfe48ed12edb96ab54f3083fba7ed4995d21b1..e24da7012ec21f989e164f249dc2b3485e224970 100644 (file)
@@ -15,7 +15,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
  * @author michal.polkorab\r
  */\r
 public class RoleReplyMessageFactory implements OFDeserializer<RoleRequestOutput>{\r
-\r
     private static RoleReplyMessageFactory instance;\r
     private static final byte PADDING_IN_ROLE_REPLY_HEADER = 4;\r
     \r
@@ -39,9 +38,7 @@ public class RoleReplyMessageFactory implements OFDeserializer<RoleRequestOutput
         RoleRequestOutputBuilder builder = new RoleRequestOutputBuilder();\r
         builder.setVersion(version);\r
         builder.setXid(rawMessage.readUnsignedInt());\r
-        byte[] role = new byte[Integer.SIZE/Byte.SIZE];\r
-        rawMessage.readBytes(role);\r
-        builder.setRole(ControllerRole.forValue(new BigInteger(role).intValue()));\r
+        builder.setRole(ControllerRole.forValue((int) rawMessage.readUnsignedInt()));\r
         rawMessage.skipBytes(PADDING_IN_ROLE_REPLY_HEADER);\r
         byte[] generationID = new byte[8];\r
         rawMessage.readBytes(generationID);\r
index 088fa8feb482f4b184db70f1db64700a8b21bdb7..e8b836b33253770c6d9d327bdb937a9bd2121f92 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.openflowjava.protocol.impl.serialization.factories.GetQu
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.GroupModInputMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.HelloInputMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.MeterModInputMessageFactory;\r
+import org.opendaylight.openflowjava.protocol.impl.serialization.factories.MultipartRequestMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.PacketOutInputMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.PortModInputMessageFactory;\r
 import org.opendaylight.openflowjava.protocol.impl.serialization.factories.RoleRequestInputMessageFactory;\r
@@ -35,6 +36,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GroupModInput;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.HelloInput;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInput;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestMessage;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PacketOutInput;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.PortModInput;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.RoleRequestInput;\r
@@ -88,6 +90,7 @@ public class EncoderTable {
         table.put(new MessageTypeKey<>(OF13, GroupModInput.class), GroupModInputMessageFactory.getInstance());\r
         table.put(new MessageTypeKey<>(OF13, HelloInput.class), HelloInputMessageFactory.getInstance());\r
         table.put(new MessageTypeKey<>(OF13, MeterModInput.class), MeterModInputMessageFactory.getInstance());\r
+        table.put(new MessageTypeKey<>(OF13, MultipartRequestMessage.class), MultipartRequestMessageFactory.getInstance());\r
         table.put(new MessageTypeKey<>(OF13, PacketOutInput.class), PacketOutInputMessageFactory.getInstance());\r
         table.put(new MessageTypeKey<>(OF13, PortModInput.class), PortModInputMessageFactory.getInstance());\r
         table.put(new MessageTypeKey<>(OF13, RoleRequestInput.class), RoleRequestInputMessageFactory.getInstance());\r
index 351d7c0966b6c792a51da108f65a47f405fe79a3..4fe6a8e3b66473e24ede8919233a20ddffd95e0f 100644 (file)
@@ -15,7 +15,7 @@ public class ExperimenterInputMessageFactory implements OFSerializer<Experimente
 \r
     /** Code type of Experimenter message */\r
     public static final byte MESSAGE_TYPE = 4;\r
-    private static final int MESSAGE_LENGTH = 16;\r
+    private static int dataLength;\r
     private static ExperimenterInputMessageFactory instance;\r
     \r
     private ExperimenterInputMessageFactory() {\r
@@ -35,20 +35,24 @@ public class ExperimenterInputMessageFactory implements OFSerializer<Experimente
     @Override\r
     public void messageToBuffer(short version, ByteBuf out,\r
             ExperimenterInput message) {\r
-        \r
+        dataLength = message.getData().length;\r
         ByteBufUtils.writeOFHeader(instance, message, out);\r
         out.writeInt(message.getExperimenter().intValue());\r
         out.writeInt(message.getExpType().intValue());\r
+        out.writeBytes(message.getData());\r
     }\r
 \r
     @Override\r
     public int computeLength() {\r
-        return MESSAGE_LENGTH;\r
+        int ofHeaderLength = 8; //OFHeaderLength\r
+        int messageLength = 8; //experimenterHeaderLength\r
+        messageLength = messageLength + ofHeaderLength + dataLength;\r
+        return messageLength;\r
     }\r
 \r
     @Override\r
     public byte getMessageType() {\r
         return MESSAGE_TYPE;\r
     }\r
-\r
+    \r
 }\r
index c9b2456146a251a001855095e55025a96f747d5f..f75c68c356b246755f11eb4598184b7f8e485f17 100644 (file)
@@ -1,11 +1,15 @@
 /* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
 package org.opendaylight.openflowjava.protocol.impl.serialization.factories;\r
 \r
+import java.util.Iterator;\r
+import java.util.List;\r
+\r
 import io.netty.buffer.ByteBuf;\r
 \r
 import org.opendaylight.openflowjava.protocol.impl.serialization.OFSerializer;\r
 import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.HelloInput;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.hello.Elements;\r
 \r
 /**\r
  * @author michal.polkorab\r
@@ -47,5 +51,5 @@ public class HelloInputMessageFactory implements OFSerializer<HelloInput>{
     public byte getMessageType() {\r
         return MESSAGE_TYPE;\r
     }\r
-    \r
\r
 }\r
diff --git a/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MultipartRequestMessageFactory.java b/openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MultipartRequestMessageFactory.java
new file mode 100644 (file)
index 0000000..d4a07f6
--- /dev/null
@@ -0,0 +1,64 @@
+/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
+package org.opendaylight.openflowjava.protocol.impl.serialization.factories;\r
+\r
+import io.netty.buffer.ByteBuf;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.opendaylight.openflowjava.protocol.impl.serialization.OFSerializer;\r
+import org.opendaylight.openflowjava.protocol.impl.util.ByteBufUtils;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartRequestFlags;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestMessage;\r
+\r
+/**\r
+ * @author timotej.kubas\r
+ *\r
+ */\r
+public class MultipartRequestMessageFactory implements OFSerializer<MultipartRequestMessage> {\r
+    private static final byte MESSAGE_TYPE = 18;\r
+    private static final int MESSAGE_LENGTH = 16;\r
+    private static MultipartRequestMessageFactory instance; \r
+    private static final byte PADDING_IN_MULTIPART_REQUEST_MESSAGE = 4;\r
+    private MultipartRequestMessageFactory() {\r
+        // singleton\r
+    }\r
+    \r
+    /**\r
+     * @return singleton factory\r
+     */\r
+    public static MultipartRequestMessageFactory getInstance() {\r
+        if (instance == null) {\r
+            instance = new MultipartRequestMessageFactory();\r
+        }\r
+        return instance;\r
+    }\r
+    \r
+    @Override\r
+    public void messageToBuffer(short version, ByteBuf out,\r
+            MultipartRequestMessage message) {\r
+        ByteBufUtils.writeOFHeader(instance, message, out);\r
+        out.writeShort(message.getType().getIntValue());\r
+        out.writeShort(createMultipartRequestFlagsBitmask(message.getFlags()));\r
+        // TODO multipart body (message.getMultipartRequestBody())\r
+        ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_MESSAGE, out);\r
+    }\r
+    \r
+    @Override\r
+    public int computeLength() {\r
+        return MESSAGE_LENGTH;\r
+    }\r
+    @Override\r
+    public byte getMessageType() {\r
+        return MESSAGE_TYPE;\r
+    } \r
+    \r
+    private static int createMultipartRequestFlagsBitmask(MultipartRequestFlags flags) {\r
+        int multipartRequestFlagsBitmask = 0;\r
+        Map<Integer, Boolean> multipartRequestFlagsMap = new HashMap<>();\r
+        multipartRequestFlagsMap.put(0, flags.isOFPMPFREQMORE());\r
+        \r
+        multipartRequestFlagsBitmask = ByteBufUtils.fillBitMaskFromMap(multipartRequestFlagsMap);\r
+        return multipartRequestFlagsBitmask;\r
+    }\r
+}\r
index e0c830a3d8147abdf4882d372a839a4caf58c590..6e91cff972e5cb360037332a72d703d83e2916cd 100644 (file)
@@ -29,7 +29,7 @@ public class FlowRemovedMessageFactoryTest {
         Assert.assertTrue(builtByFactory.getCookie().longValue() == 0x0001020304050607L);\r
         Assert.assertTrue(builtByFactory.getPriority() == 0x03);\r
         Assert.assertEquals("Wrong reason", 0x02, builtByFactory.getReason().getIntValue());\r
-        Assert.assertEquals("Wrong tableId", new TableId((long) 4), builtByFactory.getTableId());\r
+        Assert.assertEquals("Wrong tableId", new TableId(4L), builtByFactory.getTableId());\r
         Assert.assertEquals("Wrong durationSec", 0x02L, builtByFactory.getDurationSec().longValue());\r
         Assert.assertEquals("Wrong durationNsec", 0x05L, builtByFactory.getDurationNsec().longValue());\r
         Assert.assertEquals("Wrong idleTimeout", 0x01, builtByFactory.getIdleTimeout().intValue());\r
diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactoryTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/GetAsyncReplyMessageFactoryTest.java
new file mode 100644 (file)
index 0000000..b87fe4a
--- /dev/null
@@ -0,0 +1,83 @@
+/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
+package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import io.netty.buffer.ByteBuf;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Test;\r
+import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.FlowRemovedReason;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PacketInReason;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.PortReason;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.GetAsyncOutput;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.FlowRemovedMask;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.FlowRemovedMaskBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PacketInMask;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PacketInMaskBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PortStatusMask;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.get.async.reply.PortStatusMaskBuilder;\r
+\r
+/**\r
+ * @author timotej.kubas\r
+ *\r
+ */\r
+public class GetAsyncReplyMessageFactoryTest {\r
+\r
+    /**\r
+     * Testing {@link GetAsyncReplyMessageFactory} for correct translation into POJO\r
+     */\r
+    @Test\r
+    public void testGetAsyncReplyMessage() {\r
+        ByteBuf bb = BufferHelper.buildBuffer("00 00 00 02 "+ \r
+                                              "00 00 00 02 "+\r
+                                              "00 00 00 02 "+\r
+                                              "00 00 00 02 "+\r
+                                              "00 00 00 04 "+\r
+                                              "00 00 00 04");\r
+        GetAsyncOutput builtByFactory = BufferHelper.decodeV13(GetAsyncReplyMessageFactory.getInstance(), bb);\r
+\r
+        BufferHelper.checkHeaderV13(builtByFactory);\r
+        Assert.assertEquals("Wrong packetInMask",createPacketInMask().get(0).getMask(), \r
+                                                 builtByFactory.getPacketInMask().get(0).getMask());\r
+        Assert.assertEquals("Wrong portStatusMask",createPortStatusMask().get(0).getMask(), \r
+                                                   builtByFactory.getPortStatusMask().get(0).getMask());\r
+        Assert.assertEquals("Wrong flowRemovedMask",createFlowRemovedMask().get(0).getMask(), \r
+                                                    builtByFactory.getFlowRemovedMask().get(0).getMask());\r
+    }\r
+    \r
+    private static List<PacketInMask> createPacketInMask() {\r
+        List<PacketInReason> readPIRList = new ArrayList<PacketInReason>();\r
+        List<PacketInMask> inMasks = new ArrayList<PacketInMask>();\r
+        PacketInMaskBuilder maskBuilder = new PacketInMaskBuilder();\r
+        \r
+        readPIRList.add(PacketInReason.forValue(1));\r
+        readPIRList.add(PacketInReason.forValue(1));\r
+        inMasks.add(maskBuilder.setMask(readPIRList).build());\r
+        return inMasks;\r
+    }\r
+    \r
+    private static List<PortStatusMask> createPortStatusMask() {\r
+        List<PortReason> readPortReasonList = new ArrayList<PortReason>();\r
+        List<PortStatusMask> inMasks = new ArrayList<PortStatusMask>();\r
+        PortStatusMaskBuilder maskBuilder = new PortStatusMaskBuilder();\r
+        \r
+        readPortReasonList.add(PortReason.forValue(1));\r
+        readPortReasonList.add(PortReason.forValue(1));\r
+        inMasks.add(maskBuilder.setMask(readPortReasonList).build()); \r
+        return inMasks;\r
+    }\r
+    \r
+    private static List<FlowRemovedMask> createFlowRemovedMask() {\r
+        List<FlowRemovedReason> readFlowRemovedReasonList = new ArrayList<FlowRemovedReason>();\r
+        List<FlowRemovedMask> inMasks = new ArrayList<FlowRemovedMask>();\r
+        FlowRemovedMaskBuilder maskBuilder = new FlowRemovedMaskBuilder();\r
+        \r
+        readFlowRemovedReasonList.add(FlowRemovedReason.forValue(2));\r
+        readFlowRemovedReasonList.add(FlowRemovedReason.forValue(2));\r
+        inMasks.add(maskBuilder.setMask(readFlowRemovedReasonList).build()); \r
+        return inMasks;\r
+    }\r
+}\r
index 4123842e7d2bb7dbd27abc42d70f8515173f8032..3c6103ac7033537d90c202262d30e4b68e249945 100644 (file)
@@ -29,7 +29,7 @@ public class PacketInMessageFactoryTest {
         Assert.assertEquals("Wrong bufferID", 0x00010203L, builtByFactory.getBufferId().longValue());\r
         Assert.assertEquals("Wrong totalLength", 0x0102, builtByFactory.getTotalLen().intValue());\r
         Assert.assertEquals("Wrong reason", 0x01, builtByFactory.getReason().shortValue());\r
-        Assert.assertEquals("Wrong tableID", new TableId((long) 4), builtByFactory.getTableId());\r
+        Assert.assertEquals("Wrong tableID", new TableId(4L), builtByFactory.getTableId());\r
         Assert.assertEquals("Wrong cookie", 0x0001020304050607L, builtByFactory.getCookie().longValue());\r
         Assert.assertArrayEquals("Wrong data", ByteBufUtils.hexStringToBytes("01 02 03 04"), builtByFactory.getData());\r
     }\r
index 3fbd8e864f5178940c8b22ca96ca89d4886043c3..e5d91706183e194bb6f6d0c7329856fbf99313bc 100644 (file)
@@ -53,9 +53,9 @@ public class QueueGetConfigReplyMessageFactoryMultiTest {
                 QueueGetConfigReplyMessageFactory.getInstance(), bb);\r
 \r
         BufferHelper.checkHeaderV13(builtByFactory);\r
-        Assert.assertTrue("Wrong port", 66051L == builtByFactory.getPort().getValue());\r
-        Assert.assertTrue("Wrong queues", true == compareLists(builtByFactory.getQueues(),\r
-                        createQueuesList()));\r
+        Assert.assertEquals("Wrong port", 66051L, builtByFactory.getPort().getValue().longValue());\r
+        Assert.assertEquals("Wrong queues", builtByFactory.getQueues(),\r
+                createQueuesList());\r
     }\r
 \r
     private static List<Queues> createQueuesList() {\r
@@ -78,33 +78,4 @@ public class QueueGetConfigReplyMessageFactoryMultiTest {
         return propertiesList;\r
     }\r
 \r
-    private static boolean compareLists(List<Queues> originalList,\r
-            List<Queues> testList) {\r
-        boolean result = false;\r
-        int originalListLength = originalList.size();\r
-        for (int i = 0; i < originalListLength; i++) {\r
-            if (originalList.get(i).getPort().equals(testList.get(i).getPort())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-            if (originalList.get(i).getQueueId()\r
-                    .equals(testList.get(i).getQueueId())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-            if (originalList.get(i).getProperties().get(0).getProperty()\r
-                    .equals(testList.get(i).getProperties().get(0).getProperty())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-        }\r
-        return result;\r
-    }\r
-\r
 }\r
index 74c9a378a5787787296c36d3289a8206e3543bdc..01a7d025ac30b49f69af9ae657cae7a119b93fea 100644 (file)
@@ -32,16 +32,15 @@ public class QueueGetConfigReplyMessageFactoryTest {
         ByteBuf bb = BufferHelper.buildBuffer("00 01 02 03 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00");\r
         GetQueueConfigOutput builtByFactory = BufferHelper.decodeV13(QueueGetConfigReplyMessageFactory.getInstance(), bb);\r
         BufferHelper.checkHeaderV13(builtByFactory);\r
-        Assert.assertTrue("Wrong port",66051L == builtByFactory.getPort().getValue());\r
-        Assert.assertTrue("Wrong queues", true == compareLists(builtByFactory.getQueues(), createQueuesList()));\r
+        Assert.assertEquals("Wrong port", 66051L, builtByFactory.getPort().getValue().longValue());\r
+        Assert.assertEquals("Wrong queues", builtByFactory.getQueues(), createQueuesList());\r
     }\r
     \r
     public List<Queues> createQueuesList(){\r
-        final byte PADDING_IN_PACKET_QUEUE_HEADER = 6;\r
         List<Queues> queuesList = new ArrayList<Queues>();\r
         QueuesBuilder qb = new QueuesBuilder();\r
-        qb.setQueueId(new QueueId((long) 1));\r
-        qb.setPort(new PortNumber((long) 1));\r
+        qb.setQueueId(new QueueId(1L));\r
+        qb.setPort(new PortNumber(1L));\r
         qb.setProperties(createPropertiesList());\r
         queuesList.add(qb.build());\r
         \r
@@ -49,7 +48,6 @@ public class QueueGetConfigReplyMessageFactoryTest {
     }\r
     \r
     public List<Properties> createPropertiesList(){\r
-        final byte PADDING_IN_QUEUE_PROPERTY_HEADER = 4;\r
         List<Properties> propertiesList = new ArrayList<Properties>();\r
         PropertiesBuilder pb = new PropertiesBuilder();\r
         pb.setProperty(QueueProperty.values()[2]);\r
@@ -57,33 +55,4 @@ public class QueueGetConfigReplyMessageFactoryTest {
         \r
         return propertiesList;\r
     }\r
-    \r
-    public boolean compareLists(List<Queues> originalList, List<Queues> testList){\r
-        boolean decision = false;\r
-        int originalListLength = originalList.size();\r
-        int testListLength = testList.size();\r
-        \r
-        for(int i=0; i<originalListLength; i++){\r
-            if(originalList.get(i).getPort().equals(testList.get(i).getPort())) {\r
-                decision = true;\r
-            } else {\r
-                decision = false;\r
-                break;\r
-            }\r
-            if(originalList.get(i).getQueueId().equals(testList.get(i).getQueueId())) {\r
-                decision = true;\r
-            } else {\r
-                decision = false;\r
-                break;\r
-            }\r
-            if(originalList.get(i).getProperties().get(0).getProperty().equals(\r
-                    testList.get(i).getProperties().get(0).getProperty())) {\r
-                decision = true;\r
-            } else {\r
-                decision = false;\r
-                break;\r
-            }\r
-        }\r
-        return decision;\r
-    }\r
 }\r
index a7de110d04318a7f5becd0f65015be46b14f35de..8615225f45fff98eea7c9017d545e100af2b8d37 100644 (file)
@@ -13,7 +13,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 \r
 /**\r
  * @author michal.polkorab\r
- *\r
+ * @author timotej.kubas\r
  */\r
 public class ExperimenterInputMessageFactoryTest {\r
 \r
@@ -25,20 +25,26 @@ public class ExperimenterInputMessageFactoryTest {
      */\r
     @Test\r
     public void test() throws Exception {\r
-        ExperimenterInputBuilder eib = new ExperimenterInputBuilder();\r
-        BufferHelper.setupHeader(eib);\r
-        eib.setExperimenter(0x0001020304L);\r
-        eib.setExpType(0x0001020304L);\r
-        ExperimenterInput ei = eib.build();\r
+        ExperimenterInputBuilder builder = new ExperimenterInputBuilder();\r
+        BufferHelper.setupHeader(builder);\r
+        builder.setExperimenter(0x0001020304L);\r
+        builder.setExpType(0x0001020304L);\r
+        builder.setData(new byte[] {0x01, 0x02, 0x03});\r
+        ExperimenterInput message = builder.build();\r
         \r
         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
-        ExperimenterInputMessageFactory eimf = ExperimenterInputMessageFactory.getInstance();\r
-        eimf.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, ei);\r
+        ExperimenterInputMessageFactory factory = ExperimenterInputMessageFactory.getInstance();\r
+        factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
         \r
-        BufferHelper.checkHeaderV13(out, EXPERIMENTER_REQUEST_MESSAGE_CODE_TYPE, 16);\r
+        BufferHelper.checkHeaderV13(out, EXPERIMENTER_REQUEST_MESSAGE_CODE_TYPE, factory.computeLength());\r
         Assert.assertEquals("Wrong experimenter", 0x0001020304L, out.readUnsignedInt());\r
         Assert.assertEquals("Wrong expType", 0x0001020304L, out.readUnsignedInt());\r
+        Assert.assertArrayEquals("Wrong data", message.getData(), readData(out));\r
+    }\r
+    \r
+    private static byte[] readData(ByteBuf input) {\r
+        byte[] data = new byte[input.readableBytes()]; \r
+        input.readBytes(data);\r
+        return data;\r
     }\r
-\r
-\r
 }\r
index 5379488264f5f678c1902e1e09e7f5e2471ba3e7..7f98d2cbe4f602b4ad12e667ebd9c964d0907501 100644 (file)
@@ -50,7 +50,7 @@ public class GroupModInputMessageFactoryTest {
         Assert.assertEquals("Wrong type", message.getType().getIntValue(), out.readByte());\r
         out.skipBytes(PADDING_IN_GROUP_MOD_MESSAGE);\r
         Assert.assertEquals("Wrong groupId", message.getGroupId().intValue(), out.readUnsignedInt());\r
-        Assert.assertEquals("Wrong bucketList", true, compareBucketsLists(createBucketsList(), createBucketsListFromBufer(out)));\r
+        Assert.assertEquals("Wrong bucketList", createBucketsList(), createBucketsListFromBufer(out));\r
     }\r
     \r
     private static List<Buckets> createBucketsList(){\r
@@ -77,34 +77,4 @@ public class GroupModInputMessageFactoryTest {
         bucketsList.add(bucket);\r
         return bucketsList;\r
     }\r
-    \r
-    private static boolean compareBucketsLists(List<Buckets> bucketsFromMessage, List<Buckets> bucketsFromBuffer) {\r
-        boolean result = false;\r
-        int bucketsFromMessageLength = bucketsFromMessage.size();\r
-        for (int i = 0; i < bucketsFromMessageLength; i++) {\r
-            if (bucketsFromMessage.get(i).getWeight().equals(bucketsFromBuffer.get(i).getWeight())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-            if (bucketsFromMessage.get(i).getWatchPort()\r
-                    .equals(bucketsFromBuffer.get(i).getWatchPort())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-            if (bucketsFromMessage.get(i).getWatchGroup()\r
-                    .equals(bucketsFromBuffer.get(i).getWatchGroup())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-        }\r
-     // TODO get method for field length missing\r
-     // TODO actions structure missing\r
-        return result;\r
-    }\r
 }\r
index c8a5b762435a02a27cfc1be76a60e5f25859e67c..535f30edbaa009c88302be2bed5caaae9bd5239f 100644 (file)
@@ -49,7 +49,7 @@ public class MeterModInputMessageFactoryTest {
         Assert.assertEquals("Wrong meterModCommand", message.getCommand().getIntValue(), out.readShort());\r
         Assert.assertEquals("Wrong meterFlags", message.getFlags(), decodeMeterModFlags(out.readShort()));\r
         Assert.assertEquals("Wrong meterId", message.getMeterId().getValue().intValue(), out.readUnsignedInt());\r
-        Assert.assertEquals("Wrong bands", true, compareBandsLists(createBandsList(), decodeBandsList(out)));\r
+        Assert.assertEquals("Wrong bands", createBandsList(), decodeBandsList(out));\r
     }\r
     \r
     private static MeterFlags decodeMeterModFlags(short input){\r
@@ -83,34 +83,4 @@ public class MeterModInputMessageFactoryTest {
         bandsList.add(band);\r
         return bandsList;\r
     }\r
-    \r
-    private static boolean compareBandsLists(List<Bands> bandsFromMessage, List<Bands> bandsFromBuffer) {\r
-        boolean result = false;\r
-        int bandsFromMessageLength = bandsFromMessage.size();\r
-        for (int i = 0; i < bandsFromMessageLength; i++) {\r
-            if (bandsFromMessage.get(i).getType().equals(bandsFromBuffer.get(i).getType())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-            if (bandsFromMessage.get(i).getRate()\r
-                    .equals(bandsFromBuffer.get(i).getRate())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-            if (bandsFromMessage.get(i).getBurstSize()\r
-                    .equals(bandsFromBuffer.get(i).getBurstSize())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-        }\r
-     // TODO get method for field length missing\r
-     // TODO actions structure missing\r
-        return result;\r
-    }\r
 }\r
diff --git a/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MultipartRequestMessageFactoryTest.java b/openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MultipartRequestMessageFactoryTest.java
new file mode 100644 (file)
index 0000000..268a4dd
--- /dev/null
@@ -0,0 +1,51 @@
+/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */\r
+package org.opendaylight.openflowjava.protocol.impl.serialization.factories;\r
+\r
+import junit.framework.Assert;\r
+import io.netty.buffer.ByteBuf;\r
+import io.netty.buffer.UnpooledByteBufAllocator;\r
+\r
+import org.junit.Test;\r
+import org.opendaylight.openflowjava.protocol.impl.deserialization.factories.HelloMessageFactoryTest;\r
+import org.opendaylight.openflowjava.protocol.impl.util.BufferHelper;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterFlags;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartRequestFlags;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestMessage;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestMessageBuilder;\r
+\r
+/**\r
+ * @author timotej.kubas\r
+ *\r
+ */\r
+public class MultipartRequestMessageFactoryTest {\r
+    private static final byte PADDING_IN_MULTIPART_REQUEST_MESSAGE = 4;\r
+    \r
+    /**\r
+     * @throws Exception\r
+     * Testing of {@link MultipartRequestMessageFactory} for correct translation from POJO\r
+     */\r
+    @Test\r
+    public void testMultipartRequestMessageFactory() throws Exception {\r
+        MultipartRequestMessageBuilder builder = new MultipartRequestMessageBuilder();\r
+        BufferHelper.setupHeader(builder);\r
+        builder.setType(MultipartType.forValue(5));\r
+        builder.setFlags(new MultipartRequestFlags(true));\r
+        MultipartRequestMessage message = builder.build();\r
+        \r
+        ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
+        MultipartRequestMessageFactory factory = MultipartRequestMessageFactory.getInstance();\r
+        factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
+        \r
+        BufferHelper.checkHeaderV13(out, factory.getMessageType(), factory.computeLength());\r
+        Assert.assertEquals("Wrong type", message.getType().getIntValue(), out.readShort());\r
+        Assert.assertEquals("Wrong flags", message.getFlags(), decodeMultipartRequestFlags(out.readShort()));\r
+        out.skipBytes(PADDING_IN_MULTIPART_REQUEST_MESSAGE);\r
+        // TODO multipart body\r
+    }\r
+    \r
+    private static MultipartRequestFlags decodeMultipartRequestFlags(short input){\r
+        final Boolean _oFPMPFREQMORE = (input & (1 << 0)) > 0;\r
+        return new MultipartRequestFlags(_oFPMPFREQMORE);\r
+    }\r
+}\r
index c9952e87e6d0a82a1f9be7ebf077fb0a9f2c5571..54395ca9e776582cf9bfcf9b5185baf9ffe5e674 100644 (file)
@@ -41,9 +41,9 @@ public class SetAsyncInputMessageFactoryTest {
         factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
         \r
         BufferHelper.checkHeaderV13(out, factory.getMessageType(), factory.computeLength());\r
-        Assert.assertTrue("Wrong packetInMask", comparePIRLists(message.getPacketInMask(), readPacketInMask(out)));\r
-        Assert.assertTrue("Wrong packetInMask", comparePortReasonLists(message.getPortStatusMask(), readPortStatusMask(out)));\r
-        Assert.assertTrue("Wrong packetInMask", compareFlowRemovedReasonLists(message.getFlowRemovedMask(), readFlowRemovedReasonMask(out)));\r
+        Assert.assertEquals("Wrong packetInMask", message.getPacketInMask(), readPacketInMask(out));\r
+        Assert.assertEquals("Wrong packetInMask", message.getPortStatusMask(), readPortStatusMask(out));\r
+        Assert.assertEquals("Wrong packetInMask", message.getFlowRemovedMask(), readFlowRemovedReasonMask(out));\r
         \r
     }\r
     \r
@@ -91,9 +91,9 @@ public class SetAsyncInputMessageFactoryTest {
     \r
     private static PacketInReason readPacketInReason(int input) {\r
         PacketInReason reason = null;\r
-        Boolean OFPRNOMATCH = (input & (1 << 0)) > 0;\r
-        Boolean OFPRACTION = (input & (1 << 1)) > 0;\r
-        Boolean OFPRINVALIDTTL = (input & (1 << 2)) > 0;\r
+        boolean OFPRNOMATCH = (input & (1 << 0)) > 0;\r
+        boolean OFPRACTION = (input & (1 << 1)) > 0;\r
+        boolean OFPRINVALIDTTL = (input & (1 << 2)) > 0;\r
         \r
         if (OFPRNOMATCH) {\r
             return PacketInReason.forValue(0);\r
@@ -110,9 +110,9 @@ public class SetAsyncInputMessageFactoryTest {
     \r
     private static PortReason readPortReason(int input) {\r
         PortReason reason = null;\r
-        Boolean OFPPRADD = (input & (1 << 0)) > 0;\r
-        Boolean OFPPRDELETE = (input & (1 << 1)) > 0;\r
-        Boolean OFPPRMODIFY = (input & (1 << 2)) > 0;\r
+        boolean OFPPRADD = (input & (1 << 0)) > 0;\r
+        boolean OFPPRDELETE = (input & (1 << 1)) > 0;\r
+        boolean OFPPRMODIFY = (input & (1 << 2)) > 0;\r
         \r
         if (OFPPRADD) {\r
             return PortReason.forValue(0);\r
@@ -129,10 +129,10 @@ public class SetAsyncInputMessageFactoryTest {
     \r
     private static FlowRemovedReason readFlowRemovedReason(int input) {\r
         FlowRemovedReason reason = null;\r
-        Boolean OFPRRIDLETIMEOUT = (input & (1 << 0)) > 0;\r
-        Boolean OFPRRHARDTIMEOUT = (input & (1 << 1)) > 0;\r
-        Boolean OFPRRDELETE = (input & (1 << 2)) > 0;\r
-        Boolean OFPRRGROUPDELETE = (input & (1 << 3)) > 0;\r
+        boolean OFPRRIDLETIMEOUT = (input & (1 << 0)) > 0;\r
+        boolean OFPRRHARDTIMEOUT = (input & (1 << 1)) > 0;\r
+        boolean OFPRRDELETE = (input & (1 << 2)) > 0;\r
+        boolean OFPRRGROUPDELETE = (input & (1 << 3)) > 0;\r
         \r
         if (OFPRRIDLETIMEOUT) {\r
             return FlowRemovedReason.forValue(0);\r
@@ -149,48 +149,4 @@ public class SetAsyncInputMessageFactoryTest {
         \r
         return reason;\r
     }\r
-    \r
-    private static boolean comparePIRLists(List<PacketInReason> fromMessage, List<PacketInReason> fromBuffer) {\r
-        boolean result = false;\r
-        int romMessageLength = fromMessage.size();\r
-        for (int i = 0; i < romMessageLength; i++) {\r
-            if ((fromMessage.get(i).getIntValue()) == (fromBuffer.get(i).getIntValue())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-        }\r
-        return result;\r
-    }\r
-    \r
-    private static boolean comparePortReasonLists(List<PortReason> fromMessage, \r
-            List<PortReason> fromBuffer) {\r
-        boolean result = false;\r
-        int fromMessageLength = fromMessage.size();\r
-        for (int i = 0; i < fromMessageLength; i++) {\r
-            if ((fromMessage.get(i).getIntValue()) == (fromBuffer.get(i).getIntValue())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-        }\r
-        return result;\r
-    }\r
-    \r
-    private static boolean compareFlowRemovedReasonLists(List<FlowRemovedReason> fromMessage, \r
-            List<FlowRemovedReason> fromBuffer) {\r
-        boolean result = false;\r
-        int fromMessageLength = fromMessage.size();\r
-        for (int i = 0; i < fromMessageLength; i++) {\r
-            if ((fromMessage.get(i).getIntValue()) == (fromBuffer.get(i).getIntValue())) {\r
-                result = true;\r
-            } else {\r
-                result = false;\r
-                break;\r
-            }\r
-        }\r
-        return result;\r
-    }\r
 }\r