replace NeutronTranscriberProvider by standard OSGi Blueprint 39/68339/3
authorMichael Vorburger <vorburger@redhat.com>
Thu, 15 Feb 2018 22:59:03 +0000 (23:59 +0100)
committerMichael Vorburger <vorburger@redhat.com>
Tue, 27 Feb 2018 11:20:32 +0000 (12:20 +0100)
plus some trivial mechanical changes (mostly) from Eclipse Save Actions,
like adding @Override and similar.

Change-Id: I78e1cad9a15aaeee5e49e63fc6b1a4ac111984e2
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
36 files changed:
transcriber/pom.xml
transcriber/src/main/java/org/opendaylight/neutron/transcriber/AbstractTranscriberInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronBgpvpnInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronFirewallInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronFirewallPolicyInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronFirewallRuleInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronFloatingIpInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronL2gatewayConnectionInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronL2gatewayInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronLoadBalancerHealthMonitorInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronLoadBalancerInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronLoadBalancerListenerInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronLoadBalancerPoolInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronMeteringLabelInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronMeteringLabelRuleInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronNetworkInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronPortInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronQosPolicyInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronRouterInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronSFCFlowClassifierInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronSFCPortChainInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronSFCPortPairGroupInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronSFCPortPairInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronSecurityGroupInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronSecurityRuleInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronSubnetInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTapFlowInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTapServiceInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTranscriber.java [deleted file]
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTranscriberProvider.java [deleted file]
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTrunkInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronVpnIkePolicyInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronVpnIpSecPolicyInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronVpnIpSecSiteConnectionsInterface.java
transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronVpnServiceInterface.java
transcriber/src/main/resources/org/opendaylight/blueprint/transcriber.xml

index b9f272166b3010bb4cdb47d255cc66e83d56614a..0978aa66ee8bc8032cb739be54523de3ac68aa6b 100644 (file)
     </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>
index 0b96169c2274b79be6b58afccb6599f316c55af6..47083adbc91f2c12a934e005212c21b15587d2fa 100644 (file)
@@ -20,6 +20,7 @@ import java.util.HashSet;
 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;
@@ -423,9 +424,8 @@ public abstract class AbstractTranscriberInterface<
     }
 
     @Override
+    @PreDestroy
     public void close() throws Exception {
-        // TODO Auto-generated method stub
-
     }
 
     private boolean exists(String uuid, ReadTransaction tx) {
index 5936c3eee6e607aeab9ac171deee19d72e9595fd..d9cf23972e839d6f67088099f574c222510f525e 100644 (file)
@@ -5,12 +5,13 @@
  * 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;
@@ -22,7 +23,10 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.bgpvpns.rev150903.b
 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 {
 
@@ -30,7 +34,8 @@ public final class NeutronBgpvpnInterface extends AbstractNeutronInterface<Bgpvp
             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);
     }
 
index 389a24bcd530591717d1231f0a84afbee15ec52d..de280aa345f51d0637c7d7a66d30e745b8fee0a4 100644 (file)
@@ -9,6 +9,8 @@
 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;
@@ -16,12 +18,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.fir
 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);
     }
 
index 3e8d93966555cdcb7dc10d809a573bebb4260f5b..0d74f2c34ce6d57e4218ac1612b0dfb989357457 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -16,12 +17,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.pol
 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);
     }
 
index feb4ac34d74630d36909446883889546e812f45c..12a64902568d3625f21924475c6071286e4f5f08 100644 (file)
@@ -5,11 +5,12 @@
  * 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;
@@ -27,10 +28,14 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.fwaas.rev150712.rul
 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();
@@ -39,7 +44,8 @@ public final class NeutronFirewallRuleInterface
             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);
     }
 
index ad1b36639890950ccefb1d1b72e7af951f348cdc..f4aa79804a56b3b01fa921fea2c0f7fb83df8f62 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -17,15 +18,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.floati
 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);
     }
 
index 3bbcdb486c4d73fbfa4558dbf00d27f56f1e86f7..ed8959148ddd7e676111c411c8f3d609408540de 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -16,13 +17,17 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev15071
 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);
     }
 
