Decompose RPC implementation classes
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / statistics / services / direct / multilayer / MultiGetQueueStatistics.java
@@ -15,7 +15,7 @@ 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.AbstractQueueDirectStatisticsService;
+import org.opendaylight.openflowplugin.impl.statistics.services.direct.AbstractGetQueueStatistics;
 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;
@@ -24,13 +24,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511
 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetQueueStatisticsOutput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.GetQueueStatisticsOutputBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.queue.rev130925.QueueId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev130925.duration.DurationBuilder;
 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.MultipartReplyQueueCase;
-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.queue._case.multipart.reply.queue.QueueStats;
 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.multipart.request.queue._case.MultipartRequestQueueBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMap;
@@ -38,12 +35,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.
 import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.queue.id.and.statistics.map.QueueIdAndStatisticsMapKey;
 import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
-public class QueueDirectStatisticsService extends AbstractQueueDirectStatisticsService<MultipartReply> {
-
-    public QueueDirectStatisticsService(final RequestContextStack requestContextStack,
-                                        final DeviceContext deviceContext,
-                                        final ConvertorExecutor convertorExecutor,
-                                        final MultipartWriterProvider statisticsWriterProvider) {
+public final class MultiGetQueueStatistics extends AbstractGetQueueStatistics<MultipartReply> {
+    public MultiGetQueueStatistics(final RequestContextStack requestContextStack, final DeviceContext deviceContext,
+            final ConvertorExecutor convertorExecutor, final MultipartWriterProvider statisticsWriterProvider) {
         super(requestContextStack, deviceContext, convertorExecutor, statisticsWriterProvider);
     }
 
@@ -56,28 +50,23 @@ public class QueueDirectStatisticsService extends AbstractQueueDirectStatisticsS
         final var queueIdAndStatisticsMap =
             BindingMap.<QueueIdAndStatisticsMapKey, QueueIdAndStatisticsMap>orderedBuilder();
 
-        for (final MultipartReply mpReply : input) {
-            final MultipartReplyQueueCase caseBody = (MultipartReplyQueueCase) mpReply.getMultipartReplyBody();
-            final MultipartReplyQueue replyBody = caseBody.getMultipartReplyQueue();
-
-            for (final QueueStats queueStats : replyBody.nonnullQueueStats()) {
-                final DurationBuilder durationBuilder = new DurationBuilder()
-                    .setSecond(new Counter32(queueStats.getDurationSec()))
-                    .setNanosecond(new Counter32(queueStats.getDurationNsec()));
-
-                final QueueId queueId = new QueueId(queueStats.getQueueId());
-                final NodeConnectorId nodeConnectorId = InventoryDataServiceUtil.nodeConnectorIdfromDatapathPortNo(
-                    getDatapathId(), queueStats.getPortNo(), getOfVersion());
+        for (var mpReply : input) {
+            final var caseBody = (MultipartReplyQueueCase) mpReply.getMultipartReplyBody();
+            final var replyBody = caseBody.getMultipartReplyQueue();
 
-                final QueueIdAndStatisticsMapBuilder statsBuilder = new QueueIdAndStatisticsMapBuilder()
-                    .setNodeConnectorId(nodeConnectorId)
-                    .setQueueId(queueId)
+            for (var queueStats : replyBody.nonnullQueueStats()) {
+                queueIdAndStatisticsMap.add(new QueueIdAndStatisticsMapBuilder()
+                    .setNodeConnectorId(InventoryDataServiceUtil.nodeConnectorIdfromDatapathPortNo(
+                        getDatapathId(), queueStats.getPortNo(), getOfVersion()))
+                    .setQueueId(new QueueId(queueStats.getQueueId()))
                     .setTransmissionErrors(new Counter64(queueStats.getTxErrors()))
                     .setTransmittedBytes(new Counter64(queueStats.getTxBytes()))
                     .setTransmittedPackets(new Counter64(queueStats.getTxPackets()))
-                    .setDuration(durationBuilder.build());
-
-                queueIdAndStatisticsMap.add(statsBuilder.build());
+                    .setDuration(new DurationBuilder()
+                        .setSecond(new Counter32(queueStats.getDurationSec()))
+                        .setNanosecond(new Counter32(queueStats.getDurationNsec()))
+                        .build())
+                    .build());
             }
         }
 
@@ -88,8 +77,7 @@ public class QueueDirectStatisticsService extends AbstractQueueDirectStatisticsS
 
     @Override
     protected OfHeader buildRequest(final Xid xid, final GetQueueStatisticsInput input) {
-        final MultipartRequestQueueBuilder mprQueueBuilder = new MultipartRequestQueueBuilder();
-
+        final var mprQueueBuilder = new MultipartRequestQueueBuilder();
         if (input.getQueueId() != null) {
             mprQueueBuilder.setQueueId(input.getQueueId().getValue());
         } else {