[SDC-29] rebase continue work to align source
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / impl / migration / v1604 / AppConfig.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.asdctool.impl.migration.v1604;
22
23 import org.openecomp.sdc.asdctool.impl.PopulateComponentCache;
24 import org.openecomp.sdc.asdctool.impl.migration.MigrationOperationUtils;
25 import org.openecomp.sdc.asdctool.impl.migration.v1607.CsarMigration;
26 import org.openecomp.sdc.asdctool.impl.migration.v1610.TitanFixUtils;
27 import org.openecomp.sdc.asdctool.impl.migration.v1610.ToscaArtifactsAlignment;
28 import org.openecomp.sdc.asdctool.impl.migration.v1702.DataTypesUpdate;
29 import org.openecomp.sdc.asdctool.impl.migration.v1702.Migration1702;
30 import org.openecomp.sdc.asdctool.impl.migration.v1707.Migration1707RelationsFix;
31 import org.openecomp.sdc.asdctool.impl.migration.v1707.Migration1707VnfFix;
32 import org.openecomp.sdc.be.auditing.api.IAuditingManager;
33 import org.openecomp.sdc.be.auditing.impl.AuditingManager;
34 import org.openecomp.sdc.be.components.ArtifactsResolver;
35 import org.openecomp.sdc.be.components.distribution.engine.IDistributionEngine;
36 import org.openecomp.sdc.be.components.distribution.engine.ServiceDistributionArtifactsBuilder;
37 import org.openecomp.sdc.be.components.impl.*;
38 import org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic;
39 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
40 import org.openecomp.sdc.be.dao.cassandra.AuditCassandraDao;
41 import org.openecomp.sdc.be.dao.cassandra.CassandraClient;
42 import org.openecomp.sdc.be.dao.cassandra.ComponentCassandraDao;
43 import org.openecomp.sdc.be.dao.cassandra.SdcSchemaFilesCassandraDao;
44 import org.openecomp.sdc.be.dao.config.DAOSpringConfig;
45 import org.openecomp.sdc.be.dao.es.ElasticSearchClient;
46 import org.openecomp.sdc.be.dao.impl.AuditingDao;
47 import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
48 import org.openecomp.sdc.be.impl.ComponentsUtils;
49 import org.openecomp.sdc.be.model.cache.ApplicationDataTypeCache;
50 import org.openecomp.sdc.be.model.cache.ComponentCache;
51 import org.openecomp.sdc.be.model.jsontitan.operations.GroupsOperation;
52 import org.openecomp.sdc.be.model.operations.api.IAdditionalInformationOperation;
53 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
54 import org.openecomp.sdc.be.model.operations.api.IGraphLockOperation;
55 import org.openecomp.sdc.be.model.operations.api.IUserAdminOperation;
56 import org.openecomp.sdc.be.model.operations.impl.AdditionalInformationOperation;
57 import org.openecomp.sdc.be.model.operations.impl.ArtifactOperation;
58 import org.openecomp.sdc.be.model.operations.impl.AttributeOperation;
59 import org.openecomp.sdc.be.model.operations.impl.CacheMangerOperation;
60 import org.openecomp.sdc.be.model.operations.impl.CapabilityInstanceOperation;
61 import org.openecomp.sdc.be.model.operations.impl.CapabilityOperation;
62 import org.openecomp.sdc.be.model.operations.impl.CapabilityTypeOperation;
63 import org.openecomp.sdc.be.model.operations.impl.ComponentInstanceOperation;
64 import org.openecomp.sdc.be.model.operations.impl.ConsumerOperation;
65 import org.openecomp.sdc.be.model.operations.impl.CsarOperation;
66 import org.openecomp.sdc.be.model.operations.impl.ElementOperation;
67 import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
68 import org.openecomp.sdc.be.model.operations.impl.GroupInstanceOperation;
69 import org.openecomp.sdc.be.model.operations.impl.GroupOperation;
70 import org.openecomp.sdc.be.model.operations.impl.GroupTypeOperation;
71 import org.openecomp.sdc.be.model.operations.impl.HeatParametersOperation;
72 import org.openecomp.sdc.be.model.operations.impl.InputsOperation;
73 import org.openecomp.sdc.be.model.operations.impl.InterfaceLifecycleOperation;
74 import org.openecomp.sdc.be.model.operations.impl.LifecycleOperation;
75 import org.openecomp.sdc.be.model.operations.impl.OnboardingClient;
76 import org.openecomp.sdc.be.model.operations.impl.ProductOperation;
77 import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
78 import org.openecomp.sdc.be.model.operations.impl.RequirementOperation;
79 import org.openecomp.sdc.be.model.operations.impl.ResourceOperation;
80 import org.openecomp.sdc.be.model.operations.impl.ServiceOperation;
81 import org.openecomp.sdc.be.model.operations.impl.UserAdminOperation;
82 import org.openecomp.sdc.be.tosca.CsarUtils;
83 import org.openecomp.sdc.be.tosca.ToscaExportHandler;
84 import org.openecomp.sdc.be.user.IUserBusinessLogic;
85 import org.openecomp.sdc.be.user.UserBusinessLogic;
86 import org.springframework.beans.factory.annotation.Qualifier;
87 import org.springframework.context.annotation.Bean;
88 import org.springframework.context.annotation.Configuration;
89 import org.springframework.context.annotation.Import;
90 import org.springframework.context.annotation.Primary;
91
92 @Configuration
93 @Import(DAOSpringConfig.class)
94 public class AppConfig {
95
96         @Bean(name="artifact-resolver")
97         public ArtifactsResolver artifactsResolver() {
98                 return new ArtifactResolverImpl();
99         }
100
101         @Bean(name = "sdc-schema-files-cassandra-dao")
102         public SdcSchemaFilesCassandraDao sdcSchemaFilesCassandraDao() {
103                 return new SdcSchemaFilesCassandraDao();
104         }
105         @Bean(name = "componentsUtils")
106         public ComponentsUtils componentsUtils() {
107                 return new ComponentsUtils();
108         }
109         @Bean(name = "updateDataTypes")
110         public DataTypesUpdate dataTypesUpdate() {
111                 return new DataTypesUpdate();
112         }
113         @Bean(name = "serviceMigrationBean")
114         public ServiceMigration serviceMigration() {
115                 return new ServiceMigration();
116         }
117
118         @Bean(name = "vfcNamingAlignmentBean")
119         public VfcNamingAlignment vfcNamingAlignment() {
120                 return new VfcNamingAlignment();
121         }
122
123         @Bean(name = "derivedFromAlignment")
124         public DerivedFromAlignment derivedFromAlignment() {
125                 return new DerivedFromAlignment();
126         }
127
128         @Bean(name = "groupsAlignment")
129         public GroupsAlignment groupsAlignment() {
130                 return new GroupsAlignment();
131         }
132
133         @Bean(name = "csarMigration")
134         public CsarMigration csarMigration() {
135                 return new CsarMigration();
136         }
137
138         @Bean(name = "resource-operation")
139         public ResourceOperation resourceOperation() {
140                 return new ResourceOperation();
141         }
142
143         @Bean(name = "service-operation")
144         public ServiceOperation serviceOperation() {
145                 return new ServiceOperation();
146         }
147
148         @Bean(name = "component-instance-operation")
149         public ComponentInstanceOperation componentInstanceOperation() {
150                 return new ComponentInstanceOperation();
151         }
152
153         @Bean(name = "capability-instanceOperation")
154         public CapabilityInstanceOperation capabilityInstanceOperation() {
155                 return new CapabilityInstanceOperation();
156         }
157
158         @Bean(name = "property-operation")
159         @Primary
160         public PropertyOperation propertyOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
161                 return new PropertyOperation(titanGenericDao);
162         }
163
164         @Bean(name = "attribute-operation")
165         public AttributeOperation attribueOperation() {
166                 return new AttributeOperation();
167         }
168
169         @Bean(name = "application-datatype-cache")
170         public ApplicationDataTypeCache applicationDataTypeCache() {
171                 return new ApplicationDataTypeCache();
172         }
173
174         @Bean(name = "requirement-operation")
175         public RequirementOperation requirementOperation() {
176                 return new RequirementOperation();
177         }
178
179         @Bean(name = "capability-operation")
180         public CapabilityOperation capabilityOperation() {
181                 return new CapabilityOperation();
182         }
183
184         @Bean(name = "interface-operation")
185         public InterfaceLifecycleOperation interfaceLifecycleOperation() {
186                 return new InterfaceLifecycleOperation();
187         }
188
189         @Bean(name = "element-operation")
190         @Primary
191         public IElementOperation elementOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
192                 return new ElementOperation(titanGenericDao);
193         }
194
195         @Bean(name = "additional-information-operation")
196         public IAdditionalInformationOperation addioAdditionalInformationOperation() {
197                 return new AdditionalInformationOperation();
198         }
199
200         @Bean(name = "capability-type-operation")
201         public CapabilityTypeOperation capabilityTypeOperation() {
202                 return new CapabilityTypeOperation();
203         }
204
205         @Bean(name = "artifact-operation")
206         public ArtifactOperation artifactOperation() {
207                 return new ArtifactOperation();
208         }
209
210         @Bean(name = "heat-parameter-operation")
211         public HeatParametersOperation heatParametersOperation() {
212                 return new HeatParametersOperation();
213         }
214
215         @Bean(name = "product-operation")
216         public ProductOperation productOperation() {
217                 return new ProductOperation();
218         }
219
220         @Bean(name = "lifecycle-operation")
221         public LifecycleOperation lifecycleOperation() {
222                 return new LifecycleOperation();
223         }
224
225         @Bean(name = "group-operation")
226         public GroupOperation groupOperation() {
227                 return new GroupOperation();
228         }
229
230         @Bean(name = "groups-operation")
231         public GroupsOperation jsonGroupsOperation() {
232                 return new GroupsOperation();
233         }
234         
235         @Bean(name = "group-instance-operation")
236         public GroupInstanceOperation groupInstanceOperation() {
237                 return new GroupInstanceOperation();
238         }
239         
240         @Bean(name = "group-type-operation")
241         @Primary
242         public GroupTypeOperation groupTypeOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenricDao, @Qualifier("property-operation")PropertyOperation propertyOperation) {
243                 return new GroupTypeOperation(titanGenricDao, propertyOperation);
244         }
245
246         @Bean(name = "attribute-operation")
247         public AttributeOperation attributeOperation() {
248                 return new AttributeOperation();
249         }
250
251         @Bean(name = "titanFixUtils")
252         public TitanFixUtils titanFixUtils() {
253                 return new TitanFixUtils();
254         }
255
256         @Bean(name = "populateComponentCache")
257         public PopulateComponentCache populateComponentCache() {
258                 return new PopulateComponentCache();
259         }
260
261         @Bean(name = "artifact-cassandra-dao")
262         public ArtifactCassandraDao artifactCassandraDao() {
263                 return new ArtifactCassandraDao();
264         }
265
266         @Bean(name = "component-cassandra-dao")
267         public ComponentCassandraDao componentCassandraDao() {
268                 return new ComponentCassandraDao();
269         }
270
271         @Bean(name = "cassandra-client")
272         public CassandraClient cassandraClient() {
273                 return new CassandraClient();
274         }
275
276         @Bean(name = "cacheManger-operation")
277         public CacheMangerOperation cacheMangerOperation() {
278                 return new CacheMangerOperation();
279         }
280
281         @Bean(name = "component-cache")
282         public ComponentCache componentCache() {
283                 return new ComponentCache();
284         }
285
286         @Bean(name = "input-operation")
287         public InputsOperation inputsOperation() {
288                 return new InputsOperation();
289         }
290
291         /**
292          * Returns new instance of AuditCassandraDao
293          * 
294          * @return
295          */
296         @Bean(name = "audit-cassandra-dao")
297         public AuditCassandraDao auditCassandraDao() {
298                 return new AuditCassandraDao();
299         }
300
301         /**
302          * Returns new instance of UserBusinessLogic
303          * 
304          * @return
305          */
306         @Bean(name = "userBusinessLogic")
307         public IUserBusinessLogic userBusinessLogic() {
308                 return new UserBusinessLogic();
309         }
310
311         /**
312          * Returns new instance of UserAdminOperation
313          * 
314          * @return
315          */
316         @Bean(name = "user-operation")
317         @Primary
318         public IUserAdminOperation userOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
319                 return new UserAdminOperation(titanGenericDao);
320         }
321
322         /**
323          * Returns new instance of GraphLockOperation
324          * 
325          * @return
326          */
327         @Bean(name = "graph-lock-operation")
328         public IGraphLockOperation graphLockOperation() {
329                 return new GraphLockOperation();
330         }
331
332         /**
333          * Returns new instance of AuditingDao
334          * 
335          * @return
336          */
337         @Bean(name = "auditingDao")
338         public AuditingDao auditingDao() {
339                 return new AuditingDao();
340         }
341
342         /**
343          * Returns new instance of AuditingManager
344          * 
345          * @return
346          */
347         @Bean(name = "auditingManager")
348         public IAuditingManager auditingManager() {
349                 return new AuditingManager();
350         }
351
352         /**
353          * Returns new instance of ServiceBusinessLogic
354          * 
355          * @return
356          */
357         @Bean(name = "serviceBusinessLogic")
358         public ServiceBusinessLogic serviceBusinessLogic() {
359                 return new ServiceBusinessLogic();
360         }
361
362         /**
363          * Returns new instance of ComponentsUtils
364          * 
365          * @return
366          */
367         @Bean(name = "componentUtils")
368         public ComponentsUtils componentUtils() {
369                 return new ComponentsUtils();
370         }
371
372         /**
373          * Returns new instance of ToscaArtifactsAlignment
374          * 
375          * @return
376          */
377         @Bean(name = "toscaArtifactsAlignment")
378         public ToscaArtifactsAlignment toscaArtifactsAlignment() {
379                 return new ToscaArtifactsAlignment();
380         }
381
382         /**
383          * Returns new instance of ArtifactsBusinessLogic
384          * 
385          * @return
386          */
387         @Bean(name = "artifactBusinessLogic")
388         public ArtifactsBusinessLogic artifactBusinessLogic() {
389                 return new ArtifactsBusinessLogic();
390         }
391
392         /**
393          * Returns new instance of ResourceBusinessLogic
394          * 
395          * @return
396          */
397         @Bean(name = "resourceBusinessLogic")
398         public ResourceBusinessLogic resourceBusinessLogic() {
399                 return new ResourceBusinessLogic();
400         }
401
402         /**
403          * Returns new instance of LifecycleBusinessLogic
404          * 
405          * @return
406          */
407         @Bean(name = "lifecycleBusinessLogic")
408         public LifecycleBusinessLogic lifecycleBusinessLogic() {
409                 return new LifecycleBusinessLogic();
410         }
411
412         /**
413          * Returns new instance of ServiceDistributionArtifactsBuilder
414          * 
415          * @return
416          */
417         @Bean(name = "serviceDistributionArtifactsBuilder")
418         public ServiceDistributionArtifactsBuilder serviceDistributionArtifactsBuilder() {
419                 return new ServiceDistributionArtifactsBuilder();
420         }
421
422         /**
423          * Returns new instance of DistributionEngine
424          * 
425          * @return
426          */
427         @Bean(name = "distributionEngine")
428         public IDistributionEngine distributionEngine() {
429                 // This dependency is needed for initializing context but is not used
430                 return null;
431         }
432
433         /**
434          * Returns new instance of ElasticSearchClient
435          * 
436          * @return
437          */
438         @Bean(name = "elasticsearch-client")
439         public ElasticSearchClient elasticsearchClient() {
440                 // This dependency is needed for initializing context but is not used
441                 return null;
442         }
443
444         /**
445          * Returns new instance of ProductBusinessLogic
446          * 
447          * @return
448          */
449         @Bean(name = "productBusinessLogic")
450         public ProductBusinessLogic productBusinessLogic() {
451                 return new ProductBusinessLogic();
452         }
453
454         /**
455          * Returns new instance of ProductComponentInstanceBusinessLogic
456          * 
457          * @return
458          */
459         @Bean(name = "productComponentInstanceBusinessLogic")
460         public ProductComponentInstanceBusinessLogic productComponentInstanceBusinessLogic() {
461                 return new ProductComponentInstanceBusinessLogic();
462         }
463
464         /**
465          * Returns new instance of ToscaExportHandler
466          * 
467          * @return
468          */
469         @Bean(name = "tosca-export-handler")
470         public ToscaExportHandler toscaExportHandler() {
471                 return new ToscaExportHandler();
472         }
473
474         /**
475          * Returns new instance of CsarOperation
476          * 
477          * @return
478          */
479         @Bean(name = "csar-operation")
480         public CsarOperation csarOperation() {
481                 return new CsarOperation();
482         }
483
484         /**
485          * Returns new instance of OnboardingClient
486          * 
487          * @return
488          */
489         @Bean(name = "onboarding-client")
490         public OnboardingClient onboardingClient() {
491                 return new OnboardingClient();
492         }
493
494         /**
495          * Returns new instance of VFComponentInstanceBusinessLogic
496          * 
497          * @return
498          */
499         @Bean(name = "vfComponentInstanceBusinessLogic")
500         public VFComponentInstanceBusinessLogic vfComponentInstanceBusinessLogic() {
501                 return new VFComponentInstanceBusinessLogic();
502         }
503
504         /**
505          * Returns new instance of ResourceImportManager
506          * 
507          * @return
508          */
509         @Bean(name = "resourceImportManager")
510         public ResourceImportManager resourceImportManager() {
511                 return new ResourceImportManager();
512         }
513
514         /**
515          * Returns new instance of GroupBusinessLogic
516          * 
517          * @return
518          */
519         @Bean(name = "groupBusinessLogic")
520         public GroupBusinessLogic groupBusinessLogic() {
521                 return new GroupBusinessLogic();
522         }
523
524         /**
525          * Returns new instance of InputsBusinessLogic
526          * 
527          * @return
528          */
529         @Bean(name = "inputsBusinessLogic")
530         public InputsBusinessLogic inputsBusinessLogic() {
531                 return new InputsBusinessLogic();
532         }
533
534         /**
535          * Returns new instance of CompositionBusinessLogic
536          * 
537          * @return
538          */
539         @Bean(name = "compositionBusinessLogic")
540         public CompositionBusinessLogic compositionBusinessLogic() {
541                 return new CompositionBusinessLogic();
542         }
543
544         /**
545          * Returns new instance of CsarUtils
546          * 
547          * @return
548          */
549         @Bean(name = "csar-utils")
550         public CsarUtils csarUtils() {
551                 return new CsarUtils();
552         }
553
554         /**
555          * Returns new instance of ServiceComponentInstanceBusinessLogic
556          * 
557          * @return
558          */
559         @Bean(name = "serviceComponentInstanceBusinessLogic")
560         public ServiceComponentInstanceBusinessLogic serviceComponentInstanceBusinessLogic() {
561                 return new ServiceComponentInstanceBusinessLogic();
562         }
563         /** 
564          * 
565          * @return new instance of migration1702
566          */
567         @Bean(name = "migration1702")
568         public Migration1702 migration1702() {
569                 return new Migration1702();
570         }
571
572
573         @Bean(name = "migrationUtils")
574         public MigrationOperationUtils migrationUtils() {
575                 return new MigrationOperationUtils();
576         }
577
578         @Bean("consumer-operation")
579         public ConsumerOperation consumerOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
580                 return new ConsumerOperation(titanGenericDao);
581         }
582
583         @Bean(name = "migration1707relationsFix")
584     public Migration1707RelationsFix migration1707RelationsFix() {
585         return new Migration1707RelationsFix();
586     }
587     @Bean(name = "migration1707vnfFix")
588     public Migration1707VnfFix migration1707VnfFix() {
589         return new Migration1707VnfFix();
590     }
591     
592 //    @Bean(name = "migration1707relationsFix")
593 //    public Migration1707RelationsFix migration1707RelationsFix() {
594 //        return new Migration1707RelationsFix();
595 //    }
596 }