BUG-5456:DHCP port ARP flows not removed in compute node.
[ovsdb.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / FWaasHandler.java
index 84d1fa99d2b5eb28c1acda21372d503f76ccecbe..0b7881f31259d3f6b90773cd46933651b1697a15 100644 (file)
@@ -1,29 +1,27 @@
 /*
- * Copyright (C) 2013 Red Hat, Inc.
+ * Copyright (c) 2013, 2015 Red Hat, Inc. and others. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
  */
 
 package org.opendaylight.ovsdb.openstack.netvirt;
 
-import org.opendaylight.neutron.spi.INeutronFirewallAware;
-import org.opendaylight.neutron.spi.INeutronFirewallPolicyAware;
-import org.opendaylight.neutron.spi.INeutronFirewallRuleAware;
-import org.opendaylight.neutron.spi.NeutronFirewall;
-import org.opendaylight.neutron.spi.NeutronFirewallPolicy;
-import org.opendaylight.neutron.spi.NeutronFirewallRule;
+import java.net.HttpURLConnection;
+
+import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronFirewall;
+import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronFirewallPolicy;
+import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronFirewallRule;
+import org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.INeutronFirewallAware;
+import org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.INeutronFirewallPolicyAware;
+import org.opendaylight.ovsdb.openstack.netvirt.translator.iaware.INeutronFirewallRuleAware;
 import org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher;
 import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.net.HttpURLConnection;
-
 /**
  * Handle requests for OpenStack Neutron v2.0 Port Firewall API calls.
  */
@@ -31,8 +29,7 @@ public class FWaasHandler extends AbstractHandler
         implements INeutronFirewallAware, INeutronFirewallRuleAware,
         INeutronFirewallPolicyAware, ConfigInterface {
 
-    static final Logger logger = LoggerFactory.getLogger(FWaasHandler.class);
-    private volatile EventDispatcher eventDispatcher;
+    private static final Logger LOG = LoggerFactory.getLogger(FWaasHandler.class);
 
     /**
      * Invoked when a Firewall Rules creation is requested
@@ -48,13 +45,11 @@ public class FWaasHandler extends AbstractHandler
 
     @Override
     public void neutronFirewallCreated(NeutronFirewall neutronFirewall) {
-        logger.debug("Neutron Firewall created by Neutron: {}", neutronFirewall);
-        int result = HttpURLConnection.HTTP_BAD_REQUEST;
+        LOG.debug("Neutron Firewall created by Neutron: {}", neutronFirewall);
 
-        result = canCreateNeutronFirewall(neutronFirewall);
+        int result = canCreateNeutronFirewall(neutronFirewall);
         if (result != HttpURLConnection.HTTP_CREATED) {
-            logger.error("Neutron Firewall creation failed: {} ", result);
-            return;
+            LOG.error("Neutron Firewall creation failed: {} ", result);
         }
     }
 
@@ -65,8 +60,7 @@ public class FWaasHandler extends AbstractHandler
 
     @Override
     public void neutronFirewallUpdated(NeutronFirewall neutronFirewall) {
-        logger.debug("NeutronFirewall updated from Neutron: {}", neutronFirewall);
-        return;
+        LOG.debug("NeutronFirewall updated from Neutron: {}", neutronFirewall);
     }
 
     @Override
@@ -79,8 +73,7 @@ public class FWaasHandler extends AbstractHandler
         //TODO: Trigger flowmod removals
         int result = canDeleteNeutronFirewall(neutronFirewall);
         if  (result != HttpURLConnection.HTTP_OK) {
-            logger.error(" delete Neutron Firewall validation failed for result - {} ", result);
-            return;
+            LOG.error(" delete Neutron Firewall validation failed for result - {} ", result);
         }
     }
 
@@ -98,14 +91,11 @@ public class FWaasHandler extends AbstractHandler
 
     @Override
     public void neutronFirewallRuleCreated(NeutronFirewallRule neutronFirewallRule) {
-        logger.debug("NeutronFirewallRule created by Neutron: {}", neutronFirewallRule);
+        LOG.debug("NeutronFirewallRule created by Neutron: {}", neutronFirewallRule);
 
-        int result = HttpURLConnection.HTTP_BAD_REQUEST;
-
-        result = canCreateNeutronFirewallRule(neutronFirewallRule);
+        int result = canCreateNeutronFirewallRule(neutronFirewallRule);
         if (result != HttpURLConnection.HTTP_CREATED) {
-            logger.error("Neutron Firewall Rule creation failed {} ", result);
-            return;
+            LOG.error("Neutron Firewall Rule creation failed {} ", result);
         }
     }
 
@@ -116,8 +106,7 @@ public class FWaasHandler extends AbstractHandler
 
     @Override
     public void neutronFirewallRuleUpdated(NeutronFirewallRule neutronFirewallRule) {
-        logger.debug("Neutron Firewall Rule updated from Neutron: {}", neutronFirewallRule);
-        return;
+        LOG.debug("Neutron Firewall Rule updated from Neutron: {}", neutronFirewallRule);
     }
 
     @Override
@@ -129,8 +118,7 @@ public class FWaasHandler extends AbstractHandler
     public void neutronFirewallRuleDeleted(NeutronFirewallRule neutronFirewallRule) {
         int result = canDeleteNeutronFirewallRule(neutronFirewallRule);
         if  (result != HttpURLConnection.HTTP_OK) {
-            logger.error(" delete Neutron Firewall Rule validation failed for result - {} ", result);
-            return;
+            LOG.error(" delete Neutron Firewall Rule validation failed for result - {} ", result);
         }
     }
 
@@ -148,14 +136,11 @@ public class FWaasHandler extends AbstractHandler
 
     @Override
     public void neutronFirewallPolicyCreated(NeutronFirewallPolicy neutronFirewallPolicy) {
-        logger.debug("Neutron Firewall Policy created by Neutron: {}", neutronFirewallPolicy);
+        LOG.debug("Neutron Firewall Policy created by Neutron: {}", neutronFirewallPolicy);
 
-        int result = HttpURLConnection.HTTP_BAD_REQUEST;
-
-        result = canCreateNeutronFirewallPolicy(neutronFirewallPolicy);
+        int result = canCreateNeutronFirewallPolicy(neutronFirewallPolicy);
         if (result != HttpURLConnection.HTTP_CREATED) {
-            logger.debug("Neutron Firewall Policy creation failed: {} ", result);
-            return;
+            LOG.debug("Neutron Firewall Policy creation failed: {} ", result);
         }
     }
 
@@ -166,8 +151,7 @@ public class FWaasHandler extends AbstractHandler
 
     @Override
     public void neutronFirewallPolicyUpdated(NeutronFirewallPolicy neutronFirewallPolicy) {
-        logger.debug("Neutron Firewall Policy updated from Neutron: {}", neutronFirewallPolicy);
-        return;
+        LOG.debug("Neutron Firewall Policy updated from Neutron: {}", neutronFirewallPolicy);
     }
 
     @Override
@@ -179,20 +163,19 @@ public class FWaasHandler extends AbstractHandler
     public void neutronFirewallPolicyDeleted(NeutronFirewallPolicy neutronFirewallPolicy) {
         int result = canDeleteNeutronFirewallPolicy(neutronFirewallPolicy);
         if  (result != HttpURLConnection.HTTP_OK) {
-            logger.error(" delete Neutron Firewall Policy validation failed for result - {} ", result);
-            return;
+            LOG.error(" delete Neutron Firewall Policy validation failed for result - {} ", result);
         }
     }
 
     /**
      * Process the event.
      *
-     * @param abstractEvent@see org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher
+     * @param abstractEvent new FWaas Event@see org.opendaylight.ovsdb.openstack.netvirt.api.EventDispatcher
      */
     @Override
     public void processEvent(AbstractEvent abstractEvent) {
         if (!(abstractEvent instanceof NorthboundEvent)) {
-            logger.error("Unable to process abstract event " + abstractEvent);
+            LOG.error("Unable to process abstract event {}", abstractEvent);
             return;
         }
         NorthboundEvent ev = (NorthboundEvent) abstractEvent;
@@ -200,18 +183,16 @@ public class FWaasHandler extends AbstractHandler
             // TODO: add handling of events here, once callbacks do something
             //       other than logging.
             default:
-                logger.warn("Unable to process event action " + ev.getAction());
+                LOG.warn("Unable to process event action {}", ev.getAction());
                 break;
         }
     }
 
     @Override
-    public void setDependencies(BundleContext bundleContext, ServiceReference serviceReference) {
+    public void setDependencies(ServiceReference serviceReference) {
         eventDispatcher =
                 (EventDispatcher) ServiceHelper.getGlobalInstance(EventDispatcher.class, this);
-        eventDispatcher.eventHandlerAdded(
-                bundleContext.getServiceReference(INeutronFirewallAware.class.getName()), this);
-        super.setDispatcher(eventDispatcher);
+        eventDispatcher.eventHandlerAdded(serviceReference, this);
     }
 
     @Override