X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fimpl%2Fservices%2Fsinglelayer%2FSingleLayerTableMultipartService.java;h=66825f9bb24153eb53f61de4c458cf1915700ade;hb=refs%2Fchanges%2F77%2F100077%2F17;hp=ddf28f581ab63ee4381160ebb59cce5465e27547;hpb=91ce86fabb2141e8f44fd210b6ad8b4da76ea55a;p=openflowplugin.git diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerTableMultipartService.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerTableMultipartService.java index ddf28f581a..66825f9bb2 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerTableMultipartService.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/services/singlelayer/SingleLayerTableMultipartService.java @@ -13,9 +13,7 @@ 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.math.BigInteger; import java.util.List; -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; @@ -30,9 +28,11 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.table.service.rev131026.Upd import org.opendaylight.yang.gen.v1.urn.opendaylight.table.service.rev131026.UpdateTableOutputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.multipart.reply.multipart.reply.body.MultipartReplyTableFeatures; import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.multipart.request.multipart.request.body.MultipartRequestTableFeaturesBuilder; -import org.opendaylight.yangtools.yang.common.RpcError.ErrorType; +import org.opendaylight.yangtools.yang.binding.util.BindingMap; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +import org.opendaylight.yangtools.yang.common.Uint64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,9 +40,9 @@ public class SingleLayerTableMultipartService extends AbstractTableMultipartServ private static final Logger LOG = LoggerFactory.getLogger(SingleLayerTableMultipartService.class); - public SingleLayerTableMultipartService(RequestContextStack requestContextStack, - DeviceContext deviceContext, - MultipartWriterProvider multipartWriterProvider) { + public SingleLayerTableMultipartService(final RequestContextStack requestContextStack, + final DeviceContext deviceContext, + final MultipartWriterProvider multipartWriterProvider) { super(requestContextStack, deviceContext, multipartWriterProvider); } @@ -59,7 +59,7 @@ public class SingleLayerTableMultipartService extends AbstractTableMultipartServ } @Override - public ListenableFuture> handleAndReply(UpdateTableInput input) { + public ListenableFuture> handleAndReply(final UpdateTableInput input) { final SettableFuture> finalFuture = SettableFuture.create(); Futures.addCallback(handleServiceCall(input), new FutureCallback>>() { @@ -76,7 +76,7 @@ public class SingleLayerTableMultipartService extends AbstractTableMultipartServ finalFuture.set(RpcResultBuilder .success(new UpdateTableOutputBuilder() .setTransactionId( - new TransactionId(BigInteger.valueOf(multipartReplies.get(0).getXid()))) + new TransactionId(Uint64.valueOf(multipartReplies.get(0).getXid()))) .build()) .build()); @@ -86,9 +86,9 @@ public class SingleLayerTableMultipartService extends AbstractTableMultipartServ .map(MultipartReply::getMultipartReplyBody) .filter(MultipartReplyTableFeatures.class::isInstance) .flatMap(multipartReplyBody -> ((MultipartReplyTableFeatures) multipartReplyBody) - .getTableFeatures() + .nonnullTableFeatures().values() .stream()) - .collect(Collectors.toList())); + .collect(BindingMap.toOrderedMap())); } catch (Exception e) { LOG.warn("Not able to write to operational datastore: {}", e.getMessage()); } @@ -102,7 +102,7 @@ public class SingleLayerTableMultipartService extends AbstractTableMultipartServ } @Override - public void onFailure(Throwable throwable) { + public void onFailure(final Throwable throwable) { LOG.error("Failure multipart response for table features request", throwable); finalFuture.set(RpcResultBuilder.failed() .withError(ErrorType.RPC, "Future error", throwable).build());