Decompose RPC implementation classes
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / statistics / services / direct / multilayer / MultiGetFlowStatistics.java
@@ -17,7 +17,7 @@ import org.opendaylight.openflowplugin.api.openflow.device.Xid;
 import org.opendaylight.openflowplugin.extension.api.path.MatchPath;
 import org.opendaylight.openflowplugin.impl.datastore.MultipartWriterProvider;
 import org.opendaylight.openflowplugin.impl.services.util.RequestInputUtils;
-import org.opendaylight.openflowplugin.impl.statistics.services.direct.AbstractFlowDirectStatisticsService;
+import org.opendaylight.openflowplugin.impl.statistics.services.direct.AbstractGetFlowStatistics;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.ConvertorExecutor;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.data.FlowStatsResponseConvertorData;
 import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.match.MatchInjector;
@@ -30,18 +30,15 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.f
 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.MultipartReplyFlowCase;
-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.request.multipart.request.body.MultipartRequestFlowCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlowBuilder;
 import org.opendaylight.yangtools.yang.common.Uint32;
 
-public final class FlowDirectStatisticsService extends AbstractFlowDirectStatisticsService<MultipartReply> {
+public final class MultiGetFlowStatistics extends AbstractGetFlowStatistics<MultipartReply> {
     private final FlowStatsResponseConvertorData data;
 
-    public FlowDirectStatisticsService(final RequestContextStack requestContextStack,
-                                       final DeviceContext deviceContext,
-                                       final ConvertorExecutor convertorExecutor,
-                                       final MultipartWriterProvider statisticsWriterProvider) {
+    public MultiGetFlowStatistics(final RequestContextStack requestContextStack, final DeviceContext deviceContext,
+            final ConvertorExecutor convertorExecutor, final MultipartWriterProvider statisticsWriterProvider) {
         super(requestContextStack, deviceContext, convertorExecutor, statisticsWriterProvider);
         data = new FlowStatsResponseConvertorData(getVersion());
         data.setDatapathId(getDatapathId());
@@ -50,21 +47,20 @@ public final class FlowDirectStatisticsService extends AbstractFlowDirectStatist
 
     @Override
     protected GetFlowStatisticsOutput buildReply(final List<MultipartReply> input, final boolean success) {
-        final List<FlowAndStatisticsMapList> statsList = new ArrayList<>();
+        final var statsList = new ArrayList<FlowAndStatisticsMapList>();
 
         if (success) {
-            for (final MultipartReply mpReply : input) {
-                final MultipartReplyFlowCase caseBody = (MultipartReplyFlowCase) mpReply.getMultipartReplyBody();
-                final MultipartReplyFlow replyBody = caseBody.getMultipartReplyFlow();
+            for (var mpReply : input) {
+                final var caseBody = (MultipartReplyFlowCase) mpReply.getMultipartReplyBody();
+                final var replyBody = caseBody.getMultipartReplyFlow();
                 final Optional<List<FlowAndStatisticsMapList>> statsListPart = getConvertorExecutor().convert(
                     replyBody.getFlowStats(), data);
 
                 statsListPart.ifPresent(flowAndStatisticsMapLists -> {
-                    for (final FlowAndStatisticsMapList part : flowAndStatisticsMapLists) {
-                        final FlowId flowId = new FlowId(generateFlowId(part).getValue());
+                    for (var part : flowAndStatisticsMapLists) {
                         statsList.add(new FlowAndStatisticsMapListBuilder(part)
-                                .setFlowId(flowId)
-                                .build());
+                            .setFlowId(new FlowId(generateFlowId(part).getValue()))
+                            .build());
                     }
                 });
             }