X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fimpl%2Fservice%2FAbstractDataBroker.java;h=ca6e6e9718c5fd516860df86080838e30bfc5ce8;hb=c74d5c2399e500fe3e690edc8cee497b1cb6f867;hp=ed186dcf314fd0ea075ad81bc3b3e19fb942a48b;hpb=2395ecb818aa01bbd90821767715b3df67b65de0;p=controller.git diff --git a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java index ed186dcf31..ca6e6e9718 100644 --- a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java +++ b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.java @@ -14,14 +14,12 @@ import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import org.eclipse.xtext.xbase.lib.Exceptions; import org.opendaylight.controller.md.sal.common.api.RegistrationListener; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent; @@ -38,7 +36,7 @@ import org.opendaylight.yangtools.concepts.CompositeObjectRegistration; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.concepts.Path; import org.opendaylight.yangtools.concepts.Registration; -import org.opendaylight.yangtools.concepts.util.ListenerRegistry; +import org.opendaylight.yangtools.util.ListenerRegistry; import org.opendaylight.yangtools.yang.common.RpcResult; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,6 +44,7 @@ import org.slf4j.LoggerFactory; import com.google.common.base.Function; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; +import com.google.common.base.Supplier; import com.google.common.collect.FluentIterable; import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableList; @@ -120,9 +119,9 @@ public abstract class AbstractDataBroker

, D extends Object, DC } protected ImmutableList> affectedCommitHandlers(final Set

paths) { - final Callable>> _function = new Callable>>() { + final Supplier>> _function = new Supplier>>() { @Override - public ImmutableList> call() throws Exception { + public ImmutableList> get() { Map>> _asMap = commitHandlers.asMap(); Set>>> _entrySet = _asMap.entrySet(); FluentIterable>>> _from = FluentIterable @@ -163,9 +162,9 @@ public abstract class AbstractDataBroker

, D extends Object, DC } protected ImmutableList> probablyAffectedCommitHandlers(final HashSet

paths) { - final Callable>> _function = new Callable>>() { + final Supplier>> _function = new Supplier>>() { @Override - public ImmutableList> call() throws Exception { + public ImmutableList> get() { Map>> _asMap = commitHandlers.asMap(); Set>>> _entrySet = _asMap.entrySet(); FluentIterable>>> _from = FluentIterable @@ -221,19 +220,17 @@ public abstract class AbstractDataBroker

, D extends Object, DC return _dataReadRouter.readOperationalData(path); } - private static T withLock(final Lock lock, final Callable method) { + private static T withLock(final Lock lock, final Supplier method) { lock.lock(); try { - return method.call(); - } catch (Exception e) { - throw Exceptions.sneakyThrow(e); + return method.get(); } finally { lock.unlock(); } } @Override - public final Registration> registerCommitHandler(final P path, + public final Registration registerCommitHandler(final P path, final DataCommitHandler commitHandler) { synchronized (commitHandler) { final DataCommitHandlerRegistrationImpl registration = new DataCommitHandlerRegistrationImpl( @@ -269,8 +266,8 @@ public abstract class AbstractDataBroker

, D extends Object, DC public final CompositeObjectRegistration> registerDataReader(final P path, final DataReader reader) { - final Registration> confReg = getDataReadRouter().registerConfigurationReader(path, reader); - final Registration> dataReg = getDataReadRouter().registerOperationalReader(path, reader); + final Registration confReg = getDataReadRouter().registerConfigurationReader(path, reader); + final Registration dataReg = getDataReadRouter().registerOperationalReader(path, reader); return new CompositeObjectRegistration>(reader, Arrays.asList(confReg, dataReg)); } @@ -406,7 +403,6 @@ public abstract class AbstractDataBroker

, D extends Object, DC final Future> commit(final AbstractDataTransaction transaction) { Preconditions.checkNotNull(transaction); - transaction.changeStatus(TransactionStatus.SUBMITED); final TwoPhaseCommit task = new TwoPhaseCommit(transaction, this); this.getSubmittedTransactionsCount().getAndIncrement();