Yang model fixed 36/3336/3
authorMichal Polkorab <michal.polkorab@pantheon.sk>
Mon, 2 Dec 2013 12:05:26 +0000 (13:05 +0100)
committerMichal Polkorab <michal.polkorab@pantheon.sk>
Fri, 13 Dec 2013 08:45:31 +0000 (09:45 +0100)
Signed-off-by: Michal Polkorab <michal.polkorab@pantheon.sk>
Change-Id: I420b7df2237d1b87b1eb1cde1b98a3bf65c941fc

15 files changed:
openflow-protocol-api/src/main/yang/openflow-action.yang
openflow-protocol-api/src/main/yang/openflow-augments.yang
openflow-protocol-api/src/main/yang/openflow-extensible-match.yang
openflow-protocol-api/src/main/yang/openflow-instruction.yang
openflow-protocol-api/src/main/yang/openflow-protocol.yang
openflow-protocol-api/src/main/yang/openflow-types.yang
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/core/PublishingChannelInitializer.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/MultipartReplyMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/OF10StatsReplyMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MeterModInputMessageFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/MultipartRequestInputFactory.java
openflow-protocol-impl/src/main/java/org/opendaylight/openflowjava/protocol/impl/serialization/factories/OF10StatsRequestInputFactory.java
openflow-protocol-impl/src/test/java/org/opendaylight/openflowjava/protocol/impl/deserialization/factories/MultipartReplyMessageFactoryTest.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/MultipartRequestInputFactoryTest.java

