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;
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());
@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());
}
});
}