Convert to use MD-SAL APIs 60/80860/19
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 14 Mar 2019 16:36:59 +0000 (17:36 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 25 Apr 2020 07:30:30 +0000 (09:30 +0200)
This mass-converts all of neutron to use MD-SAL APIs.

JIRA: NEUTRON-206
Change-Id: I4ea16c5a4b506fd6ae4be4cfb46864604584d4f1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Achuth <achuth.maniyedath@gmail.com>
58 files changed:
integration/test-standalone/pom.xml
integration/test-standalone/src/test/java/org/opendaylight/neutron/e2etest/NeutronTestWiring.java
neutron-hostconfig/ovs/src/main/java/org/opendaylight/neutron/hostconfig/ovs/NeutronHostconfigOvsListener.java
neutron-hostconfig/ovs/src/main/resources/OSGI-INF/blueprint/neutron-hostconfig-ovs.xml
neutron-hostconfig/utils/pom.xml
neutron-hostconfig/utils/src/main/java/org/opendaylight/neutron/hostconfig/utils/NeutronHostconfigUtils.java
neutron-hostconfig/vpp/pom.xml
neutron-hostconfig/vpp/src/main/java/org/opendaylight/neutron/hostconfig/vpp/NeutronHostconfigVppListener.java
neutron-hostconfig/vpp/src/main/resources/OSGI-INF/blueprint/neutron-hostconfig-vpp.xml
neutron-hostconfig/vpp/src/test/java/org/opendaylight/neutron/hostconfig/vpp/HostconfigsDataBrokerTest.java
neutron-hostconfig/vpp/src/test/java/org/opendaylight/neutron/hostconfig/vpp/NeutronHostconfigVppListenerTest.java
neutron-logger/pom.xml
neutron-logger/src/main/java/org/opendaylight/neutron/logger/NeutronLogger.java
neutron-logger/src/main/resources/OSGI-INF/blueprint/neutron-logger.xml
neutron-spi/pom.xml
neutron-spi/src/main/java/org/opendaylight/neutron/spi/INeutronCRUD.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/INeutronLoadBalancerPoolCRUD.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/INeutronTapFlowCRUD.java
neutron-spi/src/main/java/org/opendaylight/neutron/spi/ReadFailedRuntimeException.java
northbound-api/pom.xml
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/AbstractNeutronNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronLoadBalancerPoolNorthbound.java
northbound-api/src/main/java/org/opendaylight/neutron/northbound/api/NeutronTapFlowNorthbound.java
transcriber/pom.xml
transcriber/src/main/java/org/opendaylight/neutron/transcriber/AbstractNeutronInterface.java
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/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/OSGI-INF/blueprint/transcriber.xml

index 52088e48520e61e4627db041d327ae57048ff51b..386f4a699c86e9f6d92dcc827ae6dd667f3cb71a 100644 (file)
     <odlparent.spotbugs.enforce>false</odlparent.spotbugs.enforce>
   </properties>
 
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.opendaylight.mdsal</groupId>
+        <artifactId>mdsal-artifacts</artifactId>
+        <version>5.0.9</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.aaa</groupId>
+        <artifactId>aaa-artifacts</artifactId>
+        <version>0.12.0-SNAPSHOT</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.opendaylight.infrautils</groupId>
+        <artifactId>infrautils-artifacts</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
   <dependencies>
     <dependency>
       <!-- GSON is only used by the test code (which is in src/main here) -->
@@ -59,9 +85,8 @@
     </dependency>
 
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-broker-impl</artifactId>
-      <version>1.11.0</version>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-dom-adapter</artifactId>
       <scope>test</scope>
       <exclusions>
         <exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-broker-impl</artifactId>
-      <version>1.11.0</version>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-dom-adapter</artifactId>
       <type>test-jar</type>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.infrautils</groupId>
       <artifactId>infrautils-testutils</artifactId>
-      <version>1.8.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.infrautils</groupId>
       <artifactId>inject.guice.testutils</artifactId>
-      <version>1.8.0-SNAPSHOT</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
     <dependency>
       <groupId>org.opendaylight.aaa.web</groupId>
       <artifactId>web-jetty-impl</artifactId>
-      <version>0.12.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.aaa.web</groupId>
       <artifactId>servlet-jersey2</artifactId>
-      <version>0.12.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
index 0201ac79803e1ce362fc311cb46921d0f81720d1..6cf9867721ceda948fa992252ef56ccae26e8987 100644 (file)
@@ -13,8 +13,8 @@ import org.opendaylight.aaa.web.WebServer;
 import org.opendaylight.aaa.web.jetty.JettyWebServer;
 import org.opendaylight.aaa.web.servlet.ServletSupport;
 import org.opendaylight.aaa.web.servlet.jersey2.JerseyServletSupport;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.test.DataBrokerTestModule;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
 import org.opendaylight.neutron.northbound.api.WebInitializer;
 import org.opendaylight.neutron.spi.INeutronBgpvpnCRUD;
 import org.opendaylight.neutron.spi.INeutronFirewallCRUD;
@@ -84,7 +84,18 @@ import org.opendaylight.neutron.transcriber.NeutronVpnServiceInterface;
  *
  * @author Michael Vorburger.ch
  */
+@SuppressWarnings("checkstyle:IllegalCatch")
 public class NeutronTestWiring extends AbstractModule {
+    private static final class BrokerSetup extends AbstractConcurrentDataBrokerTest {
+        BrokerSetup() {
+            super(true);
+            try {
+                setup();
+            } catch (Exception e) {
+                throw new IllegalStateException("Failed to initialize", e);
+            }
+        }
+    }
 
     @Override
     protected void configure() {
@@ -93,8 +104,7 @@ public class NeutronTestWiring extends AbstractModule {
         bind(ServletSupport.class).toInstance(new JerseyServletSupport());
         bind(WebInitializer.class);
 
-        DataBrokerTestModule dataBrokerTestModule = new DataBrokerTestModule(true);
-        DataBroker dataBroker = dataBrokerTestModule.getDataBroker();
+        DataBroker dataBroker = new BrokerSetup().getDataBroker();
         bind(DataBroker.class).toInstance(dataBroker);
 
         bind(INeutronNetworkCRUD.class).to(NeutronNetworkInterface.class);
index cf3a81c6ba749abaf6cf26225559dead41ca6fec..ee448b0fd04d25cfd47dd16ac4d94939ceccf0dc 100644 (file)
@@ -17,18 +17,17 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.neutron.hostconfig.utils.NeutronHostconfigUtils;
-import org.opendaylight.ovsdb.utils.mdsal.utils.ControllerMdsalUtils;
+import org.opendaylight.ovsdb.utils.mdsal.utils.MdsalUtils;
 import org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbNodeAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.node.attributes.OpenvswitchExternalIds;
@@ -55,8 +54,7 @@ public class NeutronHostconfigOvsListener implements ClusteredDataTreeChangeList
     @Inject
     public NeutronHostconfigOvsListener(final DataBroker dataBroker) {
         this.dataBroker = dataBroker;
-        ControllerMdsalUtils mdsalUtils = new ControllerMdsalUtils(dataBroker);
-        this.southboundUtils = new SouthboundUtils(mdsalUtils);
+        this.southboundUtils = new SouthboundUtils(new MdsalUtils(dataBroker));
         this.neutronHostconfig = new NeutronHostconfigUtils(dataBroker);
     }
 
@@ -96,7 +94,7 @@ public class NeutronHostconfigOvsListener implements ClusteredDataTreeChangeList
         }
     }
 
-    private InstanceIdentifier<Node> createNodeIdentifier() {
+    private static InstanceIdentifier<Node> createNodeIdentifier() {
         return InstanceIdentifier
                 .create(NetworkTopology.class)
                 .child(Topology.class, new TopologyKey(SouthboundUtils.OVSDB_TOPOLOGY_ID))
@@ -107,7 +105,7 @@ public class NeutronHostconfigOvsListener implements ClusteredDataTreeChangeList
     public void init() {
         LOG.info("{} start", getClass().getSimpleName());
         DataTreeIdentifier<Node> dataTreeIdentifier =
-                new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, createNodeIdentifier());
+                DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, createNodeIdentifier());
         LOG.info("Neutron Hostconfig DataChange listener registration {}", dataTreeIdentifier);
         listenerRegistration = dataBroker.registerDataTreeChangeListener(dataTreeIdentifier, this);
     }
index 36a0130cf3cc16e72300145431f45311e655a686..66501908e659cd2c4212c52007ede4b615686f1d 100644 (file)
@@ -11,7 +11,7 @@
     odl:use-default-for-reference-types="true">
 
   <reference id="dataBroker"
-      interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
+      interface="org.opendaylight.mdsal.binding.api.DataBroker"
       odl:type="default" />
 
 </blueprint>
index d56a810cc289e7c42f8df92d561ade70be5f91ad..f2f848566c3b5955ffcc4d5ce65390c16d153459 100644 (file)
@@ -25,8 +25,8 @@
   <name>ODL :: neutron :: ${project.artifactId}</name>
   <dependencies>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.neutron</groupId>
index ce5f259c46a1df82b379b5c514c5d20963083fc6..4dffbe009bfc43999f6e771fb8c82db91cd5a9fb 100644 (file)
@@ -8,10 +8,12 @@
 
 package org.opendaylight.neutron.hostconfig.utils;
 
-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.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import com.google.common.base.Throwables;
+import java.util.concurrent.ExecutionException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.hostconfig.attributes.Hostconfigs;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.hostconfig.attributes.hostconfigs.Hostconfig;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.hostconfig.rev150712.hostconfig.attributes.hostconfigs.HostconfigBuilder;
@@ -22,6 +24,9 @@ import org.slf4j.LoggerFactory;
 
 public class NeutronHostconfigUtils {
     private static final Logger LOG = LoggerFactory.getLogger(NeutronHostconfigUtils.class);
+    private static final InstanceIdentifier<Hostconfigs> HOSTCONFIGS = InstanceIdentifier.builder(Neutron.class)
+            .child(Hostconfigs.class).build();
+
     private final DataBroker dataBroker;
 
     public enum Action {
@@ -45,15 +50,15 @@ public class NeutronHostconfigUtils {
                 final WriteTransaction writeTx = dataBroker.newWriteOnlyTransaction();
                 hostConfigId = createInstanceIdentifier(hostConfig);
                 writeTx.put(LogicalDatastoreType.OPERATIONAL, hostConfigId, hostConfig, true);
-                writeTx.submit().checkedGet();
+                commit(writeTx);
                 LOG.trace("Hostconfig updated for node {}", hostConfig.getHostId());
                 break;
             case DELETE:
                 final WriteTransaction delTx = dataBroker.newWriteOnlyTransaction();
                 hostConfigId = createInstanceIdentifier(hostConfig);
                 delTx.delete(LogicalDatastoreType.OPERATIONAL, hostConfigId);
+                commit(delTx);
                 LOG.trace("Hostconfig deleted for node {}", hostConfig.getHostId());
-                delTx.submit().checkedGet();
                 break;
             default:
                 break;
@@ -68,8 +73,19 @@ public class NeutronHostconfigUtils {
         return hostconfigBuilder.build();
     }
 
-    private InstanceIdentifier<Hostconfig> createInstanceIdentifier(Hostconfig hostconfig) {
-        return InstanceIdentifier.create(Neutron.class).child(Hostconfigs.class)
-                .child(Hostconfig.class, hostconfig.key());
+    private static void commit(WriteTransaction tx) throws TransactionCommitFailedException {
+        try {
+            tx.commit().get();
+        } catch (InterruptedException e) {
+            throw new TransactionCommitFailedException("Interrupted while waiting", e);
+        } catch (ExecutionException e) {
+            LOG.debug("Commit failed", e);
+            Throwables.throwIfInstanceOf(e.getCause(), TransactionCommitFailedException.class);
+            throw new TransactionCommitFailedException("Commit failed", e);
+        }
+    }
+
+    private static InstanceIdentifier<Hostconfig> createInstanceIdentifier(Hostconfig hostconfig) {
+        return HOSTCONFIGS.child(Hostconfig.class, hostconfig.key());
     }
 }
index da8ef34edd444aad10c256d2d804405a8283e4df..5e6a3148523baf61862de96612f22041f9adfd52 100644 (file)
       <artifactId>sal-netconf-connector</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-broker-impl</artifactId>
-      <type>test-jar</type>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-dom-adapter</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-broker-impl</artifactId>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-dom-adapter</artifactId>
+      <type>test-jar</type>
       <scope>test</scope>
     </dependency>
   </dependencies>
index 727245490f55a7cbb3b657ee7138434b07a85ac8..d9c01253fb5ffd0d49de2774a7252cabf4aa490b 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.hostconfig.vpp;
 
 import com.google.common.base.Preconditions;
@@ -18,16 +17,15 @@ import java.util.Map;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.stream.Collectors;
-
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.neutron.hostconfig.utils.NeutronHostconfigUtils;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus;
@@ -122,7 +120,7 @@ public class NeutronHostconfigVppListener implements ClusteredDataTreeChangeList
 
     public void init() {
         LOG.info("Initializing {}", getClass().getSimpleName());
-        DataTreeIdentifier<Node> dataTreeIdentifier = new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL,
+        DataTreeIdentifier<Node> dataTreeIdentifier = DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL,
                 InstanceIdentifier.builder(NetworkTopology.class)
                     .child(Topology.class, new TopologyKey(TOPOLOGY_NETCONF))
                     .child(Node.class)
index 9aaf5404bec3eac9529d18ba31a244391ce9db78..61d900cc52066f939fb68da4c31ae4b5651a354a 100644 (file)
@@ -12,7 +12,7 @@
     odl:use-default-for-reference-types="true">
 
   <reference id="dataBroker"
-      interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
+      interface="org.opendaylight.mdsal.binding.api.DataBroker"
       odl:type="default" />
 
   <cm:property-placeholder persistent-id="org.opendaylight.neutron.hostconfig.vpp.startup" update-strategy="none">
index 7cb4a50149b083e495afdffc406d18e03d2ad2d3..50336b58e1580aa038b59056629b0eda1646cf2a 100644 (file)
@@ -12,7 +12,7 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.ImmutableSet.Builder;
 import java.util.Set;
-import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest;
+import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest;
 import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
index b8a2639789121aa4a746e97c96d606fafc8ca02e..2732c83c5be746dad5e4aff7c35da0eb06203043 100644 (file)
@@ -9,25 +9,23 @@
 package org.opendaylight.neutron.hostconfig.vpp;
 
 import com.google.common.util.concurrent.SettableFuture;
-
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.stream.Collectors;
-
 import org.eclipse.jdt.annotation.NonNull;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataObjectModification.ModificationType;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
+import org.opendaylight.mdsal.binding.api.DataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus;
@@ -68,7 +66,7 @@ public class NeutronHostconfigVppListenerTest extends HostconfigsDataBrokerTest
 
     @Before
     public void init() throws InterruptedException, ExecutionException {
-        DataTreeIdentifier<Hostconfig> dataTreeIdentifier = new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL,
+        DataTreeIdentifier<Hostconfig> dataTreeIdentifier = DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL,
                 hostConfigIid(NODE_ID).firstIdentifierOf(Hostconfigs.class).builder().child(Hostconfig.class).build());
         listenerRegistration = getDataBroker().registerDataTreeChangeListener(dataTreeIdentifier,
                 NeutronHostconfigVppListenerTest.this);
@@ -88,12 +86,12 @@ public class NeutronHostconfigVppListenerTest extends HostconfigsDataBrokerTest
             createNetconfNode(NODE_ID, V3PO_1704_CAPABILITY, V3PO_1701_CAPABILITY, INTERFACES);
         WriteTransaction writeTx = getDataBroker().newWriteOnlyTransaction();
         writeTx.put(LogicalDatastoreType.OPERATIONAL, iid, node1, true);
-        writeTx.submit().get();
+        writeTx.commit().get();
         Assert.assertEquals(sf.get(), Integer.valueOf(1));
         sf = SettableFuture.create();
         writeTx = getDataBroker().newWriteOnlyTransaction();
         writeTx.delete(LogicalDatastoreType.OPERATIONAL, iid);
-        writeTx.submit().get();
+        writeTx.commit().get();
         Assert.assertEquals(sf.get(), Integer.valueOf(2));
     }
 
index af5fe510e5e656ee7da1ef44f893aa1333e7422f..03fd50bf56d130beb09f1b73f775f02d89678907 100644 (file)
@@ -25,8 +25,8 @@
   <name>ODL :: neutron :: ${project.artifactId}</name>
   <dependencies>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.neutron</groupId>
index a7b23f942d912ec9a7338ae77eccd7b95599a757..4e9d07f37d3b26794f53ebaa06076cad9e546aad 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.logger;
 
 import com.google.common.base.Preconditions;
@@ -14,14 +13,13 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import javax.inject.Singleton;
-
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
-import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataObjectModification;
+import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
+import org.opendaylight.mdsal.binding.api.DataTreeModification;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -103,14 +101,14 @@ public final class NeutronLogger {
         LOG.info("Register listener for Neutron model data changes");
         InstanceIdentifier<Neutron> instanceId = Preconditions.checkNotNull(InstanceIdentifier.create(Neutron.class));
 
-        DataTreeIdentifier<Neutron> configurationDataTreeId = new DataTreeIdentifier<>(
+        DataTreeIdentifier<Neutron> configurationDataTreeId = DataTreeIdentifier.create(
                 LogicalDatastoreType.CONFIGURATION, instanceId);
         configurationDataTreeChangeListener = changes -> logChanges("Configuration DataTreeChanged ", changes);
         configurationRegisteredListener = db.registerDataTreeChangeListener(configurationDataTreeId,
                 configurationDataTreeChangeListener);
 
-        DataTreeIdentifier<
-                Neutron> operationalDataTreeId = new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, instanceId);
+        DataTreeIdentifier<Neutron> operationalDataTreeId = DataTreeIdentifier.create(
+                LogicalDatastoreType.OPERATIONAL, instanceId);
         operationalDataTreeChangeListener = changes -> logChanges("Operational DataTreeChanged ", changes);
         operationalRegisteredListener = db.registerDataTreeChangeListener(operationalDataTreeId,
                 operationalDataTreeChangeListener);
index 36a0130cf3cc16e72300145431f45311e655a686..66501908e659cd2c4212c52007ede4b615686f1d 100644 (file)
@@ -11,7 +11,7 @@
     odl:use-default-for-reference-types="true">
 
   <reference id="dataBroker"
-      interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
+      interface="org.opendaylight.mdsal.binding.api.DataBroker"
       odl:type="default" />
 
 </blueprint>
index b7c35223ab968056bd4ba1c2047fa1ef44e223f2..d3b2b7207f6ccf247db7d8022a97e57f1e81a5a4 100644 (file)
       <artifactId>yang-ext</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-common-api</artifactId>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-common-api</artifactId>
     </dependency>
     <dependency>
       <groupId>commons-net</groupId>
index 616d5caa1a49bc968985946b4bac4811fecfaa06..bf89d4f447dea0e6b90f1ad516dbde8896270cd1 100644 (file)
@@ -8,8 +8,8 @@
 package org.opendaylight.neutron.spi;
 
 import java.util.List;
-import org.opendaylight.controller.md.sal.binding.api.ReadTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.binding.api.ReadOperations;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.yangtools.yang.common.OperationFailedException;
 
 /**
@@ -26,7 +26,7 @@ public interface INeutronCRUD<T extends INeutronObject<T>> {
      * @return boolean
      * @throws ReadFailedException if the read failed
      */
-    boolean exists(String uuid, ReadTransaction tx) throws ReadFailedException;
+    boolean exists(String uuid, ReadOperations tx) throws ReadFailedException;
 
     /**
      * Applications call this interface method to return if a particular
index ada8df0dce41128077facf19d6dbd4d782b1137d..bc51540fa6c2457bed9df8dc010ea945cb2cc134 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.neutron.spi;
 
 import java.util.List;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.yangtools.yang.common.OperationFailedException;
 
 /**
index a6c524a78dac6b6e52024a9e357e0f026e4b7cc1..9689711ecbb58420554f6d295d1438862e3d7ea1 100644 (file)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.neutron.spi;
 
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.yangtools.yang.common.OperationFailedException;
 
 /**
index 90130c14f6f2a72f15e89564cce4265b5efb982b..97dd15faec6929b3cbf73af3c8c3aa7e4f96b42d 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.neutron.spi;
 
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 
 /**
  * {@link ReadFailedException} as an unchecked RuntimeException.
index 7c40b8e02bc2883bd9b2f5ea76895243d1d27a54..902309568e46299840bfe2c9467689091f780219 100644 (file)
@@ -45,8 +45,8 @@
 
   <dependencies>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-common-api</artifactId>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-common-api</artifactId>
     </dependency>
     <dependency>
       <groupId>com.webcohesion.enunciate</groupId>
index de64b76de4286d232256842d6b1e13d93d83dbb8..325835e9f0a4a47ed9e248b27c9331cfc5c22162 100644 (file)
@@ -18,8 +18,8 @@ import java.net.HttpURLConnection;
 import java.util.List;
 import java.util.Objects;
 import javax.ws.rs.core.Response;
-import org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.common.api.OptimisticLockFailedException;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.neutron.spi.INeutronCRUD;
 import org.opendaylight.neutron.spi.INeutronCRUD.Result;
 import org.opendaylight.neutron.spi.INeutronObject;
index 9c243254d2c02dc9c1523cc70c8ae6b17a852e99..786bd7d0905a7979c077c6583716251e168ed868 100644 (file)
@@ -28,9 +28,9 @@ import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import org.apache.aries.blueprint.annotation.service.Reference;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolCRUD;
 import org.opendaylight.neutron.spi.NeutronLoadBalancerPool;
 import org.opendaylight.neutron.spi.NeutronLoadBalancerPoolMember;
@@ -207,7 +207,7 @@ public final class NeutronLoadBalancerPoolNorthbound extends AbstractNeutronNort
     ) {
         INeutronLoadBalancerPoolCRUD loadBalancerPoolInterface = getNeutronCRUD();
         try {
-            try (ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction()) {
+            try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) {
                 if (!loadBalancerPoolInterface.exists(loadBalancerPoolUUID, tx)) {
                     throw new ResourceNotFoundException(uuidNoExist());
                 }
@@ -259,7 +259,7 @@ public final class NeutronLoadBalancerPoolNorthbound extends AbstractNeutronNort
 
         try {
             INeutronLoadBalancerPoolCRUD loadBalancerPoolInterface = getNeutronCRUD();
-            try (ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction()) {
+            try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) {
                 if (!loadBalancerPoolInterface.exists(loadBalancerPoolUUID, tx)) {
                     throw new ResourceNotFoundException(uuidNoExist());
                 }
index 381bf8a4ded6e0cc4e97bd78ac0c14ebe44a4851..19ba55d43c0d4796cb80febfdae7b3a2d9e091ed 100644 (file)
@@ -26,7 +26,7 @@ import javax.ws.rs.QueryParam;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import org.apache.aries.blueprint.annotation.service.Reference;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.neutron.spi.INeutronTapFlowCRUD;
 import org.opendaylight.neutron.spi.NeutronTapFlow;
 import org.opendaylight.yangtools.yang.common.OperationFailedException;
index 1bbd8ca029bfd7d1cd1ad24132a9c784d9906b3d..d780a69df717d813dc41ba9c63735b3dac945f23 100644 (file)
      <groupId>org.apache.aries.blueprint</groupId>
      <artifactId>blueprint-maven-plugin-annotation</artifactId>
      <optional>true</optional>
-   </dependency>
+    </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-binding-api</artifactId>
+      <groupId>org.opendaylight.mdsal</groupId>
+      <artifactId>mdsal-binding-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.neutron</groupId>
index fc352c14c654d02ea03de6f6e6655cae1660edad..cdfd2e851a376045a4ef24765420033264e99580 100644 (file)
@@ -9,7 +9,7 @@
 package org.opendaylight.neutron.transcriber;
 
 import java.lang.reflect.Type;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronObject;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
 import org.opendaylight.yangtools.concepts.Builder;
index 281bbe83a7959ab3469e3af7828ecd6e884f6a13..52afdbb5867eb1543aef5556e328fab00c90a8f6 100644 (file)
@@ -8,9 +8,9 @@
 
 package org.opendaylight.neutron.transcriber;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.base.Throwables;
+import com.google.common.util.concurrent.FluentFuture;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.ParameterizedType;
@@ -18,20 +18,22 @@ import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Optional;
 import java.util.Set;
+import java.util.concurrent.ExecutionException;
 import javax.annotation.PreDestroy;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
-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;
-import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
 import org.opendaylight.infrautils.utils.function.CheckedFunction;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadOperations;
+import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.OptimisticLockFailedException;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.neutron.spi.INeutronAdminAttributes;
 import org.opendaylight.neutron.spi.INeutronBaseAttributes;
 import org.opendaylight.neutron.spi.INeutronCRUD;
@@ -311,22 +313,21 @@ public abstract class AbstractTranscriberInterface<
 
     protected abstract S fromMd(T dataObject);
 
-    private <W extends DataObject> W readMd(InstanceIdentifier<W> path, ReadTransaction tx) throws ReadFailedException {
-        Preconditions.checkNotNull(tx);
-        W result = null;
-        final CheckedFuture<Optional<W>,
-                ReadFailedException> future = tx.read(LogicalDatastoreType.CONFIGURATION, path);
-        if (future != null) {
-            Optional<W> optional = future.checkedGet();
-            if (optional.isPresent()) {
-                result = optional.get();
-            }
+    private <W extends DataObject> W readMd(InstanceIdentifier<W> path, ReadOperations tx) throws ReadFailedException {
+        final FluentFuture<Optional<W>> future = Preconditions.checkNotNull(tx).read(LogicalDatastoreType.CONFIGURATION,
+            path);
+        try {
+            return future.get().orElse(null);
+        } catch (InterruptedException e) {
+            throw new ReadFailedException("Interrupted while waiting for read of " + path, e);
+        } catch (ExecutionException e) {
+            Throwables.throwIfInstanceOf(e.getCause(), ReadFailedException.class);
+            throw new ReadFailedException("Read of " + path + " failed", e);
         }
-        return result;
     }
 
     protected <W extends DataObject> W readMd(InstanceIdentifier<W> path) throws ReadFailedException {
-        try (ReadOnlyTransaction tx = getDataBroker().newReadOnlyTransaction()) {
+        try (ReadTransaction tx = getDataBroker().newReadOnlyTransaction()) {
             return readMd(path, tx);
         }
     }
@@ -342,18 +343,16 @@ public abstract class AbstractTranscriberInterface<
         final T item = toMd(neutronObject);
         final InstanceIdentifier<T> iid = createInstanceIdentifier(item);
         tx.put(LogicalDatastoreType.CONFIGURATION, iid, item, true);
-        final CheckedFuture<Void, TransactionCommitFailedException> future = tx.submit();
         // Check if it's successfully committed, otherwise exception will be thrown.
-        future.checkedGet();
+        checkedCommit(tx);
     }
 
     private void removeMd(T item, WriteTransaction tx) throws TransactionCommitFailedException {
         Preconditions.checkNotNull(tx);
         final InstanceIdentifier<T> iid = createInstanceIdentifier(item);
         tx.delete(LogicalDatastoreType.CONFIGURATION, iid);
-        final CheckedFuture<Void, TransactionCommitFailedException> future = tx.submit();
         // Check if it's successfully committed, otherwise exception will be thrown.
-        future.checkedGet();
+        checkedCommit(tx);
     }
 
     protected static Uuid toUuid(String uuid) {
@@ -384,7 +383,7 @@ public abstract class AbstractTranscriberInterface<
     }
 
     @Override
-    public boolean exists(String uuid, ReadTransaction tx) throws ReadFailedException {
+    public boolean exists(String uuid, ReadOperations tx) throws ReadFailedException {
         Preconditions.checkNotNull(tx);
         final T dataObject = readMd(createInstanceIdentifier(toMd(uuid)), tx);
         return dataObject != null;
@@ -401,7 +400,7 @@ public abstract class AbstractTranscriberInterface<
 
     @Override
     public S get(String uuid) throws ReadFailedException {
-        try (ReadOnlyTransaction tx = getDataBroker().newReadOnlyTransaction()) {
+        try (ReadTransaction tx = getDataBroker().newReadOnlyTransaction()) {
             return get(uuid, tx);
         }
     }
@@ -425,7 +424,7 @@ public abstract class AbstractTranscriberInterface<
 
     @Override
     public List<S> getAll() throws ReadFailedRuntimeException {
-        try (ReadOnlyTransaction tx = getDataBroker().newReadOnlyTransaction()) {
+        try (ReadTransaction tx = getDataBroker().newReadOnlyTransaction()) {
             try {
                 return getAll(tx);
             } catch (ReadFailedException e) {
@@ -543,7 +542,7 @@ public abstract class AbstractTranscriberInterface<
      * Default implementation just returns true.  Some but not all transcribers will customize this.
      *
      * <p>Implementations *MUST* use the passed in transaction.  They will typically call the
-     * {@link #exists(String, ReadTransaction)} method on ANOTHER transcriber with it.
+     * {@link #exists(String, ReadOperations)} method on ANOTHER transcriber with it.
      *
      * <p>Implementations should chain {@link #ifNonNull(Object, CheckedFunction)}, or perform null safe comparisons
      * otherwise, for both optional non-mandatory {@link NeutronObject} as well as mandatory properties which may well
@@ -560,13 +559,13 @@ public abstract class AbstractTranscriberInterface<
      *
      * @throws ReadFailedException in case of a data store problem
      */
-    protected boolean areAllDependenciesAvailable(ReadTransaction tx, S neutronObject) throws ReadFailedException {
+    protected boolean areAllDependenciesAvailable(ReadOperations tx, S neutronObject) throws ReadFailedException {
         return true;
     }
 
     /**
      * Utility to perform well readable code of null-safe chains of e.g.
-     * {@link #exists(String, ReadTransaction)} method calls.
+     * {@link #exists(String, ReadOperations)} method calls.
      *
      * @throws ReadFailedException in case of a data store problem
      */
@@ -584,4 +583,15 @@ public abstract class AbstractTranscriberInterface<
         }
     }
 
+    protected static final void checkedCommit(WriteTransaction tx) throws TransactionCommitFailedException {
+        final FluentFuture<?> future = tx.commit();
+        try {
+            future.get();
+        } catch (InterruptedException e) {
+            throw new TransactionCommitFailedException("Interrupted while waiting for commit", e);
+        } catch (ExecutionException e) {
+            Throwables.throwIfInstanceOf(e.getCause(), TransactionCommitFailedException.class);
+            throw new TransactionCommitFailedException("Transaction commit failed", e);
+        }
+    }
 }
index defb1e5d1dbb4a5b0cccc80d342944fbbb435a94..a44af948fc8ec2bcbe08d8bc51c962b7a9475cfe 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronBgpvpnCRUD;
 import org.opendaylight.neutron.spi.NeutronBgpvpn;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
index 6b3e261179ee28870bfca72455dcac821e538570..363f2c642f41b9f861c5fb8f2cc57d3bf8300fd3 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.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;
index 57f2f92f262b076c23894f846777b30274f139a9..7a6617e377431131cfd927f06512da3575ac9b38 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.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.FirewallPolicies;
index 9d6e9212b35a2be5388c1cc384193dddd0b979f6..468c7a9cf058b0790872d28574db212aaa0dd59b 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.northbound.api.BadRequestException;
 import org.opendaylight.neutron.spi.INeutronFirewallRuleCRUD;
 import org.opendaylight.neutron.spi.NeutronFirewallRule;
index a0c88d9a1f66c74aebe06bfa6c0f2eef3615943f..9348de4b4827c12420c52e6f5c4d293d07cbbcea 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronFloatingIpCRUD;
 import org.opendaylight.neutron.spi.NeutronFloatingIp;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
index 824395ad75d2a46b3c62c4d3cdc19290c9e8aafa..f2f1023925f435c5ef28ca880158fcbc3349ad3c 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.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;
index f69c11930bb4462db3765afdd382700a2fac163e..8666839c396b5e71e5ee541c019790889959204f 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronL2gatewayCRUD;
 import org.opendaylight.neutron.spi.NeutronL2gateway;
 import org.opendaylight.neutron.spi.NeutronL2gatewayDevice;
index 53ccc964121d92bbfb11ca12bb5db1f1fb2a884a..598a2b6ad1e2677765934cf1ad9757badf79ec4e 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronLoadBalancerHealthMonitorCRUD;
 import org.opendaylight.neutron.spi.NeutronID;
 import org.opendaylight.neutron.spi.NeutronLoadBalancerHealthMonitor;
index a96412da03cbf3b8e406ef8311421c85204278cf..7ec11bb91a55a614f283efb80d1fe1f90f7b9b02 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronLoadBalancerCRUD;
 import org.opendaylight.neutron.spi.NeutronLoadBalancer;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddressBuilder;
index 87ae7dbc3e70bf5ea861df70597620e2ebedd751..f4b87ad0084a103a5957695d3addf24d348911ee 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.northbound.api.BadRequestException;
 import org.opendaylight.neutron.spi.INeutronLoadBalancerListenerCRUD;
 import org.opendaylight.neutron.spi.NeutronID;
index a329a8388dab11555b9111950099da389832c373..a7cd5f9b3fed84c70d20643e7639a3444994860a 100644 (file)
@@ -7,9 +7,7 @@
  */
 package org.opendaylight.neutron.transcriber;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableBiMap;
-import com.google.common.util.concurrent.CheckedFuture;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -17,12 +15,11 @@ import java.util.Set;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-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.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.neutron.spi.INeutronLoadBalancerPoolCRUD;
 import org.opendaylight.neutron.spi.NeutronID;
 import org.opendaylight.neutron.spi.NeutronLoadBalancerPool;
@@ -45,7 +42,6 @@ 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.pools.pool.members.MemberBuilder;
 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.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.OperationFailedException;
 import org.slf4j.Logger;
@@ -151,7 +147,7 @@ public final class NeutronLoadBalancerPoolInterface
 
     @Override
     public boolean neutronLoadBalancerPoolMemberExists(String poolUuid, String uuid) throws ReadFailedException {
-        final Member member = readMemberMd(createMemberInstanceIdentifier(toMd(poolUuid), toMemberMd(uuid)));
+        final Member member = readMd(createMemberInstanceIdentifier(toMd(poolUuid), toMemberMd(uuid)));
         if (member == null) {
             return false;
         }
@@ -161,7 +157,7 @@ public final class NeutronLoadBalancerPoolInterface
     @Override
     public NeutronLoadBalancerPoolMember getNeutronLoadBalancerPoolMember(String poolUuid, String uuid)
             throws ReadFailedException {
-        final Member member = readMemberMd(createMemberInstanceIdentifier(toMd(poolUuid), toMemberMd(uuid)));
+        final Member member = readMd(createMemberInstanceIdentifier(toMd(poolUuid), toMemberMd(uuid)));
         if (member == null) {
             return null;
         }
@@ -276,22 +272,6 @@ public final class NeutronLoadBalancerPoolInterface
         return memberBuilder.build();
     }
 
-    private <T extends DataObject> T readMemberMd(InstanceIdentifier<T> path) throws ReadFailedException {
-        T result = null;
-        try (ReadOnlyTransaction transaction = getDataBroker().newReadOnlyTransaction()) {
-            final CheckedFuture<Optional<T>, ReadFailedException> future = transaction
-                    .read(LogicalDatastoreType.CONFIGURATION, path);
-            if (future != null) {
-                Optional<T> optional;
-                optional = future.checkedGet();
-                if (optional.isPresent()) {
-                    result = optional.get();
-                }
-            }
-        }
-        return result;
-    }
-
     private void addMemberMd(Pool pool, NeutronLoadBalancerPoolMember neutronObject)
             throws TransactionCommitFailedException {
         // TODO think about adding existence logic
@@ -304,13 +284,13 @@ public final class NeutronLoadBalancerPoolInterface
         final Member item = toMemberMd(neutronObject);
         final InstanceIdentifier<Member> iid = createMemberInstanceIdentifier(pool, item);
         transaction.put(LogicalDatastoreType.CONFIGURATION, iid, item, true);
-        transaction.submit().checkedGet();
+        checkedCommit(transaction);
     }
 
     private void removeMemberMd(Pool pool, Member item) throws TransactionCommitFailedException {
         final WriteTransaction transaction = getDataBroker().newWriteOnlyTransaction();
         final InstanceIdentifier<Member> iid = createMemberInstanceIdentifier(pool, item);
         transaction.delete(LogicalDatastoreType.CONFIGURATION, iid);
-        transaction.submit().checkedGet();
+        checkedCommit(transaction);
     }
 }
index 3ee7723e9f9dc3e2c819e5561289f893949e7d96..3baf466aa386b81af93363ad6b9b115beec054b2 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.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.MeteringLabels;
index 7155e51f801fcf1dc71d8e2adcef1abb805c5572..132ae3c29b89baa0320bb8855128a8027650541c 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronMeteringLabelRuleCRUD;
 import org.opendaylight.neutron.spi.NeutronMeteringLabelRule;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
index c53f0af13930b8fc1f828e6e302ca9ae1e77a1e1..4706baedeeaff0ad07fe30482132ee189d2c014b 100644 (file)
@@ -13,9 +13,9 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadOperations;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.neutron.spi.INeutronNetworkCRUD;
 import org.opendaylight.neutron.spi.NeutronNetwork;
 import org.opendaylight.neutron.spi.NeutronNetworkSegment;
@@ -178,7 +178,7 @@ public final class NeutronNetworkInterface
     }
 
     @Override
-    protected boolean areAllDependenciesAvailable(ReadTransaction tx, NeutronNetwork network)
+    protected boolean areAllDependenciesAvailable(ReadOperations tx, NeutronNetwork network)
             throws ReadFailedException {
         return ifNonNull(network.getQosPolicyId(), qosPolicyId -> qosPolicyInterface.exists(qosPolicyId, tx));
     }
index d1b31541260daca86ab49ac7877adebc0185c761..62be31c626e218cf55c45ec1d1487b5ccd6bbf1c 100644 (file)
@@ -17,7 +17,7 @@ import java.util.Set;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronPortCRUD;
 import org.opendaylight.neutron.spi.NeutronIps;
 import org.opendaylight.neutron.spi.NeutronPort;
index 4bac653a38875d53c9cb9d30f24c380580c8aa0b..1761efdcb2500437518ea8de0f8614f4de190d51 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronQosPolicyCRUD;
 import org.opendaylight.neutron.spi.NeutronQosBandwidthLimitRule;
 import org.opendaylight.neutron.spi.NeutronQosDscpMarkingRule;
index 2fc70bd9aa80b285b029efebd10788e562a5f6c6..2d912ae70235e1d92ddebeb2064946fe4b92e6e9 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronRouterCRUD;
 import org.opendaylight.neutron.spi.NeutronIps;
 import org.opendaylight.neutron.spi.NeutronRoute;
index 67a5c84cf9199fa29737932c37078b37f31f592c..ac0f7c4ac901b5c4f70f6a7209825d0617cd9c5d 100644 (file)
@@ -14,7 +14,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.northbound.api.BadRequestException;
 import org.opendaylight.neutron.spi.INeutronSFCFlowClassifierCRUD;
 import org.opendaylight.neutron.spi.NeutronSFCFlowClassifier;
index 9abd5c293fb9e5d507c08902b4b983e75df38cda..f5171c04802bba4442cfee961406588c643a118f 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronSFCPortChainCRUD;
 import org.opendaylight.neutron.spi.NeutronSFCPortChain;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
index b6dbd0bffe2936af23fd86d6c87d29869b7691dc..ecffa75e173a57d92cf65dfaaeca58d2d5a45a58 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronSFCPortPairGroupCRUD;
 import org.opendaylight.neutron.spi.NeutronSFCPortPairGroup;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
index 8e6a539c66575defa747745ae339dce807b62408..3074774e1f823c0c9617699b682291bb20025e65 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronSFCPortPairCRUD;
 import org.opendaylight.neutron.spi.NeutronSFCPortPair;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
index 7aa63aa1cb4bc631bdc0ab65f310f40c03ebf828..81f771230968ac1d20247485a0dfbf410b57036a 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.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.SecurityGroups;
index 8cc3f361b4b2760adaf51c8d13867c73b5e32d70..63df6b8cfca406f188e2504b69fe91c4f6e8c4ab 100644 (file)
@@ -13,9 +13,9 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.md.sal.binding.api.ReadTransaction;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadOperations;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.neutron.northbound.api.BadRequestException;
 import org.opendaylight.neutron.spi.INeutronSecurityRuleCRUD;
 import org.opendaylight.neutron.spi.NeutronSecurityRule;
@@ -138,7 +138,7 @@ public final class NeutronSecurityRuleInterface extends
     }
 
     @Override
-    protected boolean areAllDependenciesAvailable(ReadTransaction tx, NeutronSecurityRule securityRule)
+    protected boolean areAllDependenciesAvailable(ReadOperations tx, NeutronSecurityRule securityRule)
             throws ReadFailedException {
         return ifNonNull(securityRule.getSecurityRuleGroupID(),
             groupID -> securityGroupInterface.exists(groupID, tx))
index 6084d00b81f743d1d15fa52a06ddae4a4a19b0dc..fd41d7956e64bbcef1cfc901ff54a665f1800ec9 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronSubnetCRUD;
 import org.opendaylight.neutron.spi.NeutronRoute;
 import org.opendaylight.neutron.spi.NeutronSubnet;
index 2f30107ca21672c1572f2cf38a9e05810f0320a3..11027254f373b8efc069e832e511281f68772cc8 100644 (file)
@@ -12,11 +12,11 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-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.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.WriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
+import org.opendaylight.mdsal.common.api.TransactionCommitFailedException;
 import org.opendaylight.neutron.spi.INeutronTapFlowCRUD;
 import org.opendaylight.neutron.spi.NeutronTapFlow;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;
@@ -121,14 +121,14 @@ public final class NeutronTapFlowInterface
         final TapFlow item = toMd(tapFlow);
         final InstanceIdentifier<TapFlow> iid = createTapFlowInstanceIdentifier(tapFlow.getTapFlowServiceID(), item);
         transaction.put(LogicalDatastoreType.CONFIGURATION, iid, item, true);
-        transaction.submit().checkedGet();
+        checkedCommit(transaction);
     }
 
     private void removeTapFlowMd(String tapServiceUUID, String tapFlowUUID) throws TransactionCommitFailedException {
         final WriteTransaction transaction = getDataBroker().newWriteOnlyTransaction();
         final InstanceIdentifier<TapFlow> iid = createTapFlowInstanceIdentifier(tapServiceUUID, toMd(tapFlowUUID));
         transaction.delete(LogicalDatastoreType.CONFIGURATION, iid);
-        transaction.submit().checkedGet();
+        checkedCommit(transaction);
     }
 
     private void addTapFlowMd(NeutronTapFlow tapFlow) throws TransactionCommitFailedException {
index a956cf7d5bd323fc51e2b8b5f10fa588e13c89ca..09544f585b26ae18ed927461654ed296eb120d39 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.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.TapServices;
index d2cb2ee275f19ce50522b8be327e4daeb4f90463..51bc922356212731a854ff685baff2eee0162df3 100644 (file)
@@ -13,7 +13,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronTrunkCRUD;
 import org.opendaylight.neutron.spi.NeutronTrunk;
 import org.opendaylight.neutron.spi.NeutronTrunkSubPort;
index e9ca122ac999de7732a0f43709491ce0efc6ea75..027b7c7ce21c1ca4b8280e0ffb6ba89704eb21ab 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronVpnIkePolicyCRUD;
 import org.opendaylight.neutron.spi.NeutronVpnIkePolicy;
 import org.opendaylight.neutron.spi.NeutronVpnLifetime;
index 49fb41a406e9000b4b00ddf1103ca18a7b69fe0e..bf9ade75226f21c3adcef8332870b58c24a370a8 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronVpnIpSecPolicyCRUD;
 import org.opendaylight.neutron.spi.NeutronVpnIpSecPolicy;
 import org.opendaylight.neutron.spi.NeutronVpnLifetime;
index 4c9aadc8641bb6b792b3731c1e4c14c27b3abbb4..c27d0af6880cffbb58d0b1d8f3cb73993497891b 100644 (file)
@@ -12,7 +12,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.DataBroker;
 import org.opendaylight.neutron.spi.INeutronVpnIpSecSiteConnectionsCRUD;
 import org.opendaylight.neutron.spi.NeutronVpnDeadPeerDetection;
 import org.opendaylight.neutron.spi.NeutronVpnIpSecSiteConnection;
index aa4400196dcc9da8f835f6d586002e782905d625..83db7c832d321d7687b248c430537a1738dde2d4 100644 (file)
@@ -11,7 +11,7 @@ import java.util.List;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.apache.aries.blueprint.annotation.service.Service;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.mdsal.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.VpnServices;
index 36a0130cf3cc16e72300145431f45311e655a686..66501908e659cd2c4212c52007ede4b615686f1d 100644 (file)
@@ -11,7 +11,7 @@
     odl:use-default-for-reference-types="true">
 
   <reference id="dataBroker"
-      interface="org.opendaylight.controller.md.sal.binding.api.DataBroker"
+      interface="org.opendaylight.mdsal.binding.api.DataBroker"
       odl:type="default" />
 
 </blueprint>