Logs are added to identify the flows and groups being added in
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / services / multilayer / MultiLayerFlowService.java
index c26638fae92fc88802ea5c6c99f704c9ca74c44f..10d88f9a5773ecb84bb9830d8cb5dedfb1221a2c 100644 (file)
@@ -10,11 +10,13 @@ package org.opendaylight.openflowplugin.impl.services.multilayer;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
+import javax.annotation.Nonnull;
 import org.opendaylight.openflowplugin.api.OFConstants;
 import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext;
 import org.opendaylight.openflowplugin.api.openflow.device.RequestContextStack;
@@ -36,7 +38,10 @@ public final class MultiLayerFlowService<O extends DataObject> extends AbstractS
     private final ConvertorExecutor convertorExecutor;
     private final VersionDatapathIdConvertorData data;
 
-    public MultiLayerFlowService(final RequestContextStack requestContextStack, final DeviceContext deviceContext, final Class<O> clazz, final ConvertorExecutor convertorExecutor) {
+    public MultiLayerFlowService(final RequestContextStack requestContextStack,
+                                 final DeviceContext deviceContext,
+                                 final Class<O> clazz,
+                                 final ConvertorExecutor convertorExecutor) {
         super(requestContextStack, deviceContext, clazz);
         this.convertorExecutor = convertorExecutor;
         data = new VersionDatapathIdConvertorData(getVersion());
@@ -65,7 +70,7 @@ public final class MultiLayerFlowService<O extends DataObject> extends AbstractS
         final SettableFuture<RpcResult<O>> finalFuture = SettableFuture.create();
         Futures.addCallback(allFutures, new FutureCallback<List<RpcResult<O>>>() {
             @Override
-            public void onSuccess(final List<RpcResult<O>> results) {
+            public void onSuccess(@Nonnull final List<RpcResult<O>> results) {
                 final ArrayList<RpcError> errors = new ArrayList();
                 for (RpcResult<O> flowModResult : results) {
                     if (flowModResult == null) {
@@ -88,13 +93,12 @@ public final class MultiLayerFlowService<O extends DataObject> extends AbstractS
             }
 
             @Override
-            public void onFailure(final Throwable t) {
+            public void onFailure(final Throwable throwable) {
                 RpcResultBuilder<O> rpcResultBuilder = RpcResultBuilder.failed();
                 finalFuture.set(rpcResultBuilder.build());
             }
-        });
+        }, MoreExecutors.directExecutor());
 
         return finalFuture;
     }
-
 }