From a4bb6f335ed291cb436e20d6857e6a13a14d13d8 Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Thu, 5 Jun 2014 17:43:36 +0200 Subject: [PATCH] Bug 1106: Introduced TransactionCommitFailedException. Change-Id: Icc4392a74aee24e3d2ae69387caa76bbeccb15ca Signed-off-by: Tony Tkacik --- .../api/data/AsyncWriteTransaction.java | 6 ++-- .../TransactionCommitFailedException.java | 34 +++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitFailedException.java diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncWriteTransaction.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncWriteTransaction.java index 2ce43b5f7c..82c48d2ddb 100644 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncWriteTransaction.java +++ b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/AsyncWriteTransaction.java @@ -110,8 +110,10 @@ public interface AsyncWriteTransaction

, D> extends AsyncTrans * @param store Identifier of the store, where commit should occur. * @return Result of the Commit, containing success information or list of * encountered errors, if commit was not successful. The Future - * blocks until {@link TransactionStatus#COMMITED} or - * {@link TransactionStatus#FAILED} is reached. + * blocks until {@link TransactionStatus#COMMITED} is reached. + * Future will fail with {@link TransactionCommitFailedException} + * if Commit of this transaction failed. + * * @throws IllegalStateException if the transaction is not {@link TransactionStatus#NEW} */ public ListenableFuture> commit(); diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitFailedException.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitFailedException.java new file mode 100644 index 0000000000..f3c2e1093c --- /dev/null +++ b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/TransactionCommitFailedException.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * 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.controller.md.sal.common.api.data; + +/** + * + * Failed commit of asynchronous transaction + * + * This exception is raised and returned when transaction commit + * failed. + * + */ +public class TransactionCommitFailedException extends Exception { + + private static final long serialVersionUID = -6138306275373237068L; + + protected TransactionCommitFailedException(final String message, final Throwable cause, final boolean enableSuppression, final boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + + public TransactionCommitFailedException(final String message, final Throwable cause) { + super(message, cause); + } + + public TransactionCommitFailedException(final String message) { + super(message); + } + +} -- 2.36.6