X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fservices%2Fsal%2FSalBundleServiceImpl.java;h=30b60e127c2d359552e65abd451203d9347ba096;hb=refs%2Fchanges%2F77%2F100077%2F17;hp=232dce1618711e3247bc9f12a537e9f2bda78b2a;hpb=2fdde79d3bc5b5e2e54992e3c4b8c52e9131a48f;p=openflowplugin.git diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/sal/SalBundleServiceImpl.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/sal/SalBundleServiceImpl.java index 232dce1618..30b60e127c 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/sal/SalBundleServiceImpl.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/sal/SalBundleServiceImpl.java @@ -10,7 +10,6 @@ package org.opendaylight.openflowplugin.impl.services.sal; 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.JdkFutureAdapters; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.SettableFuture; @@ -29,15 +28,19 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.on import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.bundle.service.rev170124.send.experimenter.input.experimenter.message.of.choice.BundleControlSalBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.bundle.service.rev170124.send.experimenter.input.experimenter.message.of.choice.bundle.add.message.sal.SalAddMessageDataBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.extension.onf.bundle.service.rev170124.send.experimenter.input.experimenter.message.of.choice.bundle.control.sal.SalControlDataBuilder; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcError; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Simple bundle extension service. */ public class SalBundleServiceImpl implements SalBundleService { - + private static final Logger LOG = LoggerFactory.getLogger(SalBundleServiceImpl.class); private final SalExperimenterMessageService experimenterMessageService; public SalBundleServiceImpl(final SalExperimenterMessageService experimenterMessageService) { @@ -46,7 +49,8 @@ public class SalBundleServiceImpl implements SalBundleService { } @Override - public ListenableFuture> controlBundle(ControlBundleInput input) { + public ListenableFuture> controlBundle(final ControlBundleInput input) { + LOG.debug("Control message for device {} and bundle type {}", input.getNode(), input.getType()); final SendExperimenterInputBuilder experimenterInputBuilder = new SendExperimenterInputBuilder(); experimenterInputBuilder.setNode(input.getNode()); experimenterInputBuilder.setExperimenterMessageOfChoice( @@ -62,7 +66,7 @@ public class SalBundleServiceImpl implements SalBundleService { } @Override - public ListenableFuture> addBundleMessages(AddBundleMessagesInput input) { + public ListenableFuture> addBundleMessages(final AddBundleMessagesInput input) { final List>> partialResults = new ArrayList<>(); final SendExperimenterInputBuilder experimenterInputBuilder = new SendExperimenterInputBuilder(); final BundleAddMessageSalBuilder bundleAddMessageBuilder = new BundleAddMessageSalBuilder(); @@ -76,9 +80,7 @@ public class SalBundleServiceImpl implements SalBundleService { dataBuilder.setBundleInnerMessage(message.getBundleInnerMessage()); experimenterInputBuilder.setExperimenterMessageOfChoice( bundleAddMessageBuilder.setSalAddMessageData(dataBuilder.build()).build()); - ListenableFuture> res = JdkFutureAdapters - .listenInPoolThread(experimenterMessageService.sendExperimenter(experimenterInputBuilder.build())); - partialResults.add(res); + partialResults.add(experimenterMessageService.sendExperimenter(experimenterInputBuilder.build())); } return processResults(partialResults); } @@ -89,13 +91,14 @@ public class SalBundleServiceImpl implements SalBundleService { Futures.addCallback(Futures.successfulAsList(partialResults),new FutureCallback< List>>() { @Override - public void onSuccess(List> results) { + public void onSuccess(final List> results) { final ArrayList errors = new ArrayList<>(); final RpcResultBuilder rpcResultBuilder; for (RpcResult res : results) { if (res == null) { - errors.add(RpcResultBuilder.newError(RpcError.ErrorType.APPLICATION, "BundleExtensionService", - "RpcResult is null.")); + // FIXME: this should never happen + errors.add(RpcResultBuilder.newError(ErrorType.APPLICATION, + new ErrorTag("BundleExtensionService"), "RpcResult is null.")); } else if (!res.isSuccessful()) { errors.addAll(res.getErrors()); } @@ -109,7 +112,7 @@ public class SalBundleServiceImpl implements SalBundleService { } @Override - public void onFailure(Throwable throwable) { + public void onFailure(final Throwable throwable) { RpcResultBuilder rpcResultBuilder = RpcResultBuilder.failed(); result.set(rpcResultBuilder.build()); }