Migrated usage of RpcService to Rpc<?,?> for pcep-tunnel-provider.
JIRA: BGPCEP-1027
Change-Id: I93f829868681d66382b3d79595dc055720f08a37
Signed-off-by: lubos-cicut <lubos.cicut@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
import org.opendaylight.bgpcep.programming.topology.TopologyProgrammingUtil;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
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.Ipv4AddressNoZone;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.endpoints.address.family.ipv6._case.Ipv6Builder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.endpoints.object.EndpointsObjBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.lspa.object.LspaBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLsp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLspInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLspInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.OperationResult;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.add.lsp.args.Arguments;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.add.lsp.args.ArgumentsBuilder;
final class CreateTunnelInstructionExecutor extends AbstractInstructionExecutor {
private final DataBroker dataProvider;
- private final NetworkTopologyPcepService topologyService;
+ private final AddLsp addLsp;
private final PcepCreateP2pTunnelInput p2pTunnelInput;
CreateTunnelInstructionExecutor(final PcepCreateP2pTunnelInput p2pTunnelInput, final DataBroker dataProvider,
- final NetworkTopologyPcepService topologyService) {
+ final RpcConsumerRegistry rpcConsumerRegistry) {
super(p2pTunnelInput);
this.p2pTunnelInput = p2pTunnelInput;
this.dataProvider = dataProvider;
- this.topologyService = topologyService;
+ addLsp = rpcConsumerRegistry.getRpc(AddLsp.class);
}
private static void checkLinkIsnotExistent(final InstanceIdentifier<Topology> tii,
try (ReadTransaction transaction = dataProvider.newReadOnlyTransaction()) {
AddLspInput addLspInput = createAddLspInput(transaction);
- return Futures.transform(
- topologyService.addLsp(addLspInput),
- RpcResult::getResult, MoreExecutors.directExecutor());
+ return Futures.transform(addLsp.invoke(addLspInput), RpcResult::getResult, MoreExecutors.directExecutor());
}
}
import org.opendaylight.bgpcep.programming.tunnel.TunnelProgrammingUtil;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.OperationResult;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLsp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLspInputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepDestroyTunnelInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.rev181109.Link1;
private static final Logger LOG = LoggerFactory.getLogger(DestroyTunnelInstructionExecutor.class);
private final PcepDestroyTunnelInput pcepDestroyTunnelInput;
private final DataBroker dataProvider;
- private final NetworkTopologyPcepService topologyService;
+ private final RemoveLsp removeLsp;
DestroyTunnelInstructionExecutor(final PcepDestroyTunnelInput pcepDestroyTunnelInput, final DataBroker dataProvider,
- final NetworkTopologyPcepService topologyService) {
+ final RpcConsumerRegistry rpcConsumerRegistry) {
super(pcepDestroyTunnelInput);
this.pcepDestroyTunnelInput = pcepDestroyTunnelInput;
this.dataProvider = dataProvider;
- this.topologyService = topologyService;
+ removeLsp = rpcConsumerRegistry.getRpc(RemoveLsp.class);
}
@Override
final RemoveLspInputBuilder ab = new RemoveLspInputBuilder();
ab.setName(link.augmentation(Link1.class).getSymbolicPathName());
ab.setNode(node.nonnullSupportingNode().values().iterator().next().key().getNodeRef());
- return Futures.transform(
- topologyService.removeLsp(ab.build()),
- RpcResult::getResult, MoreExecutors.directExecutor());
+ return Futures.transform(removeLsp.invoke(ab.build()), RpcResult::getResult,
+ MoreExecutors.directExecutor());
}
}
}
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.ListenableFuture;
import java.util.Map;
-import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.checkerframework.checker.lock.qual.GuardedBy;
import org.opendaylight.bgpcep.programming.spi.InstructionScheduler;
import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonService;
import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceRegistration;
import org.opendaylight.mdsal.singleton.common.api.ServiceGroupIdentifier;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.TopologyTunnelPcepProgrammingService;
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;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
-import org.opendaylight.yangtools.concepts.ObjectRegistration;
+import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
@GuardedBy("this")
private ClusterSingletonServiceRegistration pcepTunnelCssReg;
@GuardedBy("this")
- private ObjectRegistration<TunnelProgramming> reg;
+ private Registration reg;
public PCEPTunnelClusterSingletonService(
final TunnelProviderDependencies dependencies,
public synchronized void instantiateServiceInstance() {
LOG.info("Instantiate PCEP Tunnel Topology Provider Singleton Service {}", getIdentifier().getName());
- final InstanceIdentifier<Topology> topology = InstanceIdentifier
- .builder(NetworkTopology.class).child(Topology.class, new TopologyKey(tunnelTopologyId)).build();
- reg = dependencies.getRpcProviderRegistry()
- .registerRpcImplementation(TopologyTunnelPcepProgrammingService.class, tp, Set.of(topology));
+ reg = tp.register(InstanceIdentifier.builder(NetworkTopology.class)
+ .child(Topology.class, new TopologyKey(tunnelTopologyId))
+ .build());
ttp.init();
}
import static java.util.Objects.requireNonNull;
+import com.google.common.annotations.VisibleForTesting;
+import com.google.common.collect.ImmutableClassToInstanceMap;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
+import java.util.Set;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.bgpcep.pcep.topology.spi.AbstractInstructionExecutor;
import org.opendaylight.bgpcep.programming.spi.InstructionScheduler;
import org.opendaylight.bgpcep.programming.spi.SuccessfulRpcResult;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepCreateP2pTunnel;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepCreateP2pTunnelInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepCreateP2pTunnelOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepCreateP2pTunnelOutputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepDestroyTunnel;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepDestroyTunnelInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepDestroyTunnelOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepDestroyTunnelOutputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepUpdateTunnel;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepUpdateTunnelInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepUpdateTunnelOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepUpdateTunnelOutputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.TopologyTunnelPcepProgrammingService;
+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;
+import org.opendaylight.yangtools.concepts.Registration;
+import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.Rpc;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public final class TunnelProgramming implements TopologyTunnelPcepProgrammingService, AutoCloseable {
+public final class TunnelProgramming implements AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(TunnelProgramming.class);
+
private final InstructionScheduler scheduler;
private final TunnelProviderDependencies dependencies;
this.dependencies = requireNonNull(dependencies);
}
- @Override
- public ListenableFuture<RpcResult<PcepCreateP2pTunnelOutput>> pcepCreateP2pTunnel(
+ Registration register(final KeyedInstanceIdentifier<Topology, TopologyKey> topologyPath) {
+ return dependencies.getRpcProviderRegistry().registerRpcImplementations(
+ ImmutableClassToInstanceMap.<Rpc<?, ?>>builder()
+ .put(PcepCreateP2pTunnel.class, this::pcepCreateP2pTunnel)
+ .put(PcepDestroyTunnel.class, this::pcepDestroyTunnel)
+ .put(PcepUpdateTunnel.class, this::pcepUpdateTunnel)
+ .build(), Set.of(topologyPath));
+ }
+
+ @VisibleForTesting
+ ListenableFuture<RpcResult<PcepCreateP2pTunnelOutput>> pcepCreateP2pTunnel(
final PcepCreateP2pTunnelInput p2pTunnelInput) {
- final PcepCreateP2pTunnelOutputBuilder b = new PcepCreateP2pTunnelOutputBuilder();
- b.setResult(AbstractInstructionExecutor.schedule(this.scheduler,
- new CreateTunnelInstructionExecutor(p2pTunnelInput,
- TunnelProgramming.this.dependencies.getDataBroker(),
- TunnelProgramming.this.dependencies.getNtps())));
- final RpcResult<PcepCreateP2pTunnelOutput> res = SuccessfulRpcResult.create(b.build());
- return Futures.immediateFuture(res);
+ return Futures.immediateFuture(SuccessfulRpcResult.create(new PcepCreateP2pTunnelOutputBuilder()
+ .setResult(AbstractInstructionExecutor.schedule(scheduler, new CreateTunnelInstructionExecutor(
+ p2pTunnelInput, dependencies.getDataBroker(), dependencies.getRpcConsumerRegistry())))
+ .build()));
}
- @Override
- public ListenableFuture<RpcResult<PcepDestroyTunnelOutput>> pcepDestroyTunnel(
+ @VisibleForTesting
+ ListenableFuture<RpcResult<PcepDestroyTunnelOutput>> pcepDestroyTunnel(
final PcepDestroyTunnelInput destroyTunnelInput) {
- final PcepDestroyTunnelOutputBuilder b = new PcepDestroyTunnelOutputBuilder();
- b.setResult(AbstractInstructionExecutor.schedule(this.scheduler,
- new DestroyTunnelInstructionExecutor(destroyTunnelInput,
- TunnelProgramming.this.dependencies.getDataBroker(),
- TunnelProgramming.this.dependencies.getNtps())));
- final RpcResult<PcepDestroyTunnelOutput> res = SuccessfulRpcResult.create(b.build());
- return Futures.immediateFuture(res);
+ return Futures.immediateFuture(SuccessfulRpcResult.create(new PcepDestroyTunnelOutputBuilder()
+ .setResult(AbstractInstructionExecutor.schedule(scheduler, new DestroyTunnelInstructionExecutor(
+ destroyTunnelInput, dependencies.getDataBroker(), dependencies.getRpcConsumerRegistry())))
+ .build()));
}
- @Override
- public ListenableFuture<RpcResult<PcepUpdateTunnelOutput>> pcepUpdateTunnel(
+ @VisibleForTesting
+ ListenableFuture<RpcResult<PcepUpdateTunnelOutput>> pcepUpdateTunnel(
final PcepUpdateTunnelInput updateTunnelInput) {
- final PcepUpdateTunnelOutputBuilder b = new PcepUpdateTunnelOutputBuilder();
- b.setResult(AbstractInstructionExecutor.schedule(this.scheduler,
- new UpdateTunnelInstructionExecutor(updateTunnelInput,
- TunnelProgramming.this.dependencies.getDataBroker(),
- TunnelProgramming.this.dependencies.getNtps())));
-
- final RpcResult<PcepUpdateTunnelOutput> res = SuccessfulRpcResult.create(b.build());
- return Futures.immediateFuture(res);
+ return Futures.immediateFuture(SuccessfulRpcResult.create(new PcepUpdateTunnelOutputBuilder()
+ .setResult(AbstractInstructionExecutor.schedule(scheduler, new UpdateTunnelInstructionExecutor(
+ updateTunnelInput, dependencies.getDataBroker(), dependencies.getRpcConsumerRegistry())))
+ .build()));
}
@Override
import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
import org.opendaylight.mdsal.binding.api.RpcProviderService;
import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService;
import org.osgi.framework.BundleContext;
final class TunnelProviderDependencies {
private final DataBroker dataBroker;
private final ClusterSingletonServiceProvider cssp;
- private final NetworkTopologyPcepService ntps;
+ private final RpcConsumerRegistry rpcConsumerRegistry;
private final RpcProviderService rpcProviderRegistry;
private final BundleContext bundleContext;
this.cssp = requireNonNull(cssp);
this.rpcProviderRegistry = requireNonNull(rpcProviderRegistry);
this.bundleContext = requireNonNull(bundleContext);
- this.ntps = rpcConsumerRegistry.getRpcService(NetworkTopologyPcepService.class);
+ this.rpcConsumerRegistry = requireNonNull(rpcConsumerRegistry);
}
DataBroker getDataBroker() {
return this.cssp;
}
- NetworkTopologyPcepService getNtps() {
- return this.ntps;
+ RpcConsumerRegistry getRpcConsumerRegistry() {
+ return this.rpcConsumerRegistry;
}
RpcProviderService getRpcProviderRegistry() {
import org.opendaylight.bgpcep.programming.tunnel.TunnelProgrammingUtil;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.ReadTransaction;
+import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.AdministrativeStatus;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ietf.stateful.rev200720.Arguments3Builder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.bandwidth.object.BandwidthBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.classtype.object.ClassTypeBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.lspa.object.LspaBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.OperationResult;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLsp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLspInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLspInputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.tunnel.pcep.programming.rev181109.PcepUpdateTunnelInput;
private static final Logger LOG = LoggerFactory.getLogger(UpdateTunnelInstructionExecutor.class);
private final PcepUpdateTunnelInput updateTunnelInput;
private final DataBroker dataProvider;
- private final NetworkTopologyPcepService topologyService;
+ private final UpdateLsp updateLsp;
UpdateTunnelInstructionExecutor(final PcepUpdateTunnelInput updateTunnelInput, final DataBroker dataProvider,
- final NetworkTopologyPcepService topologyService) {
+ final RpcConsumerRegistry rpcConsumerRegistry) {
super(updateTunnelInput);
this.updateTunnelInput = updateTunnelInput;
this.dataProvider = dataProvider;
- this.topologyService = topologyService;
+ updateLsp = rpcConsumerRegistry.getRpc(UpdateLsp.class);
}
@Override
LOG.debug("Link or node does not exist.", e);
return TunelProgrammingUtil.RESULT;
}
- return Futures.transform(
- topologyService.updateLsp(buildUpdateInput(link, node)),
- RpcResult::getResult, MoreExecutors.directExecutor());
+ return Futures.transform(updateLsp.invoke(buildUpdateInput(link, node)), RpcResult::getResult,
+ MoreExecutors.directExecutor());
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCase;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.IpPrefixCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.ip.prefix._case.IpPrefixBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLsp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLspInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLspOutput;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLsp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLspInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLspOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLsp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLspInput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLspOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.add.lsp.args.Arguments;
private static final String IPV4_PREFIX1 = "195.20.160.40/32";
private static final String IPV4_PREFIX2 = "201.20.160.43/32";
- @Mock
- private NetworkTopologyPcepService topologyService;
@Mock
private InstructionScheduler scheduler;
@Mock
private ListenableFuture<RpcResult<UpdateLspOutput>> futureUpdateLspOutput;
@Mock
private ListenableFuture<RpcResult<RemoveLspOutput>> futureRemoveLspOutput;
+ @Mock
+ private AddLsp addLsp;
+ @Mock
+ private UpdateLsp updateLsp;
+ @Mock
+ private RemoveLsp removeLsp;
private static Node createNode(final NodeId nodeId, final TpId tpId, final String ipv4Address) {
return new NodeBuilder()
doAnswer(invocation -> {
addLspInput = invocation.getArgument(0);
return futureAddLspOutput;
- }).when(topologyService).addLsp(any(AddLspInput.class));
+ }).when(addLsp).invoke(any(AddLspInput.class));
doAnswer(invocation -> {
updateLspInput = invocation.getArgument(0);
return futureUpdateLspOutput;
- }).when(topologyService).updateLsp(any(UpdateLspInput.class));
+ }).when(updateLsp).invoke(any(UpdateLspInput.class));
doAnswer(invocation -> {
removeLspInput = invocation.getArgument(0);
return futureRemoveLspOutput;
- }).when(topologyService).removeLsp(any(RemoveLspInput.class));
+ }).when(removeLsp).invoke(any(RemoveLspInput.class));
doReturn(instruction).when(instructionFuture).get();
doReturn(true).when(instructionFuture).isDone();
doReturn(instructionFuture).when(scheduler)
.scheduleInstruction(any(SubmitInstructionInput.class));
- doReturn(topologyService).when(rpcs)
- .getRpcService(NetworkTopologyPcepService.class);
+ doReturn(addLsp).when(rpcs).getRpc(AddLsp.class);
+ doReturn(updateLsp).when(rpcs).getRpc(UpdateLsp.class);
+ doReturn(removeLsp).when(rpcs).getRpc(RemoveLsp.class);
createInitialTopology();
tunnelProgramming = new TunnelProgramming(scheduler,