NETVIRT-1630 migrate to md-sal APIs
[netvirt.git] / aclservice / impl / src / main / java / org / opendaylight / netvirt / aclservice / stats / AclLiveStatisticsRpcServiceImpl.java
index 5d7341db42fca07110291e7d0683e0671612af4a..e3b999611eb73c52e7acd528210caaa216931de9 100644 (file)
@@ -9,11 +9,13 @@
 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;
@@ -60,7 +62,8 @@ public class AclLiveStatisticsRpcServiceImpl implements AclLiveStatisticsService
     }
 
     @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;
 
@@ -68,13 +71,15 @@ public class AclLiveStatisticsRpcServiceImpl implements AclLiveStatisticsService
             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);