* 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.impl.services.sal;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
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;
* Default implementation of {@link SalGroupsBatchService} - delegates work to {@link SalGroupService}.
*/
public class SalGroupsBatchServiceImpl implements SalGroupsBatchService {
-
private static final Logger LOG = LoggerFactory.getLogger(SalGroupsBatchServiceImpl.class);
private final SalGroupService salGroupService;
public SalGroupsBatchServiceImpl(final SalGroupService salGroupService,
final FlowCapableTransactionService transactionService) {
- this.salGroupService = Preconditions.checkNotNull(salGroupService);
- this.transactionService = Preconditions.checkNotNull(transactionService);
+ this.salGroupService = requireNonNull(salGroupService);
+ this.transactionService = requireNonNull(transactionService);
}
@Override
.setOriginalGroup(new OriginalGroupBuilder(batchGroup.getOriginalBatchedGroup()).build())
.setUpdatedGroup(new UpdatedGroupBuilder(batchGroup.getUpdatedBatchedGroup()).build())
.setGroupRef(createGroupRef(input.getNode(), batchGroup)).setNode(input.getNode()).build();
- resultsLot.add(JdkFutureAdapters.listenInPoolThread(salGroupService.updateGroup(updateGroupInput)));
+ resultsLot.add(salGroupService.updateGroup(updateGroupInput));
}
final Iterable<Group> groups = batchUpdateGroups.stream()
ListenableFuture<RpcResult<UpdateGroupsBatchOutput>> updateGroupsBulkFuture = Futures
.transform(commonResult, GroupUtil.GROUP_UPDATE_TRANSFORM, MoreExecutors.directExecutor());
- if (input.isBarrierAfter()) {
+ if (input.getBarrierAfter()) {
updateGroupsBulkFuture = BarrierUtil
.chainBarrier(updateGroupsBulkFuture, input.getNode(), transactionService,
GroupUtil.GROUP_UPDATE_COMPOSING_TRANSFORM);
public ListenableFuture<RpcResult<AddGroupsBatchOutput>> addGroupsBatch(final AddGroupsBatchInput input) {
LOG.trace("Adding groups @ {} : {}", PathUtil.extractNodeId(input.getNode()), input.getBatchAddGroups().size());
final ArrayList<ListenableFuture<RpcResult<AddGroupOutput>>> resultsLot = new ArrayList<>();
- for (BatchAddGroups addGroup : input.getBatchAddGroups()) {
+ for (BatchAddGroups addGroup : input.nonnullBatchAddGroups().values()) {
final AddGroupInput addGroupInput = new AddGroupInputBuilder(addGroup)
.setGroupRef(createGroupRef(input.getNode(), addGroup)).setNode(input.getNode()).build();
- resultsLot.add(JdkFutureAdapters.listenInPoolThread(salGroupService.addGroup(addGroupInput)));
+ resultsLot.add(salGroupService.addGroup(addGroupInput));
}
final ListenableFuture<RpcResult<List<BatchFailedGroupsOutput>>> commonResult = Futures
.transform(Futures.allAsList(resultsLot),
- GroupUtil.createCumulatingFunction(input.getBatchAddGroups()),
+ GroupUtil.createCumulatingFunction(input.nonnullBatchAddGroups().values()),
MoreExecutors.directExecutor());
ListenableFuture<RpcResult<AddGroupsBatchOutput>> addGroupsBulkFuture = Futures
.transform(commonResult, GroupUtil.GROUP_ADD_TRANSFORM, MoreExecutors.directExecutor());
- if (input.isBarrierAfter()) {
+ if (input.getBarrierAfter()) {
addGroupsBulkFuture = BarrierUtil.chainBarrier(addGroupsBulkFuture, input.getNode(), transactionService,
GroupUtil.GROUP_ADD_COMPOSING_TRANSFORM);
}
LOG.trace("Removing groups @ {} : {}", PathUtil.extractNodeId(input.getNode()),
input.getBatchRemoveGroups().size());
final ArrayList<ListenableFuture<RpcResult<RemoveGroupOutput>>> resultsLot = new ArrayList<>();
- for (BatchRemoveGroups addGroup : input.getBatchRemoveGroups()) {
+ for (BatchRemoveGroups addGroup : input.nonnullBatchRemoveGroups().values()) {
final RemoveGroupInput removeGroupInput = new RemoveGroupInputBuilder(addGroup)
.setGroupRef(createGroupRef(input.getNode(), addGroup)).setNode(input.getNode()).build();
- resultsLot.add(JdkFutureAdapters.listenInPoolThread(salGroupService.removeGroup(removeGroupInput)));
+ resultsLot.add(salGroupService.removeGroup(removeGroupInput));
}
final ListenableFuture<RpcResult<List<BatchFailedGroupsOutput>>> commonResult = Futures
.transform(Futures.allAsList(resultsLot),
- GroupUtil.createCumulatingFunction(input.getBatchRemoveGroups()),
+ GroupUtil.createCumulatingFunction(input.nonnullBatchRemoveGroups().values()),
MoreExecutors.directExecutor());
ListenableFuture<RpcResult<RemoveGroupsBatchOutput>> removeGroupsBulkFuture = Futures
.transform(commonResult, GroupUtil.GROUP_REMOVE_TRANSFORM, MoreExecutors.directExecutor());
- if (input.isBarrierAfter()) {
+ if (input.getBarrierAfter()) {
removeGroupsBulkFuture = BarrierUtil
.chainBarrier(removeGroupsBulkFuture, input.getNode(), transactionService,
GroupUtil.GROUP_REMOVE_COMPOSING_TRANSFORM);