Fixup Augmentable and Identifiable methods changing
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / statistics / services / direct / multilayer / PortDirectStatisticsService.java
index 2d447e9918834d9a5e95a049f40ff3124f18946a..5d6b5aa483888c530c2a3ca14d11adda4efdcdef 100644 (file)
@@ -10,13 +10,17 @@ package org.opendaylight.openflowplugin.impl.statistics.services.direct.multilay
 
 import java.util.ArrayList;
 import java.util.List;
+import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
 import org.opendaylight.openflowplugin.api.openflow.device.RequestContextStack;
+import org.opendaylight.openflowplugin.api.openflow.device.Xid;
 import org.opendaylight.openflowplugin.impl.datastore.MultipartWriterProvider;
+import org.opendaylight.openflowplugin.impl.services.util.RequestInputUtils;
 import org.opendaylight.openflowplugin.impl.statistics.services.direct.AbstractPortDirectStatisticsService;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorExecutor;
 import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetNodeConnectorStatisticsInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetNodeConnectorStatisticsOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetNodeConnectorStatisticsOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
@@ -24,9 +28,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev1
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev130925.node.connector.statistics.BytesBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev130925.node.connector.statistics.PacketsBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReply;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader;
 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.multipart.reply.port.stats._case.MultipartReplyPortStats;
 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.request.multipart.request.body.MultipartRequestPortStatsCaseBuilder;
+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.port.statistics.rev131214.node.connector.statistics.and.port.number.map.NodeConnectorStatisticsAndPortNumberMap;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.node.connector.statistics.and.port.number.map.NodeConnectorStatisticsAndPortNumberMapBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.node.connector.statistics.and.port.number.map.NodeConnectorStatisticsAndPortNumberMapKey;
@@ -46,7 +53,8 @@ public class PortDirectStatisticsService extends AbstractPortDirectStatisticsSer
 
         if (success) {
             for (final MultipartReply mpReply : input) {
-                final MultipartReplyPortStatsCase caseBody = (MultipartReplyPortStatsCase) mpReply.getMultipartReplyBody();
+                final MultipartReplyPortStatsCase caseBody =
+                        (MultipartReplyPortStatsCase) mpReply.getMultipartReplyBody();
                 final MultipartReplyPortStats replyBody = caseBody.getMultipartReplyPortStats();
 
                 for (final PortStats portStats : replyBody.getPortStats()) {
@@ -71,13 +79,14 @@ public class PortDirectStatisticsService extends AbstractPortDirectStatisticsSer
                         durationBuilder.setNanosecond(new Counter32(portStats.getDurationNsec()));
                     }
 
-                    final NodeConnectorStatisticsAndPortNumberMap stats = new NodeConnectorStatisticsAndPortNumberMapBuilder()
+                    final NodeConnectorStatisticsAndPortNumberMap stats =
+                            new NodeConnectorStatisticsAndPortNumberMapBuilder()
                         .setBytes(bytesBuilder.build())
                         .setPackets(packetsBuilder.build())
                         .setNodeConnectorId(nodeConnectorId)
                         .setDuration(durationBuilder.build())
                         .setCollisionCount(portStats.getCollisions())
-                        .setKey(new NodeConnectorStatisticsAndPortNumberMapKey(nodeConnectorId))
+                        .withKey(new NodeConnectorStatisticsAndPortNumberMapKey(nodeConnectorId))
                         .setReceiveCrcError(portStats.getRxCrcErr()).setReceiveDrops(portStats.getRxDropped())
                         .setReceiveErrors(portStats.getRxErrors())
                         .setReceiveFrameError(portStats.getRxFrameErr())
@@ -96,4 +105,21 @@ public class PortDirectStatisticsService extends AbstractPortDirectStatisticsSer
             .build();
     }
 
+    @Override
+    protected OfHeader buildRequest(final Xid xid, final GetNodeConnectorStatisticsInput input) {
+        final MultipartRequestPortStatsBuilder mprPortStatsBuilder = new MultipartRequestPortStatsBuilder();
+
+        if (input.getNodeConnectorId() != null) {
+            mprPortStatsBuilder.setPortNo(InventoryDataServiceUtil.portNumberfromNodeConnectorId(getOfVersion(),
+                    input.getNodeConnectorId()));
+        } else {
+            mprPortStatsBuilder.setPortNo(OFConstants.OFPP_ANY);
+        }
+
+        return RequestInputUtils.createMultipartHeader(getMultipartType(), xid.getValue(), getVersion())
+            .setMultipartRequestBody(new MultipartRequestPortStatsCaseBuilder()
+                .setMultipartRequestPortStats(mprPortStatsBuilder.build())
+                .build())
+            .build();
+    }
 }