X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=openflowplugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fopenflow%2Fmd%2Fcore%2Ftranslator%2FMultiPartMessageDescToNodeUpdatedTranslator.java;h=6390c06852c55bef29a5b4384a3bc36b1d0f2e8c;hb=86897acb78e2ad681b4da4801911dce6fb424b41;hp=bb1cc8f41d6ff1e99dfe7040fb42970bf874754b;hpb=e6ba7f7c00b3813f315368eba30720fa9fdd7646;p=openflowplugin.git diff --git a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartMessageDescToNodeUpdatedTranslator.java b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartMessageDescToNodeUpdatedTranslator.java index bb1cc8f41d..6390c06852 100644 --- a/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartMessageDescToNodeUpdatedTranslator.java +++ b/openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/translator/MultiPartMessageDescToNodeUpdatedTranslator.java @@ -1,6 +1,9 @@ package org.opendaylight.openflowplugin.openflow.md.core.translator; import java.math.BigInteger; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import org.opendaylight.openflowplugin.openflow.md.core.IMDMessageTranslator; import org.opendaylight.openflowplugin.openflow.md.core.SwitchConnectionDistinguisher; @@ -14,32 +17,37 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.types.rev13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReply; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.MultipartReplyMessage; import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OfHeader; -import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDesc; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyDescCase; +import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.multipart.reply.desc._case.MultipartReplyDesc; import org.opendaylight.yangtools.yang.binding.DataObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class MultiPartMessageDescToNodeUpdatedTranslator implements IMDMessageTranslator { - protected static final Logger LOG = LoggerFactory.getLogger(PacketInTranslator.class); +public class MultiPartMessageDescToNodeUpdatedTranslator implements IMDMessageTranslator> { + protected static final Logger LOG = LoggerFactory.getLogger(MultiPartMessageDescToNodeUpdatedTranslator.class); @Override - public NodeUpdated translate(SwitchConnectionDistinguisher cookie, + public List translate(SwitchConnectionDistinguisher cookie, SessionContext sc, OfHeader msg) { if(msg instanceof MultipartReply && ((MultipartReply) msg).getType() == MultipartType.OFPMPDESC) { - LOG.info("MultipartReplyMessage Being translated to NodeUpdated "); + LOG.info("MultipartReplyMessage - MultipartReplyDesc Being translated to NodeUpdated "); MultipartReplyMessage message = (MultipartReplyMessage) msg; + List list = new CopyOnWriteArrayList(); BigInteger datapathId = sc.getFeatures().getDatapathId(); NodeUpdatedBuilder builder = InventoryDataServiceUtil.nodeUpdatedBuilderFromDataPathId(datapathId); FlowCapableNodeUpdatedBuilder fnub = new FlowCapableNodeUpdatedBuilder(); - MultipartReplyDesc body = (MultipartReplyDesc) message.getMultipartReplyBody(); + MultipartReplyDescCase caseBody = (MultipartReplyDescCase) message.getMultipartReplyBody(); + MultipartReplyDesc body = caseBody.getMultipartReplyDesc(); fnub.setHardware(body.getHwDesc()); fnub.setManufacturer(body.getMfrDesc()); fnub.setSerialNumber(body.getSerialNum()); fnub.setDescription(body.getDpDesc()); fnub.setSoftware(body.getSwDesc()); builder.addAugmentation(FlowCapableNodeUpdated.class, fnub.build()); - return builder.build(); + NodeUpdated nodeUpdated = builder.build(); + list.add(nodeUpdated); + return list; } else { - return null; + return Collections.emptyList(); } }