Eliminate PCEPSessionProposalFactory 26/104026/4
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 15 Jan 2023 13:14:57 +0000 (14:14 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 15 Jan 2023 14:12:31 +0000 (15:12 +0100)
This interface acts just like a proxy for creating Open objects. Fold
its functionality into PCEPSessionNegotiatorFactory.

JIRA: BGPCEP-962
Change-Id: Idcb5bc2ef5b0d7e690b6fd6733e85b50c05dab46
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 files changed:
pcep/api/src/main/java/org/opendaylight/protocol/pcep/PCEPSessionNegotiatorFactory.java
pcep/api/src/main/java/org/opendaylight/protocol/pcep/PCEPSessionProposalFactory.java [deleted file]
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/BasePCEPSessionProposalFactory.java [deleted file]
pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/DefaultPCEPSessionNegotiatorFactory.java
pcep/impl/src/main/resources/OSGI-INF/blueprint/pcep-impl.xml
pcep/impl/src/test/java/org/opendaylight/protocol/pcep/impl/PCEPDispatcherImplTest.java
pcep/pcc-mock/src/main/java/org/opendaylight/protocol/pcep/pcc/mock/PCCsBuilder.java
pcep/pcc-mock/src/test/java/org/opendaylight/protocol/pcep/pcc/mock/PCCDispatcherImplTest.java
pcep/pcc-mock/src/test/java/org/opendaylight/protocol/pcep/pcc/mock/PCCMockCommon.java
pcep/testtool/src/main/java/org/opendaylight/protocol/pcep/testtool/Main.java
pcep/testtool/src/test/java/org/opendaylight/protocol/pcep/testtool/PCCMock.java
pcep/topology/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTopologyProvider.java
pcep/topology/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTopologyProviderDependencies.java
pcep/topology/topology-provider/src/main/java/org/opendaylight/bgpcep/pcep/topology/provider/PCEPTopologyTracker.java
pcep/topology/topology-provider/src/main/resources/OSGI-INF/blueprint/pcep-topology.xml

index 4171610404b8cdbc4f1c022f325a2edd3cb607e7..d7d1a98fd2086ad706ebbdcc2c3159c120cd6538 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.protocol.pcep;
 
 import io.netty.channel.Channel;
 import io.netty.util.concurrent.Promise;
+import java.util.List;
 import org.eclipse.jdt.annotation.NonNull;
 
 /**
@@ -26,4 +27,12 @@ public interface PCEPSessionNegotiatorFactory {
     @NonNull SessionNegotiator getSessionNegotiator(
             @NonNull PCEPSessionNegotiatorFactoryDependencies sessionNegotiatorDependencies,
             @NonNull Channel channel, @NonNull Promise<PCEPSession> promise);
+
+    /**
+     * Returns list containing PCEP Capabilities.
+     *
+     * @return PCEPCapabilities
+     */
+    @Deprecated(forRemoval = true)
+    @NonNull List<PCEPCapability> getCapabilities();
 }