index a8658dc3116eb7914f066bedf15c4a3f3803de79..c643a01f2fcd04dc98bbd8b8057b4301fbed3086 100644 (file)
@@ -5,11 +5,12 @@
  * 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;
@@ -23,11 +24,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l2gateways.rev15071
 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);
     }
 
index 71f9f821674212036b6367d4b44558d60b01a28c..e71e673248c0714754d8818c8ce15476125a4a5a 100644 (file)
@@ -5,12 +5,13 @@
  * 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;
@@ -25,21 +26,22 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.l
 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);
     }
 
index ee9cd4d6a2a2f64634b8af2cde78df3df4ad6f05..de42002240d0eeda2154670f34d770a2a80ed6dd 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -17,11 +18,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.l
 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);
     }
 
index cdac008e2d52bbddf974c2a75c2391321184591e..cbe9e64fbada8454e8493c070d0e41b367cde850 100644 (file)
@@ -5,12 +5,13 @@
  * 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;
@@ -26,16 +27,21 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.l
 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);
     }
 
index 64d26bb9a315f12422c00702c850dcf98942c939..f608e850f2954132967683b8c1f0e1ba9341775b 100644 (file)
@@ -5,7 +5,6 @@
  * 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;
@@ -16,6 +15,8 @@ import java.util.HashSet;
 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;
@@ -44,12 +45,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.lbaasv2.rev150712.l
 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>,
@@ -57,7 +62,8 @@ public final class NeutronLoadBalancerPoolInterface
                     .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);
     }
 
index 9b6bc13bd69e410781bc7663329e5e99a8b90539..11100e360042f4e13b8a66567fa5cd3133190cee 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -16,11 +17,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.
 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);
     }
 
index 3154b47d1b6410f88af9c4fec7136d102139be92..225ce18d9f8a31e6ba88277d319ab85b47f17e10 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -18,11 +19,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.metering.rev150712.
 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);
     }
 
index a0227ec78c58e6baf60b4908c88de006ebe0f1ab..7075e7221bf08a4cd5ac38031036a12953cb9c37 100644 (file)
@@ -5,12 +5,13 @@
  * 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;
@@ -32,16 +33,21 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150
 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);
     }
 
index 68917c6163b38de83376bcd6507cec5791d47024..c7b6ab9ee3507df981df979577e15c0de29ec0bf 100644 (file)
@@ -5,7 +5,6 @@
  * 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;
@@ -15,6 +14,8 @@ import java.util.HashSet;
 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;
@@ -47,15 +48,20 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.portsecurity.rev150
 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);
     }
 
index 4c89de6d1bd0dc6affed68b7347594f26b0659aa..398876d52e7e43e5c95f04acd5947c3043d8191f 100644 (file)
@@ -5,11 +5,12 @@
  * 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;
@@ -27,11 +28,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.qos.rev160613.qos.a
 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);
     }
 
index 4177b869e8d39c1f3674163448b3d9fbc70861a6..f56aef457a9cc2047cee7d0f21553f035b6c59ee 100644 (file)
@@ -5,11 +5,12 @@
  * 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;
@@ -28,12 +29,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.router
 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);
     }
 
index 97471b7fc14e8ca48c716822fa22beaeb106189d..c6d6356e653d032a5325de5dfdfade45d497fdbe 100644 (file)
@@ -11,7 +11,8 @@ import com.google.common.collect.ImmutableBiMap;
 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;
@@ -32,12 +33,15 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.flow.classifier
 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>
@@ -54,7 +58,8 @@ public final class NeutronSFCFlowClassifierInterface
                     .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);
     }
 
index 65f38f761640a6cdac038b43ab6655ff4adb16b8..2fa86e7133f901376df7322bb021a77ca73ec985 100644 (file)
@@ -10,6 +10,8 @@ package org.opendaylight.neutron.transcriber;
 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;
@@ -21,19 +23,23 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.a
 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);
     }
 
index 561d21dc748a36bcf6a8d7dfb5e0263a93750d39..85f462942884b901d4e91bf1b8106b5ff5db91b2 100644 (file)
@@ -9,6 +9,8 @@ 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.INeutronSFCPortPairGroupCRUD;
 import org.opendaylight.neutron.spi.NeutronSFCPortPairGroup;
@@ -17,19 +19,23 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.a
 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);
     }
 
index fb28ca4f80a4ebc0f089c7598598ad386c1be30c..72ffc97a743fd748d8d68ba383921e0abac39012 100644 (file)
@@ -10,6 +10,8 @@ package org.opendaylight.neutron.transcriber;
 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;
