package org.opendaylight.controller.md.sal.common.impl.service;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.opendaylight.controller.md.sal.common.api.data.DataChangeListener;
import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler;
import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler.DataCommitTransaction;
-import org.opendaylight.controller.sal.common.util.Rpcs;
import org.opendaylight.yangtools.concepts.Path;
-import org.opendaylight.yangtools.yang.common.RpcError;
import org.opendaylight.yangtools.yang.common.RpcResult;
+import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
.addAll(transaction.getCreatedOperationalData().keySet())
.addAll(transaction.getRemovedOperationalData()).build();
- log.trace("Transaction: {} Affected Subtrees:", transactionId, changedPaths);
+ log.trace("Transaction: {} Affected Subtrees: {}", transactionId, changedPaths);
// The transaction has no effects, let's just shortcut it
if (changedPaths.isEmpty()) {
dataBroker.getFinishedTransactionsCount().getAndIncrement();
- transaction.changeStatus(TransactionStatus.COMMITED);
+ transaction.succeeded();
log.trace("Transaction: {} Finished successfully (no effects).", transactionId);
- return Rpcs.<TransactionStatus> getRpcResult(true, TransactionStatus.COMMITED,
- Collections.<RpcError> emptySet());
+ return RpcResultBuilder.<TransactionStatus> success( TransactionStatus.COMMITED ).build();
}
final ImmutableList.Builder<ListenerStateCapture<P, D, DCL>> listenersBuilder = ImmutableList.builder();
} catch (Exception e) {
log.error("Transaction: {} Request Commit failed", transactionId, e);
dataBroker.getFailedTransactionsCount().getAndIncrement();
- this.transaction.changeStatus(TransactionStatus.FAILED);
+ this.transaction.failed();
return this.rollback(handlerTransactions, e);
}
} catch (Exception e) {
log.error("Transaction: {} Finish Commit failed", transactionId, e);
dataBroker.getFailedTransactionsCount().getAndIncrement();
- transaction.changeStatus(TransactionStatus.FAILED);
+ transaction.failed();
return this.rollback(handlerTransactions, e);
}
dataBroker.getFinishedTransactionsCount().getAndIncrement();
- transaction.changeStatus(TransactionStatus.COMMITED);
+ transaction.succeeded();
log.trace("Transaction: {} Finished successfully.", transactionId);
captureFinalState(listeners);
- log.trace("Transaction: {} Notifying listeners.");
+ log.trace("Transaction: {} Notifying listeners.", transactionId);
publishDataChangeEvent(listeners);
- return Rpcs.<TransactionStatus> getRpcResult(true, TransactionStatus.COMMITED,
- Collections.<RpcError> emptySet());
+ return RpcResultBuilder.<TransactionStatus> success(TransactionStatus.COMMITED).build();
}
private void captureInitialState(ImmutableList<ListenerStateCapture<P, D, DCL>> listeners) {
for (final DataCommitTransaction<P, D> transaction : transactions) {
transaction.rollback();
}
- Set<RpcError> _emptySet = Collections.<RpcError> emptySet();
- return Rpcs.<TransactionStatus> getRpcResult(false, TransactionStatus.FAILED, _emptySet);
+ return RpcResultBuilder.<TransactionStatus> failed().withResult(TransactionStatus.FAILED).build();
}
}