import akka.actor.ActorSystem;
import akka.pattern.Patterns;
import akka.util.Timeout;
-import com.google.common.base.Preconditions;
+import com.google.common.base.Verify;
import java.util.Collections;
import java.util.Map;
import javax.annotation.Nonnull;
@Override
public DOMDataReadOnlyTransaction newReadOnlyTransaction() {
final Future<Object> txActorFuture = Patterns.ask(masterNode, new NewReadTransactionRequest(), askTimeout);
+ final Object msg;
try {
- final Object msg = Await.result(txActorFuture, askTimeout.duration());
- if (msg instanceof Throwable) {
- throw (Throwable) msg;
- }
- Preconditions.checkState(msg instanceof NewReadTransactionReply);
- final NewReadTransactionReply reply = (NewReadTransactionReply) msg;
- return new ProxyReadTransaction(reply.getTxActor(), id, actorSystem, askTimeout);
- } catch (final Throwable t) {
- throw new IllegalStateException("Can't create ProxyReadTransaction", t);
+ msg = Await.result(txActorFuture, askTimeout.duration());
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't create ProxyReadTransaction", e);
}
+
+ if (msg instanceof Exception) {
+ throw new IllegalStateException("Can't create ProxyReadTransaction", (Exception) msg);
+ }
+
+ Verify.verify(msg instanceof NewReadTransactionReply);
+ final NewReadTransactionReply reply = (NewReadTransactionReply) msg;
+ return new ProxyReadTransaction(reply.getTxActor(), id, actorSystem, askTimeout);
}
@SuppressWarnings("checkstyle:IllegalCatch")
@Override
public DOMDataReadWriteTransaction newReadWriteTransaction() {
final Future<Object> txActorFuture = Patterns.ask(masterNode, new NewReadWriteTransactionRequest(), askTimeout);
+ final Object msg;
try {
- final Object msg = Await.result(txActorFuture, askTimeout.duration());
- if (msg instanceof Throwable) {
- throw (Throwable) msg;
- }
- Preconditions.checkState(msg instanceof NewReadWriteTransactionReply);
- final NewReadWriteTransactionReply reply = (NewReadWriteTransactionReply) msg;
- return new ProxyReadWriteTransaction(reply.getTxActor(), id, actorSystem, askTimeout);
- } catch (final Throwable t) {
- throw new IllegalStateException("Can't create ProxyReadTransaction", t);
+ msg = Await.result(txActorFuture, askTimeout.duration());
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't create ProxyReadWriteTransaction", e);
+ }
+
+ if (msg instanceof Exception) {
+ throw new IllegalStateException("Can't create ProxyReadWriteTransaction", (Exception) msg);
}
+
+ Verify.verify(msg instanceof NewReadWriteTransactionReply);
+ final NewReadWriteTransactionReply reply = (NewReadWriteTransactionReply) msg;
+ return new ProxyReadWriteTransaction(reply.getTxActor(), id, actorSystem, askTimeout);
}
@SuppressWarnings("checkstyle:IllegalCatch")
@Override
public DOMDataWriteTransaction newWriteOnlyTransaction() {
final Future<Object> txActorFuture = Patterns.ask(masterNode, new NewWriteTransactionRequest(), askTimeout);
+ final Object msg;
try {
- final Object msg = Await.result(txActorFuture, askTimeout.duration());
- if (msg instanceof Throwable) {
- throw (Throwable) msg;
- }
- Preconditions.checkState(msg instanceof NewWriteTransactionReply);
- final NewWriteTransactionReply reply = (NewWriteTransactionReply) msg;
- return new ProxyWriteTransaction(reply.getTxActor(), id, actorSystem, askTimeout);
- } catch (final Throwable t) {
- throw new IllegalStateException("Can't create ProxyWriteTransaction", t);
+ msg = Await.result(txActorFuture, askTimeout.duration());
+ } catch (Exception e) {
+ throw new IllegalStateException("Can't create ProxyWriteTransaction", e);
+ }
+
+ if (msg instanceof Exception) {
+ throw new IllegalStateException("Can't create ProxyWriteTransaction", (Exception) msg);
}
+
+ Verify.verify(msg instanceof NewWriteTransactionReply);
+ final NewWriteTransactionReply reply = (NewWriteTransactionReply) msg;
+ return new ProxyWriteTransaction(reply.getTxActor(), id, actorSystem, askTimeout);
}
@Override
capabilities.addNonModuleBasedCapabilities(remoteSessionCapabilities
.getNonModuleCaps().stream().map(entry -> new AvailableCapabilityBuilder()
- .setCapability(entry).setCapabilityOrigin(
+ .setCapability(entry).setCapabilityOrigin(
remoteSessionCapabilities.getNonModuleBasedCapsOrigin().get(entry)).build())
.collect(Collectors.toList()));
handleSalInitializationSuccess(result, remoteSessionCapabilities, getDeviceSpecificRpc(result));
return;
- } catch (final Throwable t) {
- if (t instanceof MissingSchemaSourceException) {
- requiredSources =
- handleMissingSchemaSourceException(requiredSources, (MissingSchemaSourceException) t);
- } else if (t instanceof SchemaResolutionException) {
- // schemaBuilderFuture.checkedGet() throws only SchemaResolutionException
- // that might be wrapping a MissingSchemaSourceException so we need to look
- // at the cause of the exception to make sure we don't misinterpret it.
- if (t.getCause() instanceof MissingSchemaSourceException) {
- requiredSources = handleMissingSchemaSourceException(
- requiredSources, (MissingSchemaSourceException) t.getCause());
- continue;
- }
- requiredSources =
- handleSchemaResolutionException(requiredSources, (SchemaResolutionException) t);
- } else {
- // unknown error, fail
- handleSalInitializationFailure(t, listener);
- return;
+ } catch (final SchemaResolutionException e) {
+ // schemaBuilderFuture.checkedGet() throws only SchemaResolutionException
+ // that might be wrapping a MissingSchemaSourceException so we need to look
+ // at the cause of the exception to make sure we don't misinterpret it.
+ if (e.getCause() instanceof MissingSchemaSourceException) {
+ requiredSources = handleMissingSchemaSourceException(
+ requiredSources, (MissingSchemaSourceException) e.getCause());
+ continue;
}
+ requiredSources = handleSchemaResolutionException(requiredSources, e);
+ } catch (final Exception e) {
+ // unknown error, fail
+ handleSalInitializationFailure(e, listener);
+ return;
}
}
// No more sources, fail