Decompose RPC implementation classes
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / statistics / services / direct / multilayer / MultiGetNodeConnectorStatistics.java
@@ -14,7 +14,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.AbstractPortDirectStatisticsService;
+import org.opendaylight.openflowplugin.impl.statistics.services.direct.AbstractGetNodeConnectorStatistics;
 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;
@@ -27,8 +27,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.model.statistics.types.rev1
 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;
@@ -36,12 +34,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.n
 import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.node.connector.statistics.and.port.number.map.NodeConnectorStatisticsAndPortNumberMapKey;
 import org.opendaylight.yangtools.yang.binding.util.BindingMap;
 
-public class PortDirectStatisticsService extends AbstractPortDirectStatisticsService<MultipartReply> {
-
-    public PortDirectStatisticsService(final RequestContextStack requestContextStack,
-                                       final DeviceContext deviceContext,
-                                       final ConvertorExecutor convertorExecutor,
-                                       final MultipartWriterProvider statisticsWriterProvider) {
+public final class MultiGetNodeConnectorStatistics extends AbstractGetNodeConnectorStatistics<MultipartReply> {
+    public MultiGetNodeConnectorStatistics(final RequestContextStack requestContextStack,
+            final DeviceContext deviceContext, final ConvertorExecutor convertorExecutor,
+            final MultipartWriterProvider statisticsWriterProvider) {
         super(requestContextStack, deviceContext, convertorExecutor, statisticsWriterProvider);
     }
 
@@ -53,13 +49,12 @@ public class PortDirectStatisticsService extends AbstractPortDirectStatisticsSer
 
         final var nodeConnectorStatisticsAndPortNumberMap = BindingMap.<NodeConnectorStatisticsAndPortNumberMapKey,
             NodeConnectorStatisticsAndPortNumberMap>orderedBuilder();
-        for (final MultipartReply mpReply : input) {
-            final MultipartReplyPortStatsCase caseBody =
-                (MultipartReplyPortStatsCase) mpReply.getMultipartReplyBody();
-            final MultipartReplyPortStats replyBody = caseBody.getMultipartReplyPortStats();
+        for (var mpReply : input) {
+            final var caseBody = (MultipartReplyPortStatsCase) mpReply.getMultipartReplyBody();
+            final var replyBody = caseBody.getMultipartReplyPortStats();
 
-            for (final PortStats portStats : replyBody.nonnullPortStats()) {
-                final DurationBuilder durationBuilder = new DurationBuilder();
+            for (var portStats : replyBody.nonnullPortStats()) {
+                final var durationBuilder = new DurationBuilder();
                 if (portStats.getDurationSec() != null) {
                     durationBuilder.setSecond(new Counter32(portStats.getDurationSec()));
                 }
@@ -97,7 +92,7 @@ public class PortDirectStatisticsService extends AbstractPortDirectStatisticsSer
 
     @Override
     protected OfHeader buildRequest(final Xid xid, final GetNodeConnectorStatisticsInput input) {
-        final MultipartRequestPortStatsBuilder mprPortStatsBuilder = new MultipartRequestPortStatsBuilder();
+        final var mprPortStatsBuilder = new MultipartRequestPortStatsBuilder();
 
         if (input.getNodeConnectorId() != null) {
             mprPortStatsBuilder.setPortNo(InventoryDataServiceUtil.portNumberfromNodeConnectorId(getOfVersion(),