diff --git a/pcep/api/src/main/java/org/opendaylight/protocol/pcep/PCEPSessionProposalFactory.java b/pcep/api/src/main/java/org/opendaylight/protocol/pcep/PCEPSessionProposalFactory.java
deleted file mode 100644 (file)
index 0067bc0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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;
-
-import java.net.InetSocketAddress;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.Open;
-import org.opendaylight.yangtools.yang.common.Uint8;
-
-/**
- * Factory for generating PCEP Session proposals. Used by a server.
- */
-public interface PCEPSessionProposalFactory {
-    /**
-     * Creates Open with session proposal.
-     *
-     * @param address      serves as constraint, so that factory is able to return different proposals for different
-     *                     addresses
-     * @param sessionId    is used for creation of PCEPOpenObject
-     * @param peerProposal for including information from peer to our Open message
-     * @return specific session proposal
-     */
-    @NonNull Open getSessionProposal(@NonNull InetSocketAddress address, @NonNull Uint8 sessionId,
-            @Nullable PCEPPeerProposal peerProposal);
-
-    /**
-     * Returns list containing PCEP Capabilities.
-     *
-     * @return PCEPCapabilities
-     */
-    @NonNull List<PCEPCapability> getCapabilities();
-}
diff --git a/pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/BasePCEPSessionProposalFactory.java b/pcep/impl/src/main/java/org/opendaylight/protocol/pcep/impl/BasePCEPSessionProposalFactory.java
deleted file mode 100644 (file)
index b7d0767..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.impl;
-
-import static java.util.Objects.requireNonNull;
-
-import java.net.InetSocketAddress;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.protocol.pcep.PCEPCapability;
-import org.opendaylight.protocol.pcep.PCEPPeerProposal;
-import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
-import org.opendaylight.protocol.pcep.PCEPTimerProposal;
-import org.opendaylight.protocol.pcep.impl.spi.Util;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev230112.PcepSessionTimers;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.Open;
-import org.opendaylight.yangtools.yang.common.Uint8;
-
-public final class BasePCEPSessionProposalFactory implements PCEPSessionProposalFactory {
-    private final @NonNull List<PCEPCapability> capabilities;
-    private final @NonNull PCEPTimerProposal timers;
-
-    public BasePCEPSessionProposalFactory(final PCEPTimerProposal timers, final List<PCEPCapability> capabilities) {
-        this.timers = requireNonNull(timers);
-        this.capabilities = requireNonNull(capabilities);
-    }
-
-    public BasePCEPSessionProposalFactory(final PcepSessionTimers timers, final List<PCEPCapability> capabilities) {
-        this(new PCEPTimerProposal(timers), capabilities);
-    }
-
-    public BasePCEPSessionProposalFactory(final Uint8 deadTimer, final Uint8 keepAlive,
-            final List<PCEPCapability> capabilities) {
-        this(new PCEPTimerProposal(keepAlive, deadTimer), capabilities);
-    }
-
-    @Override
-    public Open getSessionProposal(final InetSocketAddress address, final Uint8 sessionId,
-            final PCEPPeerProposal peerProposal) {
-        return Util.createOpenObject(address, sessionId, timers, capabilities, peerProposal);
-    }
-
-    @Override
-    public List<PCEPCapability> getCapabilities() {
-        return capabilities;
-    }
-}
index 72a426f195296c282c4024854cb11c4a75a67eb5..862384f70392f0437b1e2e6b7a4b85e8b6a6783e 100644 (file)
@@ -12,32 +12,50 @@ import static java.util.Objects.requireNonNull;
 import io.netty.channel.Channel;
 import io.netty.util.concurrent.Promise;
 import java.net.InetSocketAddress;
+import java.util.List;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.protocol.pcep.PCEPCapability;
 import org.opendaylight.protocol.pcep.PCEPSession;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
