Bump MRI upstreams
[openflowplugin.git] / openflowplugin-impl / src / main / java / org / opendaylight / openflowplugin / impl / services / multilayer / MultiLayerExperimenterMultipartService.java
index ddc13630d783cd70108999600c62022a181f2f80..9077b096ed2a7725f9f2e405e9136878ffceb52b 100644 (file)
@@ -5,7 +5,6 @@
  * 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.openflowplugin.impl.services.multilayer;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -16,13 +15,12 @@ import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.SettableFuture;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Objects;
-import javax.annotation.Nonnull;
 import org.opendaylight.openflowjava.protocol.api.keys.MessageTypeKey;
 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.ConverterMessageToOFJava;
+import org.opendaylight.openflowplugin.extension.api.ConvertorData;
 import org.opendaylight.openflowplugin.extension.api.ConvertorMessageFromOFJava;
 import org.opendaylight.openflowplugin.extension.api.TypeVersionKey;
 import org.opendaylight.openflowplugin.extension.api.core.extension.ExtensionConverterProvider;
@@ -46,7 +44,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.MultipartRequestExperimenterCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.experimenter._case.MultipartRequestExperimenterBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.experimenter.types.rev151020.experimenter.core.message.ExperimenterMessageOfChoice;
-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;
@@ -64,13 +62,13 @@ public class MultiLayerExperimenterMultipartService extends AbstractExperimenter
     @SuppressWarnings("unchecked")
     protected OfHeader buildRequest(Xid xid, SendExperimenterMpRequestInput input) throws ServiceException {
         final TypeVersionKey key = new TypeVersionKey<>(
-            input.getExperimenterMessageOfChoice().getImplementedInterface(),
+            input.getExperimenterMessageOfChoice().implementedInterface(),
             getVersion());
 
-        final ConverterMessageToOFJava<ExperimenterMessageOfChoice, ExperimenterDataOfChoice> messageConverter =
-            getExtensionConverterProvider().getMessageConverter(key);
+        final ConverterMessageToOFJava<ExperimenterMessageOfChoice, ExperimenterDataOfChoice,
+            ConvertorData> messageConverter = getExtensionConverterProvider().getMessageConverter(key);
 
-        if (Objects.isNull(messageConverter)) {
+        if (messageConverter == null) {
             throw new ServiceException(new ConverterNotFoundException(key.toString()));
         }
 
@@ -82,7 +80,7 @@ public class MultiLayerExperimenterMultipartService extends AbstractExperimenter
                         .setExperimenter(messageConverter.getExperimenterId())
                         .setExpType(messageConverter.getType())
                         .setExperimenterDataOfChoice(messageConverter
-                            .convert(input.getExperimenterMessageOfChoice()))
+                            .convert(input.getExperimenterMessageOfChoice(), null))
                         .build())
                     .build())
                 .build();
@@ -100,7 +98,7 @@ public class MultiLayerExperimenterMultipartService extends AbstractExperimenter
 
         class CallBackImpl implements FutureCallback<RpcResult<List<MultipartReply>>> {
             @Override
-            public void onSuccess(@Nonnull final RpcResult<List<MultipartReply>> result) {
+            public void onSuccess(final RpcResult<List<MultipartReply>> result) {
                 if (result.isSuccessful()) {
                     final List<MultipartReply> multipartReplies = result.getResult();
                     if (multipartReplies.isEmpty()) {
@@ -122,31 +120,23 @@ public class MultiLayerExperimenterMultipartService extends AbstractExperimenter
                             final ExperimenterDataOfChoice vendorData = replyBody.getExperimenterDataOfChoice();
                             final MessageTypeKey<? extends ExperimenterDataOfChoice> key = new MessageTypeKey<>(
                                     getVersion(),
-                                    (Class<? extends ExperimenterDataOfChoice>) vendorData.getImplementedInterface());
+                                    (Class<? extends ExperimenterDataOfChoice>) vendorData.implementedInterface());
                             final ConvertorMessageFromOFJava<ExperimenterDataOfChoice, MessagePath> messageConverter =
                                     getExtensionConverterProvider().getMessageConverter(key);
                             if (messageConverter == null) {
                                 LOG.warn("Custom converter for {}[OF:{}] not found",
-                                        vendorData.getImplementedInterface(),
+                                        vendorData.implementedInterface(),
                                         getVersion());
                                 finalFuture.set(RpcResultBuilder.<SendExperimenterMpRequestOutput>failed()
                                         .withError(ErrorType.RPC, "Custom converter not found.").build());
                                 return;
                             }
-                            try {
-                                final ExperimenterMessageOfChoice messageOfChoice =
-                                        messageConverter.convert(vendorData, MessagePath.MPMESSAGE_RPC_OUTPUT);
-                                final ExperimenterCoreMessageItemBuilder expCoreMessageItemBuilder =
-                                        new ExperimenterCoreMessageItemBuilder();
-                                expCoreMessageItemBuilder.setExperimenterMessageOfChoice(messageOfChoice);
-                                expCoreMessageItem.add(expCoreMessageItemBuilder.build());
-                            } catch (final ConversionException e) {
-                                LOG.error("Conversion of experimenter message reply failed. Exception: {}", e);
-                                finalFuture.set(RpcResultBuilder.<SendExperimenterMpRequestOutput>failed()
-                                        .withError(ErrorType.RPC,
-                                                   "Conversion of experimenter rpc output failed.").build());
-                                return;
-                            }
+                            final ExperimenterMessageOfChoice messageOfChoice =
+                                    messageConverter.convert(vendorData, MessagePath.MPMESSAGE_RPC_OUTPUT);
+                            final ExperimenterCoreMessageItemBuilder expCoreMessageItemBuilder =
+                                    new ExperimenterCoreMessageItemBuilder();
+                            expCoreMessageItemBuilder.setExperimenterMessageOfChoice(messageOfChoice);
+                            expCoreMessageItem.add(expCoreMessageItemBuilder.build());
                         }
                         sendExpMpReqOutputBuilder.setExperimenterCoreMessageItem(expCoreMessageItem);
                         finalFuture.set(RpcResultBuilder.success(sendExpMpReqOutputBuilder.build()).build());
@@ -161,7 +151,7 @@ public class MultiLayerExperimenterMultipartService extends AbstractExperimenter
 
             @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);
                 finalFuture.set(RpcResultBuilder.<SendExperimenterMpRequestOutput>failed()
                         .withError(ErrorType.RPC, "Future error", throwable).build());
             }