import org.opendaylight.protocol.pcep.spi.PCEPDeserializerException;
import org.opendaylight.protocol.pcep.spi.TlvRegistry;
import org.opendaylight.protocol.pcep.spi.VendorInformationTlvRegistry;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext;
import org.opendaylight.protocol.pcep.sync.optimizations.SyncOptimizationsActivator;
import org.opendaylight.protocol.pcep.sync.optimizations.SyncOptimizationsLspObjectParser;
import org.opendaylight.yangtools.yang.common.Uint8;
public class PCEPObjectParserTest {
-
- private SimplePCEPExtensionProviderContext ctx;
- private BaseParserExtensionActivator act;
-
- private TlvRegistry tlvRegistry;
- private VendorInformationTlvRegistry viTlvRegistry;
-
private static final Uint64 DB_VERSION = Uint64.valueOf("0102030405060708", 16);
private static final byte[] SPEAKER_ID = {0x01, 0x02, 0x03, 0x04};
+ private final SimplePCEPExtensionProviderContext ctx = new SimplePCEPExtensionProviderContext();
+ private final TlvRegistry tlvRegistry = ctx.getTlvHandlerRegistry();
+ private final VendorInformationTlvRegistry viTlvRegistry = ctx.getVendorInformationTlvRegistry();
+
@Before
public void setUp() {
- this.ctx = new SimplePCEPExtensionProviderContext();
- this.act = new BaseParserExtensionActivator();
- this.act.start(this.ctx);
- this.tlvRegistry = ServiceLoaderPCEPExtensionProviderContext.create().getTlvHandlerRegistry();
- this.viTlvRegistry = ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance()
- .getVendorInformationTlvRegistry();
+ new BaseParserExtensionActivator().start(this.ctx);
}
@Test
@Test
public void testStatefulLspObjectWithTlv() throws IOException, PCEPDeserializerException {
+ new StatefulActivator().start(ctx);
+
final StatefulLspObjectParser parser = new StatefulLspObjectParser(this.tlvRegistry, this.viTlvRegistry);
final ByteBuf result = Unpooled.wrappedBuffer(ByteArray.fileToBytes(
"src/test/resources/PCEPLspObject2WithTLV.bin"));
* 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.pcep.impl;
import static java.util.Objects.requireNonNull;
import static org.junit.Assert.assertEquals;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
import io.netty.bootstrap.Bootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.util.concurrent.GlobalEventExecutor;
import java.net.InetSocketAddress;
import java.nio.channels.Channel;
-import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.protocol.concepts.KeyMapping;
-import org.opendaylight.protocol.pcep.PCEPCapability;
import org.opendaylight.protocol.pcep.PCEPDispatcherDependencies;
import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
import org.opendaylight.protocol.pcep.spi.MessageRegistry;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
+@RunWith(MockitoJUnitRunner.StrictStubs.class)
public class PCEPDispatcherImplTest {
private static final short DEAD_TIMER = 120;
private static final short KEEP_ALIVE = 30;
@Before
public void setUp() {
- MockitoAnnotations.initMocks(this);
- final List<PCEPCapability> capList = new ArrayList<>();
final PCEPSessionProposalFactory sessionProposal = new BasePCEPSessionProposalFactory(DEAD_TIMER, KEEP_ALIVE,
- capList);
+ List.of());
final EventLoopGroup eventLoopGroup;
if (Epoll.isAvailable()) {
eventLoopGroup = new EpollEventLoopGroup();
} else {
eventLoopGroup = new NioEventLoopGroup();
}
- final MessageRegistry msgReg = ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance()
- .getMessageHandlerRegistry();
+ final MessageRegistry msgReg = new DefaultPCEPExtensionConsumerContext().getMessageHandlerRegistry();
this.dispatcher = new PCEPDispatcherImpl(msgReg,
new DefaultPCEPSessionNegotiatorFactory(sessionProposal, 0),
eventLoopGroup, eventLoopGroup);
doReturn(KeyMapping.getKeyMapping()).when(this.dispatcherDependencies).getKeys();
doReturn(null).when(this.dispatcherDependencies).getPeerProposal();
- doReturn("mockChannel").when(this.mockChannel).toString();
final PCEPDispatcherImpl dispatcher2 = new PCEPDispatcherImpl(msgReg,
new DefaultPCEPSessionNegotiatorFactory(sessionProposal, 0),
eventLoopGroup, eventLoopGroup);
- this.disp2Spy = Mockito.spy(dispatcher2);
+ this.disp2Spy = spy(dispatcher2);
this.pccMock = new PCCMock(new DefaultPCEPSessionNegotiatorFactory(sessionProposal, 0),
new PCEPHandlerFactory(msgReg));
keys.put(clientAddr2.getAddress(), "CLIENT2_ADDRESS".getBytes());
doReturn(new InetSocketAddress("0.0.0.0", port)).when(this.dispatcherDependencies).getAddress();
- doReturn(this.listenerFactory).when(this.dispatcherDependencies).getListenerFactory();
- doReturn(new SimpleSessionListener()).when(this.listenerFactory).getSessionListener();
final ChannelFuture futureChannel = this.disp2Spy.createServer(this.dispatcherDependencies);
futureChannel.sync();
- Mockito.verify(this.disp2Spy).createServerBootstrap(any(PCEPDispatcherImpl.ChannelPipelineInitializer.class));
+ verify(this.disp2Spy).createServerBootstrap(any(PCEPDispatcherImpl.ChannelPipelineInitializer.class));
}
@After
return p;
}
- @SuppressWarnings("checkstyle:EmptyBlock")
private static void setChannelFactory(final Bootstrap bootstrap) {
try {
bootstrap.channel(NioSocketChannel.class);
} catch (final IllegalStateException ignored) {
+ // Ignored
}
}
import java.util.List;
import org.junit.Test;
import org.opendaylight.protocol.pcep.spi.MessageRegistry;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
import org.opendaylight.protocol.util.ByteArray;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev181109.Close;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev181109.Keepalive;
public class PCEPParserTest {
- private final MessageRegistry registry =
- ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance().getMessageHandlerRegistry();
+ private final MessageRegistry registry = new DefaultPCEPExtensionConsumerContext().getMessageHandlerRegistry();
@Test
public void testMessageToByteEncoding() {
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.protocol.pcep.PCEPCapability;
import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.ietf.initiated.InitiatedActivator;
-import org.opendaylight.protocol.pcep.ietf.stateful.StatefulActivator;
import org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory;
import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
import org.opendaylight.protocol.pcep.impl.PCEPSessionImpl;
import org.opendaylight.protocol.pcep.pcc.mock.api.PCCTunnelManager;
import org.opendaylight.protocol.pcep.pcc.mock.protocol.PCCDispatcherImpl;
import org.opendaylight.protocol.pcep.pcc.mock.protocol.PCCSessionListener;
-import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
-import org.opendaylight.protocol.pcep.sync.optimizations.SyncOptimizationsActivator;
+import org.opendaylight.protocol.pcep.spi.MessageRegistry;
+import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
import org.opendaylight.yangtools.yang.common.Uint64;
final class PCCsBuilder {
private final int stateTimeout;
private final PCEPCapability pcepCapabilities;
private final Timer timer = new HashedWheelTimer();
+ private final MessageRegistry registry;
+
private PCCDispatcherImpl pccDispatcher;
PCCsBuilder(final int lsps, final boolean pcError, final int pccCount,
this.redelegationTimeout = redelegationTimeout;
this.stateTimeout = stateTimeout;
this.pcepCapabilities = pcepCapabilities;
- startActivators();
+
+// final PCEPExtensionProviderContext ctx = new SimplePCEPExtensionProviderContext();
+// new PCCActivator().start(ctx);
+// new StatefulActivator().start(ctx);
+// new SyncOptimizationsActivator().start(ctx);
+// new InitiatedActivator().start(ctx);
+
+ this.registry = new DefaultPCEPExtensionConsumerContext().getMessageHandlerRegistry();
}
void createPCCs(final Uint64 initialDBVersion, final Optional<TimerHandler> timerHandler) {
InetAddress currentAddress = this.localAddress.getAddress();
- this.pccDispatcher = new PCCDispatcherImpl(ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance()
- .getMessageHandlerRegistry());
+ this.pccDispatcher = new PCCDispatcherImpl(registry);
if (timerHandler.isPresent()) {
timerHandler.get().setPCCDispatcher(this.pccDispatcher);
}
return new DefaultPCEPSessionNegotiatorFactory(new BasePCEPSessionProposalFactory(this.deadTimer,
this.keepAlive, capabilities), 0);
}
-
- private static void startActivators() {
- final PCCActivator pccActivator = new PCCActivator();
- final StatefulActivator stateful = new StatefulActivator();
- final SyncOptimizationsActivator optimizationsActivator = new SyncOptimizationsActivator();
- final InitiatedActivator activator = new InitiatedActivator();
- final PCEPExtensionProviderContext ctx = ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance();
- pccActivator.start(ctx);
- stateful.start(ctx);
- optimizationsActivator.start(ctx);
- activator.start(ctx);
- }
}
import io.netty.util.concurrent.Future;
import java.net.InetSocketAddress;
import java.util.ArrayList;
-import java.util.List;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Assert;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.opendaylight.protocol.concepts.KeyMapping;
-import org.opendaylight.protocol.pcep.PCEPCapability;
import org.opendaylight.protocol.pcep.PCEPDispatcher;
import org.opendaylight.protocol.pcep.PCEPDispatcherDependencies;
import org.opendaylight.protocol.pcep.PCEPSession;
import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
import org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl;
import org.opendaylight.protocol.pcep.pcc.mock.protocol.PCCDispatcherImpl;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.MessageRegistry;
+import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
public class PCCDispatcherImplTest {
- private static final List<PCEPCapability> CAPS = new ArrayList<>();
private static final PCEPSessionProposalFactory PROPOSAL
- = new BasePCEPSessionProposalFactory(10, 40, CAPS);
+ = new BasePCEPSessionProposalFactory(10, 40, new ArrayList<>());
private final DefaultPCEPSessionNegotiatorFactory nf
= new DefaultPCEPSessionNegotiatorFactory(PROPOSAL, 0);
private PCCDispatcherImpl dispatcher;
private InetSocketAddress clientAddress;
private EventLoopGroup workerGroup;
private EventLoopGroup bossGroup;
+ private MessageRegistry registry;
@Mock
PCEPDispatcherDependencies dispatcherDependencies;
MockitoAnnotations.initMocks(this);
this.workerGroup = new NioEventLoopGroup();
this.bossGroup = new NioEventLoopGroup();
- this.dispatcher = new PCCDispatcherImpl(ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance()
- .getMessageHandlerRegistry());
- this.pcepDispatcher = new PCEPDispatcherImpl(ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance()
- .getMessageHandlerRegistry(),
- this.nf, this.bossGroup, this.workerGroup);
+
+ registry = new DefaultPCEPExtensionConsumerContext().getMessageHandlerRegistry();
+
+ this.dispatcher = new PCCDispatcherImpl(this.registry);
+ this.pcepDispatcher = new PCEPDispatcherImpl(this.registry, this.nf, this.bossGroup, this.workerGroup);
this.serverAddress = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress();
this.clientAddress = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress(0);
doReturn(KeyMapping.getKeyMapping()).when(this.dispatcherDependencies).getKeys();
this.workerGroup = new NioEventLoopGroup();
this.bossGroup = new NioEventLoopGroup();
- this.pcepDispatcher = new PCEPDispatcherImpl(ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance()
- .getMessageHandlerRegistry(),
- this.nf, this.bossGroup, this.workerGroup);
+ this.pcepDispatcher = new PCEPDispatcherImpl(this.registry, this.nf, this.bossGroup, this.workerGroup);
final TestingSessionListenerFactory slf2 = new TestingSessionListenerFactory();
doReturn(slf2).when(this.dispatcherDependencies).getListenerFactory();
import java.net.InetSocketAddress;
import java.util.List;
import java.util.Optional;
+import java.util.ServiceLoader;
import java.util.concurrent.TimeUnit;
import org.junit.Before;
import org.opendaylight.protocol.concepts.KeyMapping;
import org.opendaylight.protocol.pcep.pcc.mock.protocol.PCCDispatcherImpl;
import org.opendaylight.protocol.pcep.pcc.mock.protocol.PCCSessionListener;
import org.opendaylight.protocol.pcep.spi.MessageRegistry;
+import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator;
import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.SimplePCEPExtensionProviderContext;
import org.opendaylight.protocol.pcep.sync.optimizations.SyncOptimizationsActivator;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.sync.optimizations.rev200720.Tlvs3;
.getRandomLoopbackInetSocketAddress(this.port);
PCCSessionListener pccSessionListener;
private PCEPDispatcher pceDispatcher;
- private PCEPExtensionProviderContext extensionProvider;
+ private final PCEPExtensionProviderContext extensionProvider = new SimplePCEPExtensionProviderContext();
private MessageRegistry messageRegistry;
protected abstract List<PCEPCapability> getCapabilities();
final BasePCEPSessionProposalFactory proposal = new BasePCEPSessionProposalFactory(DEAD_TIMER, KEEP_ALIVE,
getCapabilities());
final DefaultPCEPSessionNegotiatorFactory nf = new DefaultPCEPSessionNegotiatorFactory(proposal, 0);
- this.extensionProvider = ServiceLoaderPCEPExtensionProviderContext.getSingletonInstance();
+
+ ServiceLoader.load(PCEPExtensionProviderActivator.class).forEach(act -> act.start(extensionProvider));
+
this.messageRegistry = this.extensionProvider.getMessageHandlerRegistry();
this.pceDispatcher = new PCEPDispatcherImpl(this.messageRegistry, nf, new NioEventLoopGroup(),
new NioEventLoopGroup());
}
static TestingSessionListener checkSessionListener(final int numMessages, final Channel channel,
- final TestingSessionListenerFactory factory,
- final String localAddress) throws
- Exception {
+ final TestingSessionListenerFactory factory, final String localAddress) throws Exception {
final TestingSessionListener sessionListener = checkSessionListenerNotNull(factory, localAddress);
assertTrue(sessionListener.isUp());
checkReceivedMessages(sessionListener, numMessages);
+++ /dev/null
-/*
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.protocol.pcep.spi.pojo;
-
-import java.util.ServiceLoader;
-import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderActivator;
-import org.opendaylight.protocol.pcep.spi.PCEPExtensionProviderContext;
-
-public final class ServiceLoaderPCEPExtensionProviderContext extends SimplePCEPExtensionProviderContext {
- private static final class Holder {
- private static final PCEPExtensionProviderContext INSTANCE = create();
-
- private Holder() {
- }
- }
-
- private ServiceLoaderPCEPExtensionProviderContext() {
- // Hidden on purpose
- }
-
- public static PCEPExtensionProviderContext create() {
- final PCEPExtensionProviderContext ctx = new SimplePCEPExtensionProviderContext();
-
- final ServiceLoader<PCEPExtensionProviderActivator> loader =
- ServiceLoader.load(PCEPExtensionProviderActivator.class);
- for (final PCEPExtensionProviderActivator a : loader) {
- a.start(ctx);
- }
-
- return ctx;
- }
-
- public static PCEPExtensionProviderContext getSingletonInstance() {
- return Holder.INSTANCE;
- }
-}
import org.opendaylight.yangtools.concepts.Registration;
// This class is thread-safe
-public class SimplePCEPExtensionProviderContext implements PCEPExtensionProviderContext {
+public final class SimplePCEPExtensionProviderContext implements PCEPExtensionProviderContext {
private final SimpleLabelRegistry labelReg = new SimpleLabelRegistry();
private final SimpleMessageRegistry msgReg = new SimpleMessageRegistry();
private final SimpleVendorInformationObjectRegistry viObjReg = new SimpleVendorInformationObjectRegistry();
private final SimpleVendorInformationTlvRegistry viTlvReg = new SimpleVendorInformationTlvRegistry();
@Override
- public final LabelRegistry getLabelHandlerRegistry() {
+ public LabelRegistry getLabelHandlerRegistry() {
return this.labelReg;
}
@Override
- public final MessageRegistry getMessageHandlerRegistry() {
+ public MessageRegistry getMessageHandlerRegistry() {
return this.msgReg;
}
@Override
- public final ObjectRegistry getObjectHandlerRegistry() {
+ public ObjectRegistry getObjectHandlerRegistry() {
return this.objReg;
}
@Override
- public final EROSubobjectRegistry getEROSubobjectHandlerRegistry() {
+ public EROSubobjectRegistry getEROSubobjectHandlerRegistry() {
return this.eroSubReg;
}
@Override
- public final RROSubobjectRegistry getRROSubobjectHandlerRegistry() {
+ public RROSubobjectRegistry getRROSubobjectHandlerRegistry() {
return this.rroSubReg;
}
@Override
- public final XROSubobjectRegistry getXROSubobjectHandlerRegistry() {
+ public XROSubobjectRegistry getXROSubobjectHandlerRegistry() {
return this.xroSubReg;
}
@Override
- public final TlvRegistry getTlvHandlerRegistry() {
+ public TlvRegistry getTlvHandlerRegistry() {
return this.tlvReg;
}
}
@Override
- public final Registration registerLabelSerializer(final Class<? extends LabelType> labelClass,
+ public Registration registerLabelSerializer(final Class<? extends LabelType> labelClass,
final LabelSerializer serializer) {
return this.labelReg.registerLabelSerializer(labelClass, serializer);
}
@Override
- public final Registration registerLabelParser(final int ctype, final LabelParser parser) {
+ public Registration registerLabelParser(final int ctype, final LabelParser parser) {
return this.labelReg.registerLabelParser(ctype, parser);
}
@Override
- public final Registration registerEROSubobjectParser(final int subobjectType, final EROSubobjectParser parser) {
+ public Registration registerEROSubobjectParser(final int subobjectType, final EROSubobjectParser parser) {
return this.eroSubReg.registerSubobjectParser(subobjectType, parser);
}
@Override
- public final Registration registerEROSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
+ public Registration registerEROSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
final EROSubobjectSerializer serializer) {
return this.eroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
}
@Override
- public final Registration registerMessageParser(final int messageType, final MessageParser parser) {
+ public Registration registerMessageParser(final int messageType, final MessageParser parser) {
return this.msgReg.registerMessageParser(messageType, parser);
}
@Override
- public final Registration registerMessageSerializer(final Class<? extends Message> msgClass,
+ public Registration registerMessageSerializer(final Class<? extends Message> msgClass,
final MessageSerializer serializer) {
return this.msgReg.registerMessageSerializer(msgClass, serializer);
}
@Override
- public final Registration registerObjectParser(final ObjectParser parser) {
+ public Registration registerObjectParser(final ObjectParser parser) {
return this.objReg.registerObjectParser(parser.getObjectClass(), parser.getObjectType(), parser);
}
@Override
- public final Registration registerObjectSerializer(final Class<? extends Object> objClass,
+ public Registration registerObjectSerializer(final Class<? extends Object> objClass,
final ObjectSerializer serializer) {
return this.objReg.registerObjectSerializer(objClass, serializer);
}
@Override
- public final Registration registerRROSubobjectParser(final int subobjectType, final RROSubobjectParser parser) {
+ public Registration registerRROSubobjectParser(final int subobjectType, final RROSubobjectParser parser) {
return this.rroSubReg.registerSubobjectParser(subobjectType, parser);
}
@Override
- public final Registration registerRROSubobjectSerializer(final Class<? extends org.opendaylight.yang.gen.v1.urn
+ public Registration registerRROSubobjectSerializer(final Class<? extends org.opendaylight.yang.gen.v1.urn
.opendaylight.params.xml.ns.yang.rsvp.rev150820._record.route.subobjects.SubobjectType> subobjectClass,
final RROSubobjectSerializer serializer) {
return this.rroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
}
@Override
- public final Registration registerTlvSerializer(final Class<? extends Tlv> tlvClass,
+ public Registration registerTlvSerializer(final Class<? extends Tlv> tlvClass,
final TlvSerializer serializer) {
return this.tlvReg.registerTlvSerializer(tlvClass, serializer);
}
@Override
- public final Registration registerXROSubobjectParser(final int subobjectType, final XROSubobjectParser parser) {
+ public Registration registerXROSubobjectParser(final int subobjectType, final XROSubobjectParser parser) {
return this.xroSubReg.registerSubobjectParser(subobjectType, parser);
}
@Override
- public final Registration registerXROSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
+ public Registration registerXROSubobjectSerializer(final Class<? extends SubobjectType> subobjectClass,
final XROSubobjectSerializer serializer) {
return this.xroSubReg.registerSubobjectSerializer(subobjectClass, serializer);
}
import org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory;
import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
import org.opendaylight.protocol.pcep.pcc.mock.protocol.PCCDispatcherImpl;
-import org.opendaylight.protocol.pcep.spi.pojo.ServiceLoaderPCEPExtensionProviderContext;
+import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
import org.opendaylight.protocol.util.InetSocketAddressUtil;
public final class PCCMock {
.getPortOrDefault(12345));
final InetSocketAddress clientAddr = InetSocketAddressUtil.getRandomLoopbackInetSocketAddress(0);
- try (PCCDispatcherImpl pccDispatcher = new PCCDispatcherImpl(ServiceLoaderPCEPExtensionProviderContext
- .getSingletonInstance().getMessageHandlerRegistry())) {
+ try (PCCDispatcherImpl pccDispatcher = new PCCDispatcherImpl(
+ new DefaultPCEPExtensionConsumerContext().getMessageHandlerRegistry())) {
pccDispatcher.createClient(serverAddr, -1, SimpleSessionListener::new, snf,
KeyMapping.getKeyMapping(), clientAddr).get();
}