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