Move BP xml to OSGI-INF
[bgpcep.git] / pcep / impl / src / main / resources / OSGI-INF / blueprint / pcep-impl.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   Copyright (c) 2016 Brocade Communications Systems, Inc. and others.  All rights reserved.
4
5   This program and the accompanying materials are made available under the
6   terms of the Eclipse Public License v1.0 which accompanies this distribution,
7   and is available at http://www.eclipse.org/legal/epl-v10.html
8 -->
9 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
10            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0">
11
12   <!-- Obtains the specific list of PCEPCapability OSGi services announced via
13        META-INF/services/org.opendaylight.protocol.pcep.PCEPCapability resources.
14   -->
15   <odl:specific-reference-list id="pcepCapabilities" interface="org.opendaylight.protocol.pcep.PCEPCapability"/>
16
17   <odl:clustered-app-config id="pcepSessionConfig"
18       binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.app.config.rev160707.PcepSessionConfig"/>
19
20   <bean id="sessionProposalFactory" class="org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory">
21     <argument>
22       <bean factory-ref="pcepSessionConfig" factory-method="getDeadTimerValue"/>
23     </argument>
24     <argument>
25       <bean factory-ref="pcepSessionConfig" factory-method="getKeepAliveTimerValue"/>
26     </argument>
27     <argument ref="pcepCapabilities"/>
28   </bean>
29
30   <!-- PCEPDispatcher -->
31
32   <reference id="pcepExtensionContext" interface="org.opendaylight.protocol.pcep.spi.PCEPExtensionConsumerContext"/>
33   <reference id="globalBossGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-boss-group"/>
34   <reference id="globalWorkerGroup" interface="io.netty.channel.EventLoopGroup" odl:type="global-worker-group"/>
35
36   <odl:clustered-app-config id="pcepDispatcherConfig"
37       binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.pcep.app.config.rev160707.PcepDispatcherConfig"/>
38
39   <bean id="pcepSessionNegotiatorFactory" class="org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory">
40     <argument ref="sessionProposalFactory"/>
41     <argument ref="pcepDispatcherConfig"/>
42   </bean>
43
44   <bean id="pcepDispatcher" class="org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl">
45     <argument>
46       <bean factory-ref="pcepExtensionContext" factory-method="getMessageHandlerRegistry"/>
47     </argument>
48     <argument ref="pcepSessionNegotiatorFactory"/>
49     <argument ref="globalBossGroup"/>
50     <argument ref="globalWorkerGroup"/>
51   </bean>
52
53   <service ref="pcepDispatcher" interface="org.opendaylight.protocol.pcep.PCEPDispatcher"/>
54 </blueprint>