Bump MRI upstreams
[openflowplugin.git] / applications / forwardingrules-sync / src / main / java / org / opendaylight / openflowplugin / applications / frsync / impl / strategy / SyncPlanPushStrategyIncrementalImpl.java
index 2e69f01900abe50ac0d72985f8e1f6e55d934956..da2117120f17711f16eee157436f27bfaa3e8c1d 100644 (file)
@@ -1,16 +1,14 @@
-/**
+/*
  * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.openflowplugin.applications.frsync.impl.strategy;
 
 import com.google.common.collect.Iterables;
 import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.JdkFutureAdapters;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import java.util.ArrayList;
@@ -47,7 +45,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.Upd
 import org.opendaylight.yang.gen.v1.urn.opendaylight.table.service.rev131026.UpdateTableOutput;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.RpcError;
+import org.opendaylight.yangtools.yang.common.ErrorType;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
 import org.slf4j.Logger;
@@ -78,28 +76,28 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
         //resultVehicle = updateTableFeatures(nodeIdent, configTree);
 
         resultVehicle = Futures.transformAsync(resultVehicle, input -> {
-            if (!input.isSuccessful()) {
+            // if (!input.isSuccessful()) {
                 //TODO chain errors but not skip processing on first error return Futures.immediateFuture(input);
                 //final ListenableFuture<RpcResult<Void>> singleVoidUpdateResult = Futures.transform(
                 //        Futures.asList Arrays.asList(input, output),
                 //        ReconcileUtil.<UpdateFlowOutput>createRpcResultCondenser("TODO"));
-            }
+            // }
             return addMissingGroups(nodeId, nodeIdent, diffInput.getGroupsToAddOrUpdate(), counters);
         }, MoreExecutors.directExecutor());
         Futures.addCallback(resultVehicle, FxChainUtil.logResultCallback(nodeId, "addMissingGroups"),
                 MoreExecutors.directExecutor());
         resultVehicle = Futures.transformAsync(resultVehicle, input -> {
-            if (!input.isSuccessful()) {
+            // if (!input.isSuccessful()) {
                 //TODO chain errors but not skip processing on first error return Futures.immediateFuture(input);
-            }
+            // }
             return addMissingMeters(nodeId, nodeIdent, diffInput.getMetersToAddOrUpdate(), counters);
         }, MoreExecutors.directExecutor());
         Futures.addCallback(resultVehicle, FxChainUtil.logResultCallback(nodeId, "addMissingMeters"),
                 MoreExecutors.directExecutor());
         resultVehicle = Futures.transformAsync(resultVehicle, input -> {
-            if (!input.isSuccessful()) {
+            // if (!input.isSuccessful()) {
                 //TODO chain errors but not skip processing on first error return Futures.immediateFuture(input);
-            }
+            // }
             return addMissingFlows(nodeId, nodeIdent, diffInput.getFlowsToAddOrUpdate(), counters);
         }, MoreExecutors.directExecutor());
         Futures.addCallback(resultVehicle, FxChainUtil.logResultCallback(nodeId, "addMissingFlows"),
@@ -107,25 +105,25 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
 
 
         resultVehicle = Futures.transformAsync(resultVehicle, input -> {
-            if (!input.isSuccessful()) {
+            // if (!input.isSuccessful()) {
                 //TODO chain errors but not skip processing on first error return Futures.immediateFuture(input);
-            }
+            // }
             return removeRedundantFlows(nodeId, nodeIdent, diffInput.getFlowsToRemove(), counters);
         }, MoreExecutors.directExecutor());
         Futures.addCallback(resultVehicle, FxChainUtil.logResultCallback(nodeId, "removeRedundantFlows"),
                 MoreExecutors.directExecutor());
         resultVehicle = Futures.transformAsync(resultVehicle, input -> {
-            if (!input.isSuccessful()) {
+            // if (!input.isSuccessful()) {
                 //TODO chain errors but not skip processing on first error return Futures.immediateFuture(input);
-            }
+            // }
             return removeRedundantMeters(nodeId, nodeIdent, diffInput.getMetersToRemove(), counters);
         }, MoreExecutors.directExecutor());
         Futures.addCallback(resultVehicle, FxChainUtil.logResultCallback(nodeId, "removeRedundantMeters"),
                 MoreExecutors.directExecutor());
         resultVehicle = Futures.transformAsync(resultVehicle, input -> {
-            if (!input.isSuccessful()) {
+            // if (!input.isSuccessful()) {
                 //TODO chain errors but not skip processing on first error return Futures.immediateFuture(input);
-            }
+            // }
             return removeRedundantGroups(nodeId, nodeIdent, diffInput.getGroupsToRemove(), counters);
         }, MoreExecutors.directExecutor());
         Futures.addCallback(resultVehicle, FxChainUtil.logResultCallback(nodeId, "removeRedundantGroups"),
@@ -159,8 +157,7 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
                 LOG.trace("adding flow {} in table {} - absent on device {} match{}",
                         flow.getId(), tableKey, nodeId, flow.getMatch());
 
-                allResults.add(JdkFutureAdapters.listenInPoolThread(
-                        flowForwarder.add(flowIdent, flow, nodeIdent)));
+                allResults.add(flowForwarder.add(flowIdent, flow, nodeIdent));
                 flowCrudCounts.incAdded();
             }
 
@@ -173,24 +170,23 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
                 LOG.trace("flow {} in table {} - needs update on device {} match{}",
                         updatedFlow.getId(), tableKey, nodeId, updatedFlow.getMatch());
 
-                allUpdateResults.add(JdkFutureAdapters.listenInPoolThread(
-                        flowForwarder.update(flowIdent, existingFlow, updatedFlow, nodeIdent)));
+                allUpdateResults.add(flowForwarder.update(flowIdent, existingFlow, updatedFlow, nodeIdent));
                 flowCrudCounts.incUpdated();
             }
         }
 
         final ListenableFuture<RpcResult<Void>> singleVoidAddResult = Futures.transform(
                 Futures.allAsList(allResults),
-                ReconcileUtil.<AddFlowOutput>createRpcResultCondenser("flow adding"),
+                ReconcileUtil.createRpcResultCondenser("flow adding"),
                 MoreExecutors.directExecutor());
 
         final ListenableFuture<RpcResult<Void>> singleVoidUpdateResult = Futures.transform(
                 Futures.allAsList(allUpdateResults),
-                ReconcileUtil.<UpdateFlowOutput>createRpcResultCondenser("flow updating"),
+                ReconcileUtil.createRpcResultCondenser("flow updating"),
                 MoreExecutors.directExecutor());
 
         return Futures.transform(Futures.allAsList(singleVoidAddResult, singleVoidUpdateResult),
-                ReconcileUtil.<Void>createRpcResultCondenser("flow add/update"),
+                ReconcileUtil.createRpcResultCondenser("flow add/update"),
                 MoreExecutors.directExecutor());
     }
 
@@ -214,15 +210,14 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
             for (final Flow flow : flowsPerTable.getValue().getItemsToPush()) {
                 final KeyedInstanceIdentifier<Flow, FlowKey> flowIdent =
                         tableIdent.child(Flow.class, flow.key());
-                allResults.add(JdkFutureAdapters.listenInPoolThread(
-                        flowForwarder.remove(flowIdent, flow, nodeIdent)));
+                allResults.add(flowForwarder.remove(flowIdent, flow, nodeIdent));
                 flowCrudCounts.incRemoved();
             }
         }
 
         final ListenableFuture<RpcResult<Void>> singleVoidResult = Futures.transform(
                 Futures.allAsList(allResults),
-                ReconcileUtil.<RemoveFlowOutput>createRpcResultCondenser("flow remove"),
+                ReconcileUtil.createRpcResultCondenser("flow remove"),
                 MoreExecutors.directExecutor());
 
         return Futures.transformAsync(singleVoidResult,
@@ -248,13 +243,12 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
                     meter.getMeterId(), nodeId);
             final KeyedInstanceIdentifier<Meter, MeterKey> meterIdent =
                     nodeIdent.child(Meter.class, meter.key());
-            allResults.add(JdkFutureAdapters.listenInPoolThread(
-                    meterForwarder.remove(meterIdent, meter, nodeIdent)));
+            allResults.add(meterForwarder.remove(meterIdent, meter, nodeIdent));
             meterCrudCounts.incRemoved();
         }
 
         return Futures.transform(Futures.allAsList(allResults),
-                ReconcileUtil.<RemoveMeterOutput>createRpcResultCondenser("meter remove"),
+                ReconcileUtil.createRpcResultCondenser("meter remove"),
                 MoreExecutors.directExecutor());
     }
 
@@ -292,7 +286,7 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
             }
         } catch (IllegalStateException e) {
             chainedResult = RpcResultBuilder.<Void>failed()
-                    .withError(RpcError.ErrorType.APPLICATION, "failed to add missing groups", e)
+                    .withError(ErrorType.APPLICATION, "failed to add missing groups", e)
                     .buildFuture();
         }
 
@@ -305,12 +299,12 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
         List<ListenableFuture<RpcResult<RemoveGroupOutput>>> allResults = new ArrayList<>();
         for (Group group : groupsPortion.getItemsToPush()) {
             final KeyedInstanceIdentifier<Group, GroupKey> groupIdent = nodeIdent.child(Group.class, group.key());
-            allResults.add(JdkFutureAdapters.listenInPoolThread(groupForwarder.remove(groupIdent, group, nodeIdent)));
+            allResults.add(groupForwarder.remove(groupIdent, group, nodeIdent));
         }
 
         final ListenableFuture<RpcResult<Void>> singleVoidResult = Futures.transform(
                 Futures.allAsList(allResults),
-                ReconcileUtil.<RemoveGroupOutput>createRpcResultCondenser("group remove"),
+                ReconcileUtil.createRpcResultCondenser("group remove"),
                 MoreExecutors.directExecutor());
 
         return Futures.transformAsync(singleVoidResult,
@@ -340,7 +334,7 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
 
         final ListenableFuture<RpcResult<Void>> singleVoidResult = Futures.transform(
                 Futures.allAsList(allResults),
-                ReconcileUtil.<UpdateTableOutput>createRpcResultCondenser("table update"),
+                ReconcileUtil.createRpcResultCondenser("table update"),
                 MoreExecutors.directExecutor());
 
         return Futures.transformAsync(singleVoidResult,
@@ -356,7 +350,7 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
 
         for (Group group : groupsPortion.getItemsToPush()) {
             final KeyedInstanceIdentifier<Group, GroupKey> groupIdent = nodeIdent.child(Group.class, group.key());
-            allResults.add(JdkFutureAdapters.listenInPoolThread(groupForwarder.add(groupIdent, group, nodeIdent)));
+            allResults.add(groupForwarder.add(groupIdent, group, nodeIdent));
 
         }
 
@@ -365,23 +359,22 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
             final Group group = groupTuple.getUpdated();
 
             final KeyedInstanceIdentifier<Group, GroupKey> groupIdent = nodeIdent.child(Group.class, group.key());
-            allUpdateResults.add(JdkFutureAdapters.listenInPoolThread(
-                    groupForwarder.update(groupIdent, existingGroup, group, nodeIdent)));
+            allUpdateResults.add(groupForwarder.update(groupIdent, existingGroup, group, nodeIdent));
         }
 
         final ListenableFuture<RpcResult<Void>> singleVoidAddResult = Futures.transform(
                 Futures.allAsList(allResults),
-                ReconcileUtil.<AddGroupOutput>createRpcResultCondenser("group add"),
+                ReconcileUtil.createRpcResultCondenser("group add"),
                 MoreExecutors.directExecutor());
 
         final ListenableFuture<RpcResult<Void>> singleVoidUpdateResult = Futures.transform(
                 Futures.allAsList(allUpdateResults),
-                ReconcileUtil.<UpdateGroupOutput>createRpcResultCondenser("group update"),
+                ReconcileUtil.createRpcResultCondenser("group update"),
                 MoreExecutors.directExecutor());
 
         final ListenableFuture<RpcResult<Void>> summaryResult = Futures.transform(
                 Futures.allAsList(singleVoidAddResult, singleVoidUpdateResult),
-                ReconcileUtil.<Void>createRpcResultCondenser("group add/update"),
+                ReconcileUtil.createRpcResultCondenser("group add/update"),
                 MoreExecutors.directExecutor());
 
 
@@ -406,8 +399,7 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
             final KeyedInstanceIdentifier<Meter, MeterKey> meterIdent = nodeIdent.child(Meter.class, meter.key());
             LOG.debug("adding meter {} - absent on device {}",
                     meter.getMeterId(), nodeId);
-            allResults.add(JdkFutureAdapters.listenInPoolThread(
-                    meterForwarder.add(meterIdent, meter, nodeIdent)));
+            allResults.add(meterForwarder.add(meterIdent, meter, nodeIdent));
             meterCrudCounts.incAdded();
         }
 
@@ -416,23 +408,22 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
             final Meter updated = meterTuple.getUpdated();
             final KeyedInstanceIdentifier<Meter, MeterKey> meterIdent = nodeIdent.child(Meter.class, updated.key());
             LOG.trace("meter {} - needs update on device {}", updated.getMeterId(), nodeId);
-            allUpdateResults.add(JdkFutureAdapters.listenInPoolThread(
-                    meterForwarder.update(meterIdent, existingMeter, updated, nodeIdent)));
+            allUpdateResults.add(meterForwarder.update(meterIdent, existingMeter, updated, nodeIdent));
             meterCrudCounts.incUpdated();
         }
 
         final ListenableFuture<RpcResult<Void>> singleVoidAddResult = Futures.transform(
                 Futures.allAsList(allResults),
-                ReconcileUtil.<AddMeterOutput>createRpcResultCondenser("meter add"),
+                ReconcileUtil.createRpcResultCondenser("meter add"),
                 MoreExecutors.directExecutor());
 
         final ListenableFuture<RpcResult<Void>> singleVoidUpdateResult = Futures.transform(
                 Futures.allAsList(allUpdateResults),
-                ReconcileUtil.<UpdateMeterOutput>createRpcResultCondenser("meter update"),
+                ReconcileUtil.createRpcResultCondenser("meter update"),
                 MoreExecutors.directExecutor());
 
         return Futures.transform(Futures.allAsList(singleVoidUpdateResult, singleVoidAddResult),
-                ReconcileUtil.<Void>createRpcResultCondenser("meter add/update"),
+                ReconcileUtil.createRpcResultCondenser("meter add/update"),
                 MoreExecutors.directExecutor());
     }
 
@@ -479,7 +470,7 @@ public class SyncPlanPushStrategyIncrementalImpl implements SyncPlanPushStrategy
             }
         } catch (IllegalStateException e) {
             chainedResult = RpcResultBuilder.<Void>failed()
-                    .withError(RpcError.ErrorType.APPLICATION, "failed to add missing groups", e)
+                    .withError(ErrorType.APPLICATION, "failed to add missing groups", e)
                     .buildFuture();
         }