X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fschema%2Fprovider%2Fimpl%2FRemoteYangTextSourceProviderImpl.java;h=eeab236ed9e91b85e951c295f06b68488b2c41b6;hb=b5cb353e3553a39f576c284119af75ffa5ea66a9;hp=07d1714680e688e622fc838f82554dcc3737bde3;hpb=f2aa0c3d35d7ec7b61fafe614128042c1a0251d8;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java index 07d1714680..eeab236ed9 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/schema/provider/impl/RemoteYangTextSourceProviderImpl.java @@ -9,11 +9,14 @@ package org.opendaylight.controller.cluster.schema.provider.impl; import com.google.common.annotations.Beta; -import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.base.Preconditions; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.MoreExecutors; import java.io.IOException; import java.util.Set; +import javax.annotation.Nonnull; import org.opendaylight.controller.cluster.schema.provider.RemoteYangTextSourceProvider; import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -33,8 +36,9 @@ public class RemoteYangTextSourceProviderImpl implements RemoteYangTextSourcePro private final SchemaRepository repository; private final Set providedSources; - public RemoteYangTextSourceProviderImpl(SchemaRepository repository, Set providedSources) { - this.repository = repository; + public RemoteYangTextSourceProviderImpl(final SchemaRepository repository, + final Set providedSources) { + this.repository = Preconditions.checkNotNull(repository); this.providedSources = providedSources; } @@ -44,15 +48,16 @@ public class RemoteYangTextSourceProviderImpl implements RemoteYangTextSourcePro } @Override - public Future getYangTextSchemaSource(SourceIdentifier identifier) { + public Future getYangTextSchemaSource(final SourceIdentifier identifier) { LOG.trace("Sending yang schema source for {}", identifier); final Promise promise = akka.dispatch.Futures.promise(); - CheckedFuture future = repository.getSchemaSource(identifier, YangTextSchemaSource.class); + ListenableFuture future = + repository.getSchemaSource(identifier, YangTextSchemaSource.class); Futures.addCallback(future, new FutureCallback() { @Override - public void onSuccess(YangTextSchemaSource result) { + public void onSuccess(@Nonnull final YangTextSchemaSource result) { try { promise.success(new YangTextSchemaSourceSerializationProxy(result)); } catch (IOException e) { @@ -62,11 +67,11 @@ public class RemoteYangTextSourceProviderImpl implements RemoteYangTextSourcePro } @Override - public void onFailure(Throwable t) { - LOG.warn("Unable to retrieve schema source from provider", t); - promise.failure(t); + public void onFailure(final Throwable failure) { + LOG.warn("Unable to retrieve schema source from provider", failure); + promise.failure(failure); } - }); + }, MoreExecutors.directExecutor()); return promise.future(); }