import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.EnumSet;
import java.util.List;
import org.opendaylight.openflowplugin.impl.services.batch.BatchPlanStep;
}
private static boolean isGroupBarrierNeeded(final EnumSet<BatchStepType> previousTypes, final BatchStepType type) {
- return (type == BatchStepType.GROUP_ADD
+ return type == BatchStepType.GROUP_ADD
&& (previousTypes.contains(BatchStepType.GROUP_ADD)
- || previousTypes.contains(BatchStepType.GROUP_UPDATE)))
- || (type == BatchStepType.GROUP_REMOVE
+ || previousTypes.contains(BatchStepType.GROUP_UPDATE))
+ || type == BatchStepType.GROUP_REMOVE
&& (previousTypes.contains(BatchStepType.FLOW_REMOVE)
|| previousTypes.contains(BatchStepType.FLOW_UPDATE)
|| previousTypes.contains(BatchStepType.GROUP_REMOVE)
- || previousTypes.contains(BatchStepType.GROUP_UPDATE)));
+ || previousTypes.contains(BatchStepType.GROUP_UPDATE));
}
private static boolean isMeterBarrierNeeded(final EnumSet<BatchStepType> previousTypes, final BatchStepType type) {
|| previousTypes.contains(BatchStepType.FLOW_UPDATE));
}
- public static List<BatchPlanStep> assembleBatchPlan(List<Batch> batches) {
+ public static List<BatchPlanStep> assembleBatchPlan(final Collection<Batch> batches) {
final List<BatchPlanStep> plan = new ArrayList<>();
BatchPlanStep planStep;
return plan;
}
- private static List<? extends BatchOrderGrouping> extractBatchData(final BatchStepType batchStepType,
+ private static Collection<? extends BatchOrderGrouping> extractBatchData(final BatchStepType batchStepType,
final BatchChoice batchChoice) {
- final List<? extends BatchOrderGrouping> batchData;
+ final Collection<? extends BatchOrderGrouping> batchData;
switch (batchStepType) {
case FLOW_ADD:
- batchData = ((FlatBatchAddFlowCase) batchChoice).getFlatBatchAddFlow();
+ batchData = ((FlatBatchAddFlowCase) batchChoice).nonnullFlatBatchAddFlow().values();
break;
case FLOW_REMOVE:
- batchData = ((FlatBatchRemoveFlowCase) batchChoice).getFlatBatchRemoveFlow();
+ batchData = ((FlatBatchRemoveFlowCase) batchChoice).nonnullFlatBatchRemoveFlow().values();
break;
case FLOW_UPDATE:
- batchData = ((FlatBatchUpdateFlowCase) batchChoice).getFlatBatchUpdateFlow();
+ batchData = ((FlatBatchUpdateFlowCase) batchChoice).nonnullFlatBatchUpdateFlow().values();
break;
case GROUP_ADD:
- batchData = ((FlatBatchAddGroupCase) batchChoice).getFlatBatchAddGroup();
+ batchData = ((FlatBatchAddGroupCase) batchChoice).nonnullFlatBatchAddGroup().values();
break;
case GROUP_REMOVE:
- batchData = ((FlatBatchRemoveGroupCase) batchChoice).getFlatBatchRemoveGroup();
+ batchData = ((FlatBatchRemoveGroupCase) batchChoice).nonnullFlatBatchRemoveGroup().values();
break;
case GROUP_UPDATE:
- batchData = ((FlatBatchUpdateGroupCase) batchChoice).getFlatBatchUpdateGroup();
+ batchData = ((FlatBatchUpdateGroupCase) batchChoice).nonnullFlatBatchUpdateGroup().values();
break;
case METER_ADD:
- batchData = ((FlatBatchAddMeterCase) batchChoice).getFlatBatchAddMeter();
+ batchData = ((FlatBatchAddMeterCase) batchChoice).nonnullFlatBatchAddMeter().values();
break;
case METER_REMOVE:
- batchData = ((FlatBatchRemoveMeterCase) batchChoice).getFlatBatchRemoveMeter();
+ batchData = ((FlatBatchRemoveMeterCase) batchChoice).nonnullFlatBatchRemoveMeter().values();
break;
case METER_UPDATE:
- batchData = ((FlatBatchUpdateMeterCase) batchChoice).getFlatBatchUpdateMeter();
+ batchData = ((FlatBatchUpdateMeterCase) batchChoice).nonnullFlatBatchUpdateMeter().values();
break;
default:
throw new IllegalArgumentException("Unsupported batch step type obtained: " + batchStepType);
for (RpcResult<ProcessFlatBatchOutput> jobResult : jobsResults) {
if (jobResult != null) {
- isSuccessful = (isSuccessful && jobResult.isSuccessful());
+ isSuccessful = isSuccessful && jobResult.isSuccessful();
rpcErrors.addAll(jobResult.getErrors());
- batchFailures.addAll(jobResult.getResult().getBatchFailure());
+ batchFailures.addAll(jobResult.getResult().nonnullBatchFailure().values());
}
}