X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fstatistics%2Fservices%2FOpendaylightFlowTableStatisticsServiceImpl.java;h=874346766d8dd95b6dfb797767ad52582b85615a;hb=cfe3a97837951ebbedb337dc988027f10c49f714;hp=2f4483b7e0953fabe2a2ebd5dfd3b35dd9ed5087;hpb=7f63d9b25efe493bbafc8b6d5ec4a8ad0327fa79;p=openflowplugin.git diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightFlowTableStatisticsServiceImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightFlowTableStatisticsServiceImpl.java index 2f4483b7e0..874346766d 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightFlowTableStatisticsServiceImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/services/OpendaylightFlowTableStatisticsServiceImpl.java @@ -1,4 +1,4 @@ -/** +/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the @@ -7,18 +7,19 @@ */ package org.opendaylight.openflowplugin.impl.statistics.services; +import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicLong; -import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.NotificationPublishService; 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.services.RequestInputUtils; +import org.opendaylight.openflowplugin.impl.services.util.RequestInputUtils; +import org.opendaylight.openflowplugin.impl.services.util.ServiceException; import org.opendaylight.openflowplugin.impl.statistics.services.compatibility.AbstractCompatibleStatService; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.Counter32; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.Counter64; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter32; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Counter64; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.FlowTableStatisticsUpdate; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.FlowTableStatisticsUpdateBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.GetFlowTablesStatisticsInput; @@ -41,7 +42,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.Table import org.opendaylight.yangtools.yang.common.RpcResult; public final class OpendaylightFlowTableStatisticsServiceImpl extends - AbstractCompatibleStatService implements + AbstractCompatibleStatService implements OpendaylightFlowTableStatisticsService { private final NotificationPublishService notificationPublishService; @@ -55,15 +58,16 @@ public final class OpendaylightFlowTableStatisticsServiceImpl extends } @Override - public Future> getFlowTablesStatistics( + public ListenableFuture> getFlowTablesStatistics( final GetFlowTablesStatisticsInput input) { return handleAndNotify(input, notificationPublishService); } @Override - protected OfHeader buildRequest(final Xid xid, final GetFlowTablesStatisticsInput input) { + protected OfHeader buildRequest(final Xid xid, final GetFlowTablesStatisticsInput input) throws ServiceException { // Create multipart request body for fetch all the group stats - final MultipartRequestTableCaseBuilder multipartRequestTableCaseBuilder = new MultipartRequestTableCaseBuilder(); + final MultipartRequestTableCaseBuilder multipartRequestTableCaseBuilder = + new MultipartRequestTableCaseBuilder(); final MultipartRequestTableBuilder multipartRequestTableBuilder = new MultipartRequestTableBuilder(); multipartRequestTableBuilder.setEmpty(true); multipartRequestTableCaseBuilder.setMultipartRequestTable(multipartRequestTableBuilder.build()); @@ -83,7 +87,8 @@ public final class OpendaylightFlowTableStatisticsServiceImpl extends } @Override - public FlowTableStatisticsUpdate transformToNotification(List mpReplyList, TransactionId emulatedTxId) { + public FlowTableStatisticsUpdate transformToNotification(List mpReplyList, + TransactionId emulatedTxId) { FlowTableStatisticsUpdateBuilder notification = new FlowTableStatisticsUpdateBuilder(); notification.setId(getDeviceInfo().getNodeId()); notification.setMoreReplies(Boolean.FALSE); @@ -96,6 +101,7 @@ public final class OpendaylightFlowTableStatisticsServiceImpl extends MultipartReplyTable replyBody = caseBody.getMultipartReplyTable(); List swTablesStats = replyBody.getTableStats(); + //TODO: Duplicate code: look at MultiReplyTranslatorUtil method translateTable for (TableStats swTableStats : swTablesStats) { FlowTableAndStatisticsMapBuilder statisticsBuilder = new FlowTableAndStatisticsMapBuilder(); statisticsBuilder.setActiveFlows(new Counter32(swTableStats.getActiveCount()));