remove unnecessary cast
[neutron.git] / transcriber / src / main / java / org / opendaylight / neutron / transcriber / NeutronFirewallRuleInterface.java
index 240a8b78e0a8fac7293029acc0b09e4a41ac1673..8a2e4c674b9614d302657cf9d6e53b2ff7d59927 100644 (file)
@@ -11,6 +11,7 @@ package org.opendaylight.neutron.transcriber;
 import com.google.common.collect.ImmutableBiMap;
 import java.util.List;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.neutron.northbound.api.BadRequestException;
 import org.opendaylight.neutron.spi.INeutronFirewallRuleCRUD;
 import org.opendaylight.neutron.spi.NeutronFirewallRule;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.constants.rev150712.IpVersionBase;
@@ -24,16 +25,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.Fir
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.rules.attributes.FirewallRules;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.rules.attributes.firewall.rules.FirewallRule;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.rules.attributes.firewall.rules.FirewallRuleBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.rules.attributes.firewall.rules.FirewallRuleKey;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public final class NeutronFirewallRuleInterface extends
-        AbstractNeutronInterface<FirewallRule, FirewallRules, NeutronFirewallRule> implements INeutronFirewallRuleCRUD {
-    private static final Logger LOGGER = LoggerFactory.getLogger(NeutronFirewallRuleInterface.class);
 
+public final class NeutronFirewallRuleInterface
+        extends AbstractNeutronInterface<FirewallRule, FirewallRules, FirewallRuleKey, NeutronFirewallRule>
+        implements INeutronFirewallRuleCRUD {
     private static final ImmutableBiMap<Class<? extends ActionBase>,
             String> ACTION_MAP = new ImmutableBiMap.Builder<Class<? extends ActionBase>, String>()
                     .put(ActionAllow.class, "allow").put(ActionDeny.class, "deny").build();
@@ -43,7 +40,7 @@ public final class NeutronFirewallRuleInterface extends
                     .put(IpVersionV4.class, Integer.valueOf(4)).put(IpVersionV6.class, Integer.valueOf(6)).build();
 
     NeutronFirewallRuleInterface(DataBroker db) {
-        super(db);
+        super(FirewallRuleBuilder.class, db);
     }
 
     @Override
@@ -52,27 +49,9 @@ public final class NeutronFirewallRuleInterface extends
     }
 
     @Override
-    protected InstanceIdentifier<FirewallRule> createInstanceIdentifier(FirewallRule item) {
-        return InstanceIdentifier.create(Neutron.class).child(FirewallRules.class).child(FirewallRule.class,
-                item.getKey());
-    }
-
-    @Override
-    protected InstanceIdentifier<FirewallRules> createInstanceIdentifier() {
-        return InstanceIdentifier.create(Neutron.class).child(FirewallRules.class);
-    }
-
     protected NeutronFirewallRule fromMd(FirewallRule rule) {
         final NeutronFirewallRule answer = new NeutronFirewallRule();
-        if (rule.getUuid() != null) {
-            answer.setID(rule.getUuid().getValue());
-        }
-        if (rule.getName() != null) {
-            answer.setFirewallRuleName(rule.getName());
-        }
-        if (rule.getTenantId() != null) {
-            answer.setTenantID(rule.getTenantId());
-        }
+        fromMdBaseAttributes(rule, answer);
         if (rule.isShared() != null) {
             answer.setFirewallRuleIsShared(rule.isShared());
         }
@@ -125,15 +104,7 @@ public final class NeutronFirewallRuleInterface extends
     @Override
     protected FirewallRule toMd(NeutronFirewallRule rule) {
         final FirewallRuleBuilder ruleBuilder = new FirewallRuleBuilder();
-        if (rule.getID() != null) {
-            ruleBuilder.setUuid(toUuid(rule.getID()));
-        }
-        if (rule.getFirewallRuleName() != null) {
-            ruleBuilder.setName(rule.getFirewallRuleName());
-        }
-        if (rule.getTenantID() != null) {
-            ruleBuilder.setTenantId(toUuid(rule.getTenantID()));
-        }
+        toMdBaseAttributes(rule, ruleBuilder);
         if (rule.getFirewallRuleIsShared() != null) {
             ruleBuilder.setShared(rule.getFirewallRuleIsShared());
         }
@@ -145,8 +116,13 @@ public final class NeutronFirewallRuleInterface extends
         }
         if (rule.getFirewallRuleProtocol() != null) {
             final String protocolString = rule.getFirewallRuleProtocol();
-            final Protocol protocol = new Protocol(protocolString.toCharArray());
-            ruleBuilder.setProtocol(protocol);
+            try {
+                final Protocol protocol = new Protocol(protocolString.toCharArray());
+                ruleBuilder.setProtocol(protocol);
+            } catch (NumberFormatException e) {
+                throw new BadRequestException("Protocol {" + rule.getFirewallRuleProtocol()
+                        + "} is not supported");
+            }
         }
         if (rule.getFirewallRuleIpVer() != null) {
             final ImmutableBiMap<Integer, Class<? extends IpVersionBase>> mapper = IP_VERSION_MAP.inverse();
@@ -181,11 +157,4 @@ public final class NeutronFirewallRuleInterface extends
         }
         return ruleBuilder.build();
     }
-
-    @Override
-    protected FirewallRule toMd(String uuid) {
-        final FirewallRuleBuilder ruleBuilder = new FirewallRuleBuilder();
-        ruleBuilder.setUuid(toUuid(uuid));
-        return ruleBuilder.build();
-    }
 }