Migrate users of Optional.get()
[netconf.git] / netconf / mdsal-netconf-connector / src / main / java / org / opendaylight / netconf / mdsal / connector / TransactionProvider.java
index 88840f053d3f320fb7d4e549d0f217c8773671f6..a177da6c21f92cc2fb1b059a0a08639de0eff601 100644 (file)
@@ -7,19 +7,20 @@
  */
 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;
 
@@ -40,7 +41,7 @@ public class TransactionProvider implements AutoCloseable {
     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
@@ -53,16 +54,14 @@ public class TransactionProvider implements AutoCloseable {
     }
 
     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();
@@ -77,7 +76,7 @@ public class TransactionProvider implements AutoCloseable {
                 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;
@@ -96,7 +95,7 @@ public class TransactionProvider implements AutoCloseable {
     }
 
     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;
@@ -122,7 +121,7 @@ public class TransactionProvider implements AutoCloseable {
     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;
         }
@@ -139,8 +138,7 @@ public class TransactionProvider implements AutoCloseable {
 
     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);
     }