9bd3fe11e5a68422b1519ad7fe675bae804da210
[ccsdk/sli/adaptors.git] / resource-assignment / provider / src / main / resources / META-INF / spring / resource-assignment-context.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   openECOMP : SDN-C
5   ================================================================================
6   Copyright (C) 2017 ONAP Intellectual Property. All rights
7   reserved.
8   ================================================================================
9   Licensed under the Apache License, Version 2.0 (the "License");
10   you may not use this file except in compliance with the License.
11   You may obtain a copy of the License at
12   
13        http://www.apache.org/licenses/LICENSE-2.0
14   
15   Unless required by applicable law or agreed to in writing, software
16   distributed under the License is distributed on an "AS IS" BASIS,
17   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   See the License for the specific language governing permissions and
19   limitations under the License.
20   ============LICENSE_END=========================================================
21   -->
22
23 <beans xmlns="http://www.springframework.org/schema/beans"
24     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25     xsi:schemaLocation="http://www.springframework.org/schema/beans
26         http://www.springframework.org/schema/beans/spring-beans.xsd">
27
28     <!-- JDBC setup -->
29
30     <bean id="rm.dataSource" class="org.openecomp.sdnc.util.db.DataSourceWrap">
31         <property name="dataSource" ref="dblib.dataSource" />
32     </bean>
33
34     <bean id="lock.dataSource" class="org.openecomp.sdnc.util.db.CachedDataSourceWrap">
35         <property name="dataSource" ref="rm.dataSource" />
36     </bean>
37
38     <bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
39         <property name="dataSource" ref="rm.dataSource" />
40     </bean>
41
42     <bean id="lock.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
43         <property name="dataSource" ref="lock.dataSource" />
44     </bean>
45
46     <!-- Utils Configuration -->
47
48     <bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
49         <property name="unitFactor" value="1000" />
50     </bean>
51
52     <!-- Resource Lock Configuration -->
53
54     <bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
55         <property name="jdbcTemplate" ref="lock.jdbcTemplate" />
56     </bean>
57
58     <bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
59         <property name="resourceLockDao" ref="resourceLockDao" />
60         <property name="retryCount" value="10" />
61         <property name="lockWait" value="5" /> <!-- Seconds -->
62     </bean>
63
64     <!-- RM Configuration -->
65
66     <bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
67         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
68     </bean>
69
70     <bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
71         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
72     </bean>
73
74     <bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
75         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
76     </bean>
77
78     <bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
79         <property name="resourceJdbcDao" ref="resourceJdbcDao" />
80         <property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
81         <property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
82     </bean>
83
84     <bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
85         <property name="lockHelper" ref="lockHelper" />
86         <property name="resourceDao" ref="resourceDao" />
87         <property name="applicationId" value="SDNC" />
88         <property name="lockTimeout" value="600" /> <!-- Seconds -->
89     </bean>
90
91     <!-- Equipment DAO Configuration -->
92
93     <bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
94         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
95     </bean>
96
97     <bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
98         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
99     </bean>
100
101     <bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
102         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
103     </bean>
104
105     <!-- Rule DAO Configuration -->
106
107     <bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
108         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
109     </bean>
110
111     <bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
112         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
113         <property name="speedUtil" ref="speedUtil" />
114     </bean>
115
116     <bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
117         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
118         <property name="speedUtil" ref="speedUtil" />
119     </bean>
120
121     <bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
122         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
123     </bean>
124
125     <bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
126         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
127     </bean>
128
129     <bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
130         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
131     </bean>
132
133     <!-- Service DAO Configuration -->
134
135     <bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
136         <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
137     </bean>
138
139     <!-- ResourceAllocator Configuration -->
140
141     <bean id="allocationRequestBuilder"
142         class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
143         <property name="resourceRuleDao" ref="resourceRuleDao" />
144         <property name="rangeRuleDao" ref="rangeRuleDao" />
145     </bean>
146
147     <bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
148         <property name="speedUtil" ref="speedUtil" />
149         <property name="parameterDao" ref="parameterDao" />
150         <property name="serverDao" ref="serverDao" />
151         <property name="vpePortDao" ref="vpePortDao" />
152         <property name="vplspePortDao" ref="vplspePortDao" />
153         <property name="maxPortSpeedDao" ref="maxPortSpeedDao" />
154         <property name="maxServerSpeedDao" ref="maxServerSpeedDao" />
155         <property name="serviceResourceDao" ref="serviceResourceDao" />
156         <property name="allocationRequestBuilder" ref="allocationRequestBuilder" />
157         <property name="resourceManager" ref="resourceManager" />
158         <property name="endPointAllocator" ref="endPointAllocator" />
159     </bean>
160
161     <!-- EndPointAllocator Configuration -->
162
163     <bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
164         <property name="resourceManager" ref="resourceManager" />
165         <property name="endPointAllocationDefinitionMap">
166             <map>
167                 <entry key="L3AVPN-PORT">
168                     <list>
169                         <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
170                             <property name="serviceModel" value="L3AVPN-PORT" />
171                             <property name="endPointPosition" value="VPE-Cust" />
172                             <property name="equipmentReader" ref="vpePortReader" />
173                             <property name="equipmentCheckList">
174                                 <list>
175                                     <ref bean="provStatusCheck" />
176                                     <ref bean="excludeVpeCheck" />
177                                     <ref bean="anyVrfPresentCheck" />
178                                 </list>
179                             </property>
180                             <property name="preferenceRuleList">
181                                 <list>
182                                     <ref bean="affinityLinkPref" />
183                                 </list>
184                             </property>
185                             <property name="allocationRuleList">
186                                 <list>
187                                     <ref bean="dbAllocationRule" />
188                                     <ref bean="affinityAllocationRule" />
189                                 </list>
190                             </property>
191                         </bean>
192                     </list>
193                 </entry>
194                 <entry key="L3AVPN-EVC">
195                     <list>
196                         <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
197                             <property name="serviceModel" value="L3AVPN-EVC" />
198                             <property name="endPointPosition" value="VPE-Cust" />
199                             <property name="equipmentReader" ref="vpePortReader" />
200                             <property name="equipmentCheckList">
201                                 <list>
202                                     <ref bean="vlanSpeedCheck" />
203                                     <ref bean="provStatusCheck" />
204                                     <ref bean="excludeVpeCheck" />
205                                     <ref bean="vpeLockCheck" />
206                                     <ref bean="anyVrfPresentCheck" />
207                                     <ref bean="oneMVrfCheck" />
208                                     <ref bean="hubWithRgCheck" />
209                                 </list>
210                             </property>
211                             <property name="preferenceRuleList">
212                                 <list>
213                                     <ref bean="affinityLinkPref" />
214                                 </list>
215                             </property>
216                             <property name="allocationRuleList">
217                                 <list>
218                                     <ref bean="dbAllocationRule" />
219                                     <ref bean="vrfAllocationRule" />
220                                     <ref bean="servingSiteAllocationRule" />
221                                     <ref bean="affinityAllocationRule" />
222                                 </list>
223                             </property>
224                         </bean>
225                     </list>
226                 </entry>
227             </map>
228         </property>
229     </bean>
230
231     <!-- Equipment Readers Configuration -->
232
233     <bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
234         <property name="vpePortDao" ref="vpePortDao" />
235     </bean>
236
237     <bean id="vnfReader" class="org.openecomp.sdnc.ra.reader.VnfReader">
238     </bean>
239
240     <bean id="aicSiteReader" class="org.openecomp.sdnc.ra.reader.AicSiteReader">
241     </bean>
242
243     <bean id="uplinkCircuitReader" class="org.openecomp.sdnc.ra.reader.UplinkCircuitReader">
244     </bean>
245
246     <!-- Equipment Checks Configuration -->
247
248     <bean id="vlanSpeedCheck" class="org.openecomp.sdnc.ra.check.VlanSpeedCheck">
249     </bean>
250
251     <bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
252     </bean>
253
254     <bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
255     </bean>
256
257     <bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
258         <property name="vpeLockDao" ref="vpeLockDao" />
259         <property name="resourceManager" ref="resourceManager" />
260     </bean>
261
262     <bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
263         <property name="resourceManager" ref="resourceManager" />
264     </bean>
265
266     <bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
267         <property name="resourceManager" ref="resourceManager" />
268     </bean>
269
270     <bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
271         <property name="resourceManager" ref="resourceManager" />
272     </bean>
273
274     <!-- Preference Rule Configuration -->
275
276     <bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
277         <property name="resourceManager" ref="resourceManager" />
278     </bean>
279
280     <!-- Resource Allocation Rule Configuration -->
281
282     <bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
283         <property name="resourceRuleDao" ref="resourceRuleDao" />
284         <property name="rangeRuleDao" ref="rangeRuleDao" />
285     </bean>
286
287     <bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
288     </bean>
289
290     <bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
291     </bean>
292
293     <bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
294     </bean>
295
296 </beans>