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=ef44bd52de900b9e2d4cd7a5a1035ab4d18b4c5e;hpb=02d039d0ac2e1bd7a178e5546321145c101bc107;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 ef44bd52de..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,18 +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 javax.annotation.Nonnull; 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; @@ -31,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; @@ -46,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()) @@ -56,12 +54,13 @@ 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>>() { @Override - public void onSuccess(@Nonnull final RpcResult> result) { + public void onSuccess(final RpcResult> result) { if (result.isSuccessful()) { future.set(RpcResultBuilder .success(new SendExperimenterMpRequestOutputBuilder() @@ -71,8 +70,7 @@ 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())) @@ -88,7 +86,7 @@ public class SingleLayerExperimenterMultipartService extends AbstractExperimente @Override public void onFailure(final Throwable throwable) { - LOG.warn("Failure multipart response for Experimenter-Mp request. Exception: {}", throwable); + LOG.warn("Failure multipart response for Experimenter-Mp request", throwable); future.set(RpcResultBuilder.failed() .withError(ErrorType.RPC, "Future error", throwable).build()); }