*/
package org.opendaylight.netconf.mdsal.connector;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkState;
+
import com.google.common.util.concurrent.FluentFuture;
import java.util.ArrayList;
import java.util.List;
+import java.util.Optional;
import java.util.concurrent.ExecutionException;
import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction;
import org.opendaylight.netconf.api.DocumentedException;
-import org.opendaylight.netconf.api.DocumentedException.ErrorSeverity;
-import org.opendaylight.netconf.api.DocumentedException.ErrorTag;
-import org.opendaylight.netconf.api.DocumentedException.ErrorType;
+import org.opendaylight.yangtools.yang.common.ErrorSeverity;
+import org.opendaylight.yangtools.yang.common.ErrorTag;
+import org.opendaylight.yangtools.yang.common.ErrorType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public TransactionProvider(final DOMDataBroker dataBroker, final String netconfSessionIdForReporting) {
this.dataBroker = dataBroker;
this.netconfSessionIdForReporting = netconfSessionIdForReporting;
- this.transactionValidator = dataBroker.getExtensions().getInstance(DOMDataTransactionValidator.class);
+ transactionValidator = dataBroker.getExtensions().getInstance(DOMDataTransactionValidator.class);
}
@Override
}
public synchronized Optional<DOMDataTreeReadWriteTransaction> getCandidateTransaction() {
- if (candidateTransaction == null) {
- return Optional.absent();
- }
-
- return Optional.of(candidateTransaction);
+ return Optional.ofNullable(candidateTransaction);
}
public synchronized DOMDataTreeReadWriteTransaction getOrCreateTransaction() {
- if (getCandidateTransaction().isPresent()) {
- return getCandidateTransaction().get();
+ // FIXME: getCandidateTransaction() should be final in which case we will just talk to the field
+ final var currentTransaction = getCandidateTransaction();
+ if (currentTransaction.isPresent()) {
+ return currentTransaction.orElseThrow();
}
candidateTransaction = dataBroker.newReadWriteTransaction();
ErrorType.PROTOCOL, ErrorTag.OPERATION_NOT_SUPPORTED, ErrorSeverity.ERROR);
}
- if (!getCandidateTransaction().isPresent()) {
+ if (getCandidateTransaction().isEmpty()) {
// Validating empty transaction, just return true
LOG.debug("Validating empty candidate transaction for session {}", netconfSessionIdForReporting);
return;
}
public synchronized boolean commitTransaction() throws DocumentedException {
- if (!getCandidateTransaction().isPresent()) {
+ if (getCandidateTransaction().isEmpty()) {
//making empty commit without prior opened transaction, just return true
LOG.debug("Making commit without open candidate transaction for session {}", netconfSessionIdForReporting);
return true;
public synchronized void abortTransaction() {
LOG.debug("Aborting current candidateTransaction");
final Optional<DOMDataTreeReadWriteTransaction> otx = getCandidateTransaction();
- if (!otx.isPresent()) {
+ if (otx.isEmpty()) {
LOG.warn("discard-changes triggerd on an empty transaction for session: {}", netconfSessionIdForReporting);
return;
}
public synchronized void abortRunningTransaction(final DOMDataTreeReadWriteTransaction tx) {
LOG.debug("Aborting current running Transaction");
- Preconditions.checkState(runningTransaction != null,
- NO_TRANSACTION_FOUND_FOR_SESSION + netconfSessionIdForReporting);
+ checkState(runningTransaction != null, NO_TRANSACTION_FOUND_FOR_SESSION + netconfSessionIdForReporting);
tx.cancel();
allOpenReadWriteTransactions.remove(tx);
}