/*
- * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2015 Cisco Systems, 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,
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
+import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronFloatingIpAware;
import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronNetworkAware;
import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronPortAware;
-import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronSecurityGroupAware;
+import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronRouterAware;
import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.NeutronSubnetAware;
+import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.group.NeutronSecurityGroupAware;
+import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.group.SecGroupDao;
+import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.rule.NeutronSecurityRuleAware;
+import org.opendaylight.groupbasedpolicy.neutron.mapper.mapping.rule.SecRuleDao;
+import org.opendaylight.neutron.spi.INeutronFloatingIPAware;
import org.opendaylight.neutron.spi.INeutronNetworkAware;
import org.opendaylight.neutron.spi.INeutronPortAware;
+import org.opendaylight.neutron.spi.INeutronRouterAware;
import org.opendaylight.neutron.spi.INeutronSecurityGroupAware;
+import org.opendaylight.neutron.spi.INeutronSecurityRuleAware;
import org.opendaylight.neutron.spi.INeutronSubnetAware;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.EndpointService;
import org.osgi.framework.BundleContext;
checkNotNull(rpcProvider);
checkNotNull(context);
EndpointService epService = rpcProvider.getRpcService(EndpointService.class);
-
registerAwareProviders(dataProvider, epService, context);
}
private void registerAwareProviders(DataBroker dataProvider, EndpointService epService, BundleContext context) {
- ServiceRegistration<INeutronNetworkAware> neutronNetworkAwareRegistration = context.registerService(
- INeutronNetworkAware.class, new NeutronNetworkAware(dataProvider), null);
+ ServiceRegistration<INeutronNetworkAware> neutronNetworkAwareRegistration =
+ context.registerService(INeutronNetworkAware.class, new NeutronNetworkAware(dataProvider), null);
registrations.add(neutronNetworkAwareRegistration);
- ServiceRegistration<INeutronSubnetAware> neutronSubnetAwareRegistration = context.registerService(
- INeutronSubnetAware.class, new NeutronSubnetAware(dataProvider), null);
+ ServiceRegistration<INeutronSubnetAware> neutronSubnetAwareRegistration =
+ context.registerService(INeutronSubnetAware.class, new NeutronSubnetAware(dataProvider), null);
registrations.add(neutronSubnetAwareRegistration);
- ServiceRegistration<INeutronPortAware> neutronPortAwareRegistration = context.registerService(
- INeutronPortAware.class, new NeutronPortAware(dataProvider, epService), null);
- registrations.add(neutronPortAwareRegistration);
+ SecGroupDao secGroupDao = new SecGroupDao();
+ SecRuleDao secRuleDao = new SecRuleDao();
+ NeutronSecurityRuleAware securityRuleAware = new NeutronSecurityRuleAware(dataProvider, secRuleDao, secGroupDao);
+ ServiceRegistration<INeutronSecurityRuleAware> neutronSecurityRuleAwareRegistration =
+ context.registerService(INeutronSecurityRuleAware.class, securityRuleAware, null);
+ registrations.add(neutronSecurityRuleAwareRegistration);
- ServiceRegistration<INeutronSecurityGroupAware> neutronSecurityGroupAwareRegistration = context.registerService(
- INeutronSecurityGroupAware.class, new NeutronSecurityGroupAware(dataProvider), null);
+ NeutronSecurityGroupAware securityGroupAware = new NeutronSecurityGroupAware(dataProvider, securityRuleAware, secGroupDao);
+ ServiceRegistration<INeutronSecurityGroupAware> neutronSecurityGroupAwareRegistration =
+ context.registerService(INeutronSecurityGroupAware.class, securityGroupAware, null);
registrations.add(neutronSecurityGroupAwareRegistration);
+
+ NeutronPortAware portAware =
+ new NeutronPortAware(dataProvider, epService, securityRuleAware, securityGroupAware);
+ ServiceRegistration<INeutronPortAware> neutronPortAwareRegistration =
+ context.registerService(INeutronPortAware.class, portAware, null);
+ registrations.add(neutronPortAwareRegistration);
+
+ NeutronRouterAware routerAware = new NeutronRouterAware(dataProvider, epService, securityRuleAware);
+ ServiceRegistration<INeutronRouterAware> neutronRouterAwareRegistration =
+ context.registerService(INeutronRouterAware.class, routerAware, null);
+ registrations.add(neutronRouterAwareRegistration);
+
+ ServiceRegistration<INeutronFloatingIPAware> neutronFloatingIpAwareRegistration = context
+ .registerService(INeutronFloatingIPAware.class, new NeutronFloatingIpAware(dataProvider, epService), null);
+ registrations.add(neutronFloatingIpAwareRegistration);
}
/**