X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fservices%2Fsinglelayer%2FSingleLayerExperimenterMultipartService.java;h=7ab5c4daa062d1f1d892c4e6669ff37b7dd9b1ff;hb=777c94332871b8c34f56f7f2010de1536cb759ba;hp=01cf3dcae21229ef0c2d34f262e658754f59e83f;hpb=ed6fc9dd2e82df8a2e8ba15d72028829cbb07c1c;p=openflowplugin.git diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerExperimenterMultipartService.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerExperimenterMultipartService.java index 01cf3dcae2..7ab5c4daa0 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerExperimenterMultipartService.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerExperimenterMultipartService.java @@ -10,16 +10,16 @@ package org.opendaylight.openflowplugin.impl.services.singlelayer; 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 com.google.common.util.concurrent.SettableFuture; import java.util.List; -import java.util.concurrent.Future; import java.util.stream.Collectors; import org.opendaylight.openflowplugin.api.openflow.device.DeviceContext; import org.opendaylight.openflowplugin.api.openflow.device.RequestContextStack; import org.opendaylight.openflowplugin.api.openflow.device.Xid; import org.opendaylight.openflowplugin.extension.api.core.extension.ExtensionConverterProvider; import org.opendaylight.openflowplugin.impl.services.AbstractExperimenterMultipartService; -import org.opendaylight.openflowplugin.impl.services.util.ServiceException; import org.opendaylight.yang.gen.v1.urn.opendaylight.experimenter.mp.message.service.rev151020.SendExperimenterMpRequestInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.experimenter.mp.message.service.rev151020.SendExperimenterMpRequestOutput; import org.opendaylight.yang.gen.v1.urn.opendaylight.experimenter.mp.message.service.rev151020.SendExperimenterMpRequestOutputBuilder; @@ -29,7 +29,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.multipart.types.rev170112.M import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.experimenter.types.rev151020.multipart.reply.multipart.reply.body.MultipartReplyExperimenter; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.experimenter.types.rev151020.multipart.request.multipart.request.body.MultipartRequestExperimenterBuilder; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; @@ -44,7 +44,7 @@ public class SingleLayerExperimenterMultipartService extends AbstractExperimente } @Override - protected OfHeader buildRequest(final Xid xid, final SendExperimenterMpRequestInput input) throws ServiceException { + protected OfHeader buildRequest(final Xid xid, final SendExperimenterMpRequestInput input) { return new MultipartRequestBuilder() .setXid(xid.getValue()) .setVersion(getVersion()) @@ -54,7 +54,8 @@ public class SingleLayerExperimenterMultipartService extends AbstractExperimente } @Override - public Future> handleAndReply(SendExperimenterMpRequestInput input) { + public ListenableFuture> handleAndReply( + SendExperimenterMpRequestInput input) { final SettableFuture> future = SettableFuture.create(); Futures.addCallback(handleServiceCall(input), new FutureCallback>>() { @@ -69,27 +70,28 @@ public class SingleLayerExperimenterMultipartService extends AbstractExperimente .map(MultipartReply::getMultipartReplyBody) .filter(MultipartReplyExperimenter.class::isInstance) .map(experimenter -> new ExperimenterCoreMessageItemBuilder() - .setExperimenterMessageOfChoice(MultipartReplyExperimenter.class - .cast(experimenter) + .setExperimenterMessageOfChoice(((MultipartReplyExperimenter) experimenter) .getExperimenterMessageOfChoice()) .build()) .collect(Collectors.toList())) .build()) .build()); } else { - LOG.warn("OnSuccess, rpc result unsuccessful, multipart response for rpc sendExperimenterMpRequest was unsuccessful."); - future.set(RpcResultBuilder.failed().withRpcErrors(result.getErrors()).build()); + LOG.warn("OnSuccess, rpc result unsuccessful," + + " multipart response for rpc sendExperimenterMpRequest was unsuccessful."); + future.set(RpcResultBuilder.failed() + .withRpcErrors(result.getErrors()).build()); } } @Override - public void onFailure(final Throwable t) { - LOG.warn("Failure multipart response for Experimenter-Mp request. Exception: {}", t); - future.set(RpcResultBuilder.failed().withError(ErrorType.RPC, "Future error", t).build()); + public void onFailure(final Throwable throwable) { + LOG.warn("Failure multipart response for Experimenter-Mp request", throwable); + future.set(RpcResultBuilder.failed() + .withError(ErrorType.RPC, "Future error", throwable).build()); } - }); + }, MoreExecutors.directExecutor()); return future; } - }