index 4bdf10b18489dcd528ac067f7c7d9e5d603fdd49..f8c9a4689314368dc512b059f654933d7fa2640d 100644 (file)
@@ -83,6 +83,7 @@ module openflow-action {
     
     grouping actions {
         list actions-list {
+            key "action";
             container action {
                 leaf type {
                     type identityref {
index 866acfe26f8971ec8997d71e39af599380ef192b..71718bc770b3ca1a037741fdc0f70063471d1535 100644 (file)
@@ -295,6 +295,7 @@ module openflow-augments {
      augment "/ofproto:table-features-properties-container/ofproto:table-feature-properties" {\r
          ext:augment-identifier "next-table-related-table-feature-property";\r
          list next-table-ids {\r
+             key "table-id";\r
              leaf table-id {\r
                  type uint8;\r
              }\r
index a0761a703aaa5cd9785f997b9d994c919e295b87..349f3770863d6435b89e56a978ca0ed4fd097db2 100644 (file)
@@ -213,6 +213,7 @@ module openflow-extensible-match {
         
         grouping oxm-fields {
             list match-entries {
+                key "oxm-class oxm-match-field has-mask";
                 leaf oxm-class {
                     type identityref {
                         base clazz;
index 1f014c760f4f0b50868df9460f2fec21b5366541..bbd61a9e7cbc46235a0474267bdc68e661594d8b 100644 (file)
@@ -43,6 +43,7 @@ module openflow-instruction {
 
     grouping instructions {
         list instructions {
+            key "type";
             leaf type {
                 type identityref {
                     base oft:instruction;
index ec5f76bd9983b4ad2b45e9c7ae1df5201f7a9b28..7a71c1ce89843cb9dc63f8d21fd6effbc190e670 100644 (file)
@@ -2,7 +2,6 @@ module openflow-protocol {
     namespace "urn:opendaylight:openflow:protocol";\r
     prefix "ofproto";\r
 \r
-    import ietf-inet-types {prefix inet;}\r
     import ietf-yang-types {prefix yang;}\r
     \r
     import openflow-types {prefix oft;}\r
@@ -138,6 +137,7 @@ module openflow-protocol {
 \r
         grouping table-features-properties {\r
             list table-feature-properties {\r
+                key "type";\r
                 leaf type {\r
                     type oft:table-features-prop-type;\r
                 }\r
@@ -545,471 +545,531 @@ module openflow-protocol {
                     type oft:multipart-request-flags;\r
                 }      \r
                 choice multipart-request-body {\r
-                    case multipart-request-desc {\r
-                        leaf empty {\r
-                            type empty;\r
-                        }\r
-                    }\r
-                    case multipart-request-flow {\r
-                        leaf table-id {\r
-                            type uint8;\r
-                        }\r
-                        leaf out-port {\r
-                            type uint32;\r
-                        }\r
-                        leaf out-group {\r
-                            type uint32;\r
-                        }\r
-                        leaf cookie {\r
-                            type uint64;\r
-                        }\r
-                        leaf cookie-mask {\r
-                            type uint64;\r
-                        }\r
-                        uses match-grouping;\r
-                        \r
-                        // OF1.0 structures\r
-                        uses oxm:match-v10-grouping;\r
-                    }\r
-                    case multipart-request-aggregate {\r
-                        leaf table-id {\r
-                            type uint8;\r
-                        }\r
-                        leaf out-port {\r
-                            type uint32;\r
-                        }\r
-                        leaf out-group {\r
-                            type uint32;\r
-                        }\r
-                        leaf cookie {\r
-                            type uint64;\r
-                        }\r
-                        leaf cookie-mask {\r
-                            type uint64;\r
-                        }\r
-                        uses match-grouping;\r
-                        \r
-                        // OF1.0 structures\r
-                        uses oxm:match-v10-grouping;\r
-                    }\r
-                    case multipart-request-table {\r
-                        leaf empty {\r
-                            type empty;\r
-                        }\r
-                    }\r
-                    case multipart-request-port-stats {\r
-                        leaf port-no {\r
-                            type uint32;\r
-                        }\r
-                    }\r
-                    case multipart-request-queue {\r
-                        leaf port-no {\r
-                            type uint32;\r
-                        }\r
-                        leaf queue-id {\r
-                            type uint32;\r
-                        }\r
-                    }\r
-                    case multipart-request-group {\r
-                        leaf group-id {\r
-                            type oft:group-id;\r
-                        }\r
-                    }\r
-                    case multipart-request-group-desc {\r
-                        leaf empty {\r
-                            type empty;\r
-                        }\r
-                    }\r
-                    case multipart-request-group-features {\r
-                        leaf empty {\r
-                            type empty;\r
-                        }\r
-                    }\r
-                    case multipart-request-meter {\r
-                        leaf meter-id {\r
-                            type oft:meter-id;\r
-                        }\r
-                    }\r
-                    case multipart-request-meter-config {\r
-                        leaf meter-id {\r
-                            type oft:meter-id;\r
-                        }\r
-                    }\r
-                    case multipart-request-meter-features {\r
-                        leaf empty {\r
-                            type empty;\r
-                        }\r
-                    }\r
-                    case multipart-request-table-features {\r
-                        list table-features {\r
-                            leaf table-id {\r
-                                type uint8;\r
-                            }\r
-                            leaf name {\r
-                                type string;\r
-                            }\r
-                            leaf metadata-match {\r
-                                type uint64;\r
-                            }\r
-                            leaf metadata-write {\r
-                                type uint64;\r
-                            }\r
-                            leaf config {\r
-                                type oft:table-config;\r
+                    case multipart-request-desc-case {\r
+                        container multipart-request-desc {\r
+                            leaf empty {\r
+                                type empty;\r
                             }\r
-                            leaf max-entries {\r
-                                type uint32;\r
-                            }\r
-                            uses table-features-properties;\r
-                        }\r
-                    }\r
-                    case multipart-request-port-desc {\r
-                        leaf empty {\r
-                            type empty;\r
                         }\r
                     }\r
-                    case multipart-request-experimenter {\r
-                        leaf experimenter {\r
-                            type uint32;\r
-                        }\r
-                        leaf exp-type {\r
-                            type uint32;\r
-                        }\r
-                        leaf data {\r
-                            type binary;\r
-                        }\r
-                    }\r
-                }\r
-            } \r
-            grouping multipart-reply {\r
-                // reference "OFPT_MULTIPART_REPLY message in Openflow Switch 1.3 Spec"\r
-                /* Controller/switch message */\r
-\r
-                uses ofHeader;\r
-                \r
-                leaf type {\r
-                    type oft:multipart-type;\r
-                }\r
-                leaf flags {\r
-                    type oft:multipart-request-flags;\r
-                }\r
-                choice multipart-reply-body {\r
-                    case multipart-reply-desc {\r
-                        leaf mfr_desc {\r
-                            type string;\r
-                        }\r
-                        leaf hw_desc {\r
-                            type string;\r
-                        }\r
-                        leaf sw_desc {\r
-                            type string;\r
-                        }\r
-                        leaf serial_num {\r
-                            type string;\r
-                        }\r
-                        leaf dp_desc {\r
-                            type string;\r
-                        }\r
-                    }\r
-                    case multipart-reply-flow {\r
-                        list flow-stats {\r
+                    case multipart-request-flow-case {\r
+                        container multipart-request-flow {\r
                             leaf table-id {\r
                                 type uint8;\r
                             }\r
-                            leaf duration-sec {\r
+                            leaf out-port {\r
                                 type uint32;\r
                             }\r
-                            leaf duration-nsec {\r
+                            leaf out-group {\r
                                 type uint32;\r
                             }\r
-                            leaf priority {\r
-                                type uint16;\r
-                            }\r
-                            leaf idle-timeout {\r
-                                type uint16;\r
-                            }\r
-                            leaf hard-timeout {\r
-                                type uint16;\r
-                            }\r
-                            leaf flags {\r
-                                type oft:flow-mod-flags;\r
-                            }\r
                             leaf cookie {\r
                                 type uint64;\r
                             }\r
-                            leaf packet-count {\r
-                                type uint64;\r
-                            }\r
-                            leaf byte-count {\r
+                            leaf cookie-mask {\r
                                 type uint64;\r
                             }\r
                             uses match-grouping;\r
                             \r
-                            uses ofinstruction:instructions;\r
-                            \r
                             // OF1.0 structures\r
                             uses oxm:match-v10-grouping;\r
-                            uses ofaction:actions;\r
-                        }\r
-                    }\r
-                    case multipart-reply-aggregate {\r
-                        leaf packet-count {\r
-                            type uint64;\r
-                        }\r
-                        leaf byte-count {\r
-                            type uint64;\r
-                        }\r
-                        leaf flow-count {\r
-                            type uint32;\r
                         }\r
                     }\r
-                    case multipart-reply-table {\r
-                        list table-stats {\r
+                    case multipart-request-aggregate-case {\r
+                        container multipart-request-aggregate {\r
                             leaf table-id {\r
                                 type uint8;\r
                             }\r
-                            leaf active-count {\r
+                            leaf out-port {\r
+                                type uint32;\r
+                            }\r
+                            leaf out-group {\r
                                 type uint32;\r
                             }\r
-                            leaf lookup-count {\r
+                            leaf cookie {\r
                                 type uint64;\r
                             }\r
-                            leaf matched-count {\r
+                            leaf cookie-mask {\r
                                 type uint64;\r
                             }\r
+                            uses match-grouping;\r
                             \r
                             // OF1.0 structures\r
-                            leaf name {\r
-                                type string;\r
+                            uses oxm:match-v10-grouping;\r
+                        }\r
+                    }\r
+                    case multipart-request-table-case {\r
+                        container multipart-request-table {\r
+                            leaf empty {\r
+                                type empty;\r
                             }\r
                         }\r
                     }\r
-                    case multipart-reply-port-stats {\r
-                        list port-stats {\r
+                    case multipart-request-port-stats-case {\r
+                        container multipart-request-port-stats {\r
                             leaf port-no {\r
                                 type uint32;\r
                             }\r
-                            leaf rx-packets {\r
-                                type uint64;\r
-                            }\r
-                            leaf tx-packets {\r
-                                type uint64;\r
-                            }\r
-                            leaf rx-bytes {\r
-                                type uint64;\r
-                            }\r
-                            leaf tx-bytes {\r
-                                type uint64;\r
-                            }\r
-                            leaf rx-dropped {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-request-queue-case {\r
+                        container multipart-request-queue {\r
+                            leaf port-no {\r
+                                type uint32;\r
                             }\r
-                            leaf tx-dropped {\r
-                                type uint64;\r
+                            leaf queue-id {\r
+                                type uint32;\r
                             }\r
-                            leaf rx-errors {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-request-group-case {\r
+                        container multipart-request-group {\r
+                            leaf group-id {\r
+                                type oft:group-id;\r
                             }\r
-                            leaf tx-errors {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-request-group-desc-case {\r
+                        container multipart-request-group-desc {\r
+                            leaf empty {\r
+                                type empty;\r
                             }\r
-                            leaf rx-frame-err {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-request-group-features-case {\r
+                        container multipart-request-group-features {\r
+                            leaf empty {\r
+                                type empty;\r
                             }\r
-                            leaf rx-over-err {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-request-meter-case {\r
+                        container multipart-request-meter {\r
+                            leaf meter-id {\r
+                                type oft:meter-id;\r
                             }\r
-                            leaf rx-crc-err {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-request-meter-config-case {\r
+                        container multipart-request-meter-config {\r
+                            leaf meter-id {\r
+                                type oft:meter-id;\r
                             }\r
-                            leaf collisions {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-request-meter-features-case {\r
+                        container multipart-request-meter-features {\r
+                            leaf empty {\r
+                                type empty;\r
                             }\r
-                            leaf duration-sec {\r
-                                type uint32;\r
+                        }\r
+                    }\r
+                    case multipart-request-table-features-case {\r
+                        container multipart-request-table-features {\r
+                            list table-features {\r
+                                leaf table-id {\r
+                                    type uint8;\r
+                                }\r
+                                leaf name {\r
+                                    type string;\r
+                                }\r
+                                leaf metadata-match {\r
+                                    type uint64;\r
+                                }\r
+                                leaf metadata-write {\r
+                                    type uint64;\r
+                                }\r
+                                leaf config {\r
+                                    type oft:table-config;\r
+                                }\r
+                                leaf max-entries {\r
+                                    type uint32;\r
+                                }\r
+                                uses table-features-properties;\r
                             }\r
-                            leaf duration-nsec {\r
-                                type uint32;\r
+                        }\r
+                    }\r
+                    case multipart-request-port-desc-case {\r
+                        container multipart-request-port-desc {\r
+                            leaf empty {\r
+                                type empty;\r
                             }\r
                         }\r
                     }\r
-                    case multipart-reply-queue {\r
-                        list queue-stats {\r
-                            leaf port-no {\r
+                    case multipart-request-experimenter-case {\r
+                        container multipart-request-experimenter {\r
+                            leaf experimenter {\r
                                 type uint32;\r
                             }\r
-                            leaf queue-id {\r
+                            leaf exp-type {\r
                                 type uint32;\r
                             }\r
-                            leaf tx-bytes {\r
-                                type uint64;\r
+                            leaf data {\r
+                                type binary;\r
                             }\r
-                            leaf tx-packets {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                }\r
+            } \r
+            grouping multipart-reply {\r
+                // reference "OFPT_MULTIPART_REPLY message in Openflow Switch 1.3 Spec"\r
+                /* Controller/switch message */\r
+\r
+                uses ofHeader;\r
+                \r
+                leaf type {\r
+                    type oft:multipart-type;\r
+                }\r
+                leaf flags {\r
+                    type oft:multipart-request-flags;\r
+                }\r
+                choice multipart-reply-body {\r
+                    case multipart-reply-desc-case {\r
+                        container multipart-reply-desc {\r
+                            leaf mfr_desc {\r
+                                type string;\r
                             }\r
-                            leaf tx-errors {\r
-                                type uint64;\r
+                            leaf hw_desc {\r
+                                type string;\r
                             }\r
-                            leaf duration-sec {\r
-                                type uint32;\r
+                            leaf sw_desc {\r
+                                type string;\r
                             }\r
-                            leaf duration-nsec {\r
-                                type uint32;\r
+                            leaf serial_num {\r
+                                type string;\r
+                            }\r
+                            leaf dp_desc {\r
+                                type string;\r
                             }\r
                         }\r
                     }\r
-                    case multipart-reply-group {\r
-                        list group-stats {\r
-                            leaf group-id {\r
-                                type oft:group-id;\r
-                            }\r
-                            leaf ref-count {\r
-                                type uint32;\r
+                    case multipart-reply-flow-case {\r
+                        container multipart-reply-flow {\r
+                            list flow-stats {\r
+                                leaf table-id {\r
+                                    type uint8;\r
+                                }\r
+                                leaf duration-sec {\r
+                                    type uint32;\r
+                                }\r
+                                leaf duration-nsec {\r
+                                    type uint32;\r
+                                }\r
+                                leaf priority {\r
+                                    type uint16;\r
+                                }\r
+                                leaf idle-timeout {\r
+                                    type uint16;\r
+                                }\r
+                                leaf hard-timeout {\r
+                                    type uint16;\r
+                                }\r
+                                leaf flags {\r
+                                    type oft:flow-mod-flags;\r
+                                }\r
+                                leaf cookie {\r
+                                    type uint64;\r
+                                }\r
+                                leaf packet-count {\r
+                                    type uint64;\r
+                                }\r
+                                leaf byte-count {\r
+                                    type uint64;\r
+                                }\r
+                                uses match-grouping;\r
+                                \r
+                                uses ofinstruction:instructions;\r
+                                \r
+                                // OF1.0 structures\r
+                                uses oxm:match-v10-grouping;\r
+                                uses ofaction:actions;\r
                             }\r
+                        }\r
+                    }\r
+                    case multipart-reply-aggregate-case {\r
+                        container multipart-reply-aggregate {\r
                             leaf packet-count {\r
                                 type uint64;\r
                             }\r
                             leaf byte-count {\r
                                 type uint64;\r
                             }\r
-                            leaf duration-sec {\r
-                                type uint32;\r
-                            }\r
-                            leaf duration-nsec {\r
+                            leaf flow-count {\r
                                 type uint32;\r
                             }\r
-                            list bucket-stats {\r
-                                leaf packet-count {\r
+                        }\r
+                    }\r
+                    case multipart-reply-table-case {\r
+                        container multipart-reply-table {\r
+                            list table-stats {\r
+                                leaf table-id {\r
+                                    type uint8;\r
+                                }\r
+                                leaf active-count {\r
+                                    type uint32;\r
+                                }\r
+                                leaf lookup-count {\r
                                     type uint64;\r
                                 }\r
-                                leaf byte-count {\r
+                                leaf matched-count {\r
                                     type uint64;\r
                                 }\r
+                                \r
+                                // OF1.0 structures\r
+                                leaf name {\r
+                                    type string;\r
+                                }\r
                             }\r
                         }\r
                     }\r
-                    case multipart-reply-group-desc {\r
-                        list group-desc {\r
-                            leaf type {\r
-                                type oft:group-type;\r
-                            }\r
-                            leaf group-id {\r
-                                type oft:group-id;\r
+                    case multipart-reply-port-stats-case {\r
+                        container multipart-reply-port-stats {\r
+                            list port-stats {\r
+                                leaf port-no {\r
+                                    type uint32;\r
+                                }\r
+                                leaf rx-packets {\r
+                                    type uint64;\r
+                                }\r
+                                leaf tx-packets {\r
+                                    type uint64;\r
+                                }\r
+                                leaf rx-bytes {\r
+                                    type uint64;\r
+                                }\r
+                                leaf tx-bytes {\r
+                                    type uint64;\r
+                                }\r
+                                leaf rx-dropped {\r
+                                    type uint64;\r
+                                }\r
+                                leaf tx-dropped {\r
+                                    type uint64;\r
+                                }\r
+                                leaf rx-errors {\r
+                                    type uint64;\r
+                                }\r
+                                leaf tx-errors {\r
+                                    type uint64;\r
+                                }\r
+                                leaf rx-frame-err {\r
+                                    type uint64;\r
+                                }\r
+                                leaf rx-over-err {\r
+                                    type uint64;\r
+                                }\r
+                                leaf rx-crc-err {\r
+                                    type uint64;\r
+                                }\r
+                                leaf collisions {\r
+                                    type uint64;\r
+                                }\r
+                                leaf duration-sec {\r
+                                    type uint32;\r
+                                }\r
+                                leaf duration-nsec {\r
+                                    type uint32;\r
+                                }\r
                             }\r
-                            uses buckets;\r
                         }\r
                     }\r
-                    case multipart-reply-group-features {\r
-                        leaf types {\r
-                            type oft:group-types;\r
-                        }\r
-                        leaf capabilities {\r
-                            type oft:group-capabilities;\r
-                        }\r
-                        leaf-list max_groups {\r
-                            type uint32;\r
-                        }\r
-                        leaf-list actions-bitmap {\r
-                            type oft:action-type;\r
+                    case multipart-reply-queue-case {\r
+                        container multipart-reply-queue {\r
+                            list queue-stats {\r
+                                leaf port-no {\r
+                                    type uint32;\r
+                                }\r
+                                leaf queue-id {\r
+                                    type uint32;\r
+                                }\r
+                                leaf tx-bytes {\r
+                                    type uint64;\r
+                                }\r
+                                leaf tx-packets {\r
+                                    type uint64;\r
+                                }\r
+                                leaf tx-errors {\r
+                                    type uint64;\r
+                                }\r
+                                leaf duration-sec {\r
+                                    type uint32;\r
+                                }\r
+                                leaf duration-nsec {\r
+                                    type uint32;\r
+                                }\r
+                            }\r
                         }\r
                     }\r
-                    case multipart-reply-meter {\r
-                        list meter-stats {\r
-                            leaf meter-id {\r
-                                type oft:meter-id;\r
+                    case multipart-reply-group-case {\r
+                        container multipart-reply-group {\r
+                            list group-stats {\r
+                                leaf group-id {\r
+                                    type oft:group-id;\r
+                                }\r
+                                leaf ref-count {\r
+                                    type uint32;\r
+                                }\r
+                                leaf packet-count {\r
+                                    type uint64;\r
+                                }\r
+                                leaf byte-count {\r
+                                    type uint64;\r
+                                }\r
+                                leaf duration-sec {\r
+                                    type uint32;\r
+                                }\r
+                                leaf duration-nsec {\r
+                                    type uint32;\r
+                                }\r
+                                list bucket-stats {\r
+                                    leaf packet-count {\r
+                                        type uint64;\r
+                                    }\r
+                                    leaf byte-count {\r
+                                        type uint64;\r
+                                    }\r
+                                }\r
                             }\r
-                            leaf flow-count {\r
-                                type uint32;\r
+                        }\r
+                    }\r
+                    case multipart-reply-group-desc-case {\r
+                        container multipart-reply-group-desc {\r
+                            list group-desc {\r
+                                leaf type {\r
+                                    type oft:group-type;\r
+                                }\r
+                                leaf group-id {\r
+                                    type oft:group-id;\r
+                                }\r
+                                uses buckets;\r
                             }\r
-                            leaf packet-in-count {\r
-                                type uint64;\r
+                        }\r
+                    }\r
+                    case multipart-reply-group-features-case {\r
+                        container multipart-reply-group-features {\r
+                            leaf types {\r
+                                type oft:group-types;\r
                             }\r
-                            leaf byte-in-count {\r
-                                type uint64;\r
+                            leaf capabilities {\r
+                                type oft:group-capabilities;\r
                             }\r
-                            leaf duration-sec {\r
+                            leaf-list max_groups {\r
                                 type uint32;\r
                             }\r
-                            leaf duration-nsec {\r
-                                type uint32;\r
+                            leaf-list actions-bitmap {\r
+                                type oft:action-type;\r
                             }\r
-                            list meter-band-stats {\r
-                                leaf packet-band-count {\r
+                        }\r
+                    }\r
+                    case multipart-reply-meter-case {\r
+                        container multipart-reply-meter {\r
+                            list meter-stats {\r
+                                leaf meter-id {\r
+                                    type oft:meter-id;\r
+                                }\r
+                                leaf flow-count {\r
+                                    type uint32;\r
+                                }\r
+                                leaf packet-in-count {\r
                                     type uint64;\r
                                 }\r
-                                leaf byte-band-count {\r
+                                leaf byte-in-count {\r
                                     type uint64;\r
                                 }\r
+                                leaf duration-sec {\r
+                                    type uint32;\r
+                                }\r
+                                leaf duration-nsec {\r
+                                    type uint32;\r
+                                }\r
+                                list meter-band-stats {\r
+                                    leaf packet-band-count {\r
+                                        type uint64;\r
+                                    }\r
+                                    leaf byte-band-count {\r
+                                        type uint64;\r
+                                    }\r
+                                }\r
                             }\r
                         }\r
                     }\r
-                    case multipart-reply-meter-config {\r
-                        list meter-config {\r
-                            leaf flags {\r
-                                type oft:meter-flags;\r
-                            }\r
-                            leaf meter-id {\r
-                                type oft:meter-id;\r
-                            }\r
-                            list bands {\r
-                                uses meter-band-header;\r
+                    case multipart-reply-meter-config-case {\r
+                        container multipart-reply-meter-config {\r
+                            list meter-config {\r
+                                leaf flags {\r
+                                    type oft:meter-flags;\r
+                                }\r
+                                leaf meter-id {\r
+                                    type oft:meter-id;\r
+                                }\r
+                                list bands {\r
+                                    uses meter-band-header;\r
+                                }\r
                             }\r
                         }\r
                     }\r
-                    case multipart-reply-meter-features {\r
-                        leaf max-meter {\r
-                            type uint32;\r
-                        }\r
-                        leaf band-types {\r
-                            type oft:meter-band-type-bitmap;\r
-                        }\r
-                        leaf capabilities {\r
-                            type oft:meter-flags;\r
-                        }\r
-                        leaf max-bands {\r
-                            type uint8;\r
-                        }\r
-                        leaf max-color {\r
-                            type uint8;\r
-                        }\r
-                    }\r
-                    case multipart-reply-table-features {\r
-                        list table-features {\r
-                            leaf table-id {\r
-                                type uint8;\r
+                    case multipart-reply-meter-features-case {\r
+                        container multipart-reply-meter-features {\r
+                            leaf max-meter {\r
+                                type uint32;\r
                             }\r
-                            leaf name {\r
-                                type string;\r
+                            leaf band-types {\r
+                                type oft:meter-band-type-bitmap;\r
                             }\r
-                            leaf metadata-match {\r
-                                type binary;\r
+                            leaf capabilities {\r
+                                type oft:meter-flags;\r
                             }\r
-                            leaf metadata-write {\r
-                                type binary;\r
+                            leaf max-bands {\r
+                                type uint8;\r
                             }\r
-                            leaf config {\r
-                                type oft:table-config;\r
-                            } \r
-                            leaf max-entries {\r
-                                type uint32;\r
+                            leaf max-color {\r
+                                type uint8;\r
                             }\r
-                            uses table-features-properties;\r
                         }\r
                     }\r
-                    case multipart-reply-port-desc {\r
-                        list ports {\r
-                            uses port;\r
+                    case multipart-reply-table-features-case {\r
+                        container multipart-reply-table-features {\r
+                            list table-features {\r
+                                leaf table-id {\r
+                                    type uint8;\r
+                                }\r
+                                leaf name {\r
+                                    type string;\r
+                                }\r
+                                leaf metadata-match {\r
+                                    type binary;\r
+                                }\r
+                                leaf metadata-write {\r
+                                    type binary;\r
+                                }\r
+                                leaf config {\r
+                                    type oft:table-config;\r
+                                } \r
+                                leaf max-entries {\r
+                                    type uint32;\r
+                                }\r
+                                uses table-features-properties;\r
+                            }\r
                         }\r
                     }\r
-                    case multipart-reply-experimenter {\r
-                        leaf experimenter {\r
-                            type uint32;\r
-                        }\r
-                        leaf exp-type {\r
-                            type uint32;\r
+                    case multipart-reply-port-desc-case {\r
+                        container multipart-reply-port-desc {\r
+                            list ports {\r
+                                uses port;\r
+                            }\r
                         }\r
-                        leaf data {\r
-                            type binary;\r
+                    }\r
+                    case multipart-reply-experimenter-case {\r
+                        container multipart-reply-experimenter {\r
+                            leaf experimenter {\r
+                                type uint32;\r
+                            }\r
+                            leaf exp-type {\r
+                                type uint32;\r
+                            }\r
+                            leaf data {\r
+                                type binary;\r
+                            }\r
                         }\r
                     }\r
                 }\r
@@ -1063,6 +1123,7 @@ module openflow-protocol {
             }\r
             grouping queue-property-header {\r
                 list queue-property {\r
+                    key "property";\r
                     leaf property {\r
                         type oft:queue-properties;\r
                     }\r
@@ -1146,30 +1207,36 @@ module openflow-protocol {
                 } \r
                 leaf flags {\r
                     type oft:meter-flags;\r
-                }            \r
+                }\r
                 leaf meter-id {\r
                     type oft:meter-id;\r
-                }   \r
+                }\r
                 list bands {\r
                     uses meter-band-header;\r
                 }\r
-            } \r
+            }\r
             \r
             grouping meter-band-header {\r
                 choice meter-band {\r
-                    case meter-band-drop {\r
-                        uses meter-band-commons;\r
+                    case meter-band-drop-case {\r
+                        container meter-band-drop {\r
+                            uses meter-band-commons;\r
+                        }\r
                     }\r
-                    case meter-band-dscp-remark {\r
-                        uses meter-band-commons;\r
-                        leaf prec-level {\r
-                            type uint8;\r
+                    case meter-band-dscp-remark-case {\r
+                        container meter-band-dscp-remark {\r
+                            uses meter-band-commons;\r
+                            leaf prec-level {\r
+                                type uint8;\r
+                            }\r
                         }\r
                     }\r
-                    case meter-band-experimenter {\r
-                        uses meter-band-commons;\r
-                        leaf experimenter {\r
-                            type uint32;\r
+                    case meter-band-experimenter-case {\r
+                        container meter-band-experimenter {\r
+                            uses meter-band-commons;\r
+                            leaf experimenter {\r
+                                type uint32;\r
+                            }\r
                         }\r
                     }\r
                 }\r
index 2c8e8ae6b7d5a1ef64a8f0f1fbf635320e696cfb..7750229cd2f2ca0854462bba778be462722ca64b 100644 (file)
@@ -46,43 +46,43 @@ module openflow-types {
         ////description "Features of ports available in datapath.";
         //reference "ofp_port_features";
         type bits {
-            bit 10mb_hd { 
+            bit _10mb_hd { 
                 position 0;
                 //description "10 Mb half-duplex rate support.";
             }
-            bit 10mb-fd { 
+            bit _10mb-fd { 
                 position 1;
                 //description "10 Mb full-duplex rate support.";
             }
-            bit 100mb-hd { 
+            bit _100mb-hd { 
                 position 2;
                 //description "100 Mb half-duplex rate support.";
             }
-            bit 100mb-fd { 
+            bit _100mb-fd { 
                 position 3;
                 //description "100 Mb full-duplex rate support.";
             }
-            bit 1gb-hd { 
+            bit _1gb-hd { 
                 position 4;
                 //description "1 Gb half-duplex rate support.";
             }
-            bit 1gb-fd { 
+            bit _1gb-fd { 
                 position 5;
                 //description "1 Gb full-duplex rate support.";
             }
-            bit 10gb-fd { 
+            bit _10gb-fd { 
                 position 6;
                 //description "10 Gb full-duplex rate support.";
             }
-            bit 40gb-fd { 
+            bit _40gb-fd { 
                 position 7;
                 //description "40 Gb full-duplex rate support.";
             }
-            bit 100gb-fd { 
+            bit _100gb-fd { 
                 position 8;
                 //description "100 Gb full-duplex rate support.";
             }
-            bit 1tb-fd { 
+            bit _1tb-fd { 
                 position 9;
                 //description "1 Tb full-duplex rate support.";
             }
@@ -167,16 +167,9 @@ module openflow-types {
     }
 
     identity standard-match-type {
-        deprecated true;
         base oft:match-type-base;
     }
 
-    typedef oxm-match-type {
-        type identityref {
-            base oft:match-type-base;
-        }
-    }
-
     identity instruction {
     }
 
@@ -1540,7 +1533,7 @@ module openflow-types {
             enum LOCAL {
                 value 65534; // 0xfffe
             }
-            enum ANY {
+            enum NONE {
                 value 65535; // 0xffff
             }
         }
@@ -1601,24 +1594,19 @@ module openflow-types {
                 position 2;
             }
             bit stp_listen {
-                //description "Live for Fast Failover Group.";
-                position 8;
+                //description "Not learning or relaying frames.";
             }
             bit stp_learn {
-                //description "Live for Fast Failover Group.";
-                position 8;
+                //description "Learning but not relaying frames.";
             }
             bit stp_forward {
-                //description "Live for Fast Failover Group.";
-                position 8;
+                //description "Learning and relaying frames.";
             }
             bit stp_block {
-                //description "Live for Fast Failover Group.";
-                position 8;
+                //description "Not part of spanning tree.";
             }
             bit stp_mask {
-                //description "Live for Fast Failover Group.";
-                position 8;
+                //description "Bit mask for OFPPS_STP_* values.";
             }
         }
     }
@@ -1627,31 +1615,31 @@ module openflow-types {
         ////description "Features of ports available in datapath.";
         //reference "ofp_port_features";
         type bits {
-            bit 10mb-hd { 
+            bit _10mb-hd { 
                 position 0;
                 //description "10 Mb half-duplex rate support.";
             }
-            bit 10mb-fd { 
+            bit _10mb-fd { 
                 position 1;
                 //description "10 Mb full-duplex rate support.";
             }
-            bit 100mb-hd { 
+            bit _100mb-hd { 
                 position 2;
                 //description "100 Mb half-duplex rate support.";
             }
-            bit 100mb-fd { 
+            bit _100mb-fd { 
                 position 3;
                 //description "100 Mb full-duplex rate support.";
             }
-            bit 1gb-hd { 
+            bit _1gb-hd { 
                 position 4;
                 //description "1 Gb half-duplex rate support.";
             }
-            bit 1gb-fd { 
+            bit _1gb-fd { 
                 position 5;
                 //description "1 Gb full-duplex rate support.";
             }
-            bit 10gb-fd { 
+            bit _10gb-fd { 
                 position 6;
                 //description "10 Gb full-duplex rate support.";
             }
index 1fd9cb9c973fc27eb1a7e3daa957a6d73f6d7fed..b38856addaa4716ba67771d4d64206cb9c519096 100644 (file)
@@ -47,7 +47,8 @@ public class PublishingChannelInitializer extends ChannelInitializer<SocketChann
     @Override
     protected void initChannel(SocketChannel ch) {
         InetAddress switchAddress = ch.remoteAddress().getAddress();
-        LOGGER.info("Incoming connection from (remote address): " + switchAddress.toString());
+        int port = ch.localAddress().getPort();
+        LOGGER.info("Incoming connection from (remote address): " + switchAddress.toString() + ":" + port);
         if (!switchConnectionHandler.accept(switchAddress)) {
             ch.disconnect();
             LOGGER.info("Incoming connection rejected");
index f82ec53ea5917cd2af5bad11b8c17ac9e494e6eb..8a078d1b8d671db79ece2c8df120f05e1961a69e 100644 (file)
@@ -56,65 +56,83 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessageBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.buckets.BucketsList;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.buckets.BucketsListBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.MultipartReplyBody;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregate;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroup;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupDescBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupFeaturesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterFeaturesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortDescBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueue;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueueBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTable;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableFeaturesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow.FlowStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow.FlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.GroupStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.GroupStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc.GroupDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc.GroupDescBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.group.stats.BucketStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.group.stats.BucketStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.MeterStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.MeterStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config.MeterConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config.MeterConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config.meter.config.Bands;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config.meter.config.BandsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.meter.stats.MeterBandStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.meter.stats.MeterBandStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.desc.Ports;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.desc.PortsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats.PortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats.PortStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue.QueueStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue.QueueStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.TableStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.TableStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features.TableFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features.TableFeaturesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.drop._case.MeterBandDropBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.dscp.remark._case.MeterBandDscpRemarkBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.experimenter._case.MeterBandExperimenterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupDescCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupFeaturesCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterConfigCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterConfigCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterFeaturesCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortDescCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueueCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueueCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableFeaturesCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.aggregate._case.MultipartReplyAggregateBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.desc._case.MultipartReplyDescBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.experimenter._case.MultipartReplyExperimenterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.MultipartReplyFlowBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.multipart.reply.flow.FlowStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.multipart.reply.flow.FlowStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.MultipartReplyGroupBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.GroupStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.GroupStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.group.stats.BucketStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.multipart.reply.group.group.stats.BucketStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.MultipartReplyGroupDescBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.multipart.reply.group.desc.GroupDesc;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.multipart.reply.group.desc.GroupDescBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.features._case.MultipartReplyGroupFeaturesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.MultipartReplyMeterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.MeterStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.MeterStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.meter.stats.MeterBandStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.multipart.reply.meter.meter.stats.MeterBandStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.MultipartReplyMeterConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.MeterConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.MeterConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.meter.config.Bands;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.multipart.reply.meter.config.meter.config.BandsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.features._case.MultipartReplyMeterFeaturesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.desc._case.MultipartReplyPortDescBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.desc._case.multipart.reply.port.desc.Ports;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.desc._case.multipart.reply.port.desc.PortsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.MultipartReplyPortStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.multipart.reply.port.stats.PortStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.multipart.reply.port.stats.PortStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue._case.MultipartReplyQueueBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue._case.multipart.reply.queue.QueueStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue._case.multipart.reply.queue.QueueStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.MultipartReplyTableBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.multipart.reply.table.TableStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.multipart.reply.table.TableStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.MultipartReplyTableFeaturesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features.TableFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.features._case.multipart.reply.table.features.TableFeaturesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.TableFeatureProperties;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.TableFeaturePropertiesBuilder;
 
@@ -222,7 +240,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         return builder.build();
     }
     
-    private static MultipartReplyDesc setDesc(ByteBuf input) {
+    private static MultipartReplyDescCase setDesc(ByteBuf input) {
+        MultipartReplyDescCaseBuilder caseBuilder = new MultipartReplyDescCaseBuilder();
         MultipartReplyDescBuilder descBuilder = new MultipartReplyDescBuilder();
         byte[] mfrDescBytes = new byte[DESC_STR_LEN];
         input.readBytes(mfrDescBytes);
@@ -244,10 +263,12 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         input.readBytes(dpDescBytes);
         String dpDesc = new String(dpDescBytes);
         descBuilder.setDpDesc(dpDesc.trim());
-        return descBuilder.build();
+        caseBuilder.setMultipartReplyDesc(descBuilder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyFlow setFlow(ByteBuf input) {
+    private static MultipartReplyFlowCase setFlow(ByteBuf input) {
+        MultipartReplyFlowCaseBuilder caseBuilder = new MultipartReplyFlowCaseBuilder();
         MultipartReplyFlowBuilder flowBuilder = new MultipartReplyFlowBuilder();
         List<FlowStats> flowStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -276,7 +297,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             flowStatsList.add(flowStatsBuilder.build());
         }
         flowBuilder.setFlowStats(flowStatsList);
-        return flowBuilder.build();
+        caseBuilder.setMultipartReplyFlow(flowBuilder.build());
+        return caseBuilder.build();
     }
     
     private static FlowModFlags createFlowModFlagsFromBitmap(short input){
@@ -288,7 +310,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         return new FlowModFlags(_oFPFFCHECKOVERLAP, _oFPFFNOBYTCOUNTS, _oFPFFNOPKTCOUNTS, _oFPFFRESETCOUNTS, _oFPFFSENDFLOWREM);
     }
     
-    private static MultipartReplyAggregate setAggregate(ByteBuf input) {
+    private static MultipartReplyAggregateCase setAggregate(ByteBuf input) {
+        MultipartReplyAggregateCaseBuilder caseBuilder = new MultipartReplyAggregateCaseBuilder();
         MultipartReplyAggregateBuilder builder = new MultipartReplyAggregateBuilder();
         byte[] packetCount = new byte[Long.SIZE/Byte.SIZE];
         input.readBytes(packetCount);
@@ -298,10 +321,12 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         builder.setByteCount(new BigInteger(byteCount));
         builder.setFlowCount(input.readUnsignedInt());
         input.skipBytes(PADDING_IN_AGGREGATE_HEADER);
-        return builder.build();
+        caseBuilder.setMultipartReplyAggregate(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyTable setTable(ByteBuf input) {
+    private static MultipartReplyTableCase setTable(ByteBuf input) {
+        MultipartReplyTableCaseBuilder caseBuilder = new MultipartReplyTableCaseBuilder();
         MultipartReplyTableBuilder builder = new MultipartReplyTableBuilder();
         List<TableStats> tableStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -318,10 +343,12 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             tableStatsList.add(tableStatsBuilder.build());
         }
         builder.setTableStats(tableStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyTable(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyTableFeatures setTableFeatures(ByteBuf input) {
+    private static MultipartReplyTableFeaturesCase setTableFeatures(ByteBuf input) {
+        MultipartReplyTableFeaturesCaseBuilder caseBuilder = new MultipartReplyTableFeaturesCaseBuilder();
         MultipartReplyTableFeaturesBuilder builder = new MultipartReplyTableFeaturesBuilder();
         List<TableFeatures> features = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -343,7 +370,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             features.add(featuresBuilder.build());
         }
         builder.setTableFeatures(features);
-        return builder.build();
+        caseBuilder.setMultipartReplyTableFeatures(builder.build());
+        return caseBuilder.build();
     }
     
     private static TableConfig createTableConfig(long input) {
@@ -409,7 +437,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         return properties;
     }
     
-    private static MultipartReplyPortStats setPortStats(ByteBuf input) {
+    private static MultipartReplyPortStatsCase setPortStats(ByteBuf input) {
+        MultipartReplyPortStatsCaseBuilder caseBuilder = new MultipartReplyPortStatsCaseBuilder();
         MultipartReplyPortStatsBuilder builder = new MultipartReplyPortStatsBuilder();
         List<PortStats> portStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -457,10 +486,12 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             portStatsList.add(portStatsBuilder.build());
         }
         builder.setPortStats(portStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyPortStats(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyQueue setQueue(ByteBuf input) {
+    private static MultipartReplyQueueCase setQueue(ByteBuf input) {
+       MultipartReplyQueueCaseBuilder caseBuilder = new MultipartReplyQueueCaseBuilder();
         MultipartReplyQueueBuilder builder = new MultipartReplyQueueBuilder();
         List<QueueStats> queueStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -481,10 +512,12 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             queueStatsList.add(queueStatsBuilder.build());
         }
         builder.setQueueStats(queueStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyQueue(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyGroup setGroup(ByteBuf input) {
+    private static MultipartReplyGroupCase setGroup(ByteBuf input) {
+        MultipartReplyGroupCaseBuilder caseBuilder = new MultipartReplyGroupCaseBuilder();
         MultipartReplyGroupBuilder builder = new MultipartReplyGroupBuilder();
         List<GroupStats> groupStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -519,10 +552,12 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             groupStatsList.add(groupStatsBuilder.build());
         }
         builder.setGroupStats(groupStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyGroup(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyMeterFeatures setMeterFeatures(ByteBuf input) {
+    private static MultipartReplyMeterFeaturesCase setMeterFeatures(ByteBuf input) {
+        MultipartReplyMeterFeaturesCaseBuilder caseBuilder = new MultipartReplyMeterFeaturesCaseBuilder();
         MultipartReplyMeterFeaturesBuilder builder = new MultipartReplyMeterFeaturesBuilder();
         builder.setMaxMeter(input.readUnsignedInt());
         builder.setBandTypes(createMeterBandsBitmap(input.readUnsignedInt()));
@@ -530,7 +565,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         builder.setMaxBands(input.readUnsignedByte());
         builder.setMaxColor(input.readUnsignedByte());
         input.skipBytes(PADDING_IN_METER_FEATURES_HEADER);
-        return builder.build();
+        caseBuilder.setMultipartReplyMeterFeatures(builder.build());
+        return caseBuilder.build();
     }
     
     private static MeterFlags createMeterFlags(long input){
@@ -547,7 +583,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         return new MeterBandTypeBitmap(_oFPMBTDROP, _oFPMBTDSCPREMARK);
     }
     
-    private static MultipartReplyMeter setMeter(ByteBuf input) {
+    private static MultipartReplyMeterCase setMeter(ByteBuf input) {
+        MultipartReplyMeterCaseBuilder caseBuilder = new MultipartReplyMeterCaseBuilder();
         MultipartReplyMeterBuilder builder = new MultipartReplyMeterBuilder();
         List<MeterStats> meterStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -581,10 +618,12 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             meterStatsList.add(meterStatsBuilder.build());
         }
         builder.setMeterStats(meterStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyMeter(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyMeterConfig setMeterConfig(ByteBuf input) {
+    private static MultipartReplyMeterConfigCase setMeterConfig(ByteBuf input) {
+        MultipartReplyMeterConfigCaseBuilder caseBuilder = new MultipartReplyMeterConfigCaseBuilder();
         MultipartReplyMeterConfigBuilder builder = new MultipartReplyMeterConfigBuilder();
         List<MeterConfig> meterConfigList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -599,15 +638,18 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
                 int bandType = input.readUnsignedShort();
                 switch (bandType) {
                     case 1:
+                       MeterBandDropCaseBuilder bandDropCaseBuilder = new MeterBandDropCaseBuilder();
                         MeterBandDropBuilder bandDropBuilder = new MeterBandDropBuilder();
                         bandDropBuilder.setType(MeterBandType.forValue(bandType));
                         actualLength += input.readUnsignedShort();
                         bandDropBuilder.setRate(input.readUnsignedInt());
                         bandDropBuilder.setBurstSize(input.readUnsignedInt());
                         input.skipBytes(PADDING_IN_METER_BAND_DROP_HEADER);
-                        bandsBuilder.setMeterBand(bandDropBuilder.build());
+                        bandDropCaseBuilder.setMeterBandDrop(bandDropBuilder.build());
+                        bandsBuilder.setMeterBand(bandDropCaseBuilder.build());
                         break;
                     case 2:
+                       MeterBandDscpRemarkCaseBuilder bandDscpRemarkCaseBuilder = new MeterBandDscpRemarkCaseBuilder();
                         MeterBandDscpRemarkBuilder bandDscpRemarkBuilder = new MeterBandDscpRemarkBuilder();
                         bandDscpRemarkBuilder.setType(MeterBandType.forValue(bandType));
                         actualLength += input.readUnsignedShort();
@@ -615,16 +657,19 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
                         bandDscpRemarkBuilder.setBurstSize(input.readUnsignedInt());
                         bandDscpRemarkBuilder.setPrecLevel(input.readUnsignedByte());
                         input.skipBytes(PADDING_IN_METER_BAND_DSCP_HEADER);
-                        bandsBuilder.setMeterBand(bandDscpRemarkBuilder.build());
+                        bandDscpRemarkCaseBuilder.setMeterBandDscpRemark(bandDscpRemarkBuilder.build());
+                        bandsBuilder.setMeterBand(bandDscpRemarkCaseBuilder.build());
                         break;
                     case 0xFFFF:
+                       MeterBandExperimenterCaseBuilder bandExperimenterCaseBuilder = new MeterBandExperimenterCaseBuilder();
                         MeterBandExperimenterBuilder bandExperimenterBuilder = new MeterBandExperimenterBuilder();
                         bandExperimenterBuilder.setType(MeterBandType.forValue(bandType));
                         actualLength += input.readUnsignedShort();
                         bandExperimenterBuilder.setRate(input.readUnsignedInt());
                         bandExperimenterBuilder.setBurstSize(input.readUnsignedInt());
                         bandExperimenterBuilder.setExperimenter(input.readUnsignedInt());
-                        bandsBuilder.setMeterBand(bandExperimenterBuilder.build());
+                        bandExperimenterCaseBuilder.setMeterBandExperimenter(bandExperimenterBuilder.build());
+                        bandsBuilder.setMeterBand(bandExperimenterCaseBuilder.build());
                         break;
                     default:
                         break;
@@ -635,20 +680,24 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             meterConfigList.add(meterConfigBuilder.build());
         }
         builder.setMeterConfig(meterConfigList);
-        return builder.build();
+        caseBuilder.setMultipartReplyMeterConfig(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyExperimenter setExperimenter(ByteBuf input) {
+    private static MultipartReplyExperimenterCase setExperimenter(ByteBuf input) {
+       MultipartReplyExperimenterCaseBuilder caseBuilder = new MultipartReplyExperimenterCaseBuilder();
         MultipartReplyExperimenterBuilder builder = new MultipartReplyExperimenterBuilder();
         builder.setExperimenter(input.readUnsignedInt());
         builder.setExpType(input.readUnsignedInt());
         byte[] data = new byte[input.readableBytes()];
         input.readBytes(data);
         builder.setData(data);
-        return builder.build();
+        caseBuilder.setMultipartReplyExperimenter(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyPortDesc setPortDesc(ByteBuf input) {
+    private static MultipartReplyPortDescCase setPortDesc(ByteBuf input) {
+        MultipartReplyPortDescCaseBuilder caseBuilder = new MultipartReplyPortDescCaseBuilder();
         MultipartReplyPortDescBuilder builder = new MultipartReplyPortDescBuilder();
         List<Ports> portsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -674,7 +723,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             portsList.add(portsBuilder.build());
         }
         builder.setPorts(portsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyPortDesc(builder.build());
+        return caseBuilder.build();
     }
     
     private static PortConfig createPortConfig(long input){
@@ -713,7 +763,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
                 _40gbFd, _100gbFd, _1tbFd, _other, _copper, _fiber, _autoneg, _pause, _pauseAsym);
     }
     
-    private static MultipartReplyBody setGroupFeatures(ByteBuf rawMessage) {
+    private static MultipartReplyGroupFeaturesCase setGroupFeatures(ByteBuf rawMessage) {
+        MultipartReplyGroupFeaturesCaseBuilder caseBuilder = new MultipartReplyGroupFeaturesCaseBuilder();
         MultipartReplyGroupFeaturesBuilder featuresBuilder = new MultipartReplyGroupFeaturesBuilder();
         featuresBuilder.setTypes(createGroupType(rawMessage.readUnsignedInt()));
         featuresBuilder.setCapabilities(createCapabilities(rawMessage.readUnsignedInt()));
@@ -727,7 +778,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             actionBitmaps.add(createActionBitmap(rawMessage.readUnsignedInt()));
         }
         featuresBuilder.setActionsBitmap(actionBitmaps);
-        return featuresBuilder.build();
+        caseBuilder.setMultipartReplyGroupFeatures(featuresBuilder.build());
+        return caseBuilder.build();
     }
     
     private static ActionType createActionBitmap(long input) {
@@ -770,7 +822,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
         return new GroupTypes(OFPGT_ALL, OFPGT_FF, OFPGT_INDIRECT, OFPGT_SELECT);
     }
     
-    private static MultipartReplyGroupDesc setGroupDesc(ByteBuf input) {
+    private static MultipartReplyGroupDescCase setGroupDesc(ByteBuf input) {
+        MultipartReplyGroupDescCaseBuilder caseBuilder = new MultipartReplyGroupDescCaseBuilder();
         MultipartReplyGroupDescBuilder builder = new MultipartReplyGroupDescBuilder();
         List<GroupDesc> groupDescsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -798,7 +851,8 @@ public class MultipartReplyMessageFactory implements OFDeserializer<MultipartRep
             groupDescsList.add(groupDescBuilder.build());
         }
         builder.setGroupDesc(groupDescsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyGroupDesc(builder.build());
+        return caseBuilder.build();
     }
     
 }
index b88876564bd7de3ff2bbabdef5690f95006c657d..4fc94355a91f5d710d414f8ce29b43361ce20a00 100644 (file)
@@ -22,28 +22,35 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessageBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregate;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueue;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueueBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTable;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow.FlowStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow.FlowStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats.PortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats.PortStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue.QueueStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue.QueueStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.TableStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table.TableStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueueCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueueCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.aggregate._case.MultipartReplyAggregateBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.desc._case.MultipartReplyDescBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.experimenter._case.MultipartReplyExperimenterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.MultipartReplyFlowBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.multipart.reply.flow.FlowStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.multipart.reply.flow.FlowStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.MultipartReplyPortStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.multipart.reply.port.stats.PortStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.multipart.reply.port.stats.PortStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue._case.MultipartReplyQueueBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue._case.multipart.reply.queue.QueueStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue._case.multipart.reply.queue.QueueStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.MultipartReplyTableBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.multipart.reply.table.TableStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.multipart.reply.table.TableStatsBuilder;
 
 /**
  * Translates StatsReply messages (OpenFlow v1.0)
@@ -106,7 +113,8 @@ public class OF10StatsReplyMessageFactory implements OFDeserializer<MultipartRep
         return builder.build();
     }
     
-    private static MultipartReplyDesc setDesc(ByteBuf input) {
+    private static MultipartReplyDescCase setDesc(ByteBuf input) {
+        MultipartReplyDescCaseBuilder caseBuilder = new MultipartReplyDescCaseBuilder();
         MultipartReplyDescBuilder descBuilder = new MultipartReplyDescBuilder();
         byte[] mfrDescBytes = new byte[DESC_STR_LEN];
         input.readBytes(mfrDescBytes);
@@ -128,10 +136,12 @@ public class OF10StatsReplyMessageFactory implements OFDeserializer<MultipartRep
         input.readBytes(dpDescBytes);
         String dpDesc = new String(dpDescBytes);
         descBuilder.setDpDesc(dpDesc.trim());
-        return descBuilder.build();
+        caseBuilder.setMultipartReplyDesc(descBuilder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyFlow setFlow(ByteBuf input) {
+    private static MultipartReplyFlowCase setFlow(ByteBuf input) {
+        MultipartReplyFlowCaseBuilder caseBuilder = new MultipartReplyFlowCaseBuilder();
         MultipartReplyFlowBuilder flowBuilder = new MultipartReplyFlowBuilder();
         List<FlowStats> flowStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -159,10 +169,12 @@ public class OF10StatsReplyMessageFactory implements OFDeserializer<MultipartRep
             flowStatsList.add(flowStatsBuilder.build());
         }
         flowBuilder.setFlowStats(flowStatsList);
-        return flowBuilder.build();
+        caseBuilder.setMultipartReplyFlow(flowBuilder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyAggregate setAggregate(ByteBuf input) {
+    private static MultipartReplyAggregateCase setAggregate(ByteBuf input) {
+        MultipartReplyAggregateCaseBuilder caseBuilder = new MultipartReplyAggregateCaseBuilder();
         MultipartReplyAggregateBuilder builder = new MultipartReplyAggregateBuilder();
         byte[] packetCount = new byte[Long.SIZE/Byte.SIZE];
         input.readBytes(packetCount);
@@ -172,10 +184,12 @@ public class OF10StatsReplyMessageFactory implements OFDeserializer<MultipartRep
         builder.setByteCount(new BigInteger(byteCount));
         builder.setFlowCount(input.readUnsignedInt());
         input.skipBytes(PADDING_IN_AGGREGATE_HEADER);
-        return builder.build();
+        caseBuilder.setMultipartReplyAggregate(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyTable setTable(ByteBuf input) {
+    private static MultipartReplyTableCase setTable(ByteBuf input) {
+        MultipartReplyTableCaseBuilder caseBuilder = new MultipartReplyTableCaseBuilder();
         MultipartReplyTableBuilder builder = new MultipartReplyTableBuilder();
         List<TableStats> tableStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -193,10 +207,12 @@ public class OF10StatsReplyMessageFactory implements OFDeserializer<MultipartRep
             tableStatsList.add(tableStatsBuilder.build());
         }
         builder.setTableStats(tableStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyTable(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyPortStats setPortStats(ByteBuf input) {
+    private static MultipartReplyPortStatsCase setPortStats(ByteBuf input) {
+        MultipartReplyPortStatsCaseBuilder caseBuilder = new MultipartReplyPortStatsCaseBuilder();
         MultipartReplyPortStatsBuilder builder = new MultipartReplyPortStatsBuilder();
         List<PortStats> portStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -241,10 +257,12 @@ public class OF10StatsReplyMessageFactory implements OFDeserializer<MultipartRep
             portStatsBuilder.setCollisions(new BigInteger(collisions));
         }
         builder.setPortStats(portStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyPortStats(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyQueue setQueue(ByteBuf input) {
+    private static MultipartReplyQueueCase setQueue(ByteBuf input) {
+        MultipartReplyQueueCaseBuilder caseBuilder = new MultipartReplyQueueCaseBuilder();
         MultipartReplyQueueBuilder builder = new MultipartReplyQueueBuilder();
         List<QueueStats> queueStatsList = new ArrayList<>();
         while (input.readableBytes() > 0) {
@@ -264,15 +282,18 @@ public class OF10StatsReplyMessageFactory implements OFDeserializer<MultipartRep
             queueStatsList.add(queueStatsBuilder.build());
         }
         builder.setQueueStats(queueStatsList);
-        return builder.build();
+        caseBuilder.setMultipartReplyQueue(builder.build());
+        return caseBuilder.build();
     }
     
-    private static MultipartReplyExperimenter setExperimenter(ByteBuf input) {
+    private static MultipartReplyExperimenterCase setExperimenter(ByteBuf input) {
+       MultipartReplyExperimenterCaseBuilder caseBuilder = new MultipartReplyExperimenterCaseBuilder();
         MultipartReplyExperimenterBuilder builder = new MultipartReplyExperimenterBuilder();
         builder.setExperimenter(input.readUnsignedInt());
         byte[] data = new byte[Long.SIZE/Byte.SIZE];
         input.readBytes(data);
         builder.setData(data);
-        return builder.build();
+        caseBuilder.setMultipartReplyExperimenter(builder.build());
+        return caseBuilder.build();
     }
 }
index 71e318c78ff5fb1a56ee5e3849db834e923bb96d..92219661ae8a8d38c1afe6905fc1af63b3645355 100644 (file)
@@ -20,9 +20,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterBandCommons;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.MeterBand;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDrop;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemark;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.drop._case.MeterBandDrop;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.dscp.remark._case.MeterBandDscpRemark;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.experimenter._case.MeterBandExperimenter;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
 
 /**
@@ -92,15 +95,21 @@ public class MeterModInputMessageFactory implements OFSerializer<MeterModInput>
         if (bands != null) {
             for (Bands currentBand : bands) {
                 MeterBand meterBand = currentBand.getMeterBand();
-                writeBandCommonFields((MeterBandCommons) meterBand, outBuffer);
-                if (meterBand instanceof MeterBandDrop) {
+                if (meterBand instanceof MeterBandDropCase) {
+                    MeterBandDropCase dropBandCase = (MeterBandDropCase) meterBand;
+                    MeterBandDrop dropBand = dropBandCase.getMeterBandDrop();
+                    writeBandCommonFields(dropBand, outBuffer);
                     ByteBufUtils.padBuffer(PADDING_IN_METER_BAND_DROP, outBuffer);
-                } else if (meterBand instanceof MeterBandDscpRemark) {
-                    MeterBandDscpRemark dscpRemarkBand = (MeterBandDscpRemark) meterBand;
+                } else if (meterBand instanceof MeterBandDscpRemarkCase) {
+                    MeterBandDscpRemarkCase dscpRemarkBandCase = (MeterBandDscpRemarkCase) meterBand;
+                    MeterBandDscpRemark dscpRemarkBand = dscpRemarkBandCase.getMeterBandDscpRemark();
+                    writeBandCommonFields(dscpRemarkBand, outBuffer);
                     outBuffer.writeByte(dscpRemarkBand.getPrecLevel());
                     ByteBufUtils.padBuffer(PADDING_IN_METER_BAND_DSCP_REMARK, outBuffer);
-                } else if (meterBand instanceof MeterBandExperimenter) {
-                    MeterBandExperimenter experimenterBand = (MeterBandExperimenter) meterBand;
+                } else if (meterBand instanceof MeterBandExperimenterCase) {
+                    MeterBandExperimenterCase experimenterBandCase = (MeterBandExperimenterCase) meterBand;
+                    MeterBandExperimenter experimenterBand = experimenterBandCase.getMeterBandExperimenter();
+                    writeBandCommonFields(experimenterBand, outBuffer);
                     outBuffer.writeInt(experimenterBand.getExperimenter().intValue());
                 }
             }
index d982f3f44b5113f5e737159d87a6584ffcb9b37d..4f2cbe3b4fbe1b5866052a16490190524a40bd66 100644 (file)
@@ -35,22 +35,31 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.oxm.fields.MatchEntries;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.MultipartRequestBody;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregate;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroup;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueue;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTable;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features.TableFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.aggregate._case.MultipartRequestAggregate;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.experimenter._case.MultipartRequestExperimenter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlow;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.group._case.MultipartRequestGroup;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter._case.MultipartRequestMeter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter.config._case.MultipartRequestMeterConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.port.stats._case.MultipartRequestPortStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueue;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features._case.MultipartRequestTableFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features._case.multipart.request.table.features.TableFeatures;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.TableFeatureProperties;
 
 /**
@@ -124,35 +133,35 @@ public class MultipartRequestInputFactory implements OFSerializer<MultipartReque
         out.writeShort(createMultipartRequestFlagsBitmask(message.getFlags()));
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_MESSAGE, out);
 
-        if (message.getMultipartRequestBody() instanceof MultipartRequestDesc ){
+        if (message.getMultipartRequestBody() instanceof MultipartRequestDescCase){
             encodeDescBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestFlow) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestFlowCase) {
             encodeFlowBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestAggregate) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestAggregateCase) {
             encodeAggregateBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestTable) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestTableCase) {
             encodeTableBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestPortStats) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestPortStatsCase) {
             encodePortStatsBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestQueue) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestQueueCase) {
             encodeQueueBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestGroup) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestGroupCase) {
             encodeGroupStatsBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestGroupDesc) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestGroupDescCase) {
             encodeGroupDescBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestGroupFeatures) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestGroupFeaturesCase) {
             encodeGroupFeaturesBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestMeter) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestMeterCase) {
             encodeMeterBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestMeterConfig) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestMeterConfigCase) {
             encodeMeterConfigBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestMeterFeatures) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestMeterFeaturesCase) {
             encodeMeterFeaturesBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestTableFeatures) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestTableFeaturesCase) {
             encodeTableFeaturesBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestPortDesc) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestPortDescCase) {
             encodePortDescBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestExperimenter) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestExperimenterCase) {
             encodeExperimenterBody(message.getMultipartRequestBody(), out);
         }
     }
@@ -175,10 +184,12 @@ public class MultipartRequestInputFactory implements OFSerializer<MultipartReque
         int length = 0;
         MultipartType type = message.getType();
         if (type.equals(MultipartType.OFPMPFLOW)) {
-            MultipartRequestFlow body = (MultipartRequestFlow) message.getMultipartRequestBody();
+            MultipartRequestFlowCase bodyCase = (MultipartRequestFlowCase) message.getMultipartRequestBody();
+            MultipartRequestFlow body = bodyCase.getMultipartRequestFlow();
             length += FLOW_BODY_LENGTH + MatchSerializer.computeMatchLength(body.getMatch());
         } else if (type.equals(MultipartType.OFPMPAGGREGATE)) {
-            MultipartRequestAggregate body = (MultipartRequestAggregate) message.getMultipartRequestBody();
+            MultipartRequestAggregateCase bodyCase = (MultipartRequestAggregateCase) message.getMultipartRequestBody();
+            MultipartRequestAggregate body = bodyCase.getMultipartRequestAggregate();
             length += AGGREGATE_BODY_LENGTH + MatchSerializer.computeMatchLength(body.getMatch());
         } else if (type.equals(MultipartType.OFPMPPORTSTATS)) {
             length += PORT_STATS_BODY_LENGTH;
@@ -191,10 +202,12 @@ public class MultipartRequestInputFactory implements OFSerializer<MultipartReque
         } else if (type.equals(MultipartType.OFPMPMETERCONFIG)) {
             length += METER_CONFIG_BODY_LENGTH;
         } else if (type.equals(MultipartType.OFPMPTABLEFEATURES)) {
-            MultipartRequestTableFeatures body = (MultipartRequestTableFeatures) message.getMultipartRequestBody();
+            MultipartRequestTableFeaturesCase bodyCase = (MultipartRequestTableFeaturesCase) message.getMultipartRequestBody();
+            MultipartRequestTableFeatures body = bodyCase.getMultipartRequestTableFeatures();
             length += computeTableFeaturesLength(body);
         } else if (type.equals(MultipartType.OFPMPEXPERIMENTER)) {
-            MultipartRequestExperimenter body = (MultipartRequestExperimenter) message.getMultipartRequestBody();
+            MultipartRequestExperimenterCase bodyCase = (MultipartRequestExperimenterCase) message.getMultipartRequestBody();
+            MultipartRequestExperimenter body = bodyCase.getMultipartRequestExperimenter();
             length += EXPERIMENTER_BODY_LENGTH;
             if (body.getData() != null) {
                 length += body.getData().length;
@@ -308,7 +321,8 @@ public class MultipartRequestInputFactory implements OFSerializer<MultipartReque
     }
 
     private static void encodeFlowBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestFlow flow = (MultipartRequestFlow) multipartRequestBody;
+        MultipartRequestFlowCase flowCase = (MultipartRequestFlowCase) multipartRequestBody;
+        MultipartRequestFlow flow = flowCase.getMultipartRequestFlow();
         output.writeByte(flow.getTableId().byteValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_FLOW_BODY_01, output);
         output.writeInt(flow.getOutPort().intValue());
@@ -320,7 +334,8 @@ public class MultipartRequestInputFactory implements OFSerializer<MultipartReque
     }
 
     private static void encodeAggregateBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestAggregate aggregate = (MultipartRequestAggregate) multipartRequestBody;
+        MultipartRequestAggregateCase aggregateCase = (MultipartRequestAggregateCase) multipartRequestBody;
+        MultipartRequestAggregate aggregate = aggregateCase.getMultipartRequestAggregate();
         output.writeByte(aggregate.getTableId().byteValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_AGREGGATE_BODY_01, output);
         output.writeInt(aggregate.getOutPort().intValue());
@@ -332,37 +347,43 @@ public class MultipartRequestInputFactory implements OFSerializer<MultipartReque
     }
 
     private static void encodePortStatsBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestPortStats portstats = (MultipartRequestPortStats) multipartRequestBody;
+        MultipartRequestPortStatsCase portstatsCase = (MultipartRequestPortStatsCase) multipartRequestBody;
+        MultipartRequestPortStats portstats = portstatsCase.getMultipartRequestPortStats();
         output.writeInt(portstats.getPortNo().intValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_PORTSTATS_BODY, output);
     }
 
     private static void encodeQueueBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestQueue queue = (MultipartRequestQueue) multipartRequestBody;
+        MultipartRequestQueueCase queueCase = (MultipartRequestQueueCase) multipartRequestBody;
+        MultipartRequestQueue queue = queueCase.getMultipartRequestQueue();
         output.writeInt(queue.getPortNo().intValue());
         output.writeInt(queue.getQueueId().intValue());
     }
 
     private static void encodeGroupStatsBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestGroup groupStats = (MultipartRequestGroup) multipartRequestBody;
+        MultipartRequestGroupCase groupStatsCase = (MultipartRequestGroupCase) multipartRequestBody;
+        MultipartRequestGroup groupStats = groupStatsCase.getMultipartRequestGroup();
         output.writeInt(groupStats.getGroupId().getValue().intValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_GROUP_BODY, output);
     }
 
     private static void encodeMeterBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestMeter meter = (MultipartRequestMeter) multipartRequestBody;
+        MultipartRequestMeterCase meterCase = (MultipartRequestMeterCase) multipartRequestBody;
+        MultipartRequestMeter meter = meterCase.getMultipartRequestMeter();
         output.writeInt(meter.getMeterId().getValue().intValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_METER_BODY, output);
     }
 
     private static void encodeMeterConfigBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestMeterConfig meterConfig = (MultipartRequestMeterConfig) multipartRequestBody;
+        MultipartRequestMeterConfigCase meterConfigCase = (MultipartRequestMeterConfigCase) multipartRequestBody;
+        MultipartRequestMeterConfig meterConfig = meterConfigCase.getMultipartRequestMeterConfig();
         output.writeInt(meterConfig.getMeterId().getValue().intValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_METER_CONFIG_BODY, output);
     }
 
     private static void encodeExperimenterBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestExperimenter experimenter = (MultipartRequestExperimenter) multipartRequestBody;
+        MultipartRequestExperimenterCase experimenterCase = (MultipartRequestExperimenterCase) multipartRequestBody;
+        MultipartRequestExperimenter experimenter = experimenterCase.getMultipartRequestExperimenter();
         output.writeInt(experimenter.getExperimenter().intValue());
         output.writeInt(experimenter.getExpType().intValue());
         byte[] data = experimenter.getData();
@@ -373,7 +394,8 @@ public class MultipartRequestInputFactory implements OFSerializer<MultipartReque
 
     private static void encodeTableFeaturesBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
         if (multipartRequestBody != null) {
-            MultipartRequestTableFeatures tableFeatures = (MultipartRequestTableFeatures) multipartRequestBody;
+            MultipartRequestTableFeaturesCase tableFeaturesCase = (MultipartRequestTableFeaturesCase) multipartRequestBody;
+            MultipartRequestTableFeatures tableFeatures = tableFeaturesCase.getMultipartRequestTableFeatures();
             if(tableFeatures.getTableFeatures() != null) {
                 for (TableFeatures currTableFeature : tableFeatures.getTableFeatures()) {
                     output.writeByte(currTableFeature.getTableId());
index 85539b5d337bd4c09a1f950c375d53284d570a9c..18dc9baf52f09d6039df7f016e30442687341272 100644 (file)
@@ -20,13 +20,18 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MultipartType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.MultipartRequestBody;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregate;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueue;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.aggregate._case.MultipartRequestAggregate;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.experimenter._case.MultipartRequestExperimenter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlow;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.port.stats._case.MultipartRequestPortStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueue;
 
 /**
  * Translates StatsRequest messages
@@ -67,19 +72,19 @@ public class OF10StatsRequestInputFactory implements OFSerializer<MultipartReque
         ByteBufUtils.writeOFHeader(instance, message, out);
         out.writeShort(message.getType().getIntValue());
         out.writeShort(createMultipartRequestFlagsBitmask(message.getFlags()));
-        if (message.getMultipartRequestBody() instanceof MultipartRequestDesc) {
+        if (message.getMultipartRequestBody() instanceof MultipartRequestDescCase) {
             encodeDescBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestFlow) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestFlowCase) {
             encodeFlowBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestAggregate) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestAggregateCase) {
             encodeAggregateBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestTable) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestTableCase) {
             encodeTableBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestPortStats) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestPortStatsCase) {
             encodePortBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestQueue) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestQueueCase) {
             encodeQueueBody(message.getMultipartRequestBody(), out);
-        } else if (message.getMultipartRequestBody() instanceof MultipartRequestExperimenter) {
+        } else if (message.getMultipartRequestBody() instanceof MultipartRequestExperimenterCase) {
             encodeExperimenterBody(message.getMultipartRequestBody(), out);
         }
     }
@@ -110,7 +115,8 @@ public class OF10StatsRequestInputFactory implements OFSerializer<MultipartReque
         } else if (type.equals(MultipartType.OFPMPQUEUE)) {
             length += QUEUE_BODY_LENGTH;
         } else if (type.equals(MultipartType.OFPMPEXPERIMENTER)) {
-            MultipartRequestExperimenter body = (MultipartRequestExperimenter) message.getMultipartRequestBody();
+            MultipartRequestExperimenterCase bodyCase = (MultipartRequestExperimenterCase) message.getMultipartRequestBody();
+            MultipartRequestExperimenter body = bodyCase.getMultipartRequestExperimenter();
             length += EXPERIMENTER_BODY_LENGTH;
             if (body.getData() != null) {
                 length += body.getData().length;
@@ -146,37 +152,42 @@ public class OF10StatsRequestInputFactory implements OFSerializer<MultipartReque
     }
     
     private static void encodeFlowBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        encodeFlowAndAggregateBody(multipartRequestBody, output);
-    }
-    
-    private static void encodeAggregateBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        encodeFlowAndAggregateBody(multipartRequestBody, output);
-    }
-
-    private static void encodeFlowAndAggregateBody(
-            MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestFlow flow = (MultipartRequestFlow) multipartRequestBody;
+        MultipartRequestFlowCase flowCase = (MultipartRequestFlowCase) multipartRequestBody;
+        MultipartRequestFlow flow = flowCase.getMultipartRequestFlow();
         OF10MatchSerializer.encodeMatchV10(output, flow.getMatchV10());
         output.writeByte(flow.getTableId().shortValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_FLOW_BODY, output);
         output.writeShort(flow.getOutPort().intValue());
     }
     
+    private static void encodeAggregateBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
+        final byte PADDING_IN_MULTIPART_REQUEST_AGGREGATE_BODY = 1;
+        MultipartRequestAggregateCase aggregateCase = (MultipartRequestAggregateCase) multipartRequestBody;
+        MultipartRequestAggregate aggregate = aggregateCase.getMultipartRequestAggregate();
+        OF10MatchSerializer.encodeMatchV10(output, aggregate.getMatchV10());
+        output.writeByte(aggregate.getTableId().shortValue());
+        ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_AGGREGATE_BODY, output);
+        output.writeShort(aggregate.getOutPort().intValue());
+    }
+
     private static void encodePortBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestPortStats portstats = (MultipartRequestPortStats) multipartRequestBody;
+        MultipartRequestPortStatsCase portstatsCase = (MultipartRequestPortStatsCase) multipartRequestBody;
+        MultipartRequestPortStats portstats = portstatsCase.getMultipartRequestPortStats();
         output.writeShort(portstats.getPortNo().intValue());
         ByteBufUtils.padBuffer(PADDING_IN_MULTIPART_REQUEST_PORT_BODY, output);
     }
     
     private static void encodeQueueBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestQueue queue = (MultipartRequestQueue) multipartRequestBody;
+        MultipartRequestQueueCase queueCase = (MultipartRequestQueueCase) multipartRequestBody;
+        MultipartRequestQueue queue = queueCase.getMultipartRequestQueue();
         output.writeShort(queue.getPortNo().intValue());
         ByteBufUtils.padBuffer(PADING_IN_QUEUE_BODY, output);
         output.writeInt(queue.getQueueId().intValue());
     }
     
     private static void encodeExperimenterBody(MultipartRequestBody multipartRequestBody, ByteBuf output) {
-        MultipartRequestExperimenter experimenter = (MultipartRequestExperimenter) multipartRequestBody;
+        MultipartRequestExperimenterCase experimenterCase = (MultipartRequestExperimenterCase) multipartRequestBody;
+        MultipartRequestExperimenter experimenter = experimenterCase.getMultipartRequestExperimenter();
         output.writeInt(experimenter.getExperimenter().intValue());
         output.writeBytes(experimenter.getData());
     }
index 821da87ec2a899503be27fe5d7e43ead3aa3ec24..e3a66171df63956f1740d9de73c94d65ce612ec9 100644 (file)
@@ -51,22 +51,38 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.InPort;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OpenflowBasicClass;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDrop;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemark;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregate;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroup;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortDesc;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueue;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.drop._case.MeterBandDrop;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.dscp.remark._case.MeterBandDscpRemark;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.experimenter._case.MeterBandExperimenter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyAggregateCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyFlowCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyGroupDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterConfigCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyMeterFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortDescCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyPortStatsCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyQueueCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyTableCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.aggregate._case.MultipartReplyAggregate;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.desc._case.MultipartReplyDesc;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.experimenter._case.MultipartReplyExperimenter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.flow._case.MultipartReplyFlow;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group._case.MultipartReplyGroup;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.group.desc._case.MultipartReplyGroupDesc;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter._case.MultipartReplyMeter;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.config._case.MultipartReplyMeterConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.meter.features._case.MultipartReplyMeterFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.desc._case.MultipartReplyPortDesc;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.port.stats._case.MultipartReplyPortStats;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.queue._case.MultipartReplyQueue;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.table._case.MultipartReplyTable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -79,21 +95,6 @@ public class MultipartReplyMessageFactoryTest {
     private static final Logger LOGGER = LoggerFactory
             .getLogger(MultipartReplyMessageFactoryTest.class);
     
-    /**
-     * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO
-     *//*
-    @Test
-    public void test(){
-        ByteBuf bb = BufferHelper.buildBuffer("00 07 00 01 00 00 00 00 01 02 03 04");
-        MultipartReplyMessage builtByFactory = BufferHelper.decodeV13(MultipartReplyMessageFactory.getInstance(), bb);
-        
-        BufferHelper.checkHeaderV13(builtByFactory);
-        
-        Assert.assertEquals("Wrong type", 0x07, builtByFactory.getType().getIntValue());
-        Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        //Assert.assertArrayEquals("Wrong body", new byte[]{0x01, 0x02, 0x03, 0x04}, builtByFactory.getBody());
-    }*/
-    
     /**
      * Testing {@link MultipartReplyMessageFactory} for correct translation into POJO
      */
@@ -138,7 +139,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 0x00, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        MultipartReplyDesc message = (MultipartReplyDesc) builtByFactory.getMultipartReplyBody();
+        MultipartReplyDescCase messageCase = (MultipartReplyDescCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyDesc message = messageCase.getMultipartReplyDesc();
         Assert.assertEquals("Wrong mfrDesc", "Manufacturer description", message.getMfrDesc());
         Assert.assertEquals("Wrong hwDesc", "Hardware description", message.getHwDesc());
         Assert.assertEquals("Wrong swDesc", "Software description", message.getSwDesc());
@@ -172,7 +174,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 0x01, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        MultipartReplyFlow message = (MultipartReplyFlow) builtByFactory.getMultipartReplyBody();
+        MultipartReplyFlowCase messageCase = (MultipartReplyFlowCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyFlow message = messageCase.getMultipartReplyFlow();
         Assert.assertEquals("Wrong tableId", 8, message.getFlowStats().get(0).getTableId().intValue());
         Assert.assertEquals("Wrong durationSec", 9, message.getFlowStats().get(0).getDurationSec().intValue());
         Assert.assertEquals("Wrong durationNsec", 7, message.getFlowStats().get(0).getDurationNsec().intValue());
@@ -209,7 +212,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 0x02, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        MultipartReplyAggregate message = (MultipartReplyAggregate) builtByFactory.getMultipartReplyBody();
+        MultipartReplyAggregateCase messageCase = (MultipartReplyAggregateCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyAggregate message = messageCase.getMultipartReplyAggregate();
         Assert.assertEquals("Wrong packetCount", 
                 new BigInteger(new byte[]{0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}), 
                 message.getPacketCount());
@@ -240,7 +244,8 @@ public class MultipartReplyMessageFactoryTest {
         Assert.assertEquals("Wrong type", 0x03, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
         
-        MultipartReplyTable message = (MultipartReplyTable) builtByFactory.getMultipartReplyBody();
+        MultipartReplyTableCase messageCase = (MultipartReplyTableCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyTable message = messageCase.getMultipartReplyTable();
         Assert.assertEquals("Wrong tableId", 8, message.getTableStats().get(0).getTableId().intValue());
         Assert.assertEquals("Wrong activeCount", 16, message.getTableStats().get(0).getActiveCount().longValue());
         Assert.assertEquals("Wrong lookupCount", 
@@ -280,9 +285,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 0x04, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyPortStats message = (MultipartReplyPortStats) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyPortStatsCase messageCase = (MultipartReplyPortStatsCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyPortStats message = messageCase.getMultipartReplyPortStats();
         Assert.assertEquals("Wrong portNo", 255, message.getPortStats().get(0).getPortNo().intValue());
         Assert.assertEquals("Wrong rxPackets", 
                 new BigInteger(new byte[]{0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}), 
@@ -344,9 +348,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 0x05, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyQueue message = (MultipartReplyQueue) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyQueueCase messageCase = (MultipartReplyQueueCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyQueue message = messageCase.getMultipartReplyQueue();
         Assert.assertEquals("Wrong portNo", 255, message.getQueueStats().get(0).getPortNo().intValue());
         Assert.assertEquals("Wrong queueId", 16, message.getQueueStats().get(0).getQueueId().intValue());
         Assert.assertEquals("Wrong txBytes", 
@@ -401,9 +404,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 0x06, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyGroup message = (MultipartReplyGroup) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyGroupCase messageCase = (MultipartReplyGroupCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyGroup message = messageCase.getMultipartReplyGroup();
         Assert.assertEquals("Wrong groupId", 16, message.getGroupStats().get(0).getGroupId().getValue().intValue());
         Assert.assertEquals("Wrong refCount", 18, message.getGroupStats().get(0).getRefCount().intValue());
         Assert.assertEquals("Wrong packetCount", 
@@ -470,9 +472,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 11, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyMeterFeatures message = (MultipartReplyMeterFeatures) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyMeterFeaturesCase messageCase = (MultipartReplyMeterFeaturesCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyMeterFeatures message = messageCase.getMultipartReplyMeterFeatures();        
         Assert.assertEquals("Wrong maxMeter", 9, message.getMaxMeter().intValue());
         Assert.assertEquals("Wrong bandTypes", new MeterBandTypeBitmap(true, false), message.getBandTypes());
         Assert.assertEquals("Wrong capabilities", new MeterFlags(false, true, true, false), 
@@ -508,9 +509,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 9, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyMeter message = (MultipartReplyMeter) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyMeterCase messageCase = (MultipartReplyMeterCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyMeter message = messageCase.getMultipartReplyMeter();
         Assert.assertEquals("Wrong meterId", 9, 
                              message.getMeterStats().get(0).getMeterId().getValue().intValue());
         Assert.assertEquals("Wrong flowCount", 7, 
@@ -586,9 +586,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 9, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyMeter message = (MultipartReplyMeter) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyMeterCase messageCase = (MultipartReplyMeterCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyMeter message = messageCase.getMultipartReplyMeter();        
         Assert.assertEquals("Wrong meterId", 9, 
                              message.getMeterStats().get(0).getMeterId().getValue().intValue());
         Assert.assertEquals("Wrong flowCount", 7, 
@@ -688,26 +687,28 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 10, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyMeterConfig message = (MultipartReplyMeterConfig) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyMeterConfigCase messageCase = (MultipartReplyMeterConfigCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyMeterConfig message = messageCase.getMultipartReplyMeterConfig();        
         Assert.assertEquals("Wrong flags", new MeterFlags(false, false, true, true),
                              message.getMeterConfig().get(0).getFlags());
         Assert.assertEquals("Wrong meterId", 9, 
                              message.getMeterConfig().get(0).getMeterId().getValue().intValue());
         
-        MeterBandDrop meterBandDrop = (MeterBandDrop) message.getMeterConfig().get(0).getBands().get(0).getMeterBand(); 
+        MeterBandDropCase dropCase = (MeterBandDropCase) message.getMeterConfig().get(0).getBands().get(0).getMeterBand(); 
+        MeterBandDrop meterBandDrop = dropCase.getMeterBandDrop();
         Assert.assertEquals("Wrong meterBandDrop.type", 1, meterBandDrop.getType().getIntValue()); 
         Assert.assertEquals("Wrong meterBandDrop.rate", 17, meterBandDrop.getRate().intValue());
         Assert.assertEquals("Wrong meterBandDrop.burstSize", 32, meterBandDrop.getBurstSize().intValue());
         
-        MeterBandDscpRemark meterBandDscp = (MeterBandDscpRemark) message.getMeterConfig().get(0).getBands().get(1).getMeterBand(); 
+        MeterBandDscpRemarkCase dscpCase = (MeterBandDscpRemarkCase) message.getMeterConfig().get(0).getBands().get(1).getMeterBand(); 
+        MeterBandDscpRemark meterBandDscp = dscpCase.getMeterBandDscpRemark();
         Assert.assertEquals("Wrong meterBandDscp.type", 2, meterBandDscp.getType().getIntValue()); 
         Assert.assertEquals("Wrong meterBandDscp.rate", 17, meterBandDscp.getRate().intValue());
         Assert.assertEquals("Wrong meterBandDscp.burstSize", 32, meterBandDscp.getBurstSize().intValue());
         Assert.assertEquals("Wrong meterBandDscp.precLevel", 4, meterBandDscp.getPrecLevel().intValue());
         
-        MeterBandExperimenter meterBandExperimenter = (MeterBandExperimenter) message.getMeterConfig().get(0).getBands().get(2).getMeterBand(); 
+        MeterBandExperimenterCase experimenterCase = (MeterBandExperimenterCase) message.getMeterConfig().get(0).getBands().get(2).getMeterBand(); 
+        MeterBandExperimenter meterBandExperimenter = experimenterCase.getMeterBandExperimenter();
         Assert.assertEquals("Wrong meterBandExperimenter.type", 0xFFFF, meterBandExperimenter.getType().getIntValue()); 
         Assert.assertEquals("Wrong meterBandExperimenter.rate", 17, meterBandExperimenter.getRate().intValue());
         Assert.assertEquals("Wrong meterBandExperimenter.burstSize", 32, meterBandExperimenter.getBurstSize().intValue());
@@ -756,26 +757,28 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 10, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyMeterConfig message = (MultipartReplyMeterConfig) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyMeterConfigCase messageCase = (MultipartReplyMeterConfigCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyMeterConfig message = messageCase.getMultipartReplyMeterConfig();        
         Assert.assertEquals("Wrong flags", new MeterFlags(true, false, true, false), 
                              message.getMeterConfig().get(0).getFlags());
         Assert.assertEquals("Wrong meterId", 9, 
                              message.getMeterConfig().get(0).getMeterId().getValue().intValue());
         
-        MeterBandDrop meterBandDrop = (MeterBandDrop) message.getMeterConfig().get(0).getBands().get(0).getMeterBand(); 
+        MeterBandDropCase dropCase = (MeterBandDropCase) message.getMeterConfig().get(0).getBands().get(0).getMeterBand(); 
+        MeterBandDrop meterBandDrop = dropCase.getMeterBandDrop(); 
         Assert.assertEquals("Wrong meterBandDrop.type", 1, meterBandDrop.getType().getIntValue()); 
         Assert.assertEquals("Wrong meterBandDrop.rate", 17, meterBandDrop.getRate().intValue());
         Assert.assertEquals("Wrong meterBandDrop.burstSize", 32, meterBandDrop.getBurstSize().intValue());
         
-        MeterBandDscpRemark meterBandDscp = (MeterBandDscpRemark) message.getMeterConfig().get(0).getBands().get(1).getMeterBand(); 
+        MeterBandDscpRemarkCase dscpCase = (MeterBandDscpRemarkCase) message.getMeterConfig().get(0).getBands().get(1).getMeterBand(); 
+        MeterBandDscpRemark meterBandDscp = dscpCase.getMeterBandDscpRemark();
         Assert.assertEquals("Wrong meterBandDscp.type", 2, meterBandDscp.getType().getIntValue()); 
         Assert.assertEquals("Wrong meterBandDscp.rate", 17, meterBandDscp.getRate().intValue());
         Assert.assertEquals("Wrong meterBandDscp.burstSize", 32, meterBandDscp.getBurstSize().intValue());
         Assert.assertEquals("Wrong meterBandDscp.precLevel", 4, meterBandDscp.getPrecLevel().intValue());
         
-        MeterBandExperimenter meterBandExperimenter = (MeterBandExperimenter) message.getMeterConfig().get(0).getBands().get(2).getMeterBand(); 
+        MeterBandExperimenterCase experimenterCase = (MeterBandExperimenterCase) message.getMeterConfig().get(0).getBands().get(2).getMeterBand(); 
+        MeterBandExperimenter meterBandExperimenter = experimenterCase.getMeterBandExperimenter();
         Assert.assertEquals("Wrong meterBandExperimenter.type", 0xFFFF, meterBandExperimenter.getType().getIntValue()); 
         Assert.assertEquals("Wrong meterBandExperimenter.rate", 17, meterBandExperimenter.getRate().intValue());
         Assert.assertEquals("Wrong meterBandExperimenter.burstSize", 32, meterBandExperimenter.getBurstSize().intValue());
@@ -787,7 +790,8 @@ public class MultipartReplyMessageFactoryTest {
         Assert.assertEquals("Wrong meterId01", 7, 
                              message.getMeterConfig().get(1).getMeterId().getValue().intValue());
         
-        MeterBandDscpRemark meterBandDscp01 = (MeterBandDscpRemark) message.getMeterConfig().get(1).getBands().get(0).getMeterBand(); 
+        MeterBandDscpRemarkCase dscpCase01 = (MeterBandDscpRemarkCase) message.getMeterConfig().get(1).getBands().get(0).getMeterBand(); 
+        MeterBandDscpRemark meterBandDscp01 = dscpCase01.getMeterBandDscpRemark();
         Assert.assertEquals("Wrong meterBandDscp01.type", 2, meterBandDscp01.getType().getIntValue()); 
         Assert.assertEquals("Wrong meterBandDscp01.rate", 17, meterBandDscp01.getRate().intValue());
         Assert.assertEquals("Wrong meterBandDscp01.burstSize", 32, meterBandDscp01.getBurstSize().intValue());
@@ -811,9 +815,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 0xFFFF, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyExperimenter message = (MultipartReplyExperimenter) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyExperimenterCase messageCase = (MultipartReplyExperimenterCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyExperimenter message = messageCase.getMultipartReplyExperimenter();        
         Assert.assertEquals("Wrong experimenterId", 15, message.getExperimenter().intValue());
         Assert.assertEquals("Wrong expType", 255, message.getExpType().intValue());
         Assert.assertArrayEquals("Wrong data", new byte[]{0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01}, 
@@ -854,9 +857,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 13, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyPortDesc message = (MultipartReplyPortDesc) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyPortDescCase messageCase = (MultipartReplyPortDescCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyPortDesc message = messageCase.getMultipartReplyPortDesc();
         Assert.assertEquals("Wrong portNo", 66051L, message.getPorts().get(0).getPortNo().longValue());
         Assert.assertEquals("Wrong macAddress", new MacAddress("08:00:27:00:B0:EB"), 
                                                 message.getPorts().get(0).getHwAddr());
@@ -926,9 +928,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyGroupDesc message = (MultipartReplyGroupDesc) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyGroupDescCase messageCase = (MultipartReplyGroupDescCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyGroupDesc message = messageCase.getMultipartReplyGroupDesc();
         Assert.assertEquals("Wrong type", 1, 
                              message.getGroupDesc().get(0).getType().getIntValue());
         Assert.assertEquals("Wrong groupId", 8, 
@@ -1006,9 +1007,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyGroupDesc message = (MultipartReplyGroupDesc) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyGroupDescCase messageCase = (MultipartReplyGroupDescCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyGroupDesc message = messageCase.getMultipartReplyGroupDesc();        
         Assert.assertEquals("Wrong type", 1, 
                              message.getGroupDesc().get(0).getType().getIntValue());
         Assert.assertEquals("Wrong groupId", 8, 
@@ -1016,52 +1016,40 @@ public class MultipartReplyMessageFactoryTest {
         Assert.assertEquals("Wrong bucketWeight", 6, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getWeight().intValue());
         Assert.assertEquals("Wrong bucketWatchPort", 5, 
-                message.getGroupDesc().get(0).getBucketsList().get(0).getWatchPort().
-                                                                        getValue().intValue());
+                message.getGroupDesc().get(0).getBucketsList().get(0).getWatchPort().getValue().intValue());
         Assert.assertEquals("Wrong bucketWatchGroup", 4, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getWatchGroup().intValue());
-        
-        
         Assert.assertEquals("Wrong setMplsTtlType", SetMplsTtl.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong setMplsTtlMPLS_TTL", 9, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
                 getAction().getAugmentation(MplsTtlAction.class).
                 getMplsTtl().intValue());
-        
         Assert.assertEquals("Wrong decMplsTtlType", DecMplsTtl.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong pushVlanType", PushVlan.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong pushVlanEthertype", 32, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
                 getAction().getAugmentation(EthertypeAction.class).
                 getEthertype().getValue().intValue());
-        
         Assert.assertEquals("Wrong pushMplsType", PushMpls.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong pushMplsEthertype", 255, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
                 getAction().getAugmentation(EthertypeAction.class).
                 getEthertype().getValue().intValue());
-        
         Assert.assertEquals("Wrong pushPbbType", PushPbb.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong pushPbbEthertype", 4095, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
                 getAction().getAugmentation(EthertypeAction.class).
                 getEthertype().getValue().intValue());
-        
     }
     
     /**
@@ -1106,56 +1094,43 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyGroupDesc message = (MultipartReplyGroupDesc) builtByFactory.getMultipartReplyBody();
-        
-        Assert.assertEquals("Wrong type", 1, 
-                             message.getGroupDesc().get(0).getType().getIntValue());
-        Assert.assertEquals("Wrong groupId", 8, 
-                             message.getGroupDesc().get(0).getGroupId().getValue().intValue());
+        MultipartReplyGroupDescCase messageCase = (MultipartReplyGroupDescCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyGroupDesc message = messageCase.getMultipartReplyGroupDesc();        
+        Assert.assertEquals("Wrong type", 1, message.getGroupDesc().get(0).getType().getIntValue());
+        Assert.assertEquals("Wrong groupId", 8, message.getGroupDesc().get(0).getGroupId().getValue().intValue());
         Assert.assertEquals("Wrong bucketWeight", 6, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getWeight().intValue());
         Assert.assertEquals("Wrong bucketWatchPort", 5, 
-                message.getGroupDesc().get(0).getBucketsList().get(0).getWatchPort().
-                                                                        getValue().intValue());
+                message.getGroupDesc().get(0).getBucketsList().get(0).getWatchPort().getValue().intValue());
         Assert.assertEquals("Wrong bucketWatchGroup", 4, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getWatchGroup().intValue());
-        
         Assert.assertEquals("Wrong popVlanType", PopVlan.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(0).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong popPbbType", PopPbb.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(1).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong popMplsType", PopMpls.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong popMplsEthertype", 207, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(2).
                 getAction().getAugmentation(EthertypeAction.class).
                 getEthertype().getValue().intValue());
-        
         Assert.assertEquals("Wrong setQueueType", SetQueue.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong setQueueQueueId", 13565952, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(3).
                 getAction().getAugmentation(QueueIdAction.class).
                 getQueueId().intValue());
-        
         Assert.assertEquals("Wrong groupType", Group.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
                 getAction().getType());
-        
         Assert.assertEquals("Wrong groupGroupId", 13565952, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(4).
                 getAction().getAugmentation(GroupIdAction.class).
                 getGroupId().intValue());
-        
         Assert.assertEquals("Wrong decNwTtlType", DecNwTtl.class, 
                 message.getGroupDesc().get(0).getBucketsList().get(0).getActionsList().get(5).
                 getAction().getType());
@@ -1195,9 +1170,8 @@ public class MultipartReplyMessageFactoryTest {
         BufferHelper.checkHeaderV13(builtByFactory);
         Assert.assertEquals("Wrong type", 7, builtByFactory.getType().getIntValue());
         Assert.assertEquals("Wrong flag", true, builtByFactory.getFlags().isOFPMPFREQMORE());
-        
-        MultipartReplyGroupDesc message = (MultipartReplyGroupDesc) builtByFactory.getMultipartReplyBody();
-        
+        MultipartReplyGroupDescCase messageCase = (MultipartReplyGroupDescCase) builtByFactory.getMultipartReplyBody();
+        MultipartReplyGroupDesc message = messageCase.getMultipartReplyGroupDesc();
         Assert.assertEquals("Wrong type", 1, 
                              message.getGroupDesc().get(0).getType().getIntValue());
         Assert.assertEquals("Wrong groupId", 8, 
index 15cbab1aacf263962f0882b146a05dfcbb96d7d3..31893adbec468a565a2c2746ad6ee158b7b6d54e 100644 (file)
@@ -26,9 +26,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev130731.MeterModCommand;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MeterModInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDropCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandDscpRemarkCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.drop._case.MeterBandDropBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.dscp.remark._case.MeterBandDscpRemarkBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.meter.band.experimenter._case.MeterBandExperimenterBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.Bands;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.mod.BandsBuilder;
 
@@ -74,36 +77,45 @@ public class MeterModInputMessageFactoryTest {
     private static List<Bands> createBandsList(){
         List<Bands> bandsList = new ArrayList<>();
         BandsBuilder bandsBuilder = new BandsBuilder();
+        MeterBandDropCaseBuilder dropCaseBuilder = new MeterBandDropCaseBuilder();
         MeterBandDropBuilder dropBand = new MeterBandDropBuilder();
         dropBand.setType(MeterBandType.OFPMBTDROP);
         dropBand.setRate(1L);
         dropBand.setBurstSize(2L);
-        bandsList.add(bandsBuilder.setMeterBand(dropBand.build()).build());
+        dropCaseBuilder.setMeterBandDrop(dropBand.build());
+        bandsList.add(bandsBuilder.setMeterBand(dropCaseBuilder.build()).build());
+        MeterBandDscpRemarkCaseBuilder dscpCaseBuilder = new MeterBandDscpRemarkCaseBuilder();
         MeterBandDscpRemarkBuilder dscpRemarkBand = new MeterBandDscpRemarkBuilder();
         dscpRemarkBand.setType(MeterBandType.OFPMBTDSCPREMARK);
         dscpRemarkBand.setRate(1L);
         dscpRemarkBand.setBurstSize(2L);
         dscpRemarkBand.setPrecLevel((short) 3);
-        bandsList.add(bandsBuilder.setMeterBand(dscpRemarkBand.build()).build());
+        dscpCaseBuilder.setMeterBandDscpRemark(dscpRemarkBand.build());
+        bandsList.add(bandsBuilder.setMeterBand(dscpCaseBuilder.build()).build());
+        MeterBandExperimenterCaseBuilder expCaseBuilder = new MeterBandExperimenterCaseBuilder();
         MeterBandExperimenterBuilder experimenterBand = new MeterBandExperimenterBuilder();
         experimenterBand.setType(MeterBandType.OFPMBTEXPERIMENTER);
         experimenterBand.setRate(1L);
         experimenterBand.setBurstSize(2L);
         experimenterBand.setExperimenter(4L);
-        bandsList.add(bandsBuilder.setMeterBand(experimenterBand.build()).build());
+        expCaseBuilder.setMeterBandExperimenter(experimenterBand.build());
+        bandsList.add(bandsBuilder.setMeterBand(expCaseBuilder.build()).build());
         return bandsList;
     }
     
     private static List<Bands> decodeBandsList(ByteBuf input){
         List<Bands> bandsList = new ArrayList<>();
         BandsBuilder bandsBuilder = new BandsBuilder();
+        MeterBandDropCaseBuilder dropCaseBuilder = new MeterBandDropCaseBuilder();
         MeterBandDropBuilder dropBand = new MeterBandDropBuilder();
         dropBand.setType(MeterBandType.forValue(input.readUnsignedShort()));
         input.skipBytes(Short.SIZE/Byte.SIZE);
         dropBand.setRate(input.readUnsignedInt());
         dropBand.setBurstSize(input.readUnsignedInt());
         input.skipBytes(4);
-        bandsList.add(bandsBuilder.setMeterBand(dropBand.build()).build());
+        dropCaseBuilder.setMeterBandDrop(dropBand.build());
+        bandsList.add(bandsBuilder.setMeterBand(dropCaseBuilder.build()).build());
+        MeterBandDscpRemarkCaseBuilder dscpCaseBuilder = new MeterBandDscpRemarkCaseBuilder();
         MeterBandDscpRemarkBuilder dscpRemarkBand = new MeterBandDscpRemarkBuilder();
         dscpRemarkBand.setType(MeterBandType.forValue(input.readUnsignedShort()));
         input.skipBytes(Short.SIZE/Byte.SIZE);
@@ -111,14 +123,17 @@ public class MeterModInputMessageFactoryTest {
         dscpRemarkBand.setBurstSize(input.readUnsignedInt());
         dscpRemarkBand.setPrecLevel(input.readUnsignedByte());
         input.skipBytes(3);
-        bandsList.add(bandsBuilder.setMeterBand(dscpRemarkBand.build()).build());
+        dscpCaseBuilder.setMeterBandDscpRemark(dscpRemarkBand.build());
+        bandsList.add(bandsBuilder.setMeterBand(dscpCaseBuilder.build()).build());
+        MeterBandExperimenterCaseBuilder expCaseBuilder = new MeterBandExperimenterCaseBuilder();
         MeterBandExperimenterBuilder experimenterBand = new MeterBandExperimenterBuilder();
         experimenterBand.setType(MeterBandType.forValue(input.readUnsignedShort()));
         input.skipBytes(Short.SIZE/Byte.SIZE);
         experimenterBand.setRate(input.readUnsignedInt());
         experimenterBand.setBurstSize(input.readUnsignedInt());
         experimenterBand.setExperimenter(input.readUnsignedInt());
-        bandsList.add(bandsBuilder.setMeterBand(experimenterBand.build()).build());
+        expCaseBuilder.setMeterBandExperimenter(experimenterBand.build());
+        bandsList.add(bandsBuilder.setMeterBand(expCaseBuilder.build()).build());
         return bandsList;
     }
     
index 3b949bc3703596add1b78872953ff926f28ac70c..8bab2fdbf92bbe43a29d1f585a6ef88d69d77c1f 100644 (file)
@@ -29,27 +29,38 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartRequestInputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.MultipartRequestBody;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregate;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlow;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroup;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeter;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfig;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStats;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueue;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features.TableFeatures;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features.TableFeaturesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestAggregateCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestDescCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestFlowCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestGroupCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestMeterConfigCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestPortStatsCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestQueueCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestTableFeaturesCaseBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.aggregate._case.MultipartRequestAggregateBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.desc._case.MultipartRequestDescBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.experimenter._case.MultipartRequestExperimenterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlowBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.group._case.MultipartRequestGroupBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter._case.MultipartRequestMeterBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.meter.config._case.MultipartRequestMeterConfigBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.port.stats._case.MultipartRequestPortStatsBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.queue._case.MultipartRequestQueueBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features._case.MultipartRequestTableFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features._case.MultipartRequestTableFeaturesBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features._case.multipart.request.table.features.TableFeatures;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.table.features._case.multipart.request.table.features.TableFeaturesBuilder;
 
 /**
  * @author timotej.kubas
@@ -82,7 +93,8 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong flow", message.getMultipartRequestBody(), decodeRequestFlow(out));
     }
 
-    private static MultipartRequestFlow createRequestFlow() {
+    private static MultipartRequestFlowCase createRequestFlow() {
+        MultipartRequestFlowCaseBuilder caseBuilder = new MultipartRequestFlowCaseBuilder();
         MultipartRequestFlowBuilder builder = new MultipartRequestFlowBuilder();
         builder.setTableId((short) 8);
         builder.setOutPort(85L);
@@ -91,14 +103,15 @@ public class MultipartRequestInputFactoryTest {
         builder.setCookie(new BigInteger(cookie));
         byte[] cookieMask = new byte[]{0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
         builder.setCookieMask(new BigInteger(cookieMask));
-        MultipartRequestFlow flow = builder.build();
+        caseBuilder.setMultipartRequestFlow(builder.build());
         //TODO match field
-        return flow;
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestFlow decodeRequestFlow(ByteBuf output) {
+    private static MultipartRequestFlowCase decodeRequestFlow(ByteBuf output) {
         final byte PADDING_IN_MULTIPART_REQUEST_FLOW_BODY_01 = 3;
         final byte PADDING_IN_MULTIPART_REQUEST_FLOW_BODY_02 = 4;
+        MultipartRequestFlowCaseBuilder caseBuilder = new MultipartRequestFlowCaseBuilder();
         MultipartRequestFlowBuilder builder = new MultipartRequestFlowBuilder();
         builder.setTableId(output.readUnsignedByte());
         output.skipBytes(PADDING_IN_MULTIPART_REQUEST_FLOW_BODY_01);
@@ -111,8 +124,8 @@ public class MultipartRequestInputFactoryTest {
         byte[] cookieMask = new byte[Long.SIZE/Byte.SIZE];
         output.readBytes(cookieMask);
         builder.setCookieMask(new BigInteger(cookieMask));
-        MultipartRequestFlow flow = builder.build();
-        return flow;
+        caseBuilder.setMultipartRequestFlow(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -145,7 +158,8 @@ public class MultipartRequestInputFactoryTest {
     }
 
 
-    private static MultipartRequestAggregate createRequestAggregate() {
+    private static MultipartRequestAggregateCase createRequestAggregate() {
+        MultipartRequestAggregateCaseBuilder caseBuilder = new MultipartRequestAggregateCaseBuilder();
         MultipartRequestAggregateBuilder builder = new MultipartRequestAggregateBuilder();
         builder.setTableId((short) 8);
         builder.setOutPort(85L);
@@ -154,14 +168,15 @@ public class MultipartRequestInputFactoryTest {
         builder.setCookie(new BigInteger(cookie));
         byte[] cookieMask = new byte[]{0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
         builder.setCookieMask(new BigInteger(cookieMask));
-        MultipartRequestAggregate aggregate = builder.build();
+        caseBuilder.setMultipartRequestAggregate(builder.build());
       //TODO match field
-        return aggregate;
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestAggregate decodeRequestAggregate(ByteBuf output) {
+    private static MultipartRequestAggregateCase decodeRequestAggregate(ByteBuf output) {
         final byte PADDING_IN_MULTIPART_REQUEST_AGGREGATE_BODY_01 = 3;
         final byte PADDING_IN_MULTIPART_REQUEST_AGGREGATE_BODY_02 = 4;
+        MultipartRequestAggregateCaseBuilder caseBuilder = new MultipartRequestAggregateCaseBuilder();
         MultipartRequestAggregateBuilder builder = new MultipartRequestAggregateBuilder();
         builder.setTableId(output.readUnsignedByte());
         output.skipBytes(PADDING_IN_MULTIPART_REQUEST_AGGREGATE_BODY_01);
@@ -174,8 +189,8 @@ public class MultipartRequestInputFactoryTest {
         byte[] cookieMask = new byte[Long.SIZE/Byte.SIZE];
         output.readBytes(cookieMask);
         builder.setCookieMask(new BigInteger(cookieMask));
-        MultipartRequestAggregate flow = builder.build();
-        return flow;
+        caseBuilder.setMultipartRequestAggregate(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -225,20 +240,22 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong portStatsBody", message.getMultipartRequestBody(), decodeRequestPortStats(out));
     }
 
-    private static MultipartRequestPortStats createRequestPortStats() {
+    private static MultipartRequestPortStatsCase createRequestPortStats() {
+        MultipartRequestPortStatsCaseBuilder caseBuilder = new MultipartRequestPortStatsCaseBuilder();
         MultipartRequestPortStatsBuilder builder = new MultipartRequestPortStatsBuilder();
         builder.setPortNo(2251L);
-        MultipartRequestPortStats portStats = builder.build();
-        return portStats;
+        caseBuilder.setMultipartRequestPortStats(builder.build());
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestPortStats decodeRequestPortStats(ByteBuf output) {
+    private static MultipartRequestPortStatsCase decodeRequestPortStats(ByteBuf output) {
         final byte PADDING_IN_MULTIPART_REQUEST_PORTSTATS_BODY = 4;
+        MultipartRequestPortStatsCaseBuilder caseBuilder = new MultipartRequestPortStatsCaseBuilder();
         MultipartRequestPortStatsBuilder builder = new MultipartRequestPortStatsBuilder();
         builder.setPortNo(output.readUnsignedInt());
         output.skipBytes(PADDING_IN_MULTIPART_REQUEST_PORTSTATS_BODY);
-        MultipartRequestPortStats portRequest = builder.build();
-        return portRequest;
+        caseBuilder.setMultipartRequestPortStats(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -265,20 +282,22 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong queueBody", message.getMultipartRequestBody(), decodeRequestQueue(out));
     }
 
-    private static MultipartRequestQueue createRequestQueue() {
+    private static MultipartRequestQueueCase createRequestQueue() {
+        MultipartRequestQueueCaseBuilder caseBuilder = new MultipartRequestQueueCaseBuilder();
         MultipartRequestQueueBuilder builder = new MultipartRequestQueueBuilder();
         builder.setPortNo(2256L);
         builder.setQueueId(2211L);
-        MultipartRequestQueue queue = builder.build();
-        return queue;
+        caseBuilder.setMultipartRequestQueue(builder.build());
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestQueue decodeRequestQueue(ByteBuf output) {
+    private static MultipartRequestQueueCase decodeRequestQueue(ByteBuf output) {
+        MultipartRequestQueueCaseBuilder caseBuilder = new MultipartRequestQueueCaseBuilder();
         MultipartRequestQueueBuilder builder = new MultipartRequestQueueBuilder();
         builder.setPortNo(output.readUnsignedInt());
         builder.setQueueId(output.readUnsignedInt());
-        MultipartRequestQueue queue = builder.build();
-        return queue;
+        caseBuilder.setMultipartRequestQueue(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -305,20 +324,22 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong groupBody", message.getMultipartRequestBody(), decodeRequestGroup(out));
     }
 
-    private static MultipartRequestGroup createRequestGroup() {
+    private static MultipartRequestGroupCase createRequestGroup() {
+        MultipartRequestGroupCaseBuilder caseBuilder = new MultipartRequestGroupCaseBuilder();
         MultipartRequestGroupBuilder builder = new MultipartRequestGroupBuilder();
         builder.setGroupId(new GroupId(2258L));
-        MultipartRequestGroup group = builder.build();
-        return group;
+        caseBuilder.setMultipartRequestGroup(builder.build());
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestGroup decodeRequestGroup(ByteBuf output) {
+    private static MultipartRequestGroupCase decodeRequestGroup(ByteBuf output) {
         final byte PADDING_IN_MULTIPART_REQUEST_GROUP_BODY = 4;
+        MultipartRequestGroupCaseBuilder caseBuilder = new MultipartRequestGroupCaseBuilder();
         MultipartRequestGroupBuilder builder = new MultipartRequestGroupBuilder();
         builder.setGroupId(new GroupId(output.readUnsignedInt()));
         output.skipBytes(PADDING_IN_MULTIPART_REQUEST_GROUP_BODY);
-        MultipartRequestGroup group = builder.build();
-        return group;
+        caseBuilder.setMultipartRequestGroup(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -345,20 +366,22 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong meterBody", message.getMultipartRequestBody(), decodeRequestMeter(out));
     }
 
-    private static MultipartRequestMeter createRequestMeter() {
+    private static MultipartRequestMeterCase createRequestMeter() {
+        MultipartRequestMeterCaseBuilder caseBuilder = new MultipartRequestMeterCaseBuilder();
         MultipartRequestMeterBuilder builder = new MultipartRequestMeterBuilder();
         builder.setMeterId(new MeterId(1121L));
-        MultipartRequestMeter meter = builder.build();
-        return meter;
+        caseBuilder.setMultipartRequestMeter(builder.build());
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestMeter decodeRequestMeter(ByteBuf output) {
+    private static MultipartRequestMeterCase decodeRequestMeter(ByteBuf output) {
         final byte PADDING_IN_MULTIPART_REQUEST_METER_BODY = 4;
+        MultipartRequestMeterCaseBuilder caseBuilder = new MultipartRequestMeterCaseBuilder();
         MultipartRequestMeterBuilder builder = new MultipartRequestMeterBuilder();
         builder.setMeterId(new MeterId(output.readUnsignedInt()));
         output.skipBytes(PADDING_IN_MULTIPART_REQUEST_METER_BODY);
-        MultipartRequestMeter meter = builder.build();
-        return meter;
+        caseBuilder.setMultipartRequestMeter(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -385,20 +408,22 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong meterConfigBody", message.getMultipartRequestBody(), decodeRequestMeterConfig(out));
     }
 
-    private static MultipartRequestMeterConfig createRequestMeterConfig() {
+    private static MultipartRequestMeterConfigCase createRequestMeterConfig() {
+        MultipartRequestMeterConfigCaseBuilder caseBuilder = new MultipartRequestMeterConfigCaseBuilder();
         MultipartRequestMeterConfigBuilder builder = new MultipartRequestMeterConfigBuilder();
         builder.setMeterId(new MeterId(1133L));
-        MultipartRequestMeterConfig meterConfig = builder.build();
-        return meterConfig;
+        caseBuilder.setMultipartRequestMeterConfig(builder.build());
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestMeterConfig decodeRequestMeterConfig(ByteBuf output) {
+    private static MultipartRequestMeterConfigCase decodeRequestMeterConfig(ByteBuf output) {
         final byte PADDING_IN_MULTIPART_REQUEST_METER_CONFIG_BODY = 4;
+        MultipartRequestMeterConfigCaseBuilder caseBuilder = new MultipartRequestMeterConfigCaseBuilder();
         MultipartRequestMeterConfigBuilder builder = new MultipartRequestMeterConfigBuilder();
         builder.setMeterId(new MeterId(output.readUnsignedInt()));
         output.skipBytes(PADDING_IN_MULTIPART_REQUEST_METER_CONFIG_BODY);
-        MultipartRequestMeterConfig meterConfig = builder.build();
-        return meterConfig;
+        caseBuilder.setMultipartRequestMeterConfig(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -425,20 +450,22 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong experimenterBody", message.getMultipartRequestBody(), decodeRequestExperimenter(out));
     }
 
-    private static MultipartRequestExperimenter createRequestExperimenter() {
+    private static MultipartRequestExperimenterCase createRequestExperimenter() {
+        MultipartRequestExperimenterCaseBuilder caseBuilder = new MultipartRequestExperimenterCaseBuilder();
         MultipartRequestExperimenterBuilder builder = new MultipartRequestExperimenterBuilder();
         builder.setExperimenter(1133L);
         builder.setExpType(1135L);
-        MultipartRequestExperimenter experimenter = builder.build();
-        return experimenter;
+        caseBuilder.setMultipartRequestExperimenter(builder.build());
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestExperimenter decodeRequestExperimenter(ByteBuf output) {
+    private static MultipartRequestExperimenterCase decodeRequestExperimenter(ByteBuf output) {
+        MultipartRequestExperimenterCaseBuilder caseBuilder = new MultipartRequestExperimenterCaseBuilder();
         MultipartRequestExperimenterBuilder builder = new MultipartRequestExperimenterBuilder();
         builder.setExperimenter(output.readUnsignedInt());
         builder.setExpType(output.readUnsignedInt());
-        MultipartRequestExperimenter experimenter = builder.build();
-        return experimenter;
+        caseBuilder.setMultipartRequestExperimenter(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -464,8 +491,10 @@ public class MultipartRequestInputFactoryTest {
     }
 
     private static MultipartRequestBody createRequestDesc() {
+        MultipartRequestDescCaseBuilder caseBuilder = new MultipartRequestDescCaseBuilder();
         MultipartRequestDescBuilder builder = new MultipartRequestDescBuilder();
-        return builder.build();
+        caseBuilder.setMultipartRequestDesc(builder.build());
+        return caseBuilder.build();
     }
 
     /**
@@ -489,12 +518,14 @@ public class MultipartRequestInputFactoryTest {
         Assert.assertEquals("Wrong type", message.getType().getIntValue(), out.readUnsignedShort());
         Assert.assertEquals("Wrong flags", message.getFlags(), decodeMultipartRequestFlags(out.readShort()));
         out.skipBytes(PADDING_IN_MULTIPART_REQUEST_MESSAGE);
-
-        MultipartRequestTableFeatures messageTableFeatures = (MultipartRequestTableFeatures) message.getMultipartRequestBody();
-        Assert.assertEquals("Wrong tableFeaturesBody", messageTableFeatures.getTableFeatures(), decodeRequestTableFeatures(out).getTableFeatures());
+        MultipartRequestTableFeaturesCase messageTableFeaturesCase = (MultipartRequestTableFeaturesCase) message.getMultipartRequestBody();
+        MultipartRequestTableFeatures messageTableFeatures = messageTableFeaturesCase.getMultipartRequestTableFeatures();
+        Assert.assertEquals("Wrong tableFeaturesBody", messageTableFeatures.getTableFeatures(), decodeRequestTableFeatures(out).
+                getMultipartRequestTableFeatures().getTableFeatures());
     }
 
-    private static MultipartRequestTableFeatures createRequestTableFeatures() {
+    private static MultipartRequestTableFeaturesCase createRequestTableFeatures() {
+        MultipartRequestTableFeaturesCaseBuilder caseBuilder = new MultipartRequestTableFeaturesCaseBuilder();
         MultipartRequestTableFeaturesBuilder builder = new MultipartRequestTableFeaturesBuilder();
         List<TableFeatures> tableFeaturesList = new ArrayList<>();
         TableFeaturesBuilder tableFeaturesBuilder = new TableFeaturesBuilder();
@@ -507,13 +538,14 @@ public class MultipartRequestInputFactoryTest {
         TableFeatures tableFeature = tableFeaturesBuilder.build();
         tableFeaturesList.add(tableFeature);
         builder.setTableFeatures(tableFeaturesList);
-        MultipartRequestTableFeatures tableFeaturesRequest = builder.build();
-        return tableFeaturesRequest;
+        caseBuilder.setMultipartRequestTableFeatures(builder.build());
+        return caseBuilder.build();
     }
 
-    private static MultipartRequestTableFeatures decodeRequestTableFeatures(ByteBuf output) {
+    private static MultipartRequestTableFeaturesCase decodeRequestTableFeatures(ByteBuf output) {
         final byte PADDING_IN_MULTIPART_REQUEST_TABLE_FEATURES_BODY = 5;
         final byte OFP_MAX_TABLE_NAME_LEN = 32;
+        MultipartRequestTableFeaturesCaseBuilder caseBuilder = new MultipartRequestTableFeaturesCaseBuilder();
         MultipartRequestTableFeaturesBuilder builder = new MultipartRequestTableFeaturesBuilder();
         List<TableFeatures> tableFeaturesList = new ArrayList<>();
         TableFeaturesBuilder tableFeaturesBuilder = new TableFeaturesBuilder();
@@ -534,8 +566,8 @@ public class MultipartRequestInputFactoryTest {
         TableFeatures tableFeature = tableFeaturesBuilder.build();
         tableFeaturesList.add(tableFeature);
         builder.setTableFeatures(tableFeaturesList);
-        MultipartRequestTableFeatures tableFeaturesRequest = builder.build();
-        return tableFeaturesRequest;
+        caseBuilder.setMultipartRequestTableFeatures(builder.build());
+        return caseBuilder.build();
     }
 
     private static TableConfig decodeTableConfig(int input) {