@@ -21,19 +23,23 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.sfc.rev160511.sfc.a
 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);
     }
 
index 4aad3db9c7c5cf787b3672d5ff208dc1d592d7de..d6666de8b880b04faa41bd6dfe6c3c0065f641d3 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -16,11 +17,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712
 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);
     }
 
index 63d4d1ce280f13c67c67c03dd4ad2c2642539cea..e45c2b048ffed7d84f18ca6f92ad9c73f2f9bc83 100644 (file)
@@ -10,6 +10,8 @@ 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.INeutronSecurityRuleCRUD;
@@ -25,19 +27,20 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.secgroups.rev150712
 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);
     }
 
index 6198ed35caaa8c27ab7528cf1a9f00cec77ee151..136f6447a5e081b8bfb035884b1adb0278e0ee77 100644 (file)
@@ -5,12 +5,13 @@
  * 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;
@@ -35,9 +36,13 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.s
 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;
 
@@ -51,7 +56,8 @@ public final class NeutronSubnetInterface extends AbstractNeutronInterface<Subne
                     .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);
     }
 
index 69682fefd77513e3b980e751366c220bc4bfe4d4..39ff112a46d7b808fbccf443e4b92426c9a9a21d 100644 (file)
@@ -5,13 +5,14 @@
  * 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;
@@ -32,9 +33,12 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.ta
 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 {
@@ -47,7 +51,8 @@ public final class NeutronTapFlowInterface
                     .put(DirectionIn.class, "IN")
                     .put(DirectionBoth.class, "BOTH").build();
 
-    NeutronTapFlowInterface(DataBroker db) {
+    @Inject
+    public NeutronTapFlowInterface(DataBroker db) {
         super(TapFlowBuilder.class, db);
     }
 
@@ -98,6 +103,7 @@ public final class NeutronTapFlowInterface
         return flowBuilder.build();
     }
 
+    @Override
     public boolean tapFlowExists(String tapServiceUUID, String tapFlowUUID) {
         final TapFlow dataObject = readMd(createTapFlowInstanceIdentifier(tapServiceUUID, toMd(tapFlowUUID)));
         return dataObject != null;
index 8e304f61aa55cd2714fea6c137c04e70afe59138..174ed9871ce4b2f0fd536b50274cfec6a44b73f3 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -16,13 +17,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.tapaas.rev171024.ta
 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);
     }
 
diff --git a/transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTranscriber.java b/transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTranscriber.java
deleted file mode 100644 (file)
index 1f76d99..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * 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 {
-}
diff --git a/transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTranscriberProvider.java b/transcriber/src/main/java/org/opendaylight/neutron/transcriber/NeutronTranscriberProvider.java
deleted file mode 100644 (file)
index 9e62424..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * 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();
-    }
-}
index 457e8127b5aec69730d4cef26f16f17b40df5818..ffe9a63605bd1b821ab5ce6b92608bfbb3d5469d 100644 (file)
@@ -5,12 +5,13 @@
  * 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;
@@ -26,15 +27,20 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.trunks.rev170118.tr
 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);
     }
 
index 5842c36ee7d2cd9b96b9d113b6bff5105999b935..740bded2aaa87a7ac6c65c58564196f501f22a7f 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -18,11 +19,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ik
 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);
     }
 
index f653e459a485ed901fef00cefb463ed12170822b..14f399d478e16d8dea1b306eed04d4089b56e022 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -18,11 +19,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ip
 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);
     }
 
index 6914ff0f6392400deaa69177da705b74a9c6bcb6..0e08504a3d8231ed653bfbbbadbd1b718ad50072 100644 (file)
@@ -5,11 +5,12 @@
  * 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;
@@ -19,12 +20,17 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.ip
 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);
     }
 
index 2c4bdbba48141778ed813ec21206703ba8313be2..f8b137cd7d401fb7c4e98c8515cc48d28581e9ba 100644 (file)
@@ -5,10 +5,11 @@
  * 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;
@@ -16,11 +17,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.vpnaas.rev150712.vp
 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);
     }
 
index 644966cb282c2ebbcdfe3c35362418a6ddabc672..aa1e55610dd8c6d871007d85d0b1a48b9dc3aae7 100644 (file)
@@ -7,8 +7,4 @@
       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>