</plugins>
</build>
<dependencies>
+ <dependency>
+ <groupId>org.ops4j.pax.cdi</groupId>
+ <artifactId>pax-cdi-api</artifactId>
+ <optional>true</optional>
+ </dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-binding-api</artifactId>
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutionException;
+import javax.annotation.PreDestroy;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.controller.md.sal.binding.api.ReadTransaction;
}
@Override
+ @PreDestroy
public void close() throws Exception {
- // TODO Auto-generated method stub
-
}
private boolean exists(String uuid, ReadTransaction tx) {
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronBgpvpnCRUD;
import org.opendaylight.neutron.spi.NeutronBgpvpn;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.bgpvpns.attributes.bgpvpns.Bgpvpn;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.bgpvpns.attributes.bgpvpns.BgpvpnBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.bgpvpns.attributes.bgpvpns.BgpvpnKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronBgpvpnCRUD.class)
public final class NeutronBgpvpnInterface extends AbstractNeutronInterface<Bgpvpn, Bgpvpns, BgpvpnKey, NeutronBgpvpn>
implements INeutronBgpvpnCRUD {
String> BGPVPN_TYPE_MAP = new ImmutableBiMap.Builder<Class<? extends BgpvpnTypeBase>, String>()
.put(BgpvpnTypeL2.class, "l2").put(BgpvpnTypeL3.class, "l3").build();
- NeutronBgpvpnInterface(DataBroker db) {
+ @Inject
+ public NeutronBgpvpnInterface(DataBroker db) {
super(BgpvpnBuilder.class, db);
}
package org.opendaylight.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronFirewallCRUD;
import org.opendaylight.neutron.spi.NeutronFirewall;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.firewalls.attributes.firewalls.Firewall;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.firewalls.attributes.firewalls.FirewallBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.firewalls.attributes.firewalls.FirewallKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronFirewallCRUD.class)
public final class NeutronFirewallInterface
extends AbstractNeutronInterface<Firewall, Firewalls, FirewallKey, NeutronFirewall>
implements INeutronFirewallCRUD {
- NeutronFirewallInterface(DataBroker db) {
+ @Inject
+ public NeutronFirewallInterface(DataBroker db) {
super(FirewallBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronFirewallPolicyCRUD;
import org.opendaylight.neutron.spi.NeutronFirewallPolicy;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.policies.attributes.firewall.policies.FirewallPolicy;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.policies.attributes.firewall.policies.FirewallPolicyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.policies.attributes.firewall.policies.FirewallPolicyKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
-
+@Singleton
+@OsgiServiceProvider(classes = INeutronFirewallPolicyCRUD.class)
public final class NeutronFirewallPolicyInterface
extends AbstractNeutronInterface<FirewallPolicy, FirewallPolicies, FirewallPolicyKey, NeutronFirewallPolicy>
implements INeutronFirewallPolicyCRUD {
- NeutronFirewallPolicyInterface(DataBroker db) {
+
+ @Inject
+ public NeutronFirewallPolicyInterface(DataBroker db) {
super(FirewallPolicyBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
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.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.rules.attributes.firewall.rules.FirewallRuleBuilder;
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.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronFirewallRuleCRUD.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();
Integer> IP_VERSION_MAP = new ImmutableBiMap.Builder<Class<? extends IpVersionBase>, Integer>()
.put(IpVersionV4.class, Integer.valueOf(4)).put(IpVersionV6.class, Integer.valueOf(6)).build();
- NeutronFirewallRuleInterface(DataBroker db) {
+ @Inject
+ public NeutronFirewallRuleInterface(DataBroker db) {
super(FirewallRuleBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronFloatingIpCRUD;
import org.opendaylight.neutron.spi.NeutronFloatingIp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floatingips.attributes.floatingips.Floatingip;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floatingips.attributes.floatingips.FloatingipBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floatingips.attributes.floatingips.FloatingipKey;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronFloatingIpCRUD.class)
public final class NeutronFloatingIpInterface
extends AbstractNeutronInterface<Floatingip, Floatingips, FloatingipKey, NeutronFloatingIp>
implements INeutronFloatingIpCRUD {
- private static final Logger LOG = LoggerFactory.getLogger(NeutronFloatingIpInterface.class);
- NeutronFloatingIpInterface(DataBroker db) {
+ @Inject
+ public NeutronFloatingIpInterface(DataBroker db) {
super(FloatingipBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronL2gatewayConnectionCRUD;
import org.opendaylight.neutron.spi.NeutronL2gatewayConnection;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.l2gatewayconnections.L2gatewayConnection;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.l2gatewayconnections.L2gatewayConnectionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateway.connections.attributes.l2gatewayconnections.L2gatewayConnectionKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronL2gatewayConnectionCRUD.class)
public final class NeutronL2gatewayConnectionInterface
extends AbstractNeutronInterface<L2gatewayConnection, L2gatewayConnections, L2gatewayConnectionKey,
NeutronL2gatewayConnection>
implements INeutronL2gatewayConnectionCRUD {
- NeutronL2gatewayConnectionInterface(DataBroker db) {
+ @Inject
+ public NeutronL2gatewayConnectionInterface(DataBroker db) {
super(L2gatewayConnectionBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronL2gatewayCRUD;
import org.opendaylight.neutron.spi.NeutronL2gateway;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateways.attributes.l2gateways.L2gateway;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateways.attributes.l2gateways.L2gatewayBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev150712.l2gateways.attributes.l2gateways.L2gatewayKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronL2gatewayCRUD.class)
public final class NeutronL2gatewayInterface
extends AbstractNeutronInterface<L2gateway, L2gateways, L2gatewayKey, NeutronL2gateway>
implements INeutronL2gatewayCRUD {
- NeutronL2gatewayInterface(DataBroker db) {
+
+ @Inject
+ public NeutronL2gatewayInterface(DataBroker db) {
super(L2gatewayBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronLoadBalancerHealthMonitorCRUD;
import org.opendaylight.neutron.spi.NeutronID;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.healthmonitors.Healthmonitor;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.healthmonitors.HealthmonitorBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.healthmonitors.HealthmonitorKey;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronLoadBalancerHealthMonitorCRUD.class)
public final class NeutronLoadBalancerHealthMonitorInterface
extends AbstractNeutronInterface<Healthmonitor, Healthmonitors, HealthmonitorKey,
NeutronLoadBalancerHealthMonitor>
implements INeutronLoadBalancerHealthMonitorCRUD {
- private static final Logger LOG = LoggerFactory.getLogger(NeutronLoadBalancerHealthMonitorInterface.class);
private static final ImmutableBiMap<Class<? extends ProbeBase>,
String> PROBE_MAP = new ImmutableBiMap.Builder<Class<? extends ProbeBase>, String>()
.put(ProbeHttp.class, "HTTP").put(ProbeHttps.class, "HTTPS").put(ProbePing.class, "PING")
.put(ProbeTcp.class, "TCP").build();
- NeutronLoadBalancerHealthMonitorInterface(DataBroker db) {
+ @Inject
+ public NeutronLoadBalancerHealthMonitorInterface(DataBroker db) {
super(HealthmonitorBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronLoadBalancerCRUD;
import org.opendaylight.neutron.spi.NeutronLoadBalancer;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.loadbalancers.Loadbalancer;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.loadbalancers.LoadbalancerBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.loadbalancers.LoadbalancerKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronLoadBalancerCRUD.class)
public final class NeutronLoadBalancerInterface
extends AbstractNeutronInterface<Loadbalancer, Loadbalancers, LoadbalancerKey, NeutronLoadBalancer>
implements INeutronLoadBalancerCRUD {
- NeutronLoadBalancerInterface(DataBroker db) {
+
+ @Inject
+ public NeutronLoadBalancerInterface(DataBroker db) {
super(LoadbalancerBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.northbound.api.BadRequestException;
import org.opendaylight.neutron.spi.INeutronLoadBalancerListenerCRUD;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.listeners.Listener;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.listeners.ListenerBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.lbaas.attributes.listeners.ListenerKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronLoadBalancerListenerCRUD.class)
public final class NeutronLoadBalancerListenerInterface
extends AbstractNeutronInterface<Listener, Listeners, ListenerKey, NeutronLoadBalancerListener>
implements INeutronLoadBalancerListenerCRUD {
+
private static final ImmutableBiMap<Class<? extends ProtocolBase>,
String> PROTOCOL_MAP = new ImmutableBiMap.Builder<Class<? extends ProtocolBase>, String>()
.put(ProtocolHttp.class, "HTTP").put(ProtocolHttps.class, "HTTPS").put(ProtocolTcp.class, "TCP")
.put(ProtocolTerminatedHttps.class, "TERMINATED_HTTPS").build();
- NeutronLoadBalancerListenerInterface(DataBroker db) {
+ @Inject
+ public NeutronLoadBalancerListenerInterface(DataBroker db) {
super(ListenerBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.base.Optional;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutionException;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.pool.attributes.SessionPersistenceBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Singleton
+@OsgiServiceProvider(classes = INeutronLoadBalancerPoolCRUD.class)
public final class NeutronLoadBalancerPoolInterface
extends AbstractNeutronInterface<Pool, Pools, PoolKey, NeutronLoadBalancerPool>
implements INeutronLoadBalancerPoolCRUD {
+
private static final Logger LOG = LoggerFactory.getLogger(NeutronLoadBalancerPoolInterface.class);
private static final ImmutableBiMap<Class<? extends ProtocolBase>,
.put(ProtocolHttp.class, "HTTP").put(ProtocolHttps.class, "HTTPS").put(ProtocolTcp.class, "TCP")
.put(ProtocolTerminatedHttps.class, "TERMINATED_HTTPS").build();
- NeutronLoadBalancerPoolInterface(DataBroker db) {
+ @Inject
+ public NeutronLoadBalancerPoolInterface(DataBroker db) {
super(PoolBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronMeteringLabelCRUD;
import org.opendaylight.neutron.spi.NeutronMeteringLabel;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.labels.attributes.metering.labels.MeteringLabel;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.labels.attributes.metering.labels.MeteringLabelBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.labels.attributes.metering.labels.MeteringLabelKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronMeteringLabelCRUD.class)
public final class NeutronMeteringLabelInterface
extends AbstractNeutronInterface<MeteringLabel, MeteringLabels, MeteringLabelKey, NeutronMeteringLabel>
implements INeutronMeteringLabelCRUD {
- NeutronMeteringLabelInterface(DataBroker db) {
+
+ @Inject
+ public NeutronMeteringLabelInterface(DataBroker db) {
super(MeteringLabelBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronMeteringLabelRuleCRUD;
import org.opendaylight.neutron.spi.NeutronMeteringLabelRule;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.rules.attributes.metering.rules.MeteringRule;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.rules.attributes.metering.rules.MeteringRuleBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.metering.rules.attributes.metering.rules.MeteringRuleKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronMeteringLabelRuleCRUD.class)
public final class NeutronMeteringLabelRuleInterface
extends AbstractNeutronInterface<MeteringRule, MeteringRules, MeteringRuleKey, NeutronMeteringLabelRule>
implements INeutronMeteringLabelRuleCRUD {
- NeutronMeteringLabelRuleInterface(DataBroker db) {
+
+ @Inject
+ public NeutronMeteringLabelRuleInterface(DataBroker db) {
super(MeteringRuleBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronNetworkCRUD;
import org.opendaylight.neutron.spi.NeutronNetwork;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.neutron.networks.network.SegmentsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.ext.rev160613.QosNetworkExtension;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.ext.rev160613.QosNetworkExtensionBuilder;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronNetworkCRUD.class)
public final class NeutronNetworkInterface
extends AbstractNeutronInterface<Network, Networks, NetworkKey, NeutronNetwork>
implements INeutronNetworkCRUD {
+
private static final ImmutableBiMap<Class<? extends NetworkTypeBase>,
String> NETWORK_MAP = new ImmutableBiMap.Builder<Class<? extends NetworkTypeBase>, String>()
.put(NetworkTypeFlat.class, "flat").put(NetworkTypeGre.class, "gre")
.put(NetworkTypeVlan.class, "vlan").put(NetworkTypeVxlan.class, "vxlan").build();
- NeutronNetworkInterface(DataBroker db) {
+ @Inject
+ public NeutronNetworkInterface(DataBroker db) {
super(NetworkBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronPortCRUD;
import org.opendaylight.neutron.spi.NeutronIps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.ext.rev160613.QosPortExtension;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.ext.rev160613.QosPortExtensionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.types.rev160517.IpPrefixOrAddress;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronPortCRUD.class)
public final class NeutronPortInterface extends AbstractNeutronInterface<Port, Ports, PortKey, NeutronPort>
implements INeutronPortCRUD {
+
// TODO: consolidate this map with NeutronSubnetInterface.IPV_MAP
private static final ImmutableBiMap<Class<? extends IpVersionBase>,
Integer> IPV_MAP = new ImmutableBiMap.Builder<Class<? extends IpVersionBase>, Integer>()
.put(IpVersionV4.class, Integer.valueOf(4)).put(IpVersionV6.class, Integer.valueOf(6)).build();
- NeutronPortInterface(DataBroker db) {
+ @Inject
+ public NeutronPortInterface(DataBroker db) {
super(PortBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronQosPolicyCRUD;
import org.opendaylight.neutron.spi.NeutronQosBandwidthLimitRule;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.rev160613.qos.attributes.qos.policies.qos.policy.DscpmarkingRulesBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.rev160613.qos.attributes.qos.policies.qos.policy.MinimumbandwidthRules;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.rev160613.qos.attributes.qos.policies.qos.policy.MinimumbandwidthRulesBuilder;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronQosPolicyCRUD.class)
public final class NeutronQosPolicyInterface
extends AbstractNeutronInterface<QosPolicy, QosPolicies, QosPolicyKey,NeutronQosPolicy>
implements INeutronQosPolicyCRUD {
- NeutronQosPolicyInterface(DataBroker db) {
+
+ @Inject
+ public NeutronQosPolicyInterface(DataBroker db) {
super(QosPolicyBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronRouterCRUD;
import org.opendaylight.neutron.spi.NeutronIps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.router.ExternalGatewayInfoBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.router.external_gateway_info.ExternalFixedIps;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.router.external_gateway_info.ExternalFixedIpsBuilder;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronRouterCRUD.class)
public final class NeutronRouterInterface extends AbstractNeutronInterface<Router, Routers, RouterKey, NeutronRouter>
implements INeutronRouterCRUD {
// methods needed for creating caches
- NeutronRouterInterface(DataBroker db) {
+ @Inject
+ public NeutronRouterInterface(DataBroker db) {
super(RouterBuilder.class, db);
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
-
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.northbound.api.BadRequestException;
import org.opendaylight.neutron.spi.INeutronSFCFlowClassifierCRUD;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.flow.classifier.rev160511.sfc.flow.classifiers.attributes.sfc.flow.classifiers.SfcFlowClassifier;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.flow.classifier.rev160511.sfc.flow.classifiers.attributes.sfc.flow.classifiers.SfcFlowClassifierBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.flow.classifier.rev160511.sfc.flow.classifiers.attributes.sfc.flow.classifiers.SfcFlowClassifierKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by Anil Vishnoi (avishnoi@Brocade.com) on 6/24/16.
*/
+@Singleton
+@OsgiServiceProvider(classes = INeutronSFCFlowClassifierCRUD.class)
public final class NeutronSFCFlowClassifierInterface
extends AbstractNeutronInterface<SfcFlowClassifier, SfcFlowClassifiers, SfcFlowClassifierKey,
NeutronSFCFlowClassifier>
.put(ProtocolTcp.class, "tcp").put(ProtocolUdp.class, "udp").put(ProtocolIcmp.class, "icmp")
.build();
- NeutronSFCFlowClassifierInterface(DataBroker db) {
+ @Inject
+ public NeutronSFCFlowClassifierInterface(DataBroker db) {
super(SfcFlowClassifierBuilder.class, db);
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronSFCPortChainCRUD;
import org.opendaylight.neutron.spi.NeutronSFCPortChain;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.chains.PortChain;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.chains.PortChainBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.chains.PortChainKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by Anil Vishnoi (avishnoi@Brocade.com).
*/
+@Singleton
+@OsgiServiceProvider(classes = INeutronSFCPortChainCRUD.class)
public final class NeutronSFCPortChainInterface
extends AbstractNeutronInterface<PortChain, PortChains, PortChainKey, NeutronSFCPortChain>
implements INeutronSFCPortChainCRUD {
private static final Logger LOG = LoggerFactory.getLogger(NeutronSFCPortChainInterface.class);
- NeutronSFCPortChainInterface(DataBroker db) {
+ @Inject
+ public NeutronSFCPortChainInterface(DataBroker db) {
super(PortChainBuilder.class, db);
}
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronSFCPortPairGroupCRUD;
import org.opendaylight.neutron.spi.NeutronSFCPortPairGroup;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.pair.groups.PortPairGroup;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.pair.groups.PortPairGroupBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.pair.groups.PortPairGroupKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by Anil Vishnoi (avishnoi@Brocade.com).
*/
+@Singleton
+@OsgiServiceProvider(classes = INeutronSFCPortPairGroupCRUD.class)
public final class NeutronSFCPortPairGroupInterface
extends AbstractNeutronInterface<PortPairGroup, PortPairGroups, PortPairGroupKey, NeutronSFCPortPairGroup>
implements INeutronSFCPortPairGroupCRUD {
private static final Logger LOG = LoggerFactory.getLogger(NeutronSFCPortPairGroupInterface.class);
- NeutronSFCPortPairGroupInterface(DataBroker db) {
+ @Inject
+ public NeutronSFCPortPairGroupInterface(DataBroker db) {
super(PortPairGroupBuilder.class, db);
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronSFCPortPairCRUD;
import org.opendaylight.neutron.spi.NeutronSFCPortPair;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.pairs.PortPair;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.pairs.PortPairBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.attributes.port.pairs.PortPairKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by Anil Vishnoi (avishnoi@Brocade.com).
*/
+@Singleton
+@OsgiServiceProvider(classes = INeutronSFCPortPairCRUD.class)
public final class NeutronSFCPortPairInterface
extends AbstractNeutronInterface<PortPair, PortPairs, PortPairKey, NeutronSFCPortPair>
implements INeutronSFCPortPairCRUD {
private static final Logger LOG = LoggerFactory.getLogger(NeutronSFCPortPairInterface.class);
- NeutronSFCPortPairInterface(DataBroker db) {
+ @Inject
+ public NeutronSFCPortPairInterface(DataBroker db) {
super(PortPairBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronSecurityGroupCRUD;
import org.opendaylight.neutron.spi.NeutronSecurityGroup;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.security.groups.SecurityGroup;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.security.groups.SecurityGroupBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.groups.attributes.security.groups.SecurityGroupKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronSecurityGroupCRUD.class)
public final class NeutronSecurityGroupInterface
extends AbstractNeutronInterface<SecurityGroup, SecurityGroups, SecurityGroupKey, NeutronSecurityGroup>
implements INeutronSecurityGroupCRUD {
- NeutronSecurityGroupInterface(DataBroker db) {
+
+ @Inject
+ public NeutronSecurityGroupInterface(DataBroker db) {
super(SecurityGroupBuilder.class, db);
}
import com.google.common.collect.ImmutableBiMap;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.northbound.api.BadRequestException;
import org.opendaylight.neutron.spi.INeutronSecurityRuleCRUD;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.rules.attributes.security.rules.SecurityRule;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.rules.attributes.security.rules.SecurityRuleBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712.security.rules.attributes.security.rules.SecurityRuleKey;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronSecurityRuleCRUD.class)
public final class NeutronSecurityRuleInterface extends
AbstractNeutronInterface<SecurityRule, SecurityRules, SecurityRuleKey, NeutronSecurityRule>
implements INeutronSecurityRuleCRUD {
- private static final Logger LOG = LoggerFactory.getLogger(NeutronSecurityRuleInterface.class);
private static final ImmutableBiMap<Class<? extends EthertypeBase>,
String> ETHERTYPE_MAP = new ImmutableBiMap.Builder<Class<? extends EthertypeBase>, String>()
.put(EthertypeV4.class, "IPv4").put(EthertypeV6.class, "IPv6").build();
- NeutronSecurityRuleInterface(DataBroker db) {
+ @Inject
+ public NeutronSecurityRuleInterface(DataBroker db) {
super(SecurityRuleBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronSubnetCRUD;
import org.opendaylight.neutron.spi.NeutronRoute;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.SubnetBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.SubnetKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronSubnetCRUD.class)
public final class NeutronSubnetInterface extends AbstractNeutronInterface<Subnet, Subnets, SubnetKey, NeutronSubnet>
implements INeutronSubnetCRUD {
+
private static final int IPV4_VERSION = 4;
private static final int IPV6_VERSION = 6;
.put(Dhcpv6Off.class, "off").put(Dhcpv6Stateful.class, "dhcpv6-stateful")
.put(Dhcpv6Slaac.class, "slaac").put(Dhcpv6Stateless.class, "dhcpv6-stateless").build();
- NeutronSubnetInterface(DataBroker db) {
+ @Inject
+ public NeutronSubnetInterface(DataBroker db) {
super(SubnetBuilder.class, db);
}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import com.google.common.util.concurrent.CheckedFuture;
import java.util.List;
import java.util.concurrent.ExecutionException;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.tap.services.attributes.tap.services.TapService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.tap.services.attributes.tap.services.TapServiceKey;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@Singleton
+@OsgiServiceProvider(classes = INeutronTapFlowCRUD.class)
public final class NeutronTapFlowInterface
extends AbstractTranscriberInterface<TapFlow, TapFlows, TapFlowKey, NeutronTapFlow, TapServiceAttributes>
implements INeutronTapFlowCRUD {
.put(DirectionIn.class, "IN")
.put(DirectionBoth.class, "BOTH").build();
- NeutronTapFlowInterface(DataBroker db) {
+ @Inject
+ public NeutronTapFlowInterface(DataBroker db) {
super(TapFlowBuilder.class, db);
}
return flowBuilder.build();
}
+ @Override
public boolean tapFlowExists(String tapServiceUUID, String tapFlowUUID) {
final TapFlow dataObject = readMd(createTapFlowInstanceIdentifier(tapServiceUUID, toMd(tapFlowUUID)));
return dataObject != null;
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronTapServiceCRUD;
import org.opendaylight.neutron.spi.NeutronTapService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.tap.services.attributes.tap.services.TapService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.tap.services.attributes.tap.services.TapServiceBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.tap.services.attributes.tap.services.TapServiceKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
-
-
+@Singleton
+@OsgiServiceProvider(classes = INeutronTapServiceCRUD.class)
public final class NeutronTapServiceInterface
extends AbstractNeutronInterface<TapService, TapServices, TapServiceKey, NeutronTapService>
implements INeutronTapServiceCRUD {
- NeutronTapServiceInterface(DataBroker db) {
+
+ @Inject
+ public NeutronTapServiceInterface(DataBroker db) {
super(TapServiceBuilder.class, db);
}
+++ /dev/null
-/*
- * Copyright (c) 2016 Intel Corp. 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.neutron.transcriber;
-
-// Marker interface for NeutronTranscriber service for advertisement
-public interface NeutronTranscriber {
-}
+++ /dev/null
-/*
- * 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,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.neutron.transcriber;
-
-import com.google.common.base.Preconditions;
-import java.util.ArrayList;
-import java.util.List;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-import javax.inject.Singleton;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.neutron.spi.INeutronBgpvpnCRUD;
-import org.opendaylight.neutron.spi.INeutronCRUD;
-import org.opendaylight.neutron.spi.INeutronFirewallCRUD;
-import org.opendaylight.neutron.spi.INeutronFirewallPolicyCRUD;
-import org.opendaylight.neutron.spi.INeutronFirewallRuleCRUD;
-import org.opendaylight.neutron.spi.INeutronFloatingIpCRUD;
-import org.opendaylight.neutron.spi.INeutronL2gatewayCRUD;
-import org.opendaylight.neutron.spi.INeutronL2gatewayConnectionCRUD;
-import org.opendaylight.neutron.spi.INeutronLoadBalancerCRUD;
-import org.opendaylight.neutron.spi.INeutronLoadBalancerHealthMonitorCRUD;
-import org.opendaylight.neutron.spi.INeutronLoadBalancerListenerCRUD;
-import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolCRUD;
-import org.opendaylight.neutron.spi.INeutronMeteringLabelCRUD;
-import org.opendaylight.neutron.spi.INeutronMeteringLabelRuleCRUD;
-import org.opendaylight.neutron.spi.INeutronNetworkCRUD;
-import org.opendaylight.neutron.spi.INeutronPortCRUD;
-import org.opendaylight.neutron.spi.INeutronQosPolicyCRUD;
-import org.opendaylight.neutron.spi.INeutronRouterCRUD;
-import org.opendaylight.neutron.spi.INeutronSFCFlowClassifierCRUD;
-import org.opendaylight.neutron.spi.INeutronSFCPortChainCRUD;
-import org.opendaylight.neutron.spi.INeutronSFCPortPairCRUD;
-import org.opendaylight.neutron.spi.INeutronSFCPortPairGroupCRUD;
-import org.opendaylight.neutron.spi.INeutronSecurityGroupCRUD;
-import org.opendaylight.neutron.spi.INeutronSecurityRuleCRUD;
-import org.opendaylight.neutron.spi.INeutronSubnetCRUD;
-import org.opendaylight.neutron.spi.INeutronTapFlowCRUD;
-import org.opendaylight.neutron.spi.INeutronTapServiceCRUD;
-import org.opendaylight.neutron.spi.INeutronTrunkCRUD;
-import org.opendaylight.neutron.spi.INeutronVpnIkePolicyCRUD;
-import org.opendaylight.neutron.spi.INeutronVpnIpSecPolicyCRUD;
-import org.opendaylight.neutron.spi.INeutronVpnIpSecSiteConnectionsCRUD;
-import org.opendaylight.neutron.spi.INeutronVpnServiceCRUD;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Singleton
-public final class NeutronTranscriberProvider implements NeutronTranscriber {
- private static final Logger LOG = LoggerFactory.getLogger(NeutronTranscriberProvider.class);
-
- private BundleContext context;
- private final DataBroker db;
- private final List<ServiceRegistration<? extends INeutronCRUD<?>>> registrations = new ArrayList<>();
- private final List<AutoCloseable> neutronInterfaces = new ArrayList<>();
-
- @Inject
- public NeutronTranscriberProvider(BundleContext context, DataBroker db) {
- LOG.debug("DataBroker set to: {}", db);
- this.context = Preconditions.checkNotNull(context);
- this.db = Preconditions.checkNotNull(db);
- }
-
- private <S extends INeutronCRUD<?>,
- T extends AutoCloseable /* & S */> void registerCRUDInterface(java.lang.Class<S> clazz, T crudInterface) {
- neutronInterfaces.add(crudInterface);
- @SuppressWarnings("unchecked")
- S castCrudInterface = (S) crudInterface;
- final ServiceRegistration<S> crudInterfaceRegistration =
- context.registerService(clazz, castCrudInterface, null);
- registrations.add(crudInterfaceRegistration);
- }
-
- @PostConstruct
- public void init() {
- registerCRUDInterface(INeutronBgpvpnCRUD.class, new NeutronBgpvpnInterface(db));
- registerCRUDInterface(INeutronFirewallCRUD.class, new NeutronFirewallInterface(db));
- registerCRUDInterface(INeutronFirewallPolicyCRUD.class, new NeutronFirewallPolicyInterface(db));
- registerCRUDInterface(INeutronFirewallRuleCRUD.class, new NeutronFirewallRuleInterface(db));
- registerCRUDInterface(INeutronFloatingIpCRUD.class, new NeutronFloatingIpInterface(db));
- registerCRUDInterface(INeutronL2gatewayConnectionCRUD.class, new NeutronL2gatewayConnectionInterface(db));
- registerCRUDInterface(INeutronL2gatewayCRUD.class, new NeutronL2gatewayInterface(db));
- registerCRUDInterface(INeutronLoadBalancerHealthMonitorCRUD.class,
- new NeutronLoadBalancerHealthMonitorInterface(db));
- registerCRUDInterface(INeutronLoadBalancerCRUD.class, new NeutronLoadBalancerInterface(db));
- registerCRUDInterface(INeutronLoadBalancerListenerCRUD.class, new NeutronLoadBalancerListenerInterface(db));
- registerCRUDInterface(INeutronLoadBalancerPoolCRUD.class, new NeutronLoadBalancerPoolInterface(db));
- registerCRUDInterface(INeutronMeteringLabelCRUD.class, new NeutronMeteringLabelInterface(db));
- registerCRUDInterface(INeutronMeteringLabelRuleCRUD.class, new NeutronMeteringLabelRuleInterface(db));
- registerCRUDInterface(INeutronNetworkCRUD.class, new NeutronNetworkInterface(db));
- registerCRUDInterface(INeutronPortCRUD.class, new NeutronPortInterface(db));
- registerCRUDInterface(INeutronQosPolicyCRUD.class, new NeutronQosPolicyInterface(db));
- registerCRUDInterface(INeutronRouterCRUD.class, new NeutronRouterInterface(db));
- registerCRUDInterface(INeutronSFCFlowClassifierCRUD.class, new NeutronSFCFlowClassifierInterface(db));
- registerCRUDInterface(INeutronSFCPortPairCRUD.class, new NeutronSFCPortPairInterface(db));
- registerCRUDInterface(INeutronSFCPortPairGroupCRUD.class, new NeutronSFCPortPairGroupInterface(db));
- registerCRUDInterface(INeutronSFCPortChainCRUD.class, new NeutronSFCPortChainInterface(db));
- registerCRUDInterface(INeutronSecurityGroupCRUD.class, new NeutronSecurityGroupInterface(db));
- registerCRUDInterface(INeutronSecurityRuleCRUD.class, new NeutronSecurityRuleInterface(db));
- registerCRUDInterface(INeutronSubnetCRUD.class, new NeutronSubnetInterface(db));
- registerCRUDInterface(INeutronTapServiceCRUD.class, new NeutronTapServiceInterface(db));
- registerCRUDInterface(INeutronTapFlowCRUD.class, new NeutronTapFlowInterface(db));
- registerCRUDInterface(INeutronTrunkCRUD.class, new NeutronTrunkInterface(db));
- registerCRUDInterface(INeutronVpnIkePolicyCRUD.class, new NeutronVpnIkePolicyInterface(db));
- registerCRUDInterface(INeutronVpnIpSecPolicyCRUD.class, new NeutronVpnIpSecPolicyInterface(db));
- registerCRUDInterface(INeutronVpnIpSecSiteConnectionsCRUD.class,
- new NeutronVpnIpSecSiteConnectionsInterface(db));
- registerCRUDInterface(INeutronVpnServiceCRUD.class, new NeutronVpnServiceInterface(db));
-
- // We don't need context any more
- this.context = null;
- }
-
- @PreDestroy
- public void close() throws Exception {
- for (final ServiceRegistration registration : registrations) {
- registration.unregister();
- }
- for (final AutoCloseable neutronCRUD : neutronInterfaces) {
- neutronCRUD.close();
- }
- neutronInterfaces.clear();
- }
-}
* 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.neutron.transcriber;
import com.google.common.collect.ImmutableBiMap;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronTrunkCRUD;
import org.opendaylight.neutron.spi.NeutronTrunk;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.trunks.rev170118.trunks.attributes.trunks.Trunk;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.trunks.rev170118.trunks.attributes.trunks.TrunkBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.trunks.rev170118.trunks.attributes.trunks.TrunkKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronTrunkCRUD.class)
public final class NeutronTrunkInterface extends AbstractNeutronInterface<Trunk, Trunks, TrunkKey, NeutronTrunk>
implements INeutronTrunkCRUD {
+
private static final ImmutableBiMap<Class<? extends NetworkTypeBase>, String> NETWORK_TYPE_MAP =
new ImmutableBiMap.Builder<Class<? extends NetworkTypeBase>, String>()
.put(NetworkTypeFlat.class, "flat").put(NetworkTypeGre.class, "gre")
.put(NetworkTypeVlan.class, "vlan").put(NetworkTypeVxlan.class, "vxlan").build();
- NeutronTrunkInterface(DataBroker db) {
+ @Inject
+ public NeutronTrunkInterface(DataBroker db) {
super(TrunkBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronVpnIkePolicyCRUD;
import org.opendaylight.neutron.spi.NeutronVpnIkePolicy;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ikepolicies.attributes.ike.policies.IkepolicyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ikepolicies.attributes.ike.policies.IkepolicyKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ikepolicy.attributes.LifetimeBuilder;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronVpnIkePolicyCRUD.class)
public final class NeutronVpnIkePolicyInterface
extends AbstractNeutronInterface<Ikepolicy, IkePolicies, IkepolicyKey, NeutronVpnIkePolicy>
implements INeutronVpnIkePolicyCRUD {
- NeutronVpnIkePolicyInterface(DataBroker db) {
+
+ @Inject
+ public NeutronVpnIkePolicyInterface(DataBroker db) {
super(IkepolicyBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronVpnIpSecPolicyCRUD;
import org.opendaylight.neutron.spi.NeutronVpnIpSecPolicy;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecpolicies.attributes.ipsec.policies.IpsecpolicyBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecpolicies.attributes.ipsec.policies.IpsecpolicyKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecpolicy.attributes.LifetimeBuilder;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronVpnIpSecPolicyCRUD.class)
public final class NeutronVpnIpSecPolicyInterface
extends AbstractNeutronInterface<Ipsecpolicy, IpsecPolicies, IpsecpolicyKey, NeutronVpnIpSecPolicy>
implements INeutronVpnIpSecPolicyCRUD {
- NeutronVpnIpSecPolicyInterface(DataBroker db) {
+
+ @Inject
+ public NeutronVpnIpSecPolicyInterface(DataBroker db) {
super(IpsecpolicyBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronVpnIpSecSiteConnectionsCRUD;
import org.opendaylight.neutron.spi.NeutronVpnDeadPeerDetection;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnections.attributes.ipsec.site.connections.Ipsecsiteconnection;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnections.attributes.ipsec.site.connections.IpsecsiteconnectionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ipsecconnections.attributes.ipsec.site.connections.IpsecsiteconnectionKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronVpnIpSecSiteConnectionsCRUD.class)
public final class NeutronVpnIpSecSiteConnectionsInterface
extends AbstractNeutronInterface<Ipsecsiteconnection, IpsecSiteConnections, IpsecsiteconnectionKey,
NeutronVpnIpSecSiteConnection>
implements INeutronVpnIpSecSiteConnectionsCRUD {
- NeutronVpnIpSecSiteConnectionsInterface(DataBroker db) {
+
+ @Inject
+ public NeutronVpnIpSecSiteConnectionsInterface(DataBroker db) {
super(IpsecsiteconnectionBuilder.class, db);
}
* 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.neutron.transcriber;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.neutron.spi.INeutronVpnServiceCRUD;
import org.opendaylight.neutron.spi.NeutronVpnService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.vpnservices.attributes.vpn.services.Vpnservice;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.vpnservices.attributes.vpn.services.VpnserviceBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.vpnservices.attributes.vpn.services.VpnserviceKey;
+import org.ops4j.pax.cdi.api.OsgiServiceProvider;
+@Singleton
+@OsgiServiceProvider(classes = INeutronVpnServiceCRUD.class)
public final class NeutronVpnServiceInterface
extends AbstractNeutronInterface<Vpnservice, VpnServices, VpnserviceKey, NeutronVpnService>
implements INeutronVpnServiceCRUD {
- NeutronVpnServiceInterface(DataBroker db) {
+
+ @Inject
+ public NeutronVpnServiceInterface(DataBroker db) {
super(VpnserviceBuilder.class, db);
}
interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
odl:type="default" />
- <service ref="neutronTranscriberProvider"
- interface="org.opendaylight.neutron.transcriber.NeutronTranscriber"
- odl:type="default"/>
-
</blueprint>