X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Ftransactions%2FTransactionProvider.java;h=d7cbf6680db5a06b311898f1464c99def0768dee;hb=4eb724db3877173d502ba38c6d83bec780b38bb2;hp=cd3b44852c352cdf9ca905980790ae329e6143ba;hpb=2c7c9ef5e517de98e0d740f938762cc746dbcde1;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/transactions/TransactionProvider.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/transactions/TransactionProvider.java index cd3b44852c..d7cbf6680d 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/transactions/TransactionProvider.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/transactions/TransactionProvider.java @@ -10,11 +10,11 @@ package org.opendaylight.controller.netconf.confignetconfconnector.transactions; import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import org.opendaylight.controller.config.api.ConflictingVersionException; import org.opendaylight.controller.config.api.ValidationException; import org.opendaylight.controller.config.api.jmx.CommitStatus; import org.opendaylight.controller.config.util.ConfigRegistryClient; import org.opendaylight.controller.config.util.ConfigTransactionClient; -import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -94,7 +94,7 @@ public class TransactionProvider implements AutoCloseable { /** * Commit and notification send must be atomic */ - public synchronized CommitStatus commitTransaction() throws NetconfDocumentedException { + public synchronized CommitStatus commitTransaction() throws ValidationException, ConflictingVersionException { final Optional maybeTaON = getTransaction(); Preconditions.checkState(maybeTaON.isPresent(), "No transaction found for session " + netconfSessionIdForReporting); ObjectName taON = maybeTaON.get(); @@ -108,7 +108,7 @@ public class TransactionProvider implements AutoCloseable { // no clean up: user can reconfigure and recover this transaction logger.warn("Transaction {} failed on {}", taON, validationException.toString()); throw validationException; - } catch (Exception e) { + } catch (ConflictingVersionException e) { logger.error("Exception while commit of {}, aborting transaction", taON, e); // clean up abortTransaction(); @@ -142,7 +142,7 @@ public class TransactionProvider implements AutoCloseable { transactionClient.validateConfig(); } - public void validateTestTransaction(ObjectName taON) { + public void validateTestTransaction(ObjectName taON) throws ValidationException { ConfigTransactionClient transactionClient = configRegistryClient.getConfigTransactionClient(taON); transactionClient.validateConfig(); }