package org.opendaylight.netvirt.aclservice.stats;
import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import java.util.ArrayList;
import java.util.List;
-import java.util.concurrent.Future;
import javax.inject.Inject;
import javax.inject.Singleton;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.yang.gen.v1.urn.opendaylight.direct.statistics.rev160511.OpendaylightDirectStatisticsService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.acl.live.statistics.rev161129.AclLiveStatisticsService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.acl.live.statistics.rev161129.Direction;
}
@Override
- public Future<RpcResult<GetAclPortStatisticsOutput>> getAclPortStatistics(GetAclPortStatisticsInput input) {
+ public ListenableFuture<RpcResult<GetAclPortStatisticsOutput>> getAclPortStatistics(
+ GetAclPortStatisticsInput input) {
LOG.trace("Get ACL port statistics for input: {}", input);
RpcResultBuilder<GetAclPortStatisticsOutput> rpcResultBuilder;
rpcResultBuilder = RpcResultBuilder.failed();
rpcResultBuilder.withError(ErrorType.APPLICATION, "operation-not-supported",
"Operation not supported for ACL " + this.securityGroupMode + " mode");
- return Futures.immediateFuture(rpcResultBuilder.build());
+ return rpcResultBuilder.buildFuture();
}
// Default direction is Both
Direction direction = input.getDirection() == null ? Direction.Both : input.getDirection();
- List<AclPortStats> lstAclInterfaceStats = AclLiveStatisticsHelper.getAclPortStats(direction,
- input.getInterfaceNames(), this.odlDirectStatsService, this.dataBroker);
+ @Nullable List<String> interfaceNames = input.getInterfaceNames();
+ List<AclPortStats> lstAclInterfaceStats =
+ interfaceNames != null ? AclLiveStatisticsHelper.getAclPortStats(direction, interfaceNames,
+ this.odlDirectStatsService, this.dataBroker) : new ArrayList<>();
GetAclPortStatisticsOutputBuilder output =
new GetAclPortStatisticsOutputBuilder().setAclPortStats(lstAclInterfaceStats);