/*
- * 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.ServiceReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.net.HttpURLConnection;
-
/**
* Handle requests for OpenStack Neutron v2.0 Port Firewall API calls.
*/
public class FWaasHandler extends AbstractHandler
- implements INeutronFirewallAware,
- INeutronFirewallRuleAware,
- INeutronFirewallPolicyAware {
+ implements INeutronFirewallAware, INeutronFirewallRuleAware,
+ INeutronFirewallPolicyAware, ConfigInterface {
+
+ private static final Logger LOG = LoggerFactory.getLogger(FWaasHandler.class);
- static final Logger logger = LoggerFactory.getLogger(FWaasHandler.class);
/**
* Invoked when a Firewall Rules creation is requested
* to indicate if the specified Rule can be created.
@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);
}
}
@Override
public void neutronFirewallUpdated(NeutronFirewall neutronFirewall) {
- logger.debug("NeutronFirewall updated from Neutron: {}", neutronFirewall);
- return;
+ LOG.debug("NeutronFirewall updated from Neutron: {}", neutronFirewall);
}
@Override
//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);
}
}
@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);
}
}
@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
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);
}
}
@Override
public void neutronFirewallPolicyCreated(NeutronFirewallPolicy neutronFirewallPolicy) {
- logger.debug("Neutron Firewall Policy created by Neutron: {}", neutronFirewallPolicy);
-
- int result = HttpURLConnection.HTTP_BAD_REQUEST;
+ LOG.debug("Neutron Firewall Policy created by Neutron: {}", neutronFirewallPolicy);
- 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);
}
}
@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
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;
// 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(ServiceReference serviceReference) {
+ eventDispatcher =
+ (EventDispatcher) ServiceHelper.getGlobalInstance(EventDispatcher.class, this);
+ eventDispatcher.eventHandlerAdded(serviceReference, this);
+ }
+
+ @Override
+ public void setDependencies(Object impl) {}
}
\ No newline at end of file