-import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
+import org.opendaylight.protocol.pcep.PCEPTimerProposal;
+import org.opendaylight.protocol.pcep.impl.spi.Util;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.app.config.rev160707.PcepDispatcherConfig;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev230112.PcepSessionErrorPolicy;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev230112.PcepSessionTimers;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev230112.PcepSessionTls;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.open.object.Open;
 import org.opendaylight.yangtools.yang.common.Uint8;
 
 public final class DefaultPCEPSessionNegotiatorFactory extends AbstractPCEPSessionNegotiatorFactory {
+    private final PCEPTimerProposal timers;
+    private final @NonNull List<PCEPCapability> capabilities;
     private final PcepSessionErrorPolicy errorPolicy;
-    private final PCEPSessionProposalFactory spf;
     private final PcepSessionTls tlsConfiguration;
 
-    public DefaultPCEPSessionNegotiatorFactory(final PCEPSessionProposalFactory spf,
+    public DefaultPCEPSessionNegotiatorFactory(final PcepSessionTimers timers, final List<PCEPCapability> capabilities,
             final PcepSessionErrorPolicy errorPolicy) {
-        this(spf, errorPolicy, errorPolicy instanceof PcepDispatcherConfig dc ? dc.getTls() : null);
+        this(timers, capabilities, errorPolicy, errorPolicy instanceof PcepDispatcherConfig dc ? dc.getTls() : null);
     }
 
-    public DefaultPCEPSessionNegotiatorFactory(final PCEPSessionProposalFactory spf,
+    public DefaultPCEPSessionNegotiatorFactory(final PcepSessionTimers timers, final List<PCEPCapability> capabilities,
             final PcepSessionErrorPolicy errorPolicy, final PcepSessionTls tlsConfiguration) {
-        this.spf = requireNonNull(spf);
+        this(new PCEPTimerProposal(timers), capabilities, errorPolicy, tlsConfiguration);
+    }
+
+    public DefaultPCEPSessionNegotiatorFactory(final PCEPTimerProposal timers, final List<PCEPCapability> capabilities,
+            final PcepSessionErrorPolicy errorPolicy, final PcepSessionTls tlsConfiguration) {
+        this.timers = requireNonNull(timers);
+        this.capabilities = requireNonNull(capabilities);
         this.errorPolicy = requireNonNull(errorPolicy);
         this.tlsConfiguration = tlsConfiguration;
     }
 
+    @Deprecated(forRemoval = true)
+    @Override
+    public List<PCEPCapability> getCapabilities() {
+        return capabilities;
+    }
+
     @Override
     protected AbstractPCEPSessionNegotiator createNegotiator(
             final PCEPSessionNegotiatorFactoryDependencies sessionNegotiatorDependencies,
@@ -45,8 +63,9 @@ public final class DefaultPCEPSessionNegotiatorFactory extends AbstractPCEPSessi
             final Channel channel,
             final Uint8 sessionId) {
 
-        final Open proposal = spf.getSessionProposal((InetSocketAddress) channel.remoteAddress(), sessionId,
-                sessionNegotiatorDependencies.getPeerProposal());
+        final Open proposal = Util.createOpenObject((InetSocketAddress) channel.remoteAddress(), sessionId, timers,
+            capabilities, sessionNegotiatorDependencies.getPeerProposal());
+
         return new DefaultPCEPSessionNegotiator(
                 promise,
                 channel,
index 9e7bc550f84da8e3a786c87990c5d50e02153fb3..eda75e5a8f79deddf30fa6d91a5ec8a6f3a4ba2c 100644 (file)
   <odl:clustered-app-config id="pcepSessionConfig"
       binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.app.config.rev160707.PcepSessionConfig"/>
 
-  <bean id="sessionProposalFactory" class="org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory">
-    <argument ref="pcepSessionConfig"/>
-    <argument ref="pcepCapabilities"/>
-  </bean>
-
-  <service ref="sessionProposalFactory" interface="org.opendaylight.protocol.pcep.PCEPSessionProposalFactory"/>
-
   <odl:clustered-app-config id="pcepDispatcherConfig"
       binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.app.config.rev160707.PcepDispatcherConfig"/>
 
   <bean id="pcepSessionNegotiatorFactory" class="org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory">
-    <argument ref="sessionProposalFactory"/>
+    <argument ref="pcepSessionConfig"/>
+    <argument ref="pcepCapabilities"/>
     <argument ref="pcepDispatcherConfig"/>
   </bean>
 
index 9c5a47cd7c38feaca98d80382715f94bc8d48f1b..460e601f2bf76eaf9c641b75ecde7d3f7d41edf0 100644 (file)
@@ -50,6 +50,7 @@ import org.opendaylight.protocol.pcep.PCEPSession;
 import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
+import org.opendaylight.protocol.pcep.PCEPTimerProposal;
 import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
 import org.opendaylight.protocol.util.InetSocketAddressUtil;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.config.rev230112.PcepSessionErrorPolicy;
@@ -83,9 +84,9 @@ public class PCEPDispatcherImplTest {
     public void setUp() {
         doReturn(Uint16.ZERO).when(errorPolicy).requireMaxUnknownMessages();
 
-        final var sessionProposal = new BasePCEPSessionProposalFactory(DEAD_TIMER, KEEP_ALIVE, List.of());
         msgReg = new DefaultPCEPExtensionConsumerContext().getMessageHandlerRegistry();
-        negotiatorFactory = new DefaultPCEPSessionNegotiatorFactory(sessionProposal, errorPolicy);
+        negotiatorFactory = new DefaultPCEPSessionNegotiatorFactory(new PCEPTimerProposal(KEEP_ALIVE, DEAD_TIMER),
+            List.of(), errorPolicy, null);
 
         dispatcher = new PCEPDispatcherImpl();
 
index 184028155ff75e958415878e5712e2d66c103c0c..a30ac105598b31204d66c17b61e95524d8ba513b 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.protocol.concepts.KeyMapping;
 import org.opendaylight.protocol.pcep.MessageRegistry;
 import org.opendaylight.protocol.pcep.PCEPCapability;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory;
+import org.opendaylight.protocol.pcep.PCEPTimerProposal;
 import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
 import org.opendaylight.protocol.pcep.pcc.mock.api.PCCTunnelManager;
 import org.opendaylight.protocol.pcep.pcc.mock.protocol.MockPcepSessionErrorPolicy;
@@ -97,7 +97,7 @@ final class PCCsBuilder {
     }
 
     private PCEPSessionNegotiatorFactory getSessionNegotiatorFactory() {
-        return new DefaultPCEPSessionNegotiatorFactory(new BasePCEPSessionProposalFactory(deadTimer,
-            keepAlive, List.of(pcepCapabilities)), MockPcepSessionErrorPolicy.ZERO);
+        return new DefaultPCEPSessionNegotiatorFactory(new PCEPTimerProposal(keepAlive, deadTimer),
+            List.of(pcepCapabilities), MockPcepSessionErrorPolicy.ZERO, null);
     }
 }
index bed6a55164729550512657b2a0bef135710131bd..f6c60c00333ba547687d2e30bb372414e774edd0 100644 (file)
@@ -27,8 +27,7 @@ import org.opendaylight.protocol.concepts.KeyMapping;
 import org.opendaylight.protocol.pcep.MessageRegistry;
 import org.opendaylight.protocol.pcep.PCEPSession;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
-import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
-import org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory;
+import org.opendaylight.protocol.pcep.PCEPTimerProposal;
 import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
 import org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl;
 import org.opendaylight.protocol.pcep.pcc.mock.protocol.MockPcepSessionErrorPolicy;
@@ -39,11 +38,8 @@ import org.opendaylight.yangtools.yang.common.Uint8;
 
 @RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class PCCDispatcherImplTest {
-
-    private static final PCEPSessionProposalFactory PROPOSAL = new BasePCEPSessionProposalFactory(Uint8.TEN,
-        Uint8.valueOf(40), List.of());
-    private final DefaultPCEPSessionNegotiatorFactory nf = new DefaultPCEPSessionNegotiatorFactory(PROPOSAL,
-        MockPcepSessionErrorPolicy.ZERO);
+    private final DefaultPCEPSessionNegotiatorFactory nf = new DefaultPCEPSessionNegotiatorFactory(
+        new PCEPTimerProposal(Uint8.TEN, Uint8.valueOf(40)), List.of(), MockPcepSessionErrorPolicy.ZERO, null);
 
     private PCCDispatcherImpl dispatcher;
     private PCEPDispatcherImpl pcepDispatcher;
index 1789b6b4696e5f300af6e7f1506336d4436e44b1..e35cf7361d76fb5abe710e58587324c3791168e7 100644 (file)
@@ -38,8 +38,8 @@ import org.opendaylight.protocol.pcep.PCEPSession;
 import org.opendaylight.protocol.pcep.PCEPSessionListenerFactory;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactoryDependencies;
+import org.opendaylight.protocol.pcep.PCEPTimerProposal;
 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.PCEPDispatcherImpl;
 import org.opendaylight.protocol.pcep.pcc.mock.api.PCCTunnelManager;
@@ -78,9 +78,7 @@ public abstract class PCCMockCommon {
 
     @Before
     public void setUp() {
-        negotiatorFactory = new DefaultPCEPSessionNegotiatorFactory(
-            new BasePCEPSessionProposalFactory(DEAD_TIMER, KEEP_ALIVE, getCapabilities()),
-            MockPcepSessionErrorPolicy.ZERO);
+        negotiatorFactory = getSessionNegotiatorFactory();
 
         ServiceLoader.load(PCEPExtensionProviderActivator.class).forEach(act -> act.start(extensionProvider));
 
@@ -226,8 +224,8 @@ public abstract class PCCMockCommon {
     }
 
     private PCEPSessionNegotiatorFactory getSessionNegotiatorFactory() {
-        return new DefaultPCEPSessionNegotiatorFactory(new BasePCEPSessionProposalFactory(DEAD_TIMER, KEEP_ALIVE,
-                getCapabilities()), MockPcepSessionErrorPolicy.ZERO);
+        return new DefaultPCEPSessionNegotiatorFactory(new PCEPTimerProposal(KEEP_ALIVE, DEAD_TIMER),
+            getCapabilities(), MockPcepSessionErrorPolicy.ZERO, null);
     }
 
     TestingSessionListener getListener(final TestingSessionListenerFactory factory) {
index b6138f9f29d1704e10a020f72d8302d8d22a8e46..db41e167a646965f36628af770ad4c39a775acfc 100644 (file)
@@ -10,16 +10,13 @@ package org.opendaylight.protocol.pcep.testtool;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.UnknownHostException;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.ServiceLoader;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.protocol.concepts.KeyMapping;
 import org.opendaylight.protocol.pcep.MessageRegistry;
-import org.opendaylight.protocol.pcep.PCEPCapability;
-import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
+import org.opendaylight.protocol.pcep.PCEPTimerProposal;
 import org.opendaylight.protocol.pcep.ietf.stateful.PCEPStatefulCapability;
-import org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory;
 import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
 import org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl;
 import org.opendaylight.protocol.pcep.spi.PCEPExtensionConsumerContext;
@@ -134,15 +131,13 @@ public final class Main {
             LOG.warn("WARNING: The value of DeadTimer should be 4 times the value of KeepAlive.");
         }
 
-        final List<PCEPCapability> caps = new ArrayList<>();
-        caps.add(new PCEPStatefulCapability(stateful, active, instant, false, false, false, false));
-        final PCEPSessionProposalFactory spf = new BasePCEPSessionProposalFactory(deadTimerValue, keepAliveValue, caps);
-
         final MessageRegistry handlerRegistry = ServiceLoader.load(PCEPExtensionConsumerContext.class).findFirst()
             .orElseThrow()
             .getMessageHandlerRegistry();
         final PCEPDispatcherImpl dispatcher = new PCEPDispatcherImpl();
         dispatcher.createServer(address, KeyMapping.of(), handlerRegistry,
-            new DefaultPCEPSessionNegotiatorFactory(spf, ERROR_POLICY), new TestToolPCEPNegotiatorDependencies()).get();
+            new DefaultPCEPSessionNegotiatorFactory(new PCEPTimerProposal(keepAliveValue, deadTimerValue),
+                List.of(new PCEPStatefulCapability(stateful, active, instant, false, false, false, false)),
+                ERROR_POLICY, null), new TestToolPCEPNegotiatorDependencies()).get();
     }
 }
index ebd67697c45c10c7631086c56a06ae5e92926caa..6d457065c77e088fc51efa3064766de01a5f5595 100644 (file)
@@ -14,7 +14,7 @@ import java.net.InetSocketAddress;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import org.opendaylight.protocol.concepts.KeyMapping;
-import org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory;
+import org.opendaylight.protocol.pcep.PCEPTimerProposal;
 import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
 import org.opendaylight.protocol.pcep.pcc.mock.protocol.PCCDispatcherImpl;
 import org.opendaylight.protocol.pcep.spi.pojo.DefaultPCEPExtensionConsumerContext;
@@ -42,8 +42,8 @@ public final class PCCMock {
 
     public static void main(final String[] args) throws InterruptedException, ExecutionException {
         checkArgument(args.length > 0, "Host and port of server must be provided.");
-        final var proposal = new BasePCEPSessionProposalFactory(Uint8.valueOf(120), Uint8.valueOf(30), List.of());
-        final var snf = new DefaultPCEPSessionNegotiatorFactory(proposal, ERROR_POLICY);
+        final var snf = new DefaultPCEPSessionNegotiatorFactory(
+            new PCEPTimerProposal(Uint8.valueOf(30), Uint8.valueOf(120)), List.of(), ERROR_POLICY, null);
         final var serverHostAndPort = HostAndPort.fromString(args[0]);
         final var serverAddr = new InetSocketAddress(serverHostAndPort.getHost(),
             serverHostAndPort.getPortOrDefault(12345));
index 0829734d455c0b1ad2301720487dfd1e52617439..81707f69191f8a17dc2c3be4634467e59f51d7f7 100644 (file)
@@ -96,7 +96,7 @@ final class PCEPTopologyProvider extends DefaultTopologyReference {
 
     synchronized void updateConfiguration(final @Nullable PCEPTopologyConfiguration newConfiguration) {
         // FIXME: BGPCEP-960: this check should be a one-time thing in PCEPTopologyTracker startup once we have OSGi DS
-        final var effectiveConfig = dependencies.getPCEPSessionProposalFactory().getCapabilities().stream()
+        final var effectiveConfig = dependencies.getPCEPSessionNegotiatorFactory().getCapabilities().stream()
             .anyMatch(PCEPCapability::isStateful) ? newConfiguration : null;
 
         applyConfiguration(effectiveConfig);
index c9b2ef0beedad6012603b556b7abe60304bf1b94..fc6f50075086fffeeba9440a3c0d58c0bda23287 100644 (file)
@@ -15,7 +15,6 @@ import org.opendaylight.mdsal.binding.api.RpcProviderService;
 import org.opendaylight.protocol.pcep.MessageRegistry;
 import org.opendaylight.protocol.pcep.PCEPDispatcher;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
 
 /**
  * Provides required dependencies for PCEPTopologyProviderProvider instantiation.
@@ -29,13 +28,6 @@ interface PCEPTopologyProviderDependencies {
      */
     MessageRegistry getMessageRegistry();
 
-    /**
-     * Returns a PCEPSessionProposalFactory.
-     *
-     * @return session factory
-     */
-    PCEPSessionProposalFactory getPCEPSessionProposalFactory();
-
     /**
      * PCEP Session Negotiator Factory.
      *
index 051469210ae0cb155ce329d184b029e527bb3307..9895b0f8f9133eb8330693655b8b982d743a349a 100644 (file)
@@ -34,7 +34,6 @@ import org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvid
 import org.opendaylight.protocol.pcep.MessageRegistry;
 import org.opendaylight.protocol.pcep.PCEPDispatcher;
 import org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory;
-import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
 import org.opendaylight.protocol.pcep.spi.PCEPExtensionConsumerContext;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.topology.stats.rpc.rev190321.PcepTopologyStatsRpcService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.TopologyTypes1;
@@ -61,7 +60,6 @@ public final class PCEPTopologyTracker
     final @NonNull InstructionSchedulerFactory instructionSchedulerFactory;
     final @NonNull ClusterSingletonServiceProvider singletonService;
     private final @NonNull PCEPSessionNegotiatorFactory sessionNegotiatorFactory;
-    private final @NonNull PCEPSessionProposalFactory sessionProposalFactory;
     private final @NonNull RpcProviderService rpcProviderRegistry;
     private final @NonNull PceServerProvider pceServerProvider;
     private final @NonNull MessageRegistry messageRegistry;
@@ -113,7 +111,6 @@ public final class PCEPTopologyTracker
 
     public PCEPTopologyTracker(final DataBroker dataBroker, final ClusterSingletonServiceProvider singletonService,
             final RpcProviderService rpcProviderRegistry, final PCEPExtensionConsumerContext extensions,
-            final PCEPSessionProposalFactory sessionProposalFactory,
             final PCEPSessionNegotiatorFactory sessionNegotiatorFactory,
             final PCEPDispatcher pcepDispatcher, final InstructionSchedulerFactory instructionSchedulerFactory,
             final PceServerProvider pceServerProvider) {
@@ -121,7 +118,6 @@ public final class PCEPTopologyTracker
         this.singletonService = requireNonNull(singletonService);
         this.rpcProviderRegistry = requireNonNull(rpcProviderRegistry);
         messageRegistry = extensions.getMessageHandlerRegistry();
-        this.sessionProposalFactory = requireNonNull(sessionProposalFactory);
         this.sessionNegotiatorFactory = requireNonNull(sessionNegotiatorFactory);
         this.pcepDispatcher = requireNonNull(pcepDispatcher);
         this.instructionSchedulerFactory = requireNonNull(instructionSchedulerFactory);
@@ -141,11 +137,6 @@ public final class PCEPTopologyTracker
         return messageRegistry;
     }
 
-    @Override
-    public PCEPSessionProposalFactory getPCEPSessionProposalFactory() {
-        return sessionProposalFactory;
-    }
-
     @Override
     public PCEPSessionNegotiatorFactory getPCEPSessionNegotiatorFactory() {
         return sessionNegotiatorFactory;
index 1b8f0afafb45e93b0c5f0847200d80c2edc40d4c..6ec199d6539a9dd36b7f926a53e9666dade0d0ae 100644 (file)
@@ -10,7 +10,6 @@
     <reference id="dataBroker" interface="org.opendaylight.mdsal.binding.api.DataBroker"/>
     <reference id="rpcProviderService" interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
     <reference id="pcepExtensionContext" interface="org.opendaylight.protocol.pcep.spi.PCEPExtensionConsumerContext"/>
-    <reference id="sessionProposalFactory" interface="org.opendaylight.protocol.pcep.PCEPSessionProposalFactory"/>
     <reference id="sessionNegotiatorFactory" interface="org.opendaylight.protocol.pcep.PCEPSessionNegotiatorFactory"/>
     <reference id="pcepDispatcher" interface="org.opendaylight.protocol.pcep.PCEPDispatcher"/>
     <reference id="clusterSingletonServiceProvider"
@@ -25,7 +24,6 @@
         <argument ref="clusterSingletonServiceProvider"/>
         <argument ref="rpcProviderService"/>
         <argument ref="pcepExtensionContext"/>
-        <argument ref="sessionProposalFactory"/>
         <argument ref="sessionNegotiatorFactory"/>
         <argument ref="pcepDispatcher"/>
         <argument ref="intructionFactory"/>