* 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.netconf.topology.singleton.impl;
import akka.actor.ActorRef;
import akka.dispatch.OnComplete;
import akka.pattern.Patterns;
import akka.util.Timeout;
-import com.google.common.collect.Sets;
import java.util.Set;
-import javax.annotation.Nonnull;
import org.opendaylight.controller.cluster.schema.provider.RemoteYangTextSourceProvider;
import org.opendaylight.controller.cluster.schema.provider.impl.YangTextSchemaSourceSerializationProxy;
import org.opendaylight.netconf.topology.singleton.messages.YangTextSchemaSourceRequest;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import scala.concurrent.ExecutionContext;
import scala.concurrent.Future;
-import scala.concurrent.impl.Promise;
public class ProxyYangTextSourceProvider implements RemoteYangTextSourceProvider {
@Override
public Future<Set<SourceIdentifier>> getProvidedSources() {
// NOOP
- return Futures.successful(Sets.newHashSet());
+ return Futures.successful(Set.of());
}
@Override
public Future<YangTextSchemaSourceSerializationProxy> getYangTextSchemaSource(
- @Nonnull final SourceIdentifier sourceIdentifier) {
-
- final Future<Object> scalaFuture = Patterns.ask(masterRef,
- new YangTextSchemaSourceRequest(sourceIdentifier), actorResponseWaitTime);
-
- final Promise.DefaultPromise<YangTextSchemaSourceSerializationProxy> promise = new Promise.DefaultPromise<>();
-
- scalaFuture.onComplete(new OnComplete<Object>() {
- @Override
- public void onComplete(final Throwable failure, final Object success) {
- if (failure != null) {
- promise.failure(failure);
- return;
+ final SourceIdentifier sourceIdentifier) {
+ final var promise = Futures.<YangTextSchemaSourceSerializationProxy>promise();
+ Patterns.ask(masterRef, new YangTextSchemaSourceRequest(sourceIdentifier), actorResponseWaitTime).onComplete(
+ new OnComplete<>() {
+ @Override
+ public void onComplete(final Throwable failure, final Object success) {
+ if (failure == null) {
+ promise.success((YangTextSchemaSourceSerializationProxy) success);
+ } else {
+ promise.failure(failure);
+ }
}
-
- promise.success((YangTextSchemaSourceSerializationProxy) success);
- }
- }, executionContext);
-
+ }, executionContext);
return promise.future();
}
}