X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcompatibility%2Fsal-compatibility%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcompatibility%2FToSalConversionsUtils.java;h=28dd57c3b7986fecabae2c2fa9749e8d58fbd36e;hp=97a25bf71cd9789df1ca0a31f006dc7b99a37e19;hb=e38e37d94000a573ccfec627f490d1847ae6304d;hpb=eda0ef295a7c6aac904da33132885cd86bfcb855 diff --git a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ToSalConversionsUtils.java b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ToSalConversionsUtils.java index 97a25bf71c..28dd57c3b7 100644 --- a/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ToSalConversionsUtils.java +++ b/opendaylight/md-sal/compatibility/sal-compatibility/src/main/java/org/opendaylight/controller/sal/compatibility/ToSalConversionsUtils.java @@ -208,7 +208,8 @@ public class ToSalConversionsUtils { Uri nodeConnector = ((OutputActionCase) sourceAction).getOutputAction().getOutputNodeConnector(); if (nodeConnector != null) { //for (Uri uri : nodeConnectors) { - targetAction.add(new Output(fromNodeConnectorRef(nodeConnector, node))); + Uri fullNodeConnector = new Uri(node.getType()+":"+node.getID()+":"+nodeConnector.getValue()); + targetAction.add(new Output(fromNodeConnectorRef(fullNodeConnector, node))); //} } } else if (sourceAction instanceof PopMplsActionCase) { @@ -355,33 +356,26 @@ public class ToSalConversionsUtils { } private static PushVlan pushVlanFrom(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.push.vlan.action._case.PushVlanAction pushVlanAction) { - final int tag; - final int pcp; - final int cfi; - final int vlanId; - - if (pushVlanAction.getTag() != null) { - tag = pushVlanAction.getTag(); - if (pushVlanAction.getPcp() != null) { - pcp = pushVlanAction.getPcp(); - if (pushVlanAction.getCfi() != null && pushVlanAction.getCfi().getValue() != null) { - cfi = pushVlanAction.getCfi().getValue(); - if (pushVlanAction.getVlanId() != null && pushVlanAction.getVlanId().getValue() != null) { - vlanId = pushVlanAction.getVlanId().getValue(); - return new PushVlan(tag, pcp, cfi, vlanId); - } - } - } + Integer tag = pushVlanAction.getTag(); + if (tag != null) { + return new PushVlan(tag.intValue()); } return null; } - private static NodeConnector fromNodeConnectorRef(Uri uri, Node node) { + /** + * @param openflow nodeConnector uri + * @param node + * @return assembled nodeConnector + */ + public static NodeConnector fromNodeConnectorRef(Uri uri, Node node) { NodeConnector nodeConnector = null; try { - nodeConnector = new NodeConnector(NodeMapping.MD_SAL_TYPE,node.getNodeIDString()+":"+uri.getValue(),node); + NodeConnectorId nodeConnectorId = new NodeConnectorId(uri.getValue()); + nodeConnector = NodeMapping.toADNodeConnector(nodeConnectorId, node); } catch (ConstructionException e) { - e.printStackTrace(); + LOG.warn("nodeConnector creation failed at node: {} with nodeConnectorUri: {}", + node, uri.getValue()); } return nodeConnector; } @@ -422,13 +416,17 @@ public class ToSalConversionsUtils { if (vlanMatch != null) { VlanId vlanId = vlanMatch.getVlanId(); if (vlanId != null) { - org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId vlanIdInner = vlanId - .getVlanId(); - if (vlanIdInner != null) { - Integer vlanValue = vlanIdInner.getValue(); - if (vlanValue != null) { - target.setField(DL_VLAN, vlanValue.shortValue()); + if (Boolean.TRUE.equals(vlanId.isVlanIdPresent())) { + org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId vlanIdInner = vlanId + .getVlanId(); + if (vlanIdInner != null) { + Integer vlanValue = vlanIdInner.getValue(); + if (vlanValue != null) { + target.setField(DL_VLAN, vlanValue.shortValue()); + } } + } else { + target.setField(DL_VLAN, MatchType.DL_VLAN_NONE); } } VlanPcp vlanPcp = vlanMatch.getVlanPcp();