neutron: unbreak of neutron northbound yang model revise
[groupbasedpolicy.git] / neutron-mapper / src / main / java / org / opendaylight / groupbasedpolicy / neutron / mapper / mapping / rule / SecRuleEntityDecoder.java
index 579e858f8843ce5cafd84596523bf4ec029408de..f88d29562c8f76b02e51a5823aab6c8e8e109a39 100755 (executable)
@@ -55,6 +55,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolIcmpV6;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolTcp;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.ProtocolUdp;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.SecurityRuleAttributes;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.rules.attributes.security.rules.SecurityRule;\r
 \r
 import com.google.common.collect.ImmutableList;\r
@@ -66,7 +67,7 @@ public class SecRuleEntityDecoder {
     }\r
 \r
     public static ContractId getContractId(SecurityRule secRule) {\r
-        return new ContractId(secRule.getId().getValue());\r
+        return new ContractId(secRule.getUuid().getValue());\r
     }\r
 \r
     public static ClassifierInstance getClassifierInstance(SecurityRule secRule) {\r
@@ -243,21 +244,26 @@ public class SecRuleEntityDecoder {
      *         {@link ProtocolUdp}, {@link ProtocolIcmp}, {@link ProtocolIcmpV6}\r
      */\r
     public static Long getProtocol(SecurityRule secRule) {\r
-        Class<? extends ProtocolBase> protocol = secRule.getProtocol();\r
+        SecurityRuleAttributes.Protocol protocol = secRule.getProtocol();\r
         if (protocol == null) {\r
             return null;\r
         }\r
-        if (protocol.isAssignableFrom(ProtocolTcp.class)) {\r
-            return IpProtoClassifierDefinition.TCP_VALUE;\r
+        if (protocol.getUint8() != null) {\r
+            return protocol.getUint8().longValue();\r
         }\r
-        if (protocol.isAssignableFrom(ProtocolUdp.class)) {\r
-            return IpProtoClassifierDefinition.UDP_VALUE;\r
-        }\r
-        if (protocol.isAssignableFrom(ProtocolIcmp.class)) {\r
-            return IpProtoClassifierDefinition.ICMP_VALUE;\r
-        }\r
-        if (protocol.isAssignableFrom(ProtocolIcmpV6.class)) {\r
-            return IpProtoClassifierDefinition.ICMPv6_VALUE;\r
+        if (protocol.getIdentityref() != null) {\r
+            if (protocol.getIdentityref().equals(ProtocolTcp.class)) {\r
+                return IpProtoClassifierDefinition.TCP_VALUE;\r
+            }\r
+            if (protocol.getIdentityref().equals(ProtocolUdp.class)) {\r
+                return IpProtoClassifierDefinition.UDP_VALUE;\r
+            }\r
+            if (protocol.getIdentityref().equals(ProtocolIcmp.class)) {\r
+                return IpProtoClassifierDefinition.ICMP_VALUE;\r
+            }\r
+            if (protocol.getIdentityref().equals(ProtocolIcmpV6.class)) {\r
+                return IpProtoClassifierDefinition.ICMPv6_VALUE;\r
+            }\r
         }\r
         throw new IllegalArgumentException("Neutron Security Rule Protocol value " + protocol + " is not supported.");\r
     }\r