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=a732f2f1b96b72ee72a6987e2f2b94651656bf09;hb=eff56082a308f3be21cd4eefd03e0799a6b04714;hp=82ce44c5e994835ff5e484c951639defca407227;hpb=89bbb529da1ea9e338b2b03192bd912003f7f00e;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 82ce44c5e9..a732f2f1b9 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; @@ -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)); }