From ae61a7089e3a1c6a7f69dfe1c4981282a439e22d Mon Sep 17 00:00:00 2001 From: "Claudio D. Gasparini" Date: Tue, 6 Nov 2018 17:43:09 +0100 Subject: [PATCH] Migrate to MD-SAL APIs This patch mass-migrates bgp/config-loader/bmp to MD-SAL APIs, adjusting tests and blueprints as needed. JIRA: BGPCEP-844 Change-Id: I02c6e23faf3a5badfa6d22eee2c8efc1534f8ad9 Signed-off-by: Claudio D. Gasparini Signed-off-by: Robert Varga --- bgp/cli/pom.xml | 16 ++--- .../cli/OperationalStateCommandProvider.java | 2 +- .../cli/utils/BGPOperationalStateUtils.java | 10 +-- .../utils/BGPOperationalStateUtilsTest.java | 6 +- .../bgp/evpn/impl/EvpnRibSupport.java | 4 +- bgp/extensions/flowspec/pom.xml | 4 +- .../flowspec/AbstractFlowspecRIBSupport.java | 4 +- .../bgp/inet/AbstractIPRibSupport.java | 4 +- .../mcast/AbstractL3vpnMcastIpRIBSupport.java | 4 +- .../l3vpn/unicast/AbstractVpnRIBSupport.java | 4 +- bgp/extensions/labeled-unicast/pom.xml | 4 +- .../AbstractLabeledUnicastRIBSupport.java | 4 +- bgp/extensions/linkstate/pom.xml | 4 +- .../linkstate/impl/LinkstateRIBSupport.java | 6 +- .../bgp/mvpn/impl/AbstractMvpnRIBSupport.java | 4 +- bgp/extensions/parent/pom.xml | 13 ++-- bgp/extensions/route-target/pom.xml | 8 +-- .../impl/RouteTargetConstrainRIBSupport.java | 4 +- bgp/openconfig-rp-impl/pom.xml | 18 ++--- .../routing/policy/impl/BGPRibPolicyImpl.java | 10 +-- .../impl/BGPRibRoutingPolicyFactoryImpl.java | 2 +- .../bgp-openconfig-routing-policy-impl.xml | 5 +- bgp/openconfig-rp-spi/pom.xml | 16 ++--- .../spi/AbstractStatementRegistryTest.java | 4 +- bgp/openconfig-rp-statement/pom.xml | 16 ++--- .../statement/AbstractCommunityHandler.java | 11 ++- .../AbstractExtCommunityHandler.java | 11 ++- .../policy/statement/StatementActivator.java | 2 +- .../actions/SetCommunityHandler.java | 3 +- .../actions/SetExtCommunityHandler.java | 3 +- .../conditions/MatchAsPathSetHandler.java | 13 ++-- .../MatchBgpNeighborSetHandler.java | 11 ++- .../conditions/MatchClusterIdSetHandler.java | 13 ++-- .../conditions/MatchCommunitySetHandler.java | 4 +- .../MatchExtCommunitySetHandler.java | 2 +- .../MatchOriginatorIdSetHandler.java | 13 ++-- .../conditions/MatchRoleSetHandler.java | 11 ++- ...gp-openconfig-routing-policy-statement.xml | 5 +- ...AbstractStatementRegistryConsumerTest.java | 6 +- bgp/openconfig-state/pom.xml | 28 ++++---- .../protocol/bgp/state/StateProviderImpl.java | 29 ++++---- .../blueprint/bgp-openconfig-state.xml | 3 +- .../bgp/state/StateProviderImplTest.java | 31 ++++----- bgp/path-selection-mode/pom.xml | 9 +-- .../bgp/mode/impl/BGPPeerTrackerMock.java | 4 +- bgp/rib-impl/pom.xml | 31 +++++---- .../protocol/bgp/rib/impl/AbstractPeer.java | 27 +++++--- .../protocol/bgp/rib/impl/AdjRibInWriter.java | 33 +++++---- .../bgp/rib/impl/AdjRibOutListener.java | 8 +-- .../bgp/rib/impl/ApplicationPeer.java | 34 ++++++---- .../protocol/bgp/rib/impl/BGPPeer.java | 39 ++++++----- .../bgp/rib/impl/EffectiveRibInWriter.java | 32 ++++----- .../protocol/bgp/rib/impl/LocRibWriter.java | 26 +++---- .../protocol/bgp/rib/impl/RIBImpl.java | 67 +++++++++++-------- .../bgp/rib/impl/RIBSupportContextImpl.java | 10 +-- .../protocol/bgp/rib/impl/TableContext.java | 12 ++-- .../protocol/bgp/rib/impl/config/AppPeer.java | 7 +- .../config/BGPClusterSingletonService.java | 12 ++-- .../bgp/rib/impl/config/BgpDeployerImpl.java | 30 ++++----- .../protocol/bgp/rib/impl/config/BgpPeer.java | 6 +- .../protocol/bgp/rib/impl/config/RibImpl.java | 18 ++--- .../rib/impl/spi/PeerTransactionChain.java | 3 +- .../protocol/bgp/rib/impl/spi/RIB.java | 15 +++-- .../bgp/rib/impl/spi/RIBSupportContext.java | 9 +-- .../resources/OSGI-INF/blueprint/bgp-rib.xml | 8 +-- .../bgp/rib/impl/AbstractRIBTestSetup.java | 56 +++++++--------- .../bgp/rib/impl/AdjRibsInWriterTest.java | 10 +-- .../rib/impl/DefaultRibPoliciesMockTest.java | 3 +- .../protocol/bgp/rib/impl/FSMTest.java | 2 +- .../bgp/rib/impl/ParserToSalTest.java | 9 +-- .../protocol/bgp/rib/impl/PeerTest.java | 2 +- .../impl/SynchronizationAndExceptionTest.java | 19 +++--- .../bgp/rib/impl/config/AbstractConfig.java | 16 ++--- .../rib/impl/config/BgpDeployerImplTest.java | 16 ++--- .../bgp/rib/impl/config/BgpPeerTest.java | 4 +- .../bgp/rib/impl/config/RibImplTest.java | 16 ++--- bgp/rib-spi/pom.xml | 17 ++--- .../bgp/rib/spi/AbstractRIBSupport.java | 22 +++--- .../protocol/bgp/rib/spi/RIBSupport.java | 12 ++-- .../bgp/rib/spi/AbstractRIBActivatorTest.java | 5 +- .../bgp/rib/spi/AbstractRIBSupportTest.java | 12 ++-- .../protocol/bgp/rib/spi/RIBSupportTest.java | 14 ++-- .../bgp/rib/spi/RIBSupportTestImp.java | 4 +- .../bgp/rib/spi/SimpleRIBExtensionTest.java | 6 +- bgp/topology-provider/pom.xml | 19 ++---- .../AbstractReachabilityTopologyBuilder.java | 14 ++-- .../provider/AbstractTopologyBuilder.java | 35 +++++----- .../Ipv4ReachabilityTopologyBuilder.java | 2 +- .../Ipv6ReachabilityTopologyBuilder.java | 2 +- .../provider/LinkstateTopologyBuilder.java | 8 +-- .../config/AbstractBgpTopologyProvider.java | 3 +- .../config/BgpTopologyDeployerImpl.java | 14 ++-- .../provider/config/Ipv4TopologyProvider.java | 4 +- .../provider/config/Ipv6TopologyProvider.java | 3 +- .../config/LinkstateTopologyProvider.java | 4 +- .../provider/spi/BgpTopologyDeployer.java | 3 +- .../blueprint/bgp-topology-provider.xml | 4 +- .../provider/AbstractTopologyBuilderTest.java | 7 +- .../Ipv4ReachabilityTopologyBuilderTest.java | 8 +-- .../Ipv6ReachabilityTopologyBuilderTest.java | 9 ++- .../LinkstateTopologyBuilderTest.java | 17 +++-- bmp/bmp-impl/pom.xml | 23 +++---- .../impl/app/BmpMonitoringStationImpl.java | 11 ++- .../protocol/bmp/impl/app/BmpRibInWriter.java | 16 ++--- .../protocol/bmp/impl/app/BmpRouterImpl.java | 30 ++++----- .../bmp/impl/app/BmpRouterPeerImpl.java | 14 ++-- .../bmp/impl/app/RouterSessionManager.java | 2 +- .../protocol/bmp/impl/app/TableContext.java | 10 +-- .../impl/config/BmpDeployerDependencies.java | 4 +- .../bmp/impl/config/BmpDeployerImpl.java | 19 +++--- .../resources/OSGI-INF/blueprint/bgp-bmp.xml | 8 +-- .../bmp/impl/app/BmpMonitorImplTest.java | 31 +++++---- .../bmp-monitors-config-loader/pom.xml | 17 ++--- .../bmp/BmpMonitorConfigFileProcessor.java | 6 +- .../OSGI-INF/blueprint/bmp-config-loader.xml | 5 +- config-loader/config-loader-impl/pom.xml | 8 +-- .../loader/impl/AbstractConfigLoader.java | 6 +- config-loader/protocols-config-loader/pom.xml | 19 ++---- .../ProtocolsConfigFileProcessor.java | 6 +- .../blueprint/protocols-config-loader.xml | 5 +- .../routing-policy-config-loader/pom.xml | 17 ++--- .../policy/OpenconfigRoutingPolicyLoader.java | 9 ++- .../routing-policy-config-loader.xml | 5 +- config-loader/topology-config-loader/pom.xml | 17 ++--- .../NetworkTopologyConfigFileProcessor.java | 7 +- .../blueprint/topology-config-loader.xml | 5 +- ...etworkTopologyConfigFileProcessorTest.java | 4 +- features/rsvp/odl-bgpcep-rsvp-api/pom.xml | 2 +- programming/impl/pom.xml | 4 +- testtool-util/pom.xml | 16 ++--- .../opendaylight/protocol/util/CheckUtil.java | 44 ++++++------ .../protocol/util/CheckUtilTest.java | 8 +-- 132 files changed, 769 insertions(+), 825 deletions(-) diff --git a/bgp/cli/pom.xml b/bgp/cli/pom.xml index 1c1c99548f..ba6f4edd18 100644 --- a/bgp/cli/pom.xml +++ b/bgp/cli/pom.xml @@ -34,12 +34,12 @@ util - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.mdsal @@ -78,13 +78,13 @@ test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/OperationalStateCommandProvider.java b/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/OperationalStateCommandProvider.java index 579cf8cddc..cefd0250b8 100644 --- a/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/OperationalStateCommandProvider.java +++ b/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/OperationalStateCommandProvider.java @@ -13,7 +13,7 @@ import org.apache.karaf.shell.api.action.Option; import org.apache.karaf.shell.api.action.lifecycle.Reference; import org.apache.karaf.shell.api.action.lifecycle.Service; import org.apache.karaf.shell.api.console.Session; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.cli.utils.BGPOperationalStateUtils; @Service diff --git a/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java b/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java index d5c7e587ab..e582aa673a 100644 --- a/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java +++ b/bgp/cli/src/main/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtils.java @@ -15,9 +15,9 @@ import java.io.PrintStream; import java.util.concurrent.ExecutionException; 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.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.util.Ipv4Util; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.Bgp; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.NetworkInstances; @@ -87,10 +87,10 @@ public final class BGPOperationalStateUtils { .child(Protocol.class, new ProtocolKey(BGP.class, ribId)) .augmentation(NetworkInstanceProtocol.class).child(Bgp.class); - final ReadOnlyTransaction rot = dataBroker.newReadOnlyTransaction(); + final ReadTransaction rot = dataBroker.newReadOnlyTransaction(); try { - return rot.read(LogicalDatastoreType.OPERATIONAL, bgpIID).get().orNull(); + return rot.read(LogicalDatastoreType.OPERATIONAL, bgpIID).get().orElse(null); } catch (final InterruptedException | ExecutionException e) { LOG.warn("Failed to read rib {}", ribId, e); } diff --git a/bgp/cli/src/test/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtilsTest.java b/bgp/cli/src/test/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtilsTest.java index 4cc0fa373b..64be9cbe32 100644 --- a/bgp/cli/src/test/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtilsTest.java +++ b/bgp/cli/src/test/java/org/opendaylight/protocol/bgp/cli/utils/BGPOperationalStateUtilsTest.java @@ -19,9 +19,9 @@ import java.util.Collections; import java.util.concurrent.ExecutionException; import org.apache.commons.io.IOUtils; import org.junit.Test; -import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.WriteTransaction; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.Bgp; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.BgpBuilder; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.rev151009.bgp.top.bgp.NeighborsBuilder; diff --git a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnRibSupport.java b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnRibSupport.java index c6ebdebe6a..363c6119bc 100644 --- a/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnRibSupport.java +++ b/bgp/extensions/evpn/src/main/java/org/opendaylight/protocol/bgp/evpn/impl/EvpnRibSupport.java @@ -17,8 +17,8 @@ import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.evpn.impl.nlri.EvpnNlriParser; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport; @@ -100,7 +100,7 @@ final class EvpnRibSupport extends AbstractRIBSupport processDestination(final DOMDataWriteTransaction tx, + protected Collection processDestination(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/extensions/flowspec/pom.xml b/bgp/extensions/flowspec/pom.xml index c00763f1fd..87e6cd0342 100644 --- a/bgp/extensions/flowspec/pom.xml +++ b/bgp/extensions/flowspec/pom.xml @@ -64,8 +64,8 @@ test - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api test diff --git a/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/AbstractFlowspecRIBSupport.java b/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/AbstractFlowspecRIBSupport.java index de964f9fb5..2b01a68fba 100644 --- a/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/AbstractFlowspecRIBSupport.java +++ b/bgp/extensions/flowspec/src/main/java/org/opendaylight/protocol/bgp/flowspec/AbstractFlowspecRIBSupport.java @@ -14,8 +14,8 @@ import com.google.common.collect.Iterables; import java.util.Collection; import java.util.Collections; import java.util.Optional; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId; @@ -82,7 +82,7 @@ public abstract class AbstractFlowspecRIBSupport< @Override protected final Collection processDestination( - final DOMDataWriteTransaction tx, + final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/extensions/inet/src/main/java/org/opendaylight/protocol/bgp/inet/AbstractIPRibSupport.java b/bgp/extensions/inet/src/main/java/org/opendaylight/protocol/bgp/inet/AbstractIPRibSupport.java index d34c90fd65..05eeb6129a 100644 --- a/bgp/extensions/inet/src/main/java/org/opendaylight/protocol/bgp/inet/AbstractIPRibSupport.java +++ b/bgp/extensions/inet/src/main/java/org/opendaylight/protocol/bgp/inet/AbstractIPRibSupport.java @@ -15,8 +15,8 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Optional; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.Route; @@ -81,7 +81,7 @@ abstract class AbstractIPRibSupport< } @Override - protected Collection processDestination(final DOMDataWriteTransaction tx, + protected Collection processDestination(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/mcast/AbstractL3vpnMcastIpRIBSupport.java b/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/mcast/AbstractL3vpnMcastIpRIBSupport.java index a0952a1dd3..5ac6025379 100644 --- a/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/mcast/AbstractL3vpnMcastIpRIBSupport.java +++ b/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/mcast/AbstractL3vpnMcastIpRIBSupport.java @@ -16,9 +16,9 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; import org.opendaylight.bgp.concepts.RouteDistinguisherUtil; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; @@ -121,7 +121,7 @@ abstract class AbstractL3vpnMcastIpRIBSupport< @Override protected final Collection processDestination( - final DOMDataWriteTransaction tx, + final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/unicast/AbstractVpnRIBSupport.java b/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/unicast/AbstractVpnRIBSupport.java index 44b1daf96a..ca4960e038 100644 --- a/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/unicast/AbstractVpnRIBSupport.java +++ b/bgp/extensions/l3vpn/src/main/java/org/opendaylight/protocol/bgp/l3vpn/unicast/AbstractVpnRIBSupport.java @@ -17,9 +17,9 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; import org.opendaylight.bgp.concepts.RouteDistinguisherUtil; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.labeled.unicast.LUNlriParser; import org.opendaylight.protocol.bgp.labeled.unicast.LabeledUnicastIpv4RIBSupport; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; @@ -115,7 +115,7 @@ public abstract class AbstractVpnRIBSupport processDestination(final DOMDataWriteTransaction tx, + protected Collection processDestination(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/extensions/labeled-unicast/pom.xml b/bgp/extensions/labeled-unicast/pom.xml index 3fa0dae233..fb295d8164 100644 --- a/bgp/extensions/labeled-unicast/pom.xml +++ b/bgp/extensions/labeled-unicast/pom.xml @@ -61,8 +61,8 @@ test - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api test diff --git a/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java b/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java index 847bf49290..5c746d8c32 100644 --- a/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java +++ b/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java @@ -15,8 +15,8 @@ import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport; import org.opendaylight.protocol.util.ByteArray; @@ -89,7 +89,7 @@ abstract class AbstractLabeledUnicastRIBSupport< } @Override - protected Collection processDestination(final DOMDataWriteTransaction tx, + protected Collection processDestination(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/extensions/linkstate/pom.xml b/bgp/extensions/linkstate/pom.xml index f8f4615b60..7f9ae284d3 100644 --- a/bgp/extensions/linkstate/pom.xml +++ b/bgp/extensions/linkstate/pom.xml @@ -79,8 +79,8 @@ test - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api test diff --git a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/LinkstateRIBSupport.java b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/LinkstateRIBSupport.java index dd0462a019..b8f375e734 100644 --- a/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/LinkstateRIBSupport.java +++ b/bgp/extensions/linkstate/src/main/java/org/opendaylight/protocol/bgp/linkstate/impl/LinkstateRIBSupport.java @@ -17,8 +17,8 @@ import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.linkstate.impl.nlri.LinkstateNlriParser; import org.opendaylight.protocol.bgp.linkstate.spi.pojo.SimpleNlriTypeRegistry; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; @@ -97,7 +97,7 @@ public final class LinkstateRIBSupport } @Override - protected Collection processDestination(final DOMDataWriteTransaction tx, + protected Collection processDestination(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, @@ -113,7 +113,7 @@ public final class LinkstateRIBSupport private List processRoute( final Optional> maybeRoutes, final YangInstanceIdentifier routesPath, - final ContainerNode attributes, final ApplyRoute function, final DOMDataWriteTransaction tx) { + final ContainerNode attributes, final ApplyRoute function, final DOMDataTreeWriteTransaction tx) { if (maybeRoutes.isPresent()) { final DataContainerChild routes = maybeRoutes.get(); if (routes instanceof UnkeyedListNode) { diff --git a/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/AbstractMvpnRIBSupport.java b/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/AbstractMvpnRIBSupport.java index ceb3bc5ad9..1a99ff594d 100644 --- a/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/AbstractMvpnRIBSupport.java +++ b/bgp/extensions/mvpn/src/main/java/org/opendaylight/protocol/bgp/mvpn/impl/AbstractMvpnRIBSupport.java @@ -15,8 +15,8 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Optional; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; @@ -111,7 +111,7 @@ abstract class AbstractMvpnRIBSupport processDestination( - final DOMDataWriteTransaction tx, + final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/extensions/parent/pom.xml b/bgp/extensions/parent/pom.xml index f9a03d2863..7b814f0d02 100644 --- a/bgp/extensions/parent/pom.xml +++ b/bgp/extensions/parent/pom.xml @@ -82,8 +82,8 @@ rfc6991-ietf-inet-types - org.opendaylight.controller - sal-core-api + org.opendaylight.mdsal + mdsal-dom-api io.netty @@ -106,13 +106,8 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/extensions/route-target/pom.xml b/bgp/extensions/route-target/pom.xml index 48ad88ec9e..ec5e6daafd 100644 --- a/bgp/extensions/route-target/pom.xml +++ b/bgp/extensions/route-target/pom.xml @@ -84,13 +84,13 @@ test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/RouteTargetConstrainRIBSupport.java b/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/RouteTargetConstrainRIBSupport.java index b3a7ce45c4..c18b7858b5 100644 --- a/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/RouteTargetConstrainRIBSupport.java +++ b/bgp/extensions/route-target/src/main/java/org/opendaylight/protocol/bgp/route/targetcontrain/impl/RouteTargetConstrainRIBSupport.java @@ -19,8 +19,8 @@ import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.parser.spi.PathIdUtil; import org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport; import org.opendaylight.protocol.bgp.route.targetcontrain.impl.nlri.SimpleRouteTargetConstrainNlriRegistry; @@ -156,7 +156,7 @@ public final class RouteTargetConstrainRIBSupport @Override protected Collection processDestination( - final DOMDataWriteTransaction tx, + final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/openconfig-rp-impl/pom.xml b/bgp/openconfig-rp-impl/pom.xml index 992cd39799..defda19dea 100644 --- a/bgp/openconfig-rp-impl/pom.xml +++ b/bgp/openconfig-rp-impl/pom.xml @@ -44,12 +44,12 @@ bgp-parser-api - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.mdsal @@ -69,13 +69,13 @@ mockito-core - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar @@ -131,4 +131,4 @@ https://wiki.opendaylight.org/view/BGP_LS_PCEP:Main HEAD - \ No newline at end of file + diff --git a/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibPolicyImpl.java b/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibPolicyImpl.java index 3fd2ed0491..fc90a335b4 100644 --- a/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibPolicyImpl.java +++ b/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibPolicyImpl.java @@ -18,9 +18,9 @@ import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.concurrent.ExecutionException; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.RouteAttributeContainer; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistryConsumer; @@ -86,8 +86,8 @@ final class BGPRibPolicyImpl implements BGPRibRoutingPolicy { } private List loadStatements(final String key) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.databroker.newReadOnlyTransaction(); - final com.google.common.base.Optional result = + final ReadTransaction tr = this.databroker.newReadOnlyTransaction(); + final Optional result = tr.read(LogicalDatastoreType.CONFIGURATION, ROUTING_POLICY_IID.child(PolicyDefinitions.class) .child(PolicyDefinition.class, new PolicyDefinitionKey(key)).child(Statements.class)).get(); if (!result.isPresent()) { diff --git a/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibRoutingPolicyFactoryImpl.java b/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibRoutingPolicyFactoryImpl.java index fbac599597..2a75459752 100644 --- a/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibRoutingPolicyFactoryImpl.java +++ b/bgp/openconfig-rp-impl/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/impl/BGPRibRoutingPolicyFactoryImpl.java @@ -10,7 +10,7 @@ package org.opendaylight.protocol.bgp.openconfig.routing.policy.impl; import static java.util.Objects.requireNonNull; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.BGPRibRoutingPolicyFactory; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistryConsumer; import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRibRoutingPolicy; diff --git a/bgp/openconfig-rp-impl/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-impl.xml b/bgp/openconfig-rp-impl/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-impl.xml index 4fbef54556..c3467ae17a 100644 --- a/bgp/openconfig-rp-impl/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-impl.xml +++ b/bgp/openconfig-rp-impl/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-impl.xml @@ -8,8 +8,7 @@ --> - + @@ -22,4 +21,4 @@ - \ No newline at end of file + diff --git a/bgp/openconfig-rp-spi/pom.xml b/bgp/openconfig-rp-spi/pom.xml index ff8ccb5636..6a675b4de2 100644 --- a/bgp/openconfig-rp-spi/pom.xml +++ b/bgp/openconfig-rp-spi/pom.xml @@ -40,12 +40,12 @@ bgp-parser-api - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.mdsal @@ -95,13 +95,13 @@ test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/openconfig-rp-spi/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/spi/AbstractStatementRegistryTest.java b/bgp/openconfig-rp-spi/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/spi/AbstractStatementRegistryTest.java index 27663de6ec..1cb64c34d5 100644 --- a/bgp/openconfig-rp-spi/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/spi/AbstractStatementRegistryTest.java +++ b/bgp/openconfig-rp-spi/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/spi/AbstractStatementRegistryTest.java @@ -13,8 +13,8 @@ import java.util.List; import java.util.concurrent.ExecutionException; import org.junit.Before; import org.opendaylight.bgpcep.config.loader.routing.policy.AbstractOpenconfigRoutingPolicyLoaderTest; -import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistry; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.PolicyDefinitions; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.policy.definitions.PolicyDefinition; diff --git a/bgp/openconfig-rp-statement/pom.xml b/bgp/openconfig-rp-statement/pom.xml index 1a96614477..5ae81c4d39 100644 --- a/bgp/openconfig-rp-statement/pom.xml +++ b/bgp/openconfig-rp-statement/pom.xml @@ -52,12 +52,12 @@ util - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.yangtools @@ -103,13 +103,13 @@ test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractCommunityHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractCommunityHandler.java index fe511aab7b..6f081c0a0a 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractCommunityHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractCommunityHandler.java @@ -5,22 +5,21 @@ * 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.protocol.bgp.openconfig.routing.policy.statement; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev151009.DefinedSets1; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev151009.routing.policy.defined.sets.BgpDefinedSets; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev151009.routing.policy.defined.sets.bgp.defined.sets.CommunitySets; @@ -51,7 +50,7 @@ public class AbstractCommunityHandler { } private List loadCommunitySet(final String key) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.databroker.newReadOnlyTransaction(); + final ReadTransaction tr = this.databroker.newReadOnlyTransaction(); final Optional result = tr.read(LogicalDatastoreType.CONFIGURATION, COMMUNITY_SETS_IID .child(CommunitySet.class, new CommunitySetKey(key))).get(); diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractExtCommunityHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractExtCommunityHandler.java index 7110155003..6d557a699e 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractExtCommunityHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractExtCommunityHandler.java @@ -5,22 +5,21 @@ * 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.protocol.bgp.openconfig.routing.policy.statement; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev151009.DefinedSets1; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev151009.routing.policy.defined.sets.BgpDefinedSets; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.policy.rev151009.routing.policy.defined.sets.bgp.defined.sets.ExtCommunitySets; @@ -53,7 +52,7 @@ public class AbstractExtCommunityHandler { private List loadCommunitySet(final String key) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.databroker.newReadOnlyTransaction(); + final ReadTransaction tr = this.databroker.newReadOnlyTransaction(); final Optional result = tr.read(LogicalDatastoreType.CONFIGURATION, EXT_COMMUNITY_SETS_IID .child(ExtCommunitySet.class, new ExtCommunitySetKey(key))).get(); diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/StatementActivator.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/StatementActivator.java index 9dedcd1774..c8a5c6a389 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/StatementActivator.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/StatementActivator.java @@ -11,7 +11,7 @@ import static java.util.Objects.requireNonNull; import java.util.ArrayList; import java.util.List; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.AbstractBGPStatementProviderActivator; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistryProvider; import org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.actions.AsPathPrepend; diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetCommunityHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetCommunityHandler.java index 4dec7b0660..ee8ab3efdb 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetCommunityHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetCommunityHandler.java @@ -5,14 +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.protocol.bgp.openconfig.routing.policy.statement.actions; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.action.BgpActionPolicy; import org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.AbstractCommunityHandler; diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetExtCommunityHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetExtCommunityHandler.java index 0947b31dc0..c4d57ba9a5 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetExtCommunityHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/actions/SetExtCommunityHandler.java @@ -5,14 +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.protocol.bgp.openconfig.routing.policy.statement.actions; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.action.BgpActionPolicy; import org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.AbstractExtCommunityHandler; diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchAsPathSetHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchAsPathSetHandler.java index d0746257d2..505698fbd8 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchAsPathSetHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchAsPathSetHandler.java @@ -5,12 +5,10 @@ * 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.protocol.bgp.openconfig.routing.policy.statement.conditions; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -18,13 +16,14 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.commons.lang3.StringUtils; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsPolicy; import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryExportParameters; @@ -68,10 +67,10 @@ public final class MatchAsPathSetHandler implements BgpConditionsPolicy result = tr.read(LogicalDatastoreType.CONFIGURATION, AS_PATHS_SETS_IID.child(AsPathSet.class, new AsPathSetKey(key))).get(); - return result.orNull(); + return result.orElse(null); } @Override diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchBgpNeighborSetHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchBgpNeighborSetHandler.java index 01c050cd70..a0dfe01926 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchBgpNeighborSetHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchBgpNeighborSetHandler.java @@ -5,23 +5,22 @@ * 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.protocol.bgp.openconfig.routing.policy.statement.conditions; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsAugmentationPolicy; import org.opendaylight.protocol.bgp.rib.spi.RouterIds; @@ -64,7 +63,7 @@ public final class MatchBgpNeighborSetHandler } private List loadRoleSets(final String key) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.dataBroker.newReadOnlyTransaction(); + final ReadTransaction tr = this.dataBroker.newReadOnlyTransaction(); final Optional result = tr.read(LogicalDatastoreType.CONFIGURATION, NEIGHBOR_SET_IID.child(NeighborSet.class, new NeighborSetKey(key))).get(); if (!result.isPresent()) { diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchClusterIdSetHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchClusterIdSetHandler.java index 64f00f7ae4..5f784b7f0e 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchClusterIdSetHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchClusterIdSetHandler.java @@ -5,23 +5,22 @@ * 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.protocol.bgp.openconfig.routing.policy.statement.conditions; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.concurrent.ExecutionException; import org.apache.commons.lang3.StringUtils; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsAugmentationPolicy; import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryExportParameters; @@ -65,10 +64,10 @@ public final class MatchClusterIdSetHandler } private ClusterIdSet loadSets(final String key) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.dataBroker.newReadOnlyTransaction(); + final ReadTransaction tr = this.dataBroker.newReadOnlyTransaction(); final Optional result = tr.read(LogicalDatastoreType.CONFIGURATION, CLUSTERS_ID_SETS_IID.child(ClusterIdSet.class, new ClusterIdSetKey(key))).get(); - return result.orNull(); + return result.orElse(null); } @Override diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchCommunitySetHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchCommunitySetHandler.java index cc8c0db6f0..b9ed494f9c 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchCommunitySetHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchCommunitySetHandler.java @@ -5,13 +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.protocol.bgp.openconfig.routing.policy.statement.conditions; import java.util.Collections; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsPolicy; import org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.AbstractCommunityHandler; @@ -32,7 +31,6 @@ public final class MatchCommunitySetHandler super(databroker); } - @Override public boolean matchImportCondition( final Class afiSafi, diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchExtCommunitySetHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchExtCommunitySetHandler.java index 330b3db6bf..ddaefd5b84 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchExtCommunitySetHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchExtCommunitySetHandler.java @@ -10,7 +10,7 @@ package org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.condit import java.util.Collections; import java.util.List; import org.apache.commons.lang3.StringUtils; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsPolicy; import org.opendaylight.protocol.bgp.openconfig.routing.policy.statement.AbstractExtCommunityHandler; diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchOriginatorIdSetHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchOriginatorIdSetHandler.java index 04236c6bd1..2edead40d5 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchOriginatorIdSetHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchOriginatorIdSetHandler.java @@ -5,20 +5,19 @@ * 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.protocol.bgp.openconfig.routing.policy.statement.conditions; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import java.util.Optional; import java.util.concurrent.ExecutionException; import org.apache.commons.lang3.StringUtils; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsAugmentationPolicy; import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryExportParameters; @@ -62,10 +61,10 @@ public final class MatchOriginatorIdSetHandler } private OriginatorIdSet loadSets(final String key) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.dataBroker.newReadOnlyTransaction(); + final ReadTransaction tr = this.dataBroker.newReadOnlyTransaction(); final Optional result = tr.read(LogicalDatastoreType.CONFIGURATION, ORIGINATOR_ID_SETS_IID.child(OriginatorIdSet.class, new OriginatorIdSetKey(key))).get(); - return result.orNull(); + return result.orElse(null); } @Override diff --git a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchRoleSetHandler.java b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchRoleSetHandler.java index ed870e351d..d805444f4d 100644 --- a/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchRoleSetHandler.java +++ b/bgp/openconfig-rp-statement/src/main/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/conditions/MatchRoleSetHandler.java @@ -5,22 +5,21 @@ * 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.protocol.bgp.openconfig.routing.policy.statement.conditions; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.concurrent.ExecutionException; import org.apache.commons.lang3.StringUtils; -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.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.RouteEntryBaseAttributes; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.policy.condition.BgpConditionsAugmentationPolicy; import org.opendaylight.protocol.bgp.rib.spi.policy.BGPRouteEntryExportParameters; @@ -65,7 +64,7 @@ public final class MatchRoleSetHandler implements BgpConditionsAugmentationPolic } private List loadRoleSets(final String key) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.dataBroker.newReadOnlyTransaction(); + final ReadTransaction tr = this.dataBroker.newReadOnlyTransaction(); final Optional result = tr.read(LogicalDatastoreType.CONFIGURATION, ROLE_SET_IID.child(RoleSet.class, new RoleSetKey(key))).get(); if (!result.isPresent()) { diff --git a/bgp/openconfig-rp-statement/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-statement.xml b/bgp/openconfig-rp-statement/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-statement.xml index 25f0f12084..46cfd77fb1 100644 --- a/bgp/openconfig-rp-statement/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-statement.xml +++ b/bgp/openconfig-rp-statement/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-routing-policy-statement.xml @@ -2,8 +2,7 @@ - + @@ -12,4 +11,4 @@ - \ No newline at end of file + diff --git a/bgp/openconfig-rp-statement/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractStatementRegistryConsumerTest.java b/bgp/openconfig-rp-statement/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractStatementRegistryConsumerTest.java index 8701de32d4..cc2791073d 100644 --- a/bgp/openconfig-rp-statement/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractStatementRegistryConsumerTest.java +++ b/bgp/openconfig-rp-statement/src/test/java/org/opendaylight/protocol/bgp/openconfig/routing/policy/statement/AbstractStatementRegistryConsumerTest.java @@ -12,8 +12,8 @@ import static org.opendaylight.bgpcep.config.loader.routing.policy.OpenconfigRou import java.util.List; import java.util.concurrent.ExecutionException; import org.junit.Before; -import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.AbstractStatementRegistryTest; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistry; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.routing.policy.PolicyDefinitions; @@ -33,6 +33,7 @@ public class AbstractStatementRegistryConsumerTest extends AbstractStatementRegi activator.start(this.statementRegistry); } + @Override protected List loadStatement(final String policyName) throws ExecutionException, InterruptedException { final ReadWriteTransaction rt = getDataBroker().newReadWriteTransaction(); final PolicyDefinition policy = rt.read(LogicalDatastoreType.CONFIGURATION, ROUTING_POLICY_IID @@ -40,5 +41,4 @@ public class AbstractStatementRegistryConsumerTest extends AbstractStatementRegi .get().get(); return policy.getStatements().getStatement(); } - } diff --git a/bgp/openconfig-state/pom.xml b/bgp/openconfig-state/pom.xml index d2fb2a24b1..38c0ede112 100644 --- a/bgp/openconfig-state/pom.xml +++ b/bgp/openconfig-state/pom.xml @@ -56,12 +56,12 @@ concepts - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.yangtools @@ -85,18 +85,18 @@ - org.opendaylight.controller - sal-core-api + org.opendaylight.mdsal + mdsal-dom-api test - org.opendaylight.controller - sal-core-spi + org.opendaylight.mdsal + mdsal-dom-spi test - org.opendaylight.controller - sal-inmemory-datastore + org.opendaylight.mdsal + mdsal-dom-inmemory-datastore test @@ -117,13 +117,13 @@ test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/StateProviderImpl.java b/bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/StateProviderImpl.java index 337402387f..68e1f8e282 100644 --- a/bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/StateProviderImpl.java +++ b/bgp/openconfig-state/src/main/java/org/opendaylight/protocol/bgp/state/StateProviderImpl.java @@ -25,14 +25,13 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; import org.checkerframework.checker.lock.qual.GuardedBy; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -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.AsyncTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChain; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerState; import org.opendaylight.protocol.bgp.rib.spi.state.BGPRibState; @@ -68,7 +67,7 @@ public final class StateProviderImpl implements TransactionChainListener, AutoCl @GuardedBy("this") private final Map> instanceIdentifiersCache = new HashMap<>(); @GuardedBy("this") - private BindingTransactionChain transactionChain; + private TransactionChain transactionChain; @GuardedBy("this") private ScheduledFuture scheduleTask; private final ScheduledExecutorService scheduler; @@ -95,7 +94,7 @@ public final class StateProviderImpl implements TransactionChainListener, AutoCl } public synchronized void init() { - this.transactionChain = this.dataBroker.createTransactionChain(this); + this.transactionChain = this.dataBroker.createMergingTransactionChain(this); final TimerTask task = new TimerTask() { @Override @SuppressWarnings("checkstyle:IllegalCatch") @@ -107,12 +106,12 @@ public final class StateProviderImpl implements TransactionChainListener, AutoCl wTx.commit().addCallback(new FutureCallback() { @Override - public void onSuccess(CommitInfo result) { + public void onSuccess(final CommitInfo result) { LOG.debug("Successfully committed BGP stats update"); } @Override - public void onFailure(Throwable ex) { + public void onFailure(final Throwable ex) { LOG.error("Failed to commit BGP stats update", ex); } }, MoreExecutors.directExecutor()); @@ -190,19 +189,19 @@ public final class StateProviderImpl implements TransactionChainListener, AutoCl } @Override - public synchronized void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { + public synchronized void onTransactionChainFailed(final TransactionChain chain, final Transaction transaction, + final Throwable cause) { LOG.error("Transaction chain {} failed for tx {}", chain, transaction != null ? transaction.getIdentifier() : null, cause); if (!closed.get()) { transactionChain.close(); - transactionChain = dataBroker.createTransactionChain(this); + transactionChain = dataBroker.createMergingTransactionChain(this); } } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final TransactionChain chain) { LOG.debug("Transaction chain {} successful.", chain); } } diff --git a/bgp/openconfig-state/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-state.xml b/bgp/openconfig-state/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-state.xml index cf9c2c1ef7..9c2de9c90c 100644 --- a/bgp/openconfig-state/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-state.xml +++ b/bgp/openconfig-state/src/main/resources/OSGI-INF/blueprint/bgp-openconfig-state.xml @@ -9,8 +9,7 @@ - + diff --git a/bgp/openconfig-state/src/test/java/org/opendaylight/protocol/bgp/state/StateProviderImplTest.java b/bgp/openconfig-state/src/test/java/org/opendaylight/protocol/bgp/state/StateProviderImplTest.java index b30e9e0001..af04b2be69 100644 --- a/bgp/openconfig-state/src/test/java/org/opendaylight/protocol/bgp/state/StateProviderImplTest.java +++ b/bgp/openconfig-state/src/test/java/org/opendaylight/protocol/bgp/state/StateProviderImplTest.java @@ -10,10 +10,10 @@ package org.opendaylight.protocol.bgp.state; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyBoolean; -import static org.mockito.Matchers.anyLong; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; @@ -47,17 +47,18 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer; -import org.opendaylight.controller.md.sal.binding.test.ConcurrentDataBrokerTestCustomizer; -import org.opendaylight.controller.md.sal.binding.test.ConstantSchemaAbstractDataBrokerTest; -import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore; -import org.opendaylight.controller.sal.core.spi.data.DOMStore; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreThreePhaseCommitCohort; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransactionChain; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreWriteTransaction; import org.opendaylight.infrautils.testutils.LogCapture; import org.opendaylight.infrautils.testutils.internal.RememberingLogger; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; +import org.opendaylight.mdsal.binding.dom.adapter.test.ConcurrentDataBrokerTestCustomizer; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; +import org.opendaylight.mdsal.dom.spi.store.DOMStore; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionChain; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; +import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.rib.spi.State; import org.opendaylight.protocol.bgp.rib.spi.state.BGPAfiSafiState; @@ -149,7 +150,7 @@ import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; import org.slf4j.LoggerFactory; -public class StateProviderImplTest extends ConstantSchemaAbstractDataBrokerTest { +public class StateProviderImplTest extends AbstractDataBrokerTest { private final LongAdder totalPathsCounter = new LongAdder(); private final LongAdder totalPrefixesCounter = new LongAdder(); private final PortNumber localPort = new PortNumber(1790); @@ -432,13 +433,13 @@ public class StateProviderImplTest extends ConstantSchemaAbstractDataBrokerTest doReturn(Futures.immediateFuture(null)).when(mockCohort).abort(); doAnswer(notused -> { - DOMStoreWriteTransaction mockWriteTx = mock(DOMStoreWriteTransaction .class); + DOMStoreWriteTransaction mockWriteTx = mock(DOMStoreReadWriteTransaction .class); doNothing().when(mockWriteTx).write(any(), any()); doNothing().when(mockWriteTx).merge(any(), any()); doNothing().when(mockWriteTx).delete(any()); doReturn(mockCohort).when(mockWriteTx).ready(); return mockWriteTx; - }).when(mockTxChain).newWriteOnlyTransaction(); + }).when(mockTxChain).newReadWriteTransaction(); return mockTxChain; }).doAnswer(invocation -> realOperStore.createTransactionChain()).when(spiedOperStore).createTransactionChain(); diff --git a/bgp/path-selection-mode/pom.xml b/bgp/path-selection-mode/pom.xml index b2bc75af41..ea936de7ff 100644 --- a/bgp/path-selection-mode/pom.xml +++ b/bgp/path-selection-mode/pom.xml @@ -85,13 +85,8 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test-jar test diff --git a/bgp/path-selection-mode/src/test/java/org/opendaylight/protocol/bgp/mode/impl/BGPPeerTrackerMock.java b/bgp/path-selection-mode/src/test/java/org/opendaylight/protocol/bgp/mode/impl/BGPPeerTrackerMock.java index 615b062e06..67cdc28e11 100644 --- a/bgp/path-selection-mode/src/test/java/org/opendaylight/protocol/bgp/mode/impl/BGPPeerTrackerMock.java +++ b/bgp/path-selection-mode/src/test/java/org/opendaylight/protocol/bgp/mode/impl/BGPPeerTrackerMock.java @@ -7,14 +7,14 @@ */ package org.opendaylight.protocol.bgp.mode.impl; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import org.junit.Before; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; import org.opendaylight.protocol.bgp.rib.spi.BGPPeerTracker; import org.opendaylight.protocol.bgp.rib.spi.Peer; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.PeerId; diff --git a/bgp/rib-impl/pom.xml b/bgp/rib-impl/pom.xml index 2fe3cafb85..39f161e9b3 100644 --- a/bgp/rib-impl/pom.xml +++ b/bgp/rib-impl/pom.xml @@ -82,16 +82,20 @@ concepts - org.opendaylight.controller - sal-core-api + org.opendaylight.mdsal + mdsal-dom-api - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api + + + org.opendaylight.yangtools + util org.opendaylight.yangtools @@ -259,22 +263,17 @@ org.opendaylight.mdsal - mdsal-binding-dom-adapter - test - - - org.opendaylight.controller - sal-broker-impl + mdsal-dom-broker test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AbstractPeer.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AbstractPeer.java index a957b730e9..561490ae54 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AbstractPeer.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AbstractPeer.java @@ -21,14 +21,14 @@ import java.util.Set; import java.util.concurrent.ExecutionException; import org.checkerframework.checker.lock.qual.GuardedBy; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -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.TransactionChain; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.protocol.bgp.mode.impl.BGPRouteEntryExportParametersImpl; import org.opendaylight.protocol.bgp.rib.impl.spi.PeerTransactionChain; import org.opendaylight.protocol.bgp.rib.impl.spi.RIB; @@ -70,7 +70,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; abstract class AbstractPeer extends BGPPeerStateImpl implements BGPRouteEntryImportParameters, TransactionChainListener, - Peer, PeerTransactionChain { + DOMTransactionChainListener, Peer, PeerTransactionChain { private static final Logger LOG = LoggerFactory.getLogger(AbstractPeer.class); protected final RIB rib; final String name; @@ -80,7 +80,7 @@ abstract class AbstractPeer extends BGPPeerStateImpl implements BGPRouteEntryImp @GuardedBy("this") private DOMTransactionChain domChain; @GuardedBy("this") - BindingTransactionChain bindingChain; + TransactionChain bindingChain; byte[] rawIdentifier; @GuardedBy("this") PeerId peerId; @@ -124,7 +124,7 @@ abstract class AbstractPeer extends BGPPeerStateImpl implements BGPRouteEntryImp return CommitInfo.emptyFluentFuture(); } LOG.info("Closed per Peer {} removed", peerPath); - final DOMDataWriteTransaction tx = this.domChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.domChain.newWriteOnlyTransaction(); tx.delete(LogicalDatastoreType.OPERATIONAL, peerPath); final FluentFuture future = tx.commit(); future.addCallback(new FutureCallback() { @@ -176,7 +176,12 @@ abstract class AbstractPeer extends BGPPeerStateImpl implements BGPRouteEntryImp } @Override - public final void onTransactionChainSuccessful(final TransactionChain chain) { + public final void onTransactionChainSuccessful(final DOMTransactionChain chain) { + LOG.debug("Transaction chain {} successful.", chain); + } + + @Override + public final void onTransactionChainSuccessful(final TransactionChain chain) { LOG.debug("Transaction chain {} successful.", chain); } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibInWriter.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibInWriter.java index 136bd29977..3b020082c7 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibInWriter.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibInWriter.java @@ -16,12 +16,10 @@ import static org.opendaylight.protocol.bgp.rib.spi.RIBNodeIdentifiers.TABLES_NI import static org.opendaylight.protocol.bgp.rib.spi.RIBNodeIdentifiers.UPTODATE_NID; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.MoreExecutors; import java.util.Collection; import java.util.Collections; @@ -30,6 +28,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Map.Entry; +import java.util.Optional; import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; @@ -37,10 +36,10 @@ import java.util.stream.Collectors; import org.checkerframework.checker.lock.qual.GuardedBy; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.rib.impl.ApplicationPeer.RegisterAppPeerListener; import org.opendaylight.protocol.bgp.rib.impl.spi.PeerTransactionChain; import org.opendaylight.protocol.bgp.rib.impl.spi.RIBSupportContext; @@ -147,7 +146,7 @@ final class AdjRibInWriter { final RIBSupportContextRegistry registry, final Set tableTypes, final Map addPathTablesType, final @Nullable RegisterAppPeerListener registerAppPeerListener) { - final DOMDataWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); createEmptyPeerStructure(newPeerId, peerPath, tx); final ImmutableMap tb = createNewTableInstances(peerPath, registry, tableTypes, @@ -181,7 +180,7 @@ final class AdjRibInWriter { private static ImmutableMap createNewTableInstances( final YangInstanceIdentifier newPeerPath, final RIBSupportContextRegistry registry, final Set tableTypes, final Map addPathTablesType, - final DOMDataWriteTransaction tx) { + final DOMDataTreeWriteTransaction tx) { final Builder tb = ImmutableMap.builder(); for (final TablesKey tableKey : tableTypes) { @@ -201,7 +200,7 @@ final class AdjRibInWriter { private static void installAdjRibInTables(final YangInstanceIdentifier newPeerPath, final TablesKey tableKey, final RIBSupportContext rs, final NodeIdentifierWithPredicates instanceIdentifierKey, - final DOMDataWriteTransaction tx, final Builder tb) { + final DOMDataTreeWriteTransaction tx, final Builder tb) { // We will use table keys very often, make sure they are optimized final InstanceIdentifierBuilder idb = YangInstanceIdentifier.builder(newPeerPath .node(EMPTY_ADJRIBIN.getIdentifier()).node(TABLES_NID)); @@ -218,7 +217,7 @@ final class AdjRibInWriter { private static void installAdjRibsOutTables(final YangInstanceIdentifier newPeerPath, final RIBSupportContext rs, final NodeIdentifierWithPredicates instanceIdentifierKey, final TablesKey tableKey, - final SendReceive sendReceive, final DOMDataWriteTransaction tx) { + final SendReceive sendReceive, final DOMDataTreeWriteTransaction tx) { final NodeIdentifierWithPredicates supTablesKey = RibSupportUtils.toYangKey(SupportedTables.QNAME, tableKey); final DataContainerNodeBuilder tt = Builders.mapEntryBuilder().withNodeIdentifier(supTablesKey); @@ -234,7 +233,7 @@ final class AdjRibInWriter { } private void createEmptyPeerStructure(final PeerId newPeerId, - final YangInstanceIdentifier peerPath, final DOMDataWriteTransaction tx) { + final YangInstanceIdentifier peerPath, final DOMDataTreeWriteTransaction tx) { final NodeIdentifierWithPredicates peerKey = IdentifierUtils.domPeerId(newPeerId); tx.put(LogicalDatastoreType.OPERATIONAL, peerPath, peerSkeleton(peerKey, newPeerId.getValue())); @@ -255,7 +254,7 @@ final class AdjRibInWriter { } void markTableUptodate(final TablesKey tableTypes) { - final DOMDataWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); final TableContext ctx = this.tables.get(tableTypes); tx.merge(LogicalDatastoreType.OPERATIONAL, ctx.getTableId().node(ATTRIBUTES_NID).node(UPTODATE_NID), RIBNormalizedNodes.ATTRIBUTES_UPTODATE_TRUE); @@ -281,7 +280,7 @@ final class AdjRibInWriter { return; } - final DOMDataWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); final Collection routeKeys = ctx.writeRoutes(tx, nlri, attributes); final Collection staleRoutes = this.staleRoutesRegistry.get(key); if (staleRoutes != null) { @@ -311,7 +310,7 @@ final class AdjRibInWriter { return; } LOG.trace("Removing routes {}", nlri); - final DOMDataWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); ctx.removeRoutes(tx, nlri); final FluentFuture future = tx.commit(); this.submitted = future; @@ -341,7 +340,7 @@ final class AdjRibInWriter { void storeStaleRoutes(final Set gracefulTables) { final CountDownLatch latch = new CountDownLatch(gracefulTables.size()); - try (DOMDataReadOnlyTransaction tx = this.chain.getDomChain().newReadOnlyTransaction()) { + try (DOMDataTreeReadTransaction tx = this.chain.getDomChain().newReadOnlyTransaction()) { for (TablesKey tablesKey : gracefulTables) { final TableContext ctx = this.tables.get(tablesKey); if (ctx == null) { @@ -350,7 +349,7 @@ final class AdjRibInWriter { continue; } - Futures.addCallback(tx.read(LogicalDatastoreType.OPERATIONAL, ctx.routesPath()), + tx.read(LogicalDatastoreType.OPERATIONAL, ctx.routesPath()).addCallback( new FutureCallback>>() { @Override public void onSuccess(final Optional> routesOptional) { @@ -400,7 +399,7 @@ final class AdjRibInWriter { return; } LOG.trace("Removing routes {}", routeKeys); - final DOMDataWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.getDomChain().newWriteOnlyTransaction(); routeKeys.forEach(routeKey -> { tx.delete(LogicalDatastoreType.OPERATIONAL, ctx.routePath(routeKey)); }); @@ -427,7 +426,7 @@ final class AdjRibInWriter { return CommitInfo.emptyFluentFuture(); } - final DOMDataWriteTransaction wtx = this.chain.getDomChain().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wtx = this.chain.getDomChain().newWriteOnlyTransaction(); tablesToClear.forEach(tableKey -> { final TableContext ctx = this.tables.get(tableKey); wtx.delete(LogicalDatastoreType.OPERATIONAL, ctx.routesPath().getParent()); diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibOutListener.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibOutListener.java index 46966ed5af..a3e4dcf683 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibOutListener.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibOutListener.java @@ -19,10 +19,10 @@ import java.util.Optional; import java.util.concurrent.atomic.LongAdder; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.ClusteredDOMDataTreeChangeListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeIdentifier; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.protocol.bgp.rib.impl.spi.Codecs; import org.opendaylight.protocol.bgp.rib.impl.spi.CodecsRegistry; import org.opendaylight.protocol.bgp.rib.impl.state.peer.PrefixesSentCounters; diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/ApplicationPeer.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/ApplicationPeer.java index 87df0873c1..a07686dde8 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/ApplicationPeer.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/ApplicationPeer.java @@ -27,14 +27,16 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChain; -import org.opendaylight.controller.md.sal.dom.api.ClusteredDOMDataTreeChangeListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeIdentifier; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.rib.impl.spi.RIB; import org.opendaylight.protocol.bgp.rib.impl.spi.RIBSupportContextRegistry; @@ -179,7 +181,7 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre LOG.trace("Skipping data changed called to Application Peer. Change : {}", changes); return; } - final DOMDataWriteTransaction tx = getDomChain().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = getDomChain().newWriteOnlyTransaction(); LOG.debug("Received data change to ApplicationRib {}", changes); for (final DataTreeCandidate tc : changes) { LOG.debug("Modification Type {}", tc.getRootNode().getModificationType()); @@ -234,7 +236,7 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre } private static void processWrite(final DataTreeCandidateNode child, final YangInstanceIdentifier tableId, - final DOMDataWriteTransaction tx) { + final DOMDataTreeWriteTransaction tx) { if (child.getDataAfter().isPresent()) { final NormalizedNode dataAfter = child.getDataAfter().get(); LOG.trace("App peer -> AdjRibsIn path : {}", tableId); @@ -244,7 +246,7 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre } private synchronized void processRoutesTable(final DataTreeCandidateNode node, - final YangInstanceIdentifier identifier, final DOMDataWriteTransaction tx, + final YangInstanceIdentifier identifier, final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routeTableIdentifier) { for (final DataTreeCandidateNode child : node.getChildNodes()) { final YangInstanceIdentifier childIdentifier = identifier.node(child.getIdentifier()); @@ -275,7 +277,7 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre } private static void processRouteWrite(final DataTreeCandidateNode child, - final YangInstanceIdentifier childIdentifier, final DOMDataWriteTransaction tx) { + final YangInstanceIdentifier childIdentifier, final DOMDataTreeWriteTransaction tx) { if (child.getDataAfter().isPresent()) { final NormalizedNode dataAfter = child.getDataAfter().get(); LOG.trace("App peer -> AdjRibsIn path : {}", childIdentifier); @@ -328,8 +330,14 @@ public class ApplicationPeer extends AbstractPeer implements ClusteredDOMDataTre } @Override - public void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { + public void onTransactionChainFailed(final DOMTransactionChain chain, final DOMDataTreeTransaction transaction, + final Throwable cause) { + LOG.error("Transaction chain {} failed.", transaction != null ? transaction.getIdentifier() : null, cause); + } + + @Override + public void onTransactionChainFailed(final TransactionChain chain, final Transaction transaction, + final Throwable cause) { LOG.error("Transaction chain {} failed.", transaction != null ? transaction.getIdentifier() : null, cause); } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java index e44a569d2b..ef56d69921 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java @@ -35,11 +35,12 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import org.checkerframework.checker.lock.qual.GuardedBy; import org.checkerframework.checker.lock.qual.Holding; -import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChain; -import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.parser.BGPDocumentedException; import org.opendaylight.protocol.bgp.parser.BGPError; @@ -84,7 +85,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mult import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.mp.reach.nlri.AdvertizedRoutesBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.mp.unreach.nlri.WithdrawnRoutesBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.BgpPeerRpcService; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.peer.rpc.rev180329.PeerContext; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.PeerRole; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.bgp.rib.rib.PeerKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.bgp.rib.rib.peer.AdjRibOut; @@ -96,6 +96,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.type import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.RouteTarget; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.SubsequentAddressFamily; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.UnicastSubsequentAddressFamily; +import org.opendaylight.yangtools.concepts.ObjectRegistration; import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier; @@ -117,7 +118,7 @@ public class BGPPeer extends AbstractPeer implements BGPSessionListener { private final RIB rib; private final Map adjRibOutListenerSet = new HashMap<>(); private final List rtMemberships = new ArrayList<>(); - private final RpcProviderRegistry rpcRegistry; + private final RpcProviderService rpcRegistry; private final BGPTableTypeRegistryConsumer tableTypeRegistry; private final BgpPeer bgpPeer; private InstanceIdentifier peerRibOutIId; @@ -140,7 +141,7 @@ public class BGPPeer extends AbstractPeer implements BGPSessionListener { private AdjRibInWriter ribWriter; @GuardedBy("this") private EffectiveRibInWriter effRibInWriter; - private RoutedRpcRegistration rpcRegistration; + private ObjectRegistration rpcRegistration; private Map addPathTableMaps = Collections.emptyMap(); private YangInstanceIdentifier peerPath; private boolean sessionUp; @@ -157,7 +158,7 @@ public class BGPPeer extends AbstractPeer implements BGPSessionListener { final PeerRole role, final ClusterIdentifier clusterId, final AsNumber localAs, - final RpcProviderRegistry rpcRegistry, + final RpcProviderService rpcRegistry, final Set afiSafisAdvertized, final Set afiSafisGracefulAdvertized, final Map llGracefulTablesAdvertised, @@ -393,13 +394,10 @@ public class BGPPeer extends AbstractPeer implements BGPSessionListener { this.tables, this.addPathTableMaps); if (this.rpcRegistry != null) { - this.rpcRegistration = this.rpcRegistry.addRoutedRpcImplementation(BgpPeerRpcService.class, - new BgpPeerRpc(this, session, this.tables)); - final KeyedInstanceIdentifier path = this.rib.getInstanceIdentifier() - .child(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.bgp - .rib.rib.Peer.class, new PeerKey(this.peerId)); - this.rpcRegistration.registerPath(PeerContext.class, path); + this.rpcRegistration = this.rpcRegistry.registerRpcImplementation(BgpPeerRpcService.class, + new BgpPeerRpc(this, session, this.tables), ImmutableSet.of(this.rib.getInstanceIdentifier().child( + org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.bgp.rib.rib + .Peer.class, new PeerKey(this.peerId)))); } } else { final Set forwardingTables; @@ -649,8 +647,15 @@ public class BGPPeer extends AbstractPeer implements BGPSessionListener { } @Override - public synchronized void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { + public synchronized void onTransactionChainFailed(final DOMTransactionChain chain, + final DOMDataTreeTransaction transaction, final Throwable cause) { + LOG.error("Transaction domChain failed.", cause); + releaseConnection(); + } + + @Override + public synchronized void onTransactionChainFailed(final TransactionChain chain, final Transaction transaction, + final Throwable cause) { LOG.error("Transaction domChain failed.", cause); releaseConnection(); } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/EffectiveRibInWriter.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/EffectiveRibInWriter.java index 4024d59d81..064b021274 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/EffectiveRibInWriter.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/EffectiveRibInWriter.java @@ -34,13 +34,13 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.atomic.LongAdder; import org.checkerframework.checker.lock.qual.GuardedBy; import org.checkerframework.checker.lock.qual.Holding; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.ClusteredDOMDataTreeChangeListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeIdentifier; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.parser.impl.message.update.CommunityUtil; import org.opendaylight.protocol.bgp.rib.impl.spi.RIB; @@ -179,7 +179,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn } LOG.trace("Data changed called to effective RIB. Change : {}", changes); - DOMDataWriteTransaction tx = null; + DOMDataTreeWriteTransaction tx = null; for (final DataTreeCandidate tc : changes) { final YangInstanceIdentifier rootPath = tc.getRootPath(); final DataTreeCandidateNode root = tc.getRootNode(); @@ -270,7 +270,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn } @Holding("this") - private void changeDataTree(final DOMDataWriteTransaction tx, final YangInstanceIdentifier rootPath, + private void changeDataTree(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier rootPath, final DataTreeCandidateNode root, final DataTreeCandidateNode table) { final PathArgument lastArg = table.getIdentifier(); verify(lastArg instanceof NodeIdentifierWithPredicates, "Unexpected type %s in path %s", lastArg.getClass(), @@ -306,14 +306,14 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn } } - private void deleteTable(final DOMDataWriteTransaction tx, final RIBSupportContext ribContext, + private void deleteTable(final DOMDataTreeWriteTransaction tx, final RIBSupportContext ribContext, final YangInstanceIdentifier effectiveTablePath, final DataTreeCandidateNode table) { LOG.debug("Delete Effective Table {}", effectiveTablePath); onDeleteTable(ribContext.getRibSupport(), effectiveTablePath, table.getDataBefore()); tx.delete(LogicalDatastoreType.OPERATIONAL, effectiveTablePath); } - private void modifyTable(final DOMDataWriteTransaction tx, final RIBSupportContext ribContext, + private void modifyTable(final DOMDataTreeWriteTransaction tx, final RIBSupportContext ribContext, final YangInstanceIdentifier effectiveTablePath, final DataTreeCandidateNode table) { LOG.debug("Modify Effective Table {}", effectiveTablePath); @@ -367,7 +367,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn }); } - private void writeTable(final DOMDataWriteTransaction tx, final RIBSupportContext ribContext, + private void writeTable(final DOMDataTreeWriteTransaction tx, final RIBSupportContext ribContext, final YangInstanceIdentifier effectiveTablePath, final DataTreeCandidateNode table) { LOG.debug("Write Effective Table {}", effectiveTablePath); onDeleteTable(ribContext.getRibSupport(), effectiveTablePath, table.getDataBefore()); @@ -404,7 +404,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn } } - private void deleteRoutesBefore(final DOMDataWriteTransaction tx, final RIBSupport ribSupport, + private void deleteRoutesBefore(final DOMDataTreeWriteTransaction tx, final RIBSupport ribSupport, final YangInstanceIdentifier effectiveTablePath, final DataTreeCandidateNode modifiedRoutes) { final Optional> maybeRoutesBefore = NormalizedNodes.findNode( modifiedRoutes.getDataBefore(), ribSupport.relativeRoutesPath()); @@ -413,7 +413,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn } } - private void writeRoutesAfter(final DOMDataWriteTransaction tx, final RIBSupport ribSupport, + private void writeRoutesAfter(final DOMDataTreeWriteTransaction tx, final RIBSupport ribSupport, final YangInstanceIdentifier effectiveTablePath, final Optional> routesAfter, final boolean longLivedStale) { final Optional> maybeRoutesAfter = NormalizedNodes.findNode(routesAfter, @@ -441,7 +441,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn CountersUtil.add(prefixesInstalled.get(tablesKey), tablesKey, -deletedRoutes.size()); } - private void processRoute(final DOMDataWriteTransaction tx, final RIBSupport ribSupport, + private void processRoute(final DOMDataTreeWriteTransaction tx, final RIBSupport ribSupport, final YangInstanceIdentifier routesPath, final DataTreeCandidateNode route, final boolean longLivedStale) { LOG.debug("Process route {}", route.getIdentifier()); final YangInstanceIdentifier routePath = ribSupport.routePath(routesPath, route.getIdentifier()); @@ -465,7 +465,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn } } - private void deleteRoute(final DOMDataWriteTransaction tx, final RIBSupport ribSupport, + private void deleteRoute(final DOMDataTreeWriteTransaction tx, final RIBSupport ribSupport, final YangInstanceIdentifier routeIdPath, final NormalizedNode route) { handleRouteTarget(ModificationType.DELETE, ribSupport, routeIdPath, route); tx.delete(LogicalDatastoreType.OPERATIONAL, routeIdPath); @@ -474,7 +474,7 @@ final class EffectiveRibInWriter implements PrefixesReceivedCounters, PrefixesIn CountersUtil.decrement(this.prefixesInstalled.get(tablesKey), tablesKey); } - private void writeRoute(final DOMDataWriteTransaction tx, final RIBSupport ribSupport, + private void writeRoute(final DOMDataTreeWriteTransaction tx, final RIBSupport ribSupport, final YangInstanceIdentifier routePath, final Optional> routeBefore, final NormalizedNode routeAfter, final boolean longLivedStale) { final TablesKey tablesKey = ribSupport.getTablesKey(); diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/LocRibWriter.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/LocRibWriter.java index c213b2de79..1d1b32abb8 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/LocRibWriter.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/LocRibWriter.java @@ -21,15 +21,15 @@ import java.util.Set; import java.util.concurrent.atomic.LongAdder; import org.checkerframework.checker.lock.qual.GuardedBy; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -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.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.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.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.mode.api.PathSelectionMode; import org.opendaylight.protocol.bgp.mode.api.RouteEntry; import org.opendaylight.protocol.bgp.rib.impl.spi.RibOutRefresh; @@ -89,12 +89,12 @@ final class LocRibWriter, S ext private final KeyedInstanceIdentifier ribIId; private final KeyedInstanceIdentifier locRibTableIID; - private BindingTransactionChain chain; + private TransactionChain chain; @GuardedBy("this") private ListenerRegistration reg; private LocRibWriter(final RIBSupport ribSupport, - final BindingTransactionChain chain, + final TransactionChain chain, final KeyedInstanceIdentifier ribIId, final Long ourAs, final DataBroker dataBroker, @@ -121,7 +121,7 @@ final class LocRibWriter, S ext LocRibWriter create( final @NonNull RIBSupport ribSupport, final @NonNull Class afiSafiType, - final @NonNull BindingTransactionChain chain, + final @NonNull TransactionChain chain, final @NonNull KeyedInstanceIdentifier ribIId, final @NonNull AsNumber ourAs, final @NonNull DataBroker dataBroker, @@ -152,7 +152,7 @@ final class LocRibWriter, S ext final InstanceIdentifier tableId = this.ribIId.builder().child(Peer.class) .child(EffectiveRibIn.class).child(Tables.class, getTableKey()).build(); this.reg = this.dataBroker.registerDataTreeChangeListener( - new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, tableId), this); + DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, tableId), this); } /** @@ -160,7 +160,7 @@ final class LocRibWriter, S ext * * @param newChain new transaction chain */ - synchronized void restart(final @NonNull BindingTransactionChain newChain) { + synchronized void restart(final @NonNull TransactionChain newChain) { requireNonNull(newChain); close(); this.chain = newChain; diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java index 584acb2e0f..c49d5b7f5c 100755 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBImpl.java @@ -26,18 +26,19 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ExecutionException; import org.checkerframework.checker.lock.qual.GuardedBy; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChain; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBrokerExtension; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataBrokerExtension; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration; import org.opendaylight.protocol.bgp.mode.api.PathSelectionMode; import org.opendaylight.protocol.bgp.mode.impl.base.BasePathSelectionModeFactory; @@ -85,7 +86,7 @@ import org.slf4j.LoggerFactory; // This class is thread-safe public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionChainListener, - SchemaContextListener, AutoCloseable { + DOMTransactionChainListener, SchemaContextListener, AutoCloseable { private static final Logger LOG = LoggerFactory.getLogger(RIBImpl.class); private static final QName RIB_ID_QNAME = QName.create(Rib.QNAME, "id").intern(); @@ -102,7 +103,7 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh private final CodecsRegistryImpl codecsRegistry; private final BGPTableTypeRegistryConsumer tableTypeRegistry; private final DOMDataBrokerExtension domService; - private final Map, LocRibWriter> txChainToLocRibWriter = new HashMap<>(); + private final Map txChainToLocRibWriter = new HashMap<>(); private final Map bestPathSelectionStrategies; private final RibId ribId; private final BGPPeerTracker peerTracker = new BGPPeerTrackerImpl(); @@ -139,7 +140,7 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh this.localTablesKeys = new HashSet<>(); this.domDataBroker = requireNonNull(domDataBroker); this.dataBroker = requireNonNull(dataBroker); - this.domService = this.domDataBroker.getSupportedExtensions().get(DOMDataTreeChangeService.class); + this.domService = this.domDataBroker.getExtensions().get(DOMDataTreeChangeService.class); this.extensions = requireNonNull(extensions); this.ribPolicies = requireNonNull(ribPolicies); this.codecsRegistry = codecsRegistry; @@ -158,7 +159,7 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh private synchronized void startLocRib(final TablesKey key) { LOG.debug("Creating LocRib table for {}", key); // create locRibWriter for each table - final DOMDataWriteTransaction tx = this.domChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.domChain.newWriteOnlyTransaction(); final RIBSupport ribSupport = this.ribContextRegistry.getRIBSupport(key); if (ribSupport != null) { @@ -185,7 +186,7 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh return; } LOG.debug("Creating LocRIB writer for key {}", key); - final BindingTransactionChain txChain = createPeerChain(this); + final TransactionChain txChain = createPeerChain(this); PathSelectionMode pathSelectionStrategy = this.bestPathSelectionStrategies.get(key); if (pathSelectionStrategy == null) { pathSelectionStrategy = BasePathSelectionModeFactory.createBestPathSelectionStrategy(); @@ -241,13 +242,13 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh } @Override - public synchronized void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, final Throwable cause) { + public synchronized void onTransactionChainFailed(final TransactionChain chain, + final Transaction transaction, final Throwable cause) { LOG.error("Broken chain in RIB {} transaction {}", getInstanceIdentifier(), transaction != null ? transaction.getIdentifier() : null, cause); if (this.txChainToLocRibWriter.containsKey(chain)) { final LocRibWriter locRibWriter = this.txChainToLocRibWriter.remove(chain); - final BindingTransactionChain newChain = createPeerChain(this); + final TransactionChain newChain = createPeerChain(this); startLocRib(locRibWriter.getTableKey()); locRibWriter.restart(newChain); this.txChainToLocRibWriter.put(newChain, locRibWriter); @@ -255,7 +256,19 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public synchronized void onTransactionChainFailed(final DOMTransactionChain chain, + final DOMDataTreeTransaction transaction, final Throwable cause) { + LOG.error("Broken chain in RIB {} transaction {}", + getInstanceIdentifier(), transaction != null ? transaction.getIdentifier() : null, cause); + } + + @Override + public void onTransactionChainSuccessful(final TransactionChain chain) { + LOG.info("RIB {} closed successfully", getInstanceIdentifier()); + } + + @Override + public void onTransactionChainSuccessful(final DOMTransactionChain chain) { LOG.info("RIB {} closed successfully", getInstanceIdentifier()); } @@ -303,13 +316,13 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh } @Override - public BindingTransactionChain createPeerChain(final TransactionChainListener listener) { - return this.dataBroker.createTransactionChain(listener); + public TransactionChain createPeerChain(final TransactionChainListener listener) { + return this.dataBroker.createMergingTransactionChain(listener); } @Override - public DOMTransactionChain createPeerDOMChain(final TransactionChainListener listener) { - return this.domDataBroker.createTransactionChain(listener); + public DOMTransactionChain createPeerDOMChain(final DOMTransactionChainListener listener) { + return this.domDataBroker.createMergingTransactionChain(listener); } @Override @@ -335,7 +348,7 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh public synchronized void instantiateServiceInstance() { this.isServiceInstantiated = true; setActive(true); - this.domChain = this.domDataBroker.createTransactionChain(this); + this.domChain = this.domDataBroker.createMergingTransactionChain(this); LOG.debug("Instantiating RIB table {} at {}", this.ribId, this.yangRibId); final ContainerNode bgpRib = Builders.containerBuilder().withNodeIdentifier(BGPRIB_NID) @@ -349,7 +362,7 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh .addChild(ImmutableNodes.mapNodeBuilder(TABLES_NID).build()) .build()).build(); - final DOMDataWriteTransaction trans = this.domChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction trans = this.domChain.newWriteOnlyTransaction(); // merge empty BgpRib + Rib, to make sure the top-level parent structure is present trans.merge(LogicalDatastoreType.OPERATIONAL, YangInstanceIdentifier.create(BGPRIB_NID), bgpRib); @@ -379,7 +392,7 @@ public final class RIBImpl extends BGPRibStateImpl implements RIB, TransactionCh this.txChainToLocRibWriter.values().forEach(LocRibWriter::close); this.txChainToLocRibWriter.clear(); - final DOMDataWriteTransaction t = this.domChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction t = this.domChain.newWriteOnlyTransaction(); t.delete(LogicalDatastoreType.OPERATIONAL, getYangRibId()); final FluentFuture cleanFuture = t.commit(); cleanFuture.addCallback(new FutureCallback() { diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextImpl.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextImpl.java index 939732f7d5..a092ceb5f2 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextImpl.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/RIBSupportContextImpl.java @@ -11,8 +11,8 @@ import static java.util.Objects.requireNonNull; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.Collection; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.rib.impl.spi.Codecs; import org.opendaylight.protocol.bgp.rib.impl.spi.CodecsRegistry; import org.opendaylight.protocol.bgp.rib.impl.spi.RIBSupportContext; @@ -42,7 +42,7 @@ class RIBSupportContextImpl extends RIBSupportContext { } @Override - public Collection writeRoutes(final DOMDataWriteTransaction tx, + public Collection writeRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tableId, final MpReachNlri nlri, final Attributes attributes) { @@ -52,12 +52,12 @@ class RIBSupportContextImpl extends RIBSupportContext { } @Override - public void createEmptyTableStructure(final DOMDataWriteTransaction tx, final YangInstanceIdentifier tableId) { + public void createEmptyTableStructure(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tableId) { tx.put(LogicalDatastoreType.OPERATIONAL, tableId, this.ribSupport.emptyTable()); } @Override - public void deleteRoutes(final DOMDataWriteTransaction tx, final YangInstanceIdentifier tableId, + public void deleteRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tableId, final MpUnreachNlri nlri) { this.ribSupport.deleteRoutes(tx, tableId, this.codecs.serializeUnreachNlri(nlri)); } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java index 6ab5a6048a..30e18e47bf 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/TableContext.java @@ -10,8 +10,8 @@ package org.opendaylight.protocol.bgp.rib.impl; import static java.util.Objects.requireNonNull; import java.util.Collection; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.rib.impl.spi.RIBSupportContext; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.MpReachNlri; @@ -41,20 +41,20 @@ final class TableContext { } - void createEmptyTableStructure(final DOMDataWriteTransaction tx) { + void createEmptyTableStructure(final DOMDataTreeWriteTransaction tx) { this.tableSupport.createEmptyTableStructure(tx, this.tableId); } - void removeTable(final DOMDataWriteTransaction tx) { + void removeTable(final DOMDataTreeWriteTransaction tx) { tx.delete(LogicalDatastoreType.OPERATIONAL, this.tableId); } - Collection writeRoutes(final DOMDataWriteTransaction tx, final MpReachNlri nlri, + Collection writeRoutes(final DOMDataTreeWriteTransaction tx, final MpReachNlri nlri, final Attributes attributes) { return this.tableSupport.writeRoutes(tx, this.tableId, nlri, attributes); } - void removeRoutes(final DOMDataWriteTransaction tx, final MpUnreachNlri nlri) { + void removeRoutes(final DOMDataTreeWriteTransaction tx, final MpUnreachNlri nlri) { this.tableSupport.deleteRoutes(tx, this.tableId, nlri); } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/AppPeer.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/AppPeer.java index d09e2d7fe3..2f7fcfc06e 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/AppPeer.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/AppPeer.java @@ -6,6 +6,7 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.protocol.bgp.rib.impl.config; + import static org.opendaylight.protocol.bgp.rib.spi.RIBNodeIdentifiers.TABLES_NID; import com.google.common.base.Preconditions; @@ -13,10 +14,10 @@ import com.google.common.base.Strings; import com.google.common.util.concurrent.FluentFuture; import java.util.Objects; import org.checkerframework.checker.lock.qual.GuardedBy; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.rib.impl.ApplicationPeer; import org.opendaylight.protocol.bgp.rib.impl.spi.RIB; diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BGPClusterSingletonService.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BGPClusterSingletonService.java index e9c7a25a5c..ad74d4ed88 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BGPClusterSingletonService.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BGPClusterSingletonService.java @@ -29,12 +29,12 @@ import org.apache.commons.lang3.StringUtils; import org.checkerframework.checker.lock.qual.GuardedBy; import org.checkerframework.checker.lock.qual.Holding; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.DataObjectModification; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataObjectModification; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; @@ -77,7 +77,7 @@ public final class BGPClusterSingletonService implements ClusterSingletonService private final DOMDataBroker domBroker; private final DataBroker dataBroker; private final DOMSchemaService schemaService; - private final RpcProviderRegistry rpcRegistry; + private final RpcProviderService rpcRegistry; BGPClusterSingletonService( final @NonNull PeerGroupConfigLoader peerGroupLoader, @@ -91,7 +91,7 @@ public final class BGPClusterSingletonService implements ClusterSingletonService final @NonNull DOMDataBroker domBroker, final @NonNull DataBroker dataBroker, final @NonNull DOMSchemaService schemaService, - final @NonNull RpcProviderRegistry rpcRegistry) { + final @NonNull RpcProviderService rpcRegistry) { this.peerGroupLoader = peerGroupLoader; this.tableTypeRegistry = tableTypeRegistry; this.bgpIid = bgpIid; diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImpl.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImpl.java index 20a4092d32..4fca4efba8 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImpl.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImpl.java @@ -24,18 +24,18 @@ import java.util.Optional; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; import org.checkerframework.checker.lock.qual.GuardedBy; -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.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.dom.api.DOMDataBroker; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +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.binding.api.ReadTransaction; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.BGPRibRoutingPolicyFactory; @@ -90,7 +90,7 @@ public final class BgpDeployerImpl implements ClusteredDataTreeChangeListener(LogicalDatastoreType.CONFIGURATION, + DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, this.networkInstanceIId.child(Protocols.class).child(Protocol.class) .augmentation(NetworkInstanceProtocol.class).child(Bgp.class)), this); LOG.info("BGP Deployer {} started.", this.networkInstanceName); @@ -139,8 +139,8 @@ public final class BgpDeployerImpl implements ClusteredDataTreeChangeListener loadPeerGroup(final InstanceIdentifier peerGroupIid) throws ExecutionException, InterruptedException { - final ReadOnlyTransaction tr = this.dataBroker.newReadOnlyTransaction(); - return tr.read(LogicalDatastoreType.CONFIGURATION, peerGroupIid).get().toJavaUtil(); + final ReadTransaction tr = this.dataBroker.newReadOnlyTransaction(); + return tr.read(LogicalDatastoreType.CONFIGURATION, peerGroupIid).get(); } @Override diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeer.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeer.java index 633368bbbd..ad23fa70f6 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeer.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeer.java @@ -24,7 +24,7 @@ import java.util.Set; import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; import org.checkerframework.checker.lock.qual.GuardedBy; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.parser.BgpExtendedMessageUtil; @@ -72,13 +72,13 @@ public class BgpPeer implements PeerBean, BGPPeerStateConsumer { private static final Logger LOG = LoggerFactory.getLogger(BgpPeer.class); - private final RpcProviderRegistry rpcRegistry; + private final RpcProviderService rpcRegistry; @GuardedBy("this") private Neighbor currentConfiguration; @GuardedBy("this") private BgpPeerSingletonService bgpPeerSingletonService; - public BgpPeer(final RpcProviderRegistry rpcRegistry) { + public BgpPeer(final RpcProviderService rpcRegistry) { this.rpcRegistry = rpcRegistry; } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImpl.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImpl.java index 4baecc3ec7..ab227dc901 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImpl.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImpl.java @@ -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.protocol.bgp.rib.impl.config; import static org.opendaylight.protocol.bgp.rib.impl.config.OpenConfigMappingUtil.getAfiSafiWithDefault; @@ -18,15 +17,16 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; import org.opendaylight.mdsal.dom.api.DOMSchemaService; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.protocol.bgp.mode.api.PathSelectionMode; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.BGPRibRoutingPolicyFactory; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; @@ -143,12 +143,12 @@ public final class RibImpl implements RIB, BGPRibStateConsumer, AutoCloseable { } @Override - public DOMTransactionChain createPeerDOMChain(final TransactionChainListener listener) { + public DOMTransactionChain createPeerDOMChain(final DOMTransactionChainListener listener) { return this.ribImpl.createPeerDOMChain(listener); } @Override - public BindingTransactionChain createPeerChain(final TransactionChainListener listener) { + public TransactionChain createPeerChain(final TransactionChainListener listener) { return this.ribImpl.createPeerChain(listener); } diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/PeerTransactionChain.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/PeerTransactionChain.java index bdd7005925..401d8854b0 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/PeerTransactionChain.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/PeerTransactionChain.java @@ -5,10 +5,9 @@ * 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.protocol.bgp.rib.impl.spi; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; /** * Provides access to unique DOMTransactionChain per Peer. diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java index 2edfb2e6b2..530ae472f4 100755 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIB.java @@ -9,11 +9,12 @@ package org.opendaylight.protocol.bgp.rib.impl.spi; import java.util.Set; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.protocol.bgp.rib.spi.BGPPeerTracker; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext; @@ -53,7 +54,7 @@ public interface RIB extends RibReference, RibOutRefresh { * @param listener {@link TransactionChainListener} handling recovery * @return A new transaction chain. */ - DOMTransactionChain createPeerDOMChain(TransactionChainListener listener); + DOMTransactionChain createPeerDOMChain(DOMTransactionChainListener listener); /** * Allocate a new transaction chain for use with a peer. @@ -61,7 +62,7 @@ public interface RIB extends RibReference, RibOutRefresh { * @param listener {@link TransactionChainListener} handling recovery * @return A new transaction chain. */ - BindingTransactionChain createPeerChain(TransactionChainListener listener); + TransactionChain createPeerChain(TransactionChainListener listener); /** * Return the RIB extensions available to the RIB instance. diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java index 2dd8ca8fa6..b521dbc911 100644 --- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java +++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/spi/RIBSupportContext.java @@ -8,7 +8,7 @@ package org.opendaylight.protocol.bgp.rib.impl.spi; import java.util.Collection; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.rib.spi.RIBSupport; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.MpReachNlri; @@ -36,7 +36,7 @@ public abstract class RIBSupportContext { * @param tx Transaction to to be used * @param tableId Instance Identifier of table to be cleared. */ - public abstract void createEmptyTableStructure(DOMDataWriteTransaction tx, YangInstanceIdentifier tableId); + public abstract void createEmptyTableStructure(DOMDataTreeWriteTransaction tx, YangInstanceIdentifier tableId); /** * Removes supplied routes from RIB table using supplied transaction. @@ -45,7 +45,8 @@ public abstract class RIBSupportContext { * @param tableId Instance Identifier of table to be updated * @param nlri UnreachNlri which contains routes to be removed. */ - public abstract void deleteRoutes(DOMDataWriteTransaction tx, YangInstanceIdentifier tableId, MpUnreachNlri nlri); + public abstract void deleteRoutes(DOMDataTreeWriteTransaction tx, YangInstanceIdentifier tableId, + MpUnreachNlri nlri); /** * Writes supplied routes and attributes to RIB table using supplied transaction. @@ -56,7 +57,7 @@ public abstract class RIBSupportContext { * @param attributes Attributes which should be written. * @return Set of processed route key identifiers */ - public abstract Collection writeRoutes(DOMDataWriteTransaction tx, + public abstract Collection writeRoutes(DOMDataTreeWriteTransaction tx, YangInstanceIdentifier tableId, MpReachNlri nlri, Attributes attributes); diff --git a/bgp/rib-impl/src/main/resources/OSGI-INF/blueprint/bgp-rib.xml b/bgp/rib-impl/src/main/resources/OSGI-INF/blueprint/bgp-rib.xml index bd9d1866de..f719795854 100644 --- a/bgp/rib-impl/src/main/resources/OSGI-INF/blueprint/bgp-rib.xml +++ b/bgp/rib-impl/src/main/resources/OSGI-INF/blueprint/bgp-rib.xml @@ -31,13 +31,13 @@ - + - + - + - \ No newline at end of file + diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AbstractRIBTestSetup.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AbstractRIBTestSetup.java index 0a36cf3c29..1de7bd2e86 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AbstractRIBTestSetup.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AbstractRIBTestSetup.java @@ -14,34 +14,23 @@ import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import com.google.common.base.Optional; -import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.util.concurrent.FluentFuture; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.EventListener; -import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.Map; +import java.util.Optional; import java.util.concurrent.Executor; import org.junit.After; import org.junit.Before; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -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.dom.api.ClusteredDOMDataTreeChangeListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBrokerExtension; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeIdentifier; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.binding.api.ReadTransaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; import org.opendaylight.mdsal.binding.dom.codec.impl.BindingNormalizedNodeCodecRegistry; import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy; @@ -49,6 +38,13 @@ import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext; import org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.ClusteredDOMDataTreeChangeListener; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration; @@ -65,7 +61,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.BgpTableType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.BgpRib; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.RibId; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.bgp.rib.Rib; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.AddressFamily; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.BgpId; @@ -74,6 +69,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.type import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.SubsequentAddressFamily; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.UnicastSubsequentAddressFamily; import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.util.concurrent.FluentFutures; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.QName; @@ -110,7 +106,7 @@ public class AbstractRIBTestSetup extends DefaultRibPoliciesMockTest { private DOMDataBroker dom; @Mock - private BindingTransactionChain chain; + private TransactionChain chain; @Mock private WriteTransaction transWrite; @@ -119,14 +115,11 @@ public class AbstractRIBTestSetup extends DefaultRibPoliciesMockTest { private DOMTransactionChain domChain; @Mock - private DOMDataWriteTransaction domTransWrite; + private DOMDataTreeWriteTransaction domTransWrite; @Mock private FluentFuture future; - @Mock - private Optional optRib; - @Mock private DOMDataTreeChangeService service; @@ -176,31 +169,28 @@ public class AbstractRIBTestSetup extends DefaultRibPoliciesMockTest { @SuppressWarnings("unchecked") private void mockedMethods() throws Exception { MockitoAnnotations.initMocks(this); - final ReadOnlyTransaction readTx = mock(ReadOnlyTransaction.class); + final ReadTransaction readTx = mock(ReadTransaction.class); doReturn(new TestListenerRegistration()).when(this.service) .registerDataTreeChangeListener(any(DOMDataTreeIdentifier.class), any(ClusteredDOMDataTreeChangeListener.class)); - final Map, DOMDataBrokerExtension> map = new HashMap<>(); - map.put(DOMDataTreeChangeService.class, this.service); doNothing().when(readTx).close(); - final CheckedFuture, ReadFailedException> readFuture = mock(CheckedFuture.class); doNothing().when(this.domTransWrite).put(eq(LogicalDatastoreType.OPERATIONAL), any(YangInstanceIdentifier.class), any(NormalizedNode.class)); doNothing().when(this.domTransWrite).delete(eq(LogicalDatastoreType.OPERATIONAL), any(YangInstanceIdentifier.class)); doNothing().when(this.domTransWrite).merge(eq(LogicalDatastoreType.OPERATIONAL), any(YangInstanceIdentifier.class), any(NormalizedNode.class)); - doReturn(Optional.absent()).when(readFuture).checkedGet(); - doReturn(readFuture).when(readTx).read(eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class)); + doReturn(FluentFutures.immediateFluentFuture(Optional.empty())).when(readTx) + .read(eq(LogicalDatastoreType.OPERATIONAL), any(InstanceIdentifier.class)); doNothing().when(this.domChain).close(); doReturn(this.domTransWrite).when(this.domChain).newWriteOnlyTransaction(); doNothing().when(getTransaction()).put(eq(LogicalDatastoreType.OPERATIONAL), eq(YangInstanceIdentifier.of(BgpRib.QNAME)), any(NormalizedNode.class)); - doReturn(map).when(this.dom).getSupportedExtensions(); - doReturn(this.domChain).when(this.dom).createTransactionChain(any(AbstractPeer.class)); + doReturn(ImmutableClassToInstanceMap.of(DOMDataTreeChangeService.class, this.service)).when(this.dom) + .getExtensions(); + doReturn(this.domChain).when(this.dom).createMergingTransactionChain(any(AbstractPeer.class)); doReturn(this.transWrite).when(this.chain).newWriteOnlyTransaction(); - doReturn(false).when(this.optRib).isPresent(); - doReturn(this.optRib).when(this.future).get(); + doReturn(Optional.empty()).when(this.future).get(); doReturn(this.future).when(this.domTransWrite).commit(); doNothing().when(this.future).addListener(any(Runnable.class), any(Executor.class)); doNothing().when(this.transWrite).put(eq(LogicalDatastoreType.OPERATIONAL), @@ -251,7 +241,7 @@ public class AbstractRIBTestSetup extends DefaultRibPoliciesMockTest { return this.rib; } - public DOMDataWriteTransaction getTransaction() { + public DOMDataTreeWriteTransaction getTransaction() { return this.domTransWrite; } diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibsInWriterTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibsInWriterTest.java index 76208da89a..a8182ad186 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibsInWriterTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/AdjRibsInWriterTest.java @@ -29,10 +29,10 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.protocol.bgp.rib.impl.spi.PeerTransactionChain; import org.opendaylight.protocol.bgp.rib.impl.spi.RIBSupportContext; import org.opendaylight.protocol.bgp.rib.impl.spi.RIBSupportContextRegistry; @@ -62,7 +62,7 @@ public class AdjRibsInWriterTest { @Mock private DOMTransactionChain chain; @Mock - private DOMDataWriteTransaction tx; + private DOMDataTreeWriteTransaction tx; @Mock private RIBSupportContextRegistry registry; @Mock @@ -115,4 +115,4 @@ public class AdjRibsInWriterTest { verify(this.tx).put(eq(LogicalDatastoreType.OPERATIONAL), eq(peerPath), eq(this.writer.peerSkeleton(IdentifierUtils.peerKey(peerPath), this.peerIp))); } -} \ No newline at end of file +} diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/DefaultRibPoliciesMockTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/DefaultRibPoliciesMockTest.java index 9c682fec0f..92787b49ff 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/DefaultRibPoliciesMockTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/DefaultRibPoliciesMockTest.java @@ -7,7 +7,7 @@ */ package org.opendaylight.protocol.bgp.rib.impl; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import java.util.Collections; @@ -38,6 +38,7 @@ public class DefaultRibPoliciesMockTest extends AbstractStatementRegistryConsume @Mock private Config config; + @Override @Before public void setUp() throws Exception { super.setUp(); diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/FSMTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/FSMTest.java index 36c07fbd3e..2379e859f2 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/FSMTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/FSMTest.java @@ -10,7 +10,7 @@ package org.opendaylight.protocol.bgp.rib.impl; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/ParserToSalTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/ParserToSalTest.java index 5a357fc353..b3708bbf1a 100755 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/ParserToSalTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/ParserToSalTest.java @@ -25,13 +25,13 @@ import java.net.InetSocketAddress; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.concurrent.ExecutionException; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy; import org.opendaylight.protocol.bgp.inet.RIBActivator; import org.opendaylight.protocol.bgp.mode.impl.base.BasePathSelectionModeFactory; @@ -109,7 +109,7 @@ public class ParserToSalTest extends DefaultRibPoliciesMockTest { } @Test - public void testWithLinkstate() throws ReadFailedException { + public void testWithLinkstate() throws InterruptedException, ExecutionException { final List tables = ImmutableList.of(new BgpTableTypeImpl(LinkstateAddressFamily.class, LinkstateSubsequentAddressFamily.class)); @@ -128,7 +128,7 @@ public class ParserToSalTest extends DefaultRibPoliciesMockTest { } @Test - public void testWithoutLinkstate() throws ReadFailedException { + public void testWithoutLinkstate() throws InterruptedException, ExecutionException { final List tables = ImmutableList.of(new BgpTableTypeImpl(Ipv4AddressFamily.class, UnicastSubsequentAddressFamily.class)); final RIBImpl rib = new RIBImpl(this.tableRegistry, new RibId(TEST_RIB_ID), AS_NUMBER, BGP_ID, this.ext1, @@ -155,7 +155,8 @@ public class ParserToSalTest extends DefaultRibPoliciesMockTest { }); } - private void assertTablesExists(final List expectedTables) throws ReadFailedException { + private void assertTablesExists(final List expectedTables) throws InterruptedException, + ExecutionException { readDataOperational(getDataBroker(), BGP_IID, bgpRib -> { final List tables = bgpRib.getRib().get(0).getLocRib().getTables(); assertFalse(tables.isEmpty()); diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/PeerTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/PeerTest.java index 9e74129115..aa43d365f5 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/PeerTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/PeerTest.java @@ -32,7 +32,7 @@ import java.util.concurrent.TimeUnit; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.parser.BGPDocumentedException; import org.opendaylight.protocol.bgp.parser.BGPError; import org.opendaylight.protocol.bgp.parser.impl.message.update.LocalPreferenceAttributeParser; diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/SynchronizationAndExceptionTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/SynchronizationAndExceptionTest.java index ad69e1e60d..0206eee9bb 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/SynchronizationAndExceptionTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/SynchronizationAndExceptionTest.java @@ -24,6 +24,7 @@ import static org.opendaylight.protocol.bgp.rib.spi.RIBNodeIdentifiers.TABLES_NI import static org.opendaylight.protocol.bgp.rib.spi.RIBNodeIdentifiers.UPTODATE_NID; import com.google.common.base.Optional; +import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; @@ -46,12 +47,12 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Matchers; import org.mockito.Mock; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.protocol.bgp.mode.api.PathSelectionMode; import org.opendaylight.protocol.bgp.mode.impl.base.BasePathSelectionModeFactory; import org.opendaylight.protocol.bgp.parser.BgpExtendedMessageUtil; @@ -134,7 +135,7 @@ public class SynchronizationAndExceptionTest extends AbstractAddPathTest { @Mock private DOMTransactionChain domChain; @Mock - private DOMDataWriteTransaction tx; + private DOMDataTreeWriteTransaction tx; @Override @Before @@ -186,7 +187,7 @@ public class SynchronizationAndExceptionTest extends AbstractAddPathTest { doReturn(null).when(futureChannel).addListener(any()); doReturn(futureChannel).when(this.speakerListener).close(); doReturn(futureChannel).when(this.speakerListener).writeAndFlush(any(Notify.class)); - doReturn(this.domChain).when(this.domBroker).createTransactionChain(any()); + doReturn(this.domChain).when(this.domBroker).createMergingTransactionChain(any()); doReturn(this.tx).when(this.domChain).newWriteOnlyTransaction(); final DOMDataTreeChangeService dOMDataTreeChangeService = mock(DOMDataTreeChangeService.class); final ListenerRegistration listener = mock(ListenerRegistration.class); @@ -194,8 +195,8 @@ public class SynchronizationAndExceptionTest extends AbstractAddPathTest { doNothing().when(listener).close(); doNothing().when(this.domChain).close(); - doReturn(Collections.singletonMap(DOMDataTreeChangeService.class, dOMDataTreeChangeService)) - .when(this.domBroker).getSupportedExtensions(); + doReturn(ImmutableClassToInstanceMap.of(DOMDataTreeChangeService.class, dOMDataTreeChangeService)) + .when(this.domBroker).getExtensions(); doNothing().when(this.tx).merge(eq(LogicalDatastoreType.OPERATIONAL), any(YangInstanceIdentifier.class), any(NormalizedNode.class)); doNothing().when(this.tx).put(eq(LogicalDatastoreType.OPERATIONAL), diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/AbstractConfig.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/AbstractConfig.java index 4b54027661..0ecf7fc33a 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/AbstractConfig.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/AbstractConfig.java @@ -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.protocol.bgp.rib.impl.config; import static org.mockito.ArgumentMatchers.any; @@ -24,12 +23,13 @@ import java.util.concurrent.Executor; import org.junit.Before; import org.mockito.Mock; import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl; import org.opendaylight.protocol.bgp.rib.impl.BGPPeerTrackerImpl; @@ -78,7 +78,7 @@ class AbstractConfig extends DefaultRibPoliciesMockTest { @Mock protected Future future; @Mock - protected DOMDataWriteTransaction domDW; + protected DOMDataTreeWriteTransaction domDW; @Mock protected PeerGroupConfigLoader peerGroupLoader; @Mock @@ -92,7 +92,7 @@ class AbstractConfig extends DefaultRibPoliciesMockTest { doReturn(InstanceIdentifier.create(BgpRib.class).child(org.opendaylight.yang.gen.v1.urn.opendaylight .params.xml.ns.yang.bgp.rib.rev180329.bgp.rib.Rib.class, new RibKey(RIB_ID))).when(this.rib) .getInstanceIdentifier(); - doReturn(this.domTx).when(this.rib).createPeerDOMChain(any(TransactionChainListener.class)); + doReturn(this.domTx).when(this.rib).createPeerDOMChain(any(DOMTransactionChainListener.class)); doAnswer(invocation -> { final Object[] args = invocation.getArguments(); return getDataBroker().createTransactionChain((TransactionChainListener) args[0]); diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImplTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImplTest.java index 5bdfa9c8f6..7930153d9f 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImplTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpDeployerImplTest.java @@ -29,14 +29,14 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -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.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataTreeModification; +import org.opendaylight.mdsal.binding.api.RpcProviderService; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; @@ -98,7 +98,7 @@ public class BgpDeployerImplTest extends DefaultRibPoliciesMockTest { @Mock private DOMSchemaService schemaService; @Mock - private RpcProviderRegistry rpcRegistry; + private RpcProviderService rpcRegistry; @Mock private BGPPeerRegistry peerRegistry; private BgpDeployerImpl deployer; @@ -215,4 +215,4 @@ public class BgpDeployerImplTest extends DefaultRibPoliciesMockTest { wr.delete(LogicalDatastoreType.CONFIGURATION, NEIGHBORS_II); wr.commit().get(); } -} \ No newline at end of file +} diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeerTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeerTest.java index 0739185af4..81f7377006 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeerTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/BgpPeerTest.java @@ -24,7 +24,7 @@ import java.util.List; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; +import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.protocol.concepts.KeyMapping; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafi; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.multiprotocol.rev151009.bgp.common.afi.safi.list.AfiSafiBuilder; @@ -124,7 +124,7 @@ public class BgpPeerTest extends AbstractConfig { @Before public void setUp() throws Exception { super.setUp(); - this.bgpPeer = new BgpPeer(Mockito.mock(RpcProviderRegistry.class)); + this.bgpPeer = new BgpPeer(Mockito.mock(RpcProviderService.class)); } @Test diff --git a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImplTest.java b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImplTest.java index b3cb17301b..8643d844ca 100644 --- a/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImplTest.java +++ b/bgp/rib-impl/src/test/java/org/opendaylight/protocol/bgp/rib/impl/config/RibImplTest.java @@ -5,17 +5,17 @@ * 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.protocol.bgp.rib.impl.config; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; +import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.primitives.Shorts; @@ -25,10 +25,10 @@ import java.util.List; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService; import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.protocol.bgp.parser.BgpTableTypeImpl; import org.opendaylight.protocol.bgp.rib.impl.RIBImpl; @@ -97,10 +97,10 @@ public class RibImplTest extends AbstractConfig { ImmutableMap.of(QName.create("", "test").intern(), "t")); doReturn(niie).when(emptyTable).getIdentifier(); doReturn(QName.create("", "test").intern()).when(emptyTable).getNodeType(); - doReturn(this.domTx).when(this.domDataBroker).createTransactionChain(any()); + doReturn(this.domTx).when(this.domDataBroker).createMergingTransactionChain(any()); final DOMDataTreeChangeService dOMDataTreeChangeService = mock(DOMDataTreeChangeService.class); - doReturn(Collections.singletonMap(DOMDataTreeChangeService.class, dOMDataTreeChangeService)) - .when(this.domDataBroker).getSupportedExtensions(); + doReturn(ImmutableClassToInstanceMap.of(DOMDataTreeChangeService.class, dOMDataTreeChangeService)) + .when(this.domDataBroker).getExtensions(); doReturn(this.dataTreeRegistration).when(this.domSchemaService).registerSchemaContextListener(any()); doNothing().when(this.dataTreeRegistration).close(); doReturn(mock(ListenerRegistration.class)).when(dOMDataTreeChangeService) @@ -119,7 +119,7 @@ public class RibImplTest extends AbstractConfig { this.domSchemaService); ribImpl.start(createGlobal(), "rib-test", this.tableTypeRegistry); verify(this.extension).getClassLoadingStrategy(); - verify(this.domDataBroker).getSupportedExtensions(); + verify(this.domDataBroker).getExtensions(); verify(this.domSchemaService).registerSchemaContextListener(any(RIBImpl.class)); assertEquals("RIBImpl{bgpId=Ipv4Address{_value=127.0.0.1}, localTables=[BgpTableTypeImpl [" + "getAfi()=interface org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types." diff --git a/bgp/rib-spi/pom.xml b/bgp/rib-spi/pom.xml index 32816a7966..6f1abb0739 100644 --- a/bgp/rib-spi/pom.xml +++ b/bgp/rib-spi/pom.xml @@ -78,12 +78,12 @@ util - org.opendaylight.controller - sal-core-api + org.opendaylight.mdsal + mdsal-dom-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.mdsal @@ -132,13 +132,8 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupport.java b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupport.java index d4a0e75c56..3d3aed5277 100644 --- a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupport.java +++ b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupport.java @@ -24,10 +24,10 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Optional; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.UpdateBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; @@ -303,7 +303,7 @@ public abstract class AbstractRIBSupport< * @param destination ContainerNode DOM representation of NLRI in Update message * @param routesNodeId NodeIdentifier */ - private void deleteDestinationRoutes(final DOMDataWriteTransaction tx, final YangInstanceIdentifier tablePath, + private void deleteDestinationRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tablePath, final ContainerNode destination, final NodeIdentifier routesNodeId) { processDestination(tx, tablePath.node(routesNodeId), destination, null, DELETE_ROUTE); } @@ -322,13 +322,13 @@ public abstract class AbstractRIBSupport< * @param routesNodeId NodeIdentifier * @return List of processed route identifiers */ - private Collection putDestinationRoutes(final DOMDataWriteTransaction tx, + private Collection putDestinationRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tablePath, final ContainerNode destination, final ContainerNode attributes, final NodeIdentifier routesNodeId) { return processDestination(tx, tablePath.node(routesNodeId), destination, attributes, this.putRoute); } - protected abstract Collection processDestination(DOMDataWriteTransaction tx, + protected abstract Collection processDestination(DOMDataTreeWriteTransaction tx, YangInstanceIdentifier routesPath, ContainerNode destination, ContainerNode attributes, ApplyRoute applyFunction); @@ -399,13 +399,13 @@ public abstract class AbstractRIBSupport< } @Override - public final void deleteRoutes(final DOMDataWriteTransaction tx, final YangInstanceIdentifier tablePath, + public final void deleteRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tablePath, final ContainerNode nlri) { deleteRoutes(tx, tablePath, nlri, ROUTES_NID); } @Override - public final Collection putRoutes(final DOMDataWriteTransaction tx, + public final Collection putRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tablePath, final ContainerNode nlri, final ContainerNode attributes) { @@ -441,7 +441,7 @@ public abstract class AbstractRIBSupport< @Override @SuppressWarnings("checkstyle:OverloadMethodsDeclarationOrder") - public final void deleteRoutes(final DOMDataWriteTransaction tx, final YangInstanceIdentifier tablePath, + public final void deleteRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tablePath, final ContainerNode nlri, final NodeIdentifier routesNodeId) { final Optional> maybeRoutes = nlri.getChild(WITHDRAWN_ROUTES); if (maybeRoutes.isPresent()) { @@ -455,7 +455,7 @@ public abstract class AbstractRIBSupport< } @Override - public final Collection putRoutes(final DOMDataWriteTransaction tx, + public final Collection putRoutes(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier tablePath, final ContainerNode nlri, final ContainerNode attributes, @@ -474,7 +474,7 @@ public abstract class AbstractRIBSupport< private static final class DeleteRoute implements ApplyRoute { @Override - public void apply(final DOMDataWriteTransaction tx, final YangInstanceIdentifier base, + public void apply(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier base, final NodeIdentifierWithPredicates routeKey, final DataContainerNode route, final ContainerNode attributes) { tx.delete(LogicalDatastoreType.OPERATIONAL, base.node(routeKey)); @@ -483,7 +483,7 @@ public abstract class AbstractRIBSupport< private final class PutRoute implements ApplyRoute { @Override - public void apply(final DOMDataWriteTransaction tx, final YangInstanceIdentifier base, + public void apply(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier base, final NodeIdentifierWithPredicates routeKey, final DataContainerNode route, final ContainerNode attributes) { // Build the DataContainer data diff --git a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupport.java b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupport.java index b61bf85573..1297a74729 100644 --- a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupport.java +++ b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupport.java @@ -15,7 +15,7 @@ import java.util.Collection; import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; @@ -107,7 +107,7 @@ public interface RIBSupport< * @param tablePath YangInstanceIdentifier * @param nlri ContainerNode DOM representation of NLRI in Update message */ - void deleteRoutes(@NonNull DOMDataWriteTransaction tx, @NonNull YangInstanceIdentifier tablePath, + void deleteRoutes(@NonNull DOMDataTreeWriteTransaction tx, @NonNull YangInstanceIdentifier tablePath, @NonNull ContainerNode nlri); /** @@ -124,7 +124,7 @@ public interface RIBSupport< * @param nlri ContainerNode DOM representation of NLRI in Update message * @param routesNodeId NodeIdentifier of "routes" data node */ - void deleteRoutes(@NonNull DOMDataWriteTransaction tx, @NonNull YangInstanceIdentifier tablePath, + void deleteRoutes(@NonNull DOMDataTreeWriteTransaction tx, @NonNull YangInstanceIdentifier tablePath, @NonNull ContainerNode nlri, @NonNull NodeIdentifier routesNodeId); /** @@ -137,7 +137,7 @@ public interface RIBSupport< * @param attributes ContainerNode * @return List of processed route Identifiers */ - Collection putRoutes(@NonNull DOMDataWriteTransaction tx, + Collection putRoutes(@NonNull DOMDataTreeWriteTransaction tx, @NonNull YangInstanceIdentifier tablePath, @NonNull ContainerNode nlri, @NonNull ContainerNode attributes); /** @@ -156,7 +156,7 @@ public interface RIBSupport< * @param routesNodeId NodeIdentifier of "routes" data node * @return List of processed routes identifiers */ - Collection putRoutes(@NonNull DOMDataWriteTransaction tx, + Collection putRoutes(@NonNull DOMDataTreeWriteTransaction tx, @NonNull YangInstanceIdentifier tablePath, @NonNull ContainerNode nlri, @NonNull ContainerNode attributes, @NonNull NodeIdentifier routesNodeId); @@ -265,7 +265,7 @@ public interface RIBSupport< ContainerNode attributeToContainerNode(YangInstanceIdentifier routePath, Attributes attributes); interface ApplyRoute { - void apply(@NonNull DOMDataWriteTransaction tx, @NonNull YangInstanceIdentifier base, + void apply(@NonNull DOMDataTreeWriteTransaction tx, @NonNull YangInstanceIdentifier base, @NonNull NodeIdentifierWithPredicates routeKey, @NonNull DataContainerNode route, ContainerNode attributes); } diff --git a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBActivatorTest.java b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBActivatorTest.java index 8516765478..e60cf7c1f5 100644 --- a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBActivatorTest.java +++ b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBActivatorTest.java @@ -5,11 +5,10 @@ * 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.protocol.bgp.rib.spi; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; public abstract class AbstractRIBActivatorTest extends AbstractConcurrentDataBrokerTest { diff --git a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupportTest.java b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupportTest.java index b73908baea..1dde3852f4 100644 --- a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupportTest.java +++ b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/AbstractRIBSupportTest.java @@ -7,7 +7,7 @@ */ package org.opendaylight.protocol.bgp.rib.spi; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.MockitoAnnotations.initMocks; @@ -19,13 +19,13 @@ import java.util.List; import java.util.Map; import org.junit.Before; import org.mockito.Mock; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext; import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; @@ -80,7 +80,7 @@ public abstract class AbstractRIBSupportTest MP_REACH_IID = ATTRIBUTES_IID.augmentation(Attributes1.class) .child(MpReachNlri.class); @Mock - protected DOMDataWriteTransaction tx; + protected DOMDataTreeWriteTransaction tx; protected List> deletedRoutes; protected List, DataObject>> insertedRoutes; diff --git a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTest.java b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTest.java index 32429287e0..d5278196e8 100644 --- a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTest.java +++ b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTest.java @@ -27,11 +27,11 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.UpdateBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; @@ -91,7 +91,7 @@ public class RIBSupportTest extends AbstractConcurrentDataBrokerTest { private DataTreeCandidateNode emptyTree; private DataTreeCandidateNode emptySubTree; private DataTreeCandidateNode subTree; - private DOMDataWriteTransaction tx; + private DOMDataTreeWriteTransaction tx; private ContainerNode nlri; private final Map> routesMap = new HashMap<>(); private ContainerNode attributes; @@ -118,7 +118,7 @@ public class RIBSupportTest extends AbstractConcurrentDataBrokerTest { final Collection emptyCollection = new HashSet<>(); doReturn(emptyCollection).when(node).getChildNodes(); - this.tx = Mockito.mock(DOMDataWriteTransaction.class); + this.tx = Mockito.mock(DOMDataTreeWriteTransaction.class); this.nlri = Mockito.mock(ContainerNode.class); this.attributes = ImmutableContainerNodeBuilder.create() .withNodeIdentifier(new NodeIdentifier(QName.create(Ipv4Routes.QNAME, Attributes.QNAME diff --git a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTestImp.java b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTestImp.java index ca0a49f217..c5f0ae1ebb 100644 --- a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTestImp.java +++ b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/RIBSupportTestImp.java @@ -12,8 +12,8 @@ import com.google.common.collect.ImmutableMap; import java.util.Collection; import java.util.Collections; import java.util.List; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType; @@ -56,7 +56,7 @@ public final class RIBSupportTestImp extends AbstractRIBSupport processDestination(final DOMDataWriteTransaction tx, + protected Collection processDestination(final DOMDataTreeWriteTransaction tx, final YangInstanceIdentifier routesPath, final ContainerNode destination, final ContainerNode attributes, diff --git a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionTest.java b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionTest.java index 303d28e72f..740d4b14e0 100644 --- a/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionTest.java +++ b/bgp/rib-spi/src/test/java/org/opendaylight/protocol/bgp/rib/spi/SimpleRIBExtensionTest.java @@ -12,9 +12,9 @@ import java.util.List; import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; -import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer; +import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.Route; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.Ipv4AddressFamily; diff --git a/bgp/topology-provider/pom.xml b/bgp/topology-provider/pom.xml index 2f0c67ac54..5e7b5f24c5 100644 --- a/bgp/topology-provider/pom.xml +++ b/bgp/topology-provider/pom.xml @@ -78,16 +78,16 @@ yang-common - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api org.opendaylight.mdsal mdsal-singleton-common-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.slf4j @@ -144,20 +144,15 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - test-jar org.opendaylight.mdsal mdsal-binding-dom-adapter test + test-jar diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractReachabilityTopologyBuilder.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractReachabilityTopologyBuilder.java index e17070913a..bd23c0befa 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractReachabilityTopologyBuilder.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractReachabilityTopologyBuilder.java @@ -9,17 +9,17 @@ package org.opendaylight.bgpcep.bgp.topology.provider; import static java.util.Objects.requireNonNull; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.concurrent.ExecutionException; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.binding.api.ReadTransaction; -import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadOperations; +import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; @@ -92,7 +92,7 @@ abstract class AbstractReachabilityTopologyBuilder extends Abst return getInstanceIdentifier().child(Node.class, new NodeKey(ni)); } - private static T read(final ReadTransaction rt, final InstanceIdentifier id) { + private static T read(final ReadOperations rt, final InstanceIdentifier id) { final Optional optional; try { optional = rt.read(LogicalDatastoreType.OPERATIONAL, id).get(); @@ -101,7 +101,7 @@ abstract class AbstractReachabilityTopologyBuilder extends Abst return null; } - return optional.orNull(); + return optional.orElse(null); } private InstanceIdentifier ensureNodePresent(final ReadWriteTransaction trans, final NodeId ni) { diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilder.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilder.java index e0edc104e0..09eb90c68b 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilder.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilder.java @@ -19,19 +19,18 @@ import java.util.Collections; import java.util.concurrent.atomic.AtomicBoolean; import org.checkerframework.checker.lock.qual.GuardedBy; import org.opendaylight.bgpcep.topology.TopologyReference; -import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; -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.binding.api.ReadWriteTransaction; -import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChain; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; +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.binding.api.ReadWriteTransaction; +import org.opendaylight.mdsal.binding.api.Transaction; +import org.opendaylight.mdsal.binding.api.TransactionChain; +import org.opendaylight.mdsal.binding.api.TransactionChainListener; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.Route; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.bgp.rib.rib.LocRib; @@ -69,7 +68,7 @@ public abstract class AbstractTopologyBuilder implements Cluste @GuardedBy("this") private ListenerRegistration> listenerRegistration = null; @GuardedBy("this") - private BindingTransactionChain chain = null; + private TransactionChain chain = null; private final AtomicBoolean closed = new AtomicBoolean(false); @GuardedBy("this") @VisibleForTesting @@ -118,7 +117,7 @@ public abstract class AbstractTopologyBuilder implements Cluste this.getInstanceIdentifier()); final InstanceIdentifier tablesId = this.locRibReference.getInstanceIdentifier() .child(LocRib.class).child(Tables.class, new TablesKey(this.afi, this.safi)); - final DataTreeIdentifier id = new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, + final DataTreeIdentifier id = DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, getRouteWildcard(tablesId)); this.listenerRegistration = this.dataProvider.registerDataTreeChangeListener(id, this); @@ -289,7 +288,7 @@ public abstract class AbstractTopologyBuilder implements Cluste LOG.debug("Initializing transaction chain for topology {}", this); Preconditions.checkState(this.chain == null, "Transaction chain has to be closed before being initialized"); - this.chain = this.dataProvider.createTransactionChain(this); + this.chain = this.dataProvider.createMergingTransactionChain(this); } /** @@ -394,8 +393,8 @@ public abstract class AbstractTopologyBuilder implements Cluste } @Override - public final synchronized void onTransactionChainFailed(final TransactionChain transactionChain, - final AsyncTransaction transaction, final Throwable cause) { + public final synchronized void onTransactionChainFailed(final TransactionChain transactionChain, + final Transaction transaction, final Throwable cause) { LOG.error("Topology builder for {} failed in transaction {}.", getInstanceIdentifier(), transaction != null ? transaction.getIdentifier() : null, cause); scheduleListenerRestart(); @@ -403,7 +402,7 @@ public abstract class AbstractTopologyBuilder implements Cluste } @Override - public final void onTransactionChainSuccessful(final TransactionChain transactionChain) { + public final void onTransactionChainSuccessful(final TransactionChain transactionChain) { LOG.info("Topology builder for {} shut down", getInstanceIdentifier()); } } diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilder.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilder.java index bdfa767530..a9ac039571 100755 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilder.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilder.java @@ -7,7 +7,7 @@ */ package org.opendaylight.bgpcep.bgp.topology.provider; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.bgp.rib.rib.loc.rib.tables.routes.Ipv4RoutesCase; diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilder.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilder.java index 1d2d06ada6..2eedbb39e2 100755 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilder.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilder.java @@ -7,7 +7,7 @@ */ package org.opendaylight.bgpcep.bgp.topology.provider; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.bgp.rib.rib.loc.rib.tables.routes.Ipv6RoutesCase; diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilder.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilder.java index 19baea8d1d..bd3d44e268 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilder.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilder.java @@ -19,10 +19,10 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -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.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; +import org.opendaylight.mdsal.binding.api.WriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.DomainName; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/AbstractBgpTopologyProvider.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/AbstractBgpTopologyProvider.java index 27f4ffe2ef..0ff8df6487 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/AbstractBgpTopologyProvider.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/AbstractBgpTopologyProvider.java @@ -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.bgpcep.bgp.topology.provider.config; import java.util.HashMap; @@ -14,7 +13,7 @@ import org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder; import org.opendaylight.bgpcep.bgp.topology.provider.spi.BgpTopologyDeployer; import org.opendaylight.bgpcep.bgp.topology.provider.spi.BgpTopologyProvider; import org.opendaylight.bgpcep.bgp.topology.provider.spi.TopologyReferenceSingletonService; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.rib.DefaultRibReference; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.BgpRib; diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/BgpTopologyDeployerImpl.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/BgpTopologyDeployerImpl.java index 7d68021f3a..a2fde5a48b 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/BgpTopologyDeployerImpl.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/BgpTopologyDeployerImpl.java @@ -19,12 +19,12 @@ import org.checkerframework.checker.lock.qual.GuardedBy; import org.opendaylight.bgpcep.bgp.topology.provider.spi.BgpTopologyDeployer; import org.opendaylight.bgpcep.bgp.topology.provider.spi.BgpTopologyProvider; import org.opendaylight.bgpcep.bgp.topology.provider.spi.TopologyReferenceSingletonService; -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.mdsal.singleton.common.api.ClusterSingletonService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration; @@ -62,7 +62,7 @@ public final class BgpTopologyDeployerImpl implements BgpTopologyDeployer, AutoC public void init() { this.registration = this.dataBroker.registerDataTreeChangeListener( - new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, TOPOLOGY_IID), this); + DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, TOPOLOGY_IID), this); LOG.info("BGP topology deployer started."); } diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv4TopologyProvider.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv4TopologyProvider.java index 99054a8738..1de4d16c00 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv4TopologyProvider.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv4TopologyProvider.java @@ -5,13 +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.bgpcep.bgp.topology.provider.config; import org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder; import org.opendaylight.bgpcep.bgp.topology.provider.Ipv4ReachabilityTopologyBuilder; import org.opendaylight.bgpcep.bgp.topology.provider.spi.BgpTopologyDeployer; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.odl.bgp.topology.types.rev160524.TopologyTypes1; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId; @@ -34,5 +33,4 @@ public final class Ipv4TopologyProvider extends AbstractBgpTopologyProvider { final TopologyId topologyId) { return new Ipv4ReachabilityTopologyBuilder(dataProvider, locRibReference, topologyId); } - } diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv6TopologyProvider.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv6TopologyProvider.java index bf51d81e39..ffd6039494 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv6TopologyProvider.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/Ipv6TopologyProvider.java @@ -5,13 +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.bgpcep.bgp.topology.provider.config; import org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder; import org.opendaylight.bgpcep.bgp.topology.provider.Ipv6ReachabilityTopologyBuilder; import org.opendaylight.bgpcep.bgp.topology.provider.spi.BgpTopologyDeployer; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.odl.bgp.topology.types.rev160524.TopologyTypes1; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId; diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/LinkstateTopologyProvider.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/LinkstateTopologyProvider.java index 55cf016406..57cc38bf0d 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/LinkstateTopologyProvider.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/config/LinkstateTopologyProvider.java @@ -5,13 +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.bgpcep.bgp.topology.provider.config; import org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder; import org.opendaylight.bgpcep.bgp.topology.provider.LinkstateTopologyBuilder; import org.opendaylight.bgpcep.bgp.topology.provider.spi.BgpTopologyDeployer; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.odl.bgp.topology.types.rev160524.TopologyTypes1; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId; @@ -34,5 +33,4 @@ public final class LinkstateTopologyProvider extends AbstractBgpTopologyProvider final TopologyTypes1 topoAug = getTopologyAug(topology); return topoAug != null && topoAug.getBgpLinkstateTopology() != null; } - } diff --git a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/spi/BgpTopologyDeployer.java b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/spi/BgpTopologyDeployer.java index bc6517887c..afe602f4a6 100644 --- a/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/spi/BgpTopologyDeployer.java +++ b/bgp/topology-provider/src/main/java/org/opendaylight/bgpcep/bgp/topology/provider/spi/BgpTopologyDeployer.java @@ -5,11 +5,10 @@ * 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.bgpcep.bgp.topology.provider.spi; import com.google.common.annotations.Beta; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.yangtools.concepts.AbstractRegistration; @Beta diff --git a/bgp/topology-provider/src/main/resources/OSGI-INF/blueprint/bgp-topology-provider.xml b/bgp/topology-provider/src/main/resources/OSGI-INF/blueprint/bgp-topology-provider.xml index 83236c4eb4..db3d722755 100644 --- a/bgp/topology-provider/src/main/resources/OSGI-INF/blueprint/bgp-topology-provider.xml +++ b/bgp/topology-provider/src/main/resources/OSGI-INF/blueprint/bgp-topology-provider.xml @@ -9,7 +9,7 @@ - + - \ No newline at end of file + diff --git a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilderTest.java b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilderTest.java index 38f8313a70..bb522fb74d 100644 --- a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilderTest.java +++ b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/AbstractTopologyBuilderTest.java @@ -5,16 +5,15 @@ * 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.bgpcep.bgp.topology.provider; import static java.util.Objects.requireNonNull; import java.util.Collections; import org.junit.Before; -import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.WriteTransaction; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.bgp.rib.DefaultRibReference; import org.opendaylight.protocol.bgp.rib.RibReference; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.BgpRib; diff --git a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilderTest.java b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilderTest.java index d2b0bd2daa..da9829c8fa 100755 --- a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilderTest.java +++ b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv4ReachabilityTopologyBuilderTest.java @@ -14,11 +14,11 @@ import static org.junit.Assert.assertNull; import static org.opendaylight.protocol.util.CheckUtil.checkNotPresentOperational; import static org.opendaylight.protocol.util.CheckUtil.readDataOperational; +import java.util.concurrent.ExecutionException; import org.junit.Before; import org.junit.Test; -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.mdsal.binding.api.WriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.bgp.rib.rib.loc.rib.tables.routes.Ipv4RoutesCase; @@ -67,7 +67,7 @@ public class Ipv4ReachabilityTopologyBuilderTest extends AbstractTopologyBuilder } @Test - public void testIpv4ReachabilityTopologyBuilder() throws ReadFailedException { + public void testIpv4ReachabilityTopologyBuilder() throws InterruptedException, ExecutionException { // create route updateIpv4Route(createIpv4Route(NEXT_HOP)); diff --git a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilderTest.java b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilderTest.java index 9913df8619..44a53ba488 100755 --- a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilderTest.java +++ b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/Ipv6ReachabilityTopologyBuilderTest.java @@ -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.bgpcep.bgp.topology.provider; import static org.junit.Assert.assertEquals; @@ -15,11 +14,11 @@ import static org.opendaylight.bgpcep.bgp.topology.provider.Ipv4ReachabilityTopo import static org.opendaylight.protocol.util.CheckUtil.checkNotPresentOperational; import static org.opendaylight.protocol.util.CheckUtil.readDataOperational; +import java.util.concurrent.ExecutionException; import org.junit.Before; import org.junit.Test; -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.mdsal.binding.api.WriteTransaction; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.bgp.rib.rib.loc.rib.tables.routes.Ipv6RoutesCase; @@ -66,7 +65,7 @@ public class Ipv6ReachabilityTopologyBuilderTest extends AbstractTopologyBuilder } @Test - public void testIpv6ReachabilityTopologyBuilder() throws ReadFailedException { + public void testIpv6ReachabilityTopologyBuilder() throws InterruptedException, ExecutionException { // create route updateIpv6Route(createIpv6Route(NEXT_HOP)); diff --git a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilderTest.java b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilderTest.java index 05b0fd152c..beafb177cd 100755 --- a/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilderTest.java +++ b/bgp/topology-provider/src/test/java/org/opendaylight/bgpcep/bgp/topology/provider/LinkstateTopologyBuilderTest.java @@ -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.bgpcep.bgp.topology.provider; import static org.junit.Assert.assertEquals; @@ -14,7 +13,7 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.RETURNS_SMART_NULLS; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; @@ -33,13 +32,13 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.concurrent.ExecutionException; import org.junit.After; import org.junit.Before; import org.junit.Test; -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.controller.md.sal.common.api.data.ReadFailedException; +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.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; @@ -142,7 +141,7 @@ public class LinkstateTopologyBuilderTest extends AbstractTopologyBuilderTest { } @Test - public void testLinkstateTopologyBuilderTopologyTypes() throws ReadFailedException { + public void testLinkstateTopologyBuilderTopologyTypes() throws InterruptedException, ExecutionException { readDataOperational(getDataBroker(), this.linkstateTopoBuilder.getInstanceIdentifier(), topology -> { assertNotNull(topology.getTopologyTypes().augmentation(org.opendaylight.yang.gen.v1.urn.opendaylight .params.xml.ns.yang.odl.bgp.topology.types.rev160524.TopologyTypes1.class)); @@ -154,7 +153,7 @@ public class LinkstateTopologyBuilderTest extends AbstractTopologyBuilderTest { } @Test - public void testIsisLinkstateTopologyBuilder() throws ReadFailedException { + public void testIsisLinkstateTopologyBuilder() throws InterruptedException, ExecutionException { // create node updateLinkstateRoute(createLinkstateNodeRoute(ProtocolId.IsisLevel2, "node1", NODE_1_AS, ROUTER_1_ID)); readDataOperational(getDataBroker(), this.linkstateTopoBuilder.getInstanceIdentifier(), topology -> { @@ -223,7 +222,7 @@ public class LinkstateTopologyBuilderTest extends AbstractTopologyBuilderTest { } @Test - public void testOspfLinkstateTopologyBuilder() throws ReadFailedException { + public void testOspfLinkstateTopologyBuilder() throws InterruptedException, ExecutionException { // create node updateLinkstateRoute(createLinkstateNodeRoute(ProtocolId.Ospf, "node1", NODE_1_AS, ROUTER_1_ID)); readDataOperational(getDataBroker(), this.linkstateTopoBuilder.getInstanceIdentifier(), topology -> { diff --git a/bmp/bmp-impl/pom.xml b/bmp/bmp-impl/pom.xml index be26f4c63d..89568e8f02 100644 --- a/bmp/bmp-impl/pom.xml +++ b/bmp/bmp-impl/pom.xml @@ -95,16 +95,16 @@ yang-data-impl - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-core-api + org.opendaylight.mdsal + mdsal-dom-api org.opendaylight.mdsal @@ -181,20 +181,15 @@ mockito-configuration - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - test-jar org.opendaylight.mdsal mdsal-binding-dom-adapter test + test-jar ${project.groupId} diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitoringStationImpl.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitoringStationImpl.java index 8282f04d2e..88c1154d39 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitoringStationImpl.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitoringStationImpl.java @@ -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.protocol.bmp.impl.app; import static java.util.Objects.requireNonNull; @@ -21,10 +20,10 @@ import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.List; import java.util.concurrent.ExecutionException; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration; import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier; @@ -117,7 +116,7 @@ public final class BmpMonitoringStationImpl implements BmpMonitoringStation, Clu }); } - final DOMDataWriteTransaction wTx = this.domDataBroker.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domDataBroker.newWriteOnlyTransaction(); wTx.delete(LogicalDatastoreType.OPERATIONAL, this.yangMonitorId); LOG.info("BMP monitoring station {} closed.", this.monitorId.getValue()); return wTx.commit(); @@ -147,7 +146,7 @@ public final class BmpMonitoringStationImpl implements BmpMonitoringStation, Clu } private synchronized void createEmptyMonitor() { - final DOMDataWriteTransaction wTx = this.domDataBroker.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domDataBroker.newWriteOnlyTransaction(); wTx.put(LogicalDatastoreType.OPERATIONAL, YangInstanceIdentifier.builder().node(BmpMonitor.QNAME).node(Monitor.QNAME) .nodeWithKey(Monitor.QNAME, MONITOR_ID_QNAME, this.monitorId.getValue()).build(), diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRibInWriter.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRibInWriter.java index 5bfecf7400..1fc09eec0d 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRibInWriter.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRibInWriter.java @@ -18,11 +18,11 @@ import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext; import org.opendaylight.protocol.bgp.rib.spi.RIBSupport; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.ipv4.prefixes.DestinationIpv4Builder; @@ -67,7 +67,7 @@ final class BmpRibInWriter { final RIBExtensionConsumerContext ribExtensions, final Set tableTypes, final BindingCodecTree tree) { this.chain = chain; - final DOMDataWriteTransaction tx = this.chain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.newWriteOnlyTransaction(); this.tables = createTableInstance(tableTypes, tablesRoot, tx, ribExtensions, tree).build(); LOG.debug("New RIB table {} structure installed.", tablesRoot.toString()); @@ -126,7 +126,7 @@ final class BmpRibInWriter { * Create new table instance. */ private static ImmutableMap.Builder createTableInstance(final Set tableTypes, - final YangInstanceIdentifier yangTableRootIId, final DOMDataWriteTransaction tx, + final YangInstanceIdentifier yangTableRootIId, final DOMDataTreeWriteTransaction tx, final RIBExtensionConsumerContext ribExtensions, final BindingCodecTree tree) { final ImmutableMap.Builder tb = ImmutableMap.builder(); @@ -160,7 +160,7 @@ final class BmpRibInWriter { return; } - final DOMDataWriteTransaction tx = this.chain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.newWriteOnlyTransaction(); ctx.writeRoutes(tx, nlri, attributes); LOG.trace("Write routes {}", nlri); tx.commit().addCallback(new FutureCallback() { @@ -206,7 +206,7 @@ final class BmpRibInWriter { return; } LOG.trace("Removing routes {}", nlri); - final DOMDataWriteTransaction tx = this.chain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.newWriteOnlyTransaction(); ctx.removeRoutes(tx, nlri); tx.commit().addCallback(new FutureCallback() { @Override @@ -282,7 +282,7 @@ final class BmpRibInWriter { } private synchronized void markTableUptodated(final TablesKey tableTypes) { - final DOMDataWriteTransaction tx = this.chain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction tx = this.chain.newWriteOnlyTransaction(); final TableContext ctxPre = this.tables.get(tableTypes); tx.merge(LogicalDatastoreType.OPERATIONAL, ctxPre.getTableId().node(BMP_ATTRIBUTES_QNAME) .node(ATTRIBUTES_UPTODATE_TRUE.getNodeType()), ATTRIBUTES_UPTODATE_TRUE); diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterImpl.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterImpl.java index d890b6b0a1..6cf121c277 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterImpl.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterImpl.java @@ -21,15 +21,14 @@ import java.util.Optional; import java.util.concurrent.ExecutionException; import org.checkerframework.checker.lock.qual.GuardedBy; import org.checkerframework.checker.lock.qual.Holding; -import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChain; -import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; +import org.opendaylight.mdsal.dom.api.DOMTransactionChainListener; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext; import org.opendaylight.protocol.bmp.api.BmpSession; import org.opendaylight.protocol.bmp.impl.spi.BmpRouter; @@ -54,7 +53,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public final class BmpRouterImpl implements BmpRouter, TransactionChainListener { +public final class BmpRouterImpl implements BmpRouter, DOMTransactionChainListener { private static final Logger LOG = LoggerFactory.getLogger(BmpRouterImpl.class); @@ -84,7 +83,7 @@ public final class BmpRouterImpl implements BmpRouter, TransactionChainListener public BmpRouterImpl(final RouterSessionManager sessionManager) { this.sessionManager = requireNonNull(sessionManager); this.domDataBroker = sessionManager.getDomDataBroker(); - this.domTxChain = this.domDataBroker.createTransactionChain(this); + this.domTxChain = this.domDataBroker.createMergingTransactionChain(this); this.extensions = sessionManager.getExtensions(); this.tree = sessionManager.getCodecTree(); } @@ -171,7 +170,7 @@ public final class BmpRouterImpl implements BmpRouter, TransactionChainListener if (isDatastoreWritable()) { try { // it means the session was closed before it was written to datastore - final DOMDataWriteTransaction wTx = this.domDataBroker.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domDataBroker.newWriteOnlyTransaction(); wTx.delete(LogicalDatastoreType.OPERATIONAL, this.routerYangIId); wTx.commit().get(); } catch (final InterruptedException | ExecutionException e) { @@ -183,14 +182,13 @@ public final class BmpRouterImpl implements BmpRouter, TransactionChainListener } @Override - public synchronized void onTransactionChainFailed(final TransactionChain chain, - final AsyncTransaction transaction, - final Throwable cause) { + public synchronized void onTransactionChainFailed(final DOMTransactionChain chain, + final DOMDataTreeTransaction transaction, final Throwable cause) { LOG.error("Transaction chain failed.", cause); } @Override - public void onTransactionChainSuccessful(final TransactionChain chain) { + public void onTransactionChainSuccessful(final DOMTransactionChain chain) { LOG.debug("Transaction chain {} successfully.", chain); } @@ -200,7 +198,7 @@ public final class BmpRouterImpl implements BmpRouter, TransactionChainListener private synchronized void createRouterEntry() { Preconditions.checkState(isDatastoreWritable()); - final DOMDataWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); wTx.put(LogicalDatastoreType.OPERATIONAL, this.routerYangIId, Builders.mapEntryBuilder() .withNodeIdentifier(new NodeIdentifierWithPredicates(Router.QNAME, ROUTER_ID_QNAME, this.routerIp)) @@ -222,7 +220,7 @@ public final class BmpRouterImpl implements BmpRouter, TransactionChainListener private synchronized void onInitiate(final InitiationMessage initiation) { Preconditions.checkState(isDatastoreWritable()); - final DOMDataWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); wTx.merge(LogicalDatastoreType.OPERATIONAL, this.routerYangIId, Builders.mapEntryBuilder() .withNodeIdentifier(new NodeIdentifierWithPredicates(Router.QNAME, ROUTER_ID_QNAME, this.routerIp)) diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterPeerImpl.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterPeerImpl.java index e60dc8d606..317d933ef1 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterPeerImpl.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/BmpRouterPeerImpl.java @@ -18,12 +18,12 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.MoreExecutors; import java.util.Locale; import java.util.Set; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree; import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext; import org.opendaylight.protocol.bmp.impl.spi.BmpRouterPeer; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; @@ -145,7 +145,7 @@ public final class BmpRouterPeerImpl implements BmpRouterPeer { this.receivedOpenCodec = tree.getSubtreeCodec(RECEIVED_OPEN_IID); final Set peerTables = setPeerTables(peerUp.getReceivedOpen()); - final DOMDataWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); wTx.put(LogicalDatastoreType.OPERATIONAL, this.peerYangIId, createPeerEntry(peerUp)); wTx.commit().addCallback(new FutureCallback() { @Override @@ -202,7 +202,7 @@ public final class BmpRouterPeerImpl implements BmpRouterPeer { private synchronized void onStatsReports(final StatsReportsMessage statsReports) { if (this.up) { - final DOMDataWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); wTx.merge(LogicalDatastoreType.OPERATIONAL, this.peerYangIId.node(Stats.QNAME), createStats(statsReports, statsReports.getPeerHeader().getTimestampSec())); wTx.commit().addCallback(new FutureCallback() { @@ -220,7 +220,7 @@ public final class BmpRouterPeerImpl implements BmpRouterPeer { } private synchronized void onRouteMirror(final RouteMirroringMessage mirror) { - final DOMDataWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); wTx.merge(LogicalDatastoreType.OPERATIONAL, this.peerYangIId.node(Mirrors.QNAME), createMirrors(mirror, mirror.getPeerHeader().getTimestampSec())); wTx.commit().addCallback(new FutureCallback() { @@ -237,7 +237,7 @@ public final class BmpRouterPeerImpl implements BmpRouterPeer { } private synchronized void onPeerDown() { - final DOMDataWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = this.domTxChain.newWriteOnlyTransaction(); wTx.delete(LogicalDatastoreType.OPERATIONAL, this.peerYangIId); wTx.commit().addCallback(new FutureCallback() { @Override diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/RouterSessionManager.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/RouterSessionManager.java index e9ba9a7380..9d61c279a7 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/RouterSessionManager.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/RouterSessionManager.java @@ -12,8 +12,8 @@ import static java.util.Objects.requireNonNull; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext; import org.opendaylight.protocol.bmp.api.BmpSessionListener; import org.opendaylight.protocol.bmp.api.BmpSessionListenerFactory; diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/TableContext.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/TableContext.java index e29791ee3d..28a31a7f31 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/TableContext.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/app/TableContext.java @@ -13,12 +13,12 @@ import static org.opendaylight.protocol.bmp.impl.app.TablesUtil.BMP_ROUTES_QNAME import com.google.common.base.Preconditions; import java.util.Map; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeNode; import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeCachingCodec; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bgp.rib.spi.RIBSupport; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes; @@ -82,7 +82,7 @@ final class TableContext { return this.tableId; } - void createTable(final DOMDataWriteTransaction tx) { + void createTable(final DOMDataTreeWriteTransaction tx) { final DataContainerNodeBuilder tb = ImmutableNodes.mapEntryBuilder(); tb.withNodeIdentifier((NodeIdentifierWithPredicates) this.tableId.getLastPathArgument()); @@ -100,13 +100,13 @@ final class TableContext { new NodeIdentifier(TablesUtil.BMP_ROUTES_QNAME)).build()).build()); } - void writeRoutes(final DOMDataWriteTransaction tx, final MpReachNlri nlri, final Attributes attributes) { + void writeRoutes(final DOMDataTreeWriteTransaction tx, final MpReachNlri nlri, final Attributes attributes) { final ContainerNode domNlri = serializeReachNlri(nlri); final ContainerNode routeAttributes = serializeAttributes(attributes); this.tableSupport.putRoutes(tx, this.tableId, domNlri, routeAttributes, BGP_ROUTES_NODE_ID); } - void removeRoutes(final DOMDataWriteTransaction tx, final MpUnreachNlri nlri) { + void removeRoutes(final DOMDataTreeWriteTransaction tx, final MpUnreachNlri nlri) { this.tableSupport.deleteRoutes(tx, this.tableId, serializeUnreachNlri(nlri), BGP_ROUTES_NODE_ID); } diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerDependencies.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerDependencies.java index f1dbd6b623..99ae3fbd52 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerDependencies.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerDependencies.java @@ -9,10 +9,10 @@ package org.opendaylight.protocol.bmp.impl.config; import static java.util.Objects.requireNonNull; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext; import org.opendaylight.yangtools.yang.model.api.SchemaContext; diff --git a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerImpl.java b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerImpl.java index 6f3ad095ec..365294b630 100644 --- a/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerImpl.java +++ b/bmp/bmp-impl/src/main/java/org/opendaylight/protocol/bmp/impl/config/BmpDeployerImpl.java @@ -18,14 +18,14 @@ import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import org.checkerframework.checker.lock.qual.GuardedBy; -import org.opendaylight.controller.md.sal.binding.api.ClusteredDataTreeChangeListener; -import org.opendaylight.controller.md.sal.binding.api.DataObjectModification; -import org.opendaylight.controller.md.sal.binding.api.DataObjectModification.ModificationType; -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.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.binding.api.ClusteredDataTreeChangeListener; +import org.opendaylight.mdsal.binding.api.DataObjectModification; +import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType; +import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; +import org.opendaylight.mdsal.binding.api.DataTreeModification; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.protocol.bmp.api.BmpDispatcher; import org.opendaylight.protocol.bmp.impl.app.BmpMonitoringStationImpl; import org.opendaylight.protocol.bmp.impl.spi.BmpMonitoringStation; @@ -71,7 +71,8 @@ public final class BmpDeployerImpl implements ClusteredDataTreeChangeListener() { @Override @@ -85,7 +86,7 @@ public final class BmpDeployerImpl implements ClusteredDataTreeChangeListener(LogicalDatastoreType.CONFIGURATION, ODL_BMP_MONITORS_IID), this); + DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, ODL_BMP_MONITORS_IID), this); } @Override diff --git a/bmp/bmp-impl/src/main/resources/OSGI-INF/blueprint/bgp-bmp.xml b/bmp/bmp-impl/src/main/resources/OSGI-INF/blueprint/bgp-bmp.xml index fde3d11617..9c6a2e5e7c 100644 --- a/bmp/bmp-impl/src/main/resources/OSGI-INF/blueprint/bgp-bmp.xml +++ b/bmp/bmp-impl/src/main/resources/OSGI-INF/blueprint/bgp-bmp.xml @@ -25,8 +25,8 @@ - - + + @@ -34,7 +34,7 @@ - + @@ -48,4 +48,4 @@ - \ No newline at end of file + diff --git a/bmp/bmp-impl/src/test/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitorImplTest.java b/bmp/bmp-impl/src/test/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitorImplTest.java index b191fee836..b756e58901 100644 --- a/bmp/bmp-impl/src/test/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitorImplTest.java +++ b/bmp/bmp-impl/src/test/java/org/opendaylight/protocol/bmp/impl/app/BmpMonitorImplTest.java @@ -16,8 +16,8 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createRouteMonMsgWithEndOfRibMarker; import static org.opendaylight.protocol.bmp.parser.message.TestUtil.createRouteMonitMsg; -import static org.opendaylight.protocol.util.CheckUtil.checkNotPresentOperational; -import static org.opendaylight.protocol.util.CheckUtil.readDataOperational; +import static org.opendaylight.protocol.util.CheckTestUtil.checkNotPresentOperational; +import static org.opendaylight.protocol.util.CheckTestUtil.readDataOperational; import com.google.common.net.InetAddresses; import io.netty.bootstrap.Bootstrap; @@ -34,17 +34,18 @@ import io.netty.channel.socket.SocketChannel; import io.netty.channel.socket.nio.NioSocketChannel; import java.net.InetSocketAddress; import java.util.List; +import java.util.concurrent.ExecutionException; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer; -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.dom.api.DOMDataWriteTransaction; +import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider; import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration; @@ -132,6 +133,7 @@ public class BmpMonitorImplTest extends AbstractConcurrentDataBrokerTest { private ClusterSingletonServiceProvider clusterSSProv; @Mock private ClusterSingletonServiceProvider clusterSSProv2; + private DOMSchemaService schemaService; @Before public void setUp() throws Exception { @@ -157,7 +159,7 @@ public class BmpMonitorImplTest extends AbstractConcurrentDataBrokerTest { doAnswer(invocationOnMock -> BmpMonitorImplTest.this.singletonService2.closeServiceInstance()) .when(this.singletonServiceRegistration2).close(); - this.mappingService.onGlobalContextUpdated(getSchemaContext()); + this.mappingService.onGlobalContextUpdated(this.schemaService.getGlobalContext()); this.ribActivator = new RIBActivator(); this.ribExtension = new SimpleRIBExtensionProviderContext(); this.ribActivator.startRIBExtensionProvider(this.ribExtension, this.mappingService); @@ -176,7 +178,7 @@ public class BmpMonitorImplTest extends AbstractConcurrentDataBrokerTest { final InetSocketAddress inetAddress = new InetSocketAddress(InetAddresses.forString(MONITOR_LOCAL_ADDRESS), MONITOR_LOCAL_PORT); - final DOMDataWriteTransaction wTx = getDomBroker().newWriteOnlyTransaction(); + final DOMDataTreeWriteTransaction wTx = getDomBroker().newWriteOnlyTransaction(); final ContainerNode parentNode = Builders.containerBuilder().withNodeIdentifier( new NodeIdentifier(BmpMonitor.QNAME)) .addChild(ImmutableNodes.mapNodeBuilder(Monitor.QNAME).build()).build(); @@ -184,7 +186,8 @@ public class BmpMonitorImplTest extends AbstractConcurrentDataBrokerTest { wTx.commit().get(); final BmpDeployerDependencies bmpDependecies = new BmpDeployerDependencies(getDataBroker(), getDomBroker(), - this.ribExtension, this.mappingService.getCodecFactory(), getSchemaContext(), this.clusterSSProv); + this.ribExtension, this.mappingService.getCodecFactory(), this.schemaService.getGlobalContext(), + this.clusterSSProv); this.bmpApp = new BmpMonitoringStationImpl(bmpDependecies, this.dispatcher, MONITOR_ID, inetAddress, null); readDataOperational(getDataBroker(), BMP_II, monitor -> { assertEquals(1, monitor.getMonitor().size()); @@ -201,6 +204,7 @@ public class BmpMonitorImplTest extends AbstractConcurrentDataBrokerTest { protected final AbstractDataBrokerTestCustomizer createDataBrokerTestCustomizer() { final AbstractDataBrokerTestCustomizer customizer = super.createDataBrokerTestCustomizer(); this.mappingService = customizer.getBindingToNormalized(); + this.schemaService = customizer.getSchemaService(); return customizer; } @@ -273,7 +277,7 @@ public class BmpMonitorImplTest extends AbstractConcurrentDataBrokerTest { } private Channel testMonitoringStation(final String remoteRouterIpAddr) throws InterruptedException, - ReadFailedException { + ExecutionException { final Channel channel = connectTestClient(remoteRouterIpAddr, this.msgRegistry); final RouterId routerId = getRouterId(remoteRouterIpAddr); @@ -433,7 +437,8 @@ public class BmpMonitorImplTest extends AbstractConcurrentDataBrokerTest { @Test public void deploySecondInstance() throws Exception { final BmpDeployerDependencies bmpDependecies = new BmpDeployerDependencies(getDataBroker(), getDomBroker(), - this.ribExtension, this.mappingService.getCodecFactory(), getSchemaContext(), this.clusterSSProv2); + this.ribExtension, this.mappingService.getCodecFactory(), this.schemaService.getGlobalContext(), + this.clusterSSProv2); final BmpMonitoringStation monitoringStation2 = new BmpMonitoringStationImpl(bmpDependecies, this.dispatcher, new MonitorId("monitor2"), diff --git a/config-loader/bmp-monitors-config-loader/pom.xml b/config-loader/bmp-monitors-config-loader/pom.xml index dd0567dbde..57e02b4d71 100644 --- a/config-loader/bmp-monitors-config-loader/pom.xml +++ b/config-loader/bmp-monitors-config-loader/pom.xml @@ -34,12 +34,12 @@ bgp-bmp-api - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.mdsal @@ -86,13 +86,8 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test-jar test diff --git a/config-loader/bmp-monitors-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/bmp/BmpMonitorConfigFileProcessor.java b/config-loader/bmp-monitors-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/bmp/BmpMonitorConfigFileProcessor.java index 39c3aff050..999312e45b 100644 --- a/config-loader/bmp-monitors-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/bmp/BmpMonitorConfigFileProcessor.java +++ b/config-loader/bmp-monitors-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/bmp/BmpMonitorConfigFileProcessor.java @@ -16,10 +16,10 @@ import java.util.concurrent.ExecutionException; import org.checkerframework.checker.lock.qual.GuardedBy; import org.opendaylight.bgpcep.config.loader.spi.ConfigFileProcessor; import org.opendaylight.bgpcep.config.loader.spi.ConfigLoader; -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.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.monitor.config.rev180329.OdlBmpMonitors; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.monitor.config.rev180329.odl.bmp.monitors.BmpMonitorConfig; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bmp.monitor.config.rev180329.odl.bmp.monitors.BmpMonitorConfigKey; diff --git a/config-loader/bmp-monitors-config-loader/src/main/resources/OSGI-INF/blueprint/bmp-config-loader.xml b/config-loader/bmp-monitors-config-loader/src/main/resources/OSGI-INF/blueprint/bmp-config-loader.xml index 5484aae035..79b709b374 100644 --- a/config-loader/bmp-monitors-config-loader/src/main/resources/OSGI-INF/blueprint/bmp-config-loader.xml +++ b/config-loader/bmp-monitors-config-loader/src/main/resources/OSGI-INF/blueprint/bmp-config-loader.xml @@ -9,8 +9,7 @@ - + - \ No newline at end of file + diff --git a/config-loader/config-loader-impl/pom.xml b/config-loader/config-loader-impl/pom.xml index 301114a997..b3e0daef20 100644 --- a/config-loader/config-loader-impl/pom.xml +++ b/config-loader/config-loader-impl/pom.xml @@ -110,13 +110,13 @@ test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/config-loader/config-loader-impl/src/test/java/org/opendaylight/bgpcep/config/loader/impl/AbstractConfigLoader.java b/config-loader/config-loader-impl/src/test/java/org/opendaylight/bgpcep/config/loader/impl/AbstractConfigLoader.java index 23828c5bb1..36bf11237c 100644 --- a/config-loader/config-loader-impl/src/test/java/org/opendaylight/bgpcep/config/loader/impl/AbstractConfigLoader.java +++ b/config-loader/config-loader-impl/src/test/java/org/opendaylight/bgpcep/config/loader/impl/AbstractConfigLoader.java @@ -22,9 +22,9 @@ import org.junit.Before; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.opendaylight.bgpcep.config.loader.spi.ConfigFileProcessor; -import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTestCustomizer; +import org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractDataBrokerTestCustomizer; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory; import org.opendaylight.mdsal.dom.api.DOMSchemaService; diff --git a/config-loader/protocols-config-loader/pom.xml b/config-loader/protocols-config-loader/pom.xml index 60ca701d3f..8d1496f0b2 100644 --- a/config-loader/protocols-config-loader/pom.xml +++ b/config-loader/protocols-config-loader/pom.xml @@ -58,12 +58,12 @@ yang-common - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api com.google.guava @@ -87,13 +87,8 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test-jar test @@ -115,4 +110,4 @@ https://wiki.opendaylight.org/view/BGP_LS_PCEP:Main HEAD - \ No newline at end of file + diff --git a/config-loader/protocols-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/protocols/ProtocolsConfigFileProcessor.java b/config-loader/protocols-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/protocols/ProtocolsConfigFileProcessor.java index 926c6890ae..950608adef 100644 --- a/config-loader/protocols-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/protocols/ProtocolsConfigFileProcessor.java +++ b/config-loader/protocols-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/protocols/ProtocolsConfigFileProcessor.java @@ -16,10 +16,10 @@ import java.util.Map; import java.util.concurrent.ExecutionException; import org.opendaylight.bgpcep.config.loader.spi.ConfigFileProcessor; import org.opendaylight.bgpcep.config.loader.spi.ConfigLoader; -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.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.NetworkInstances; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.NetworkInstance; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.NetworkInstanceKey; diff --git a/config-loader/protocols-config-loader/src/main/resources/OSGI-INF/blueprint/protocols-config-loader.xml b/config-loader/protocols-config-loader/src/main/resources/OSGI-INF/blueprint/protocols-config-loader.xml index 56601caa64..0ac8307843 100644 --- a/config-loader/protocols-config-loader/src/main/resources/OSGI-INF/blueprint/protocols-config-loader.xml +++ b/config-loader/protocols-config-loader/src/main/resources/OSGI-INF/blueprint/protocols-config-loader.xml @@ -10,8 +10,7 @@ - + - \ No newline at end of file + diff --git a/config-loader/routing-policy-config-loader/pom.xml b/config-loader/routing-policy-config-loader/pom.xml index dcb6e269b8..e6cd3cd741 100644 --- a/config-loader/routing-policy-config-loader/pom.xml +++ b/config-loader/routing-policy-config-loader/pom.xml @@ -31,12 +31,12 @@ config-loader-spi - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.mdsal @@ -84,13 +84,8 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test-jar test diff --git a/config-loader/routing-policy-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/routing/policy/OpenconfigRoutingPolicyLoader.java b/config-loader/routing-policy-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/routing/policy/OpenconfigRoutingPolicyLoader.java index 8e600b8e59..b698d4734b 100644 --- a/config-loader/routing-policy-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/routing/policy/OpenconfigRoutingPolicyLoader.java +++ b/config-loader/routing-policy-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/routing/policy/OpenconfigRoutingPolicyLoader.java @@ -13,10 +13,10 @@ import java.util.concurrent.ExecutionException; import org.checkerframework.checker.lock.qual.GuardedBy; import org.opendaylight.bgpcep.config.loader.spi.ConfigFileProcessor; import org.opendaylight.bgpcep.config.loader.spi.ConfigLoader; -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.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.routing.policy.rev151009.routing.policy.top.RoutingPolicy; import org.opendaylight.yangtools.concepts.AbstractRegistration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -69,8 +69,7 @@ public final class OpenconfigRoutingPolicyLoader implements ConfigFileProcessor, final RoutingPolicy routingPolicy = (RoutingPolicy) this.bindingSerializer .fromNormalizedNode(this.routingPolicyYiid, dto).getValue(); final WriteTransaction wtx = this.dataBroker.newWriteOnlyTransaction(); - wtx.merge(LogicalDatastoreType.CONFIGURATION, ROUTING_POLICY_IID, routingPolicy, - WriteTransaction.CREATE_MISSING_PARENTS); + wtx.merge(LogicalDatastoreType.CONFIGURATION, ROUTING_POLICY_IID, routingPolicy); try { wtx.commit().get(); diff --git a/config-loader/routing-policy-config-loader/src/main/resources/OSGI-INF/blueprint/routing-policy-config-loader.xml b/config-loader/routing-policy-config-loader/src/main/resources/OSGI-INF/blueprint/routing-policy-config-loader.xml index 9e1d19c6c2..fa9d27d49c 100644 --- a/config-loader/routing-policy-config-loader/src/main/resources/OSGI-INF/blueprint/routing-policy-config-loader.xml +++ b/config-loader/routing-policy-config-loader/src/main/resources/OSGI-INF/blueprint/routing-policy-config-loader.xml @@ -9,8 +9,7 @@ - + - \ No newline at end of file + diff --git a/config-loader/topology-config-loader/pom.xml b/config-loader/topology-config-loader/pom.xml index 39dca2fb74..2bbfe14348 100644 --- a/config-loader/topology-config-loader/pom.xml +++ b/config-loader/topology-config-loader/pom.xml @@ -38,12 +38,12 @@ mdsal-binding-dom-codec - org.opendaylight.controller - sal-binding-api + org.opendaylight.mdsal + mdsal-binding-api - org.opendaylight.controller - sal-common-api + org.opendaylight.mdsal + mdsal-common-api org.opendaylight.mdsal @@ -87,13 +87,8 @@ test - org.opendaylight.controller - sal-binding-broker-impl - test - - - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test-jar test diff --git a/config-loader/topology-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessor.java b/config-loader/topology-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessor.java index 1986c5eae0..7578eba07b 100644 --- a/config-loader/topology-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessor.java +++ b/config-loader/topology-config-loader/src/main/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessor.java @@ -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.bgpcep.config.loader.topology; import static java.util.Objects.requireNonNull; @@ -15,10 +14,10 @@ import java.util.Map; import java.util.concurrent.ExecutionException; import org.opendaylight.bgpcep.config.loader.spi.ConfigFileProcessor; import org.opendaylight.bgpcep.config.loader.spi.ConfigLoader; -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.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.WriteTransaction; import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; diff --git a/config-loader/topology-config-loader/src/main/resources/OSGI-INF/blueprint/topology-config-loader.xml b/config-loader/topology-config-loader/src/main/resources/OSGI-INF/blueprint/topology-config-loader.xml index 12aec0a438..51d0e0a558 100644 --- a/config-loader/topology-config-loader/src/main/resources/OSGI-INF/blueprint/topology-config-loader.xml +++ b/config-loader/topology-config-loader/src/main/resources/OSGI-INF/blueprint/topology-config-loader.xml @@ -9,8 +9,7 @@ - + - \ No newline at end of file + diff --git a/config-loader/topology-config-loader/src/test/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessorTest.java b/config-loader/topology-config-loader/src/test/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessorTest.java index 69b0346381..d70dfb4517 100644 --- a/config-loader/topology-config-loader/src/test/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessorTest.java +++ b/config-loader/topology-config-loader/src/test/java/org/opendaylight/bgpcep/config/loader/topology/NetworkTopologyConfigFileProcessorTest.java @@ -13,9 +13,9 @@ import static org.junit.Assert.assertNotNull; import static org.opendaylight.protocol.util.CheckUtil.checkNotPresentConfiguration; import static org.opendaylight.protocol.util.CheckUtil.checkPresentConfiguration; +import java.util.concurrent.ExecutionException; import org.junit.Test; import org.opendaylight.bgpcep.config.loader.impl.AbstractConfigLoader; -import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; @@ -26,7 +26,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; public class NetworkTopologyConfigFileProcessorTest extends AbstractConfigLoader { @Test - public void configFileTest() throws ReadFailedException, InterruptedException { + public void configFileTest() throws InterruptedException, ExecutionException { final KeyedInstanceIdentifier topologyIIdKeyed = InstanceIdentifier.create(NetworkTopology.class).child(Topology.class, new TopologyKey(new TopologyId("topology-test"))); diff --git a/features/rsvp/odl-bgpcep-rsvp-api/pom.xml b/features/rsvp/odl-bgpcep-rsvp-api/pom.xml index e12c7908d5..ed632d92d0 100644 --- a/features/rsvp/odl-bgpcep-rsvp-api/pom.xml +++ b/features/rsvp/odl-bgpcep-rsvp-api/pom.xml @@ -32,7 +32,7 @@ org.opendaylight.controller - odl-mdsal-broker + odl-mdsal-broker xml features diff --git a/programming/impl/pom.xml b/programming/impl/pom.xml index 18474a4708..80fa55d2f8 100644 --- a/programming/impl/pom.xml +++ b/programming/impl/pom.xml @@ -99,8 +99,8 @@ mockito-configuration - org.opendaylight.controller - sal-broker-impl + org.opendaylight.mdsal + mdsal-dom-broker test diff --git a/testtool-util/pom.xml b/testtool-util/pom.xml index 94eae43c3d..1e085fcb7e 100644 --- a/testtool-util/pom.xml +++ b/testtool-util/pom.xml @@ -41,14 +41,6 @@ org.opendaylight.mdsal mdsal-common-api - - org.opendaylight.controller - sal-binding-api - - - org.opendaylight.controller - sal-common-api - io.netty netty-common @@ -77,13 +69,13 @@ test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test - org.opendaylight.controller - sal-binding-broker-impl + org.opendaylight.mdsal + mdsal-binding-dom-adapter test test-jar diff --git a/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java b/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java index 59ef100e09..3a3b20f1bf 100644 --- a/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java +++ b/testtool-util/src/main/java/org/opendaylight/protocol/util/CheckUtil.java @@ -8,22 +8,21 @@ package org.opendaylight.protocol.util; import static com.google.common.base.Verify.verify; -import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.CONFIGURATION; -import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL; +import static org.opendaylight.mdsal.common.api.LogicalDatastoreType.CONFIGURATION; +import static org.opendaylight.mdsal.common.api.LogicalDatastoreType.OPERATIONAL; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Stopwatch; import com.google.common.util.concurrent.Uninterruptibles; import io.netty.util.concurrent.Future; +import java.util.Optional; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.function.Function; -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.LogicalDatastoreType; -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.LogicalDatastoreType; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -48,37 +47,39 @@ public final class CheckUtil { } public static R readDataOperational(final DataBroker dataBroker, - final InstanceIdentifier iid, final Function function) throws ReadFailedException { + final InstanceIdentifier iid, final Function function) throws InterruptedException, + ExecutionException { return readDataOperational(dataBroker, iid, function, TIMEOUT); } @VisibleForTesting static R readDataOperational(final DataBroker dataBroker, final InstanceIdentifier iid, final Function function, final int timeout) - throws ReadFailedException { + throws InterruptedException, ExecutionException { return readData(dataBroker, OPERATIONAL, iid, function, timeout); } public static R readDataConfiguration(final DataBroker dataBroker, - final InstanceIdentifier iid, final Function function) throws ReadFailedException { + final InstanceIdentifier iid, final Function function) throws InterruptedException, + ExecutionException { return readDataConfiguration(dataBroker, iid, function, TIMEOUT); } @VisibleForTesting static R readDataConfiguration(final DataBroker dataBroker, final InstanceIdentifier iid, final Function function, final int timeout) - throws ReadFailedException { + throws InterruptedException, ExecutionException { return readData(dataBroker, CONFIGURATION, iid, function, timeout); } private static R readData(final DataBroker dataBroker, final LogicalDatastoreType ldt, final InstanceIdentifier iid, final Function function, final int timeout) - throws ReadFailedException { + throws InterruptedException, ExecutionException { AssertionError lastError = null; final Stopwatch sw = Stopwatch.createStarted(); do { - try (ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction()) { - final Optional data = tx.read(ldt, iid).checkedGet(); + try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) { + final Optional data = tx.read(ldt, iid).get(); if (data.isPresent()) { try { return function.apply(data.get()); @@ -93,32 +94,33 @@ public final class CheckUtil { } public static T checkPresentOperational(final DataBroker dataBroker, - final InstanceIdentifier iid) throws ReadFailedException { + final InstanceIdentifier iid) throws InterruptedException, ExecutionException { return readData(dataBroker, OPERATIONAL, iid, bgpRib -> bgpRib, TIMEOUT); } public static T checkPresentConfiguration(final DataBroker dataBroker, - final InstanceIdentifier iid) throws ReadFailedException { + final InstanceIdentifier iid) throws InterruptedException, ExecutionException { return readData(dataBroker, CONFIGURATION, iid, bgpRib -> bgpRib, TIMEOUT); } public static void checkNotPresentOperational(final DataBroker dataBroker, - final InstanceIdentifier iid) throws ReadFailedException { + final InstanceIdentifier iid) throws InterruptedException, ExecutionException { checkNotPresent(dataBroker, OPERATIONAL, iid); } public static void checkNotPresentConfiguration(final DataBroker dataBroker, - final InstanceIdentifier iid) throws ReadFailedException { + final InstanceIdentifier iid) throws InterruptedException, ExecutionException { checkNotPresent(dataBroker, CONFIGURATION, iid); } private static void checkNotPresent(final DataBroker dataBroker, - final LogicalDatastoreType ldt, final InstanceIdentifier iid) throws ReadFailedException { + final LogicalDatastoreType ldt, final InstanceIdentifier iid) throws InterruptedException, + ExecutionException { AssertionError lastError = null; final Stopwatch sw = Stopwatch.createStarted(); while (sw.elapsed(TimeUnit.SECONDS) <= 10) { - try (ReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction()) { - final com.google.common.base.Optional data = tx.read(ldt, iid).checkedGet(); + try (ReadTransaction tx = dataBroker.newReadOnlyTransaction()) { + final Optional data = tx.read(ldt, iid).get(); try { assert !data.isPresent(); return; diff --git a/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java b/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java index 478720e1fb..07e98e4a82 100644 --- a/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java +++ b/testtool-util/src/test/java/org/opendaylight/protocol/util/CheckUtilTest.java @@ -7,8 +7,8 @@ */ package org.opendaylight.protocol.util; -import static junit.framework.TestCase.assertNull; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; @@ -33,9 +33,9 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.WriteTransaction; +import org.opendaylight.mdsal.binding.dom.adapter.test.AbstractConcurrentDataBrokerTest; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.protocol.util.CheckUtil.ListenerCheck; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId; -- 2.36.6