X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=extension%2Fopenflowplugin-extension-nicira%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fopenflowplugin%2Fextension%2Fvendor%2Fnicira%2Fconvertor%2Fmatch%2FNsiConvertor.java;h=fed9736ec9d7bedf145cd3a30419d7a46099d8c6;hb=229e6fd7c8540b8b87fd499b9cfe18aa427d2486;hp=b0f2bda241bab03bddb5727d88993a42f737f54b;hpb=1ed0bb5f2bffe9e1918df6febbb5add7bb5ace8e;p=openflowplugin.git diff --git a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NsiConvertor.java b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NsiConvertor.java index b0f2bda241..fed9736ec9 100644 --- a/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NsiConvertor.java +++ b/extension/openflowplugin-extension-nicira/src/main/java/org/opendaylight/openflowplugin/extension/vendor/nicira/convertor/match/NsiConvertor.java @@ -40,49 +40,47 @@ import org.opendaylight.yangtools.yang.binding.Augmentation; public class NsiConvertor implements ConvertorToOFJava, ConvertorFromOFJava { @Override public ExtensionAugment> convert(MatchEntry input, MatchPath path) { - NsiCaseValue nsiCaseValue = ((NsiCaseValue) input.getMatchEntryValue()); + NsiCaseValue nsiCaseValue = (NsiCaseValue) input.getMatchEntryValue(); return resolveAugmentation(new NxmNxNsiBuilder().setNsi(nsiCaseValue.getNsiValues().getNsi()).build(), path, NxmNxNsiKey.class); } + @Override + public MatchEntry convert(Extension extension) { + Optional matchGrouping = MatchUtil.NSI_RESOLVER.getExtension(extension); + if (!matchGrouping.isPresent()) { + throw new CodecPreconditionException(extension); + } + Short value = matchGrouping.get().getNxmNxNsi().getNsi(); + + NsiCaseValueBuilder nsiCaseValueBuilder = new NsiCaseValueBuilder(); + nsiCaseValueBuilder.setNsiValues(new NsiValuesBuilder() + .setNsi(value).build()); + return MatchUtil.createDefaultMatchEntryBuilder( + org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNsi.class, + Nxm1Class.class, nsiCaseValueBuilder.build()).build(); + } + private static ExtensionAugment> resolveAugmentation(NxmNxNsi value, - MatchPath path, Class key) { + MatchPath path, Class key) { switch (path) { - case FLOWSSTATISTICSUPDATE_FLOWANDSTATISTICSMAPLIST_MATCH: + case FLOWS_STATISTICS_UPDATE_MATCH: return new ExtensionAugment<>(NxAugMatchNodesNodeTableFlow.class, new NxAugMatchNodesNodeTableFlowBuilder().setNxmNxNsi(value).build(), key); - case RPCFLOWSSTATISTICS_FLOWANDSTATISTICSMAPLIST_MATCH: + case FLOWS_STATISTICS_RPC_MATCH: return new ExtensionAugment<>(NxAugMatchRpcGetFlowStats.class, new NxAugMatchRpcGetFlowStatsBuilder().setNxmNxNsi(value).build(), key); - case PACKETRECEIVED_MATCH: + case PACKET_RECEIVED_MATCH: return new ExtensionAugment<>(NxAugMatchNotifPacketIn.class, new NxAugMatchNotifPacketInBuilder() .setNxmNxNsi(value).build(), key); - case SWITCHFLOWREMOVED_MATCH: + case SWITCH_FLOW_REMOVED_MATCH: return new ExtensionAugment<>(NxAugMatchNotifSwitchFlowRemoved.class, new NxAugMatchNotifSwitchFlowRemovedBuilder().setNxmNxNsi(value).build(), key); - case PACKETINMESSAGE_MATCH: + case PACKET_IN_MESSAGE_MATCH: return new ExtensionAugment<>(NxAugMatchPacketInMessage.class, new NxAugMatchPacketInMessageBuilder().setNxmNxNsi(value).build(), key); default: throw new CodecPreconditionException(path); } } - - @Override - public MatchEntry convert(Extension extension) { - Optional matchGrouping = MatchUtil.nsiResolver.getExtension(extension); - if (!matchGrouping.isPresent()) { - throw new CodecPreconditionException(extension); - } - Short value = matchGrouping.get().getNxmNxNsi().getNsi(); - - NsiCaseValueBuilder nsiCaseValueBuilder = new NsiCaseValueBuilder(); - nsiCaseValueBuilder.setNsiValues(new NsiValuesBuilder() - .setNsi(value).build()); - return MatchUtil.createDefaultMatchEntryBuilder(org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxNsi.class, - Nxm1Class.class, - nsiCaseValueBuilder.build()).build(); - - } - }