2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.asdctool.impl.migration.v1604;
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;
94 @Import(DAOSpringConfig.class)
95 public class AppConfig {
97 @Bean(name="artifact-resolver")
98 public ArtifactsResolver artifactsResolver() {
99 return new ArtifactResolverImpl();
102 @Bean(name = "sdc-schema-files-cassandra-dao")
103 public SdcSchemaFilesCassandraDao sdcSchemaFilesCassandraDao() {
104 return new SdcSchemaFilesCassandraDao();
106 @Bean(name = "componentsUtils")
107 public ComponentsUtils componentsUtils() {
108 return new ComponentsUtils();
110 @Bean(name = "updateDataTypes")
111 public DataTypesUpdate dataTypesUpdate() {
112 return new DataTypesUpdate();
114 @Bean(name = "serviceMigrationBean")
115 public ServiceMigration serviceMigration() {
116 return new ServiceMigration();
119 @Bean(name = "vfcNamingAlignmentBean")
120 public VfcNamingAlignment vfcNamingAlignment() {
121 return new VfcNamingAlignment();
124 @Bean(name = "derivedFromAlignment")
125 public DerivedFromAlignment derivedFromAlignment() {
126 return new DerivedFromAlignment();
129 @Bean(name = "groupsAlignment")
130 public GroupsAlignment groupsAlignment() {
131 return new GroupsAlignment();
134 @Bean(name = "csarMigration")
135 public CsarMigration csarMigration() {
136 return new CsarMigration();
139 @Bean(name = "resource-operation")
140 public ResourceOperation resourceOperation() {
141 return new ResourceOperation();
144 @Bean(name = "service-operation")
145 public ServiceOperation serviceOperation() {
146 return new ServiceOperation();
149 @Bean(name = "component-instance-operation")
150 public ComponentInstanceOperation componentInstanceOperation() {
151 return new ComponentInstanceOperation();
154 @Bean(name = "capability-instanceOperation")
155 public CapabilityInstanceOperation capabilityInstanceOperation() {
156 return new CapabilityInstanceOperation();
159 @Bean(name = "property-operation")
161 public PropertyOperation propertyOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
162 return new PropertyOperation(titanGenericDao);
165 @Bean(name = "attribute-operation")
166 public AttributeOperation attribueOperation() {
167 return new AttributeOperation();
170 @Bean(name = "application-datatype-cache")
171 public ApplicationDataTypeCache applicationDataTypeCache() {
172 return new ApplicationDataTypeCache();
175 @Bean(name = "requirement-operation")
176 public RequirementOperation requirementOperation() {
177 return new RequirementOperation();
180 @Bean(name = "capability-operation")
181 public CapabilityOperation capabilityOperation() {
182 return new CapabilityOperation();
185 @Bean(name = "interface-operation")
186 public InterfaceLifecycleOperation interfaceLifecycleOperation() {
187 return new InterfaceLifecycleOperation();
190 @Bean(name = "element-operation")
192 public IElementOperation elementOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
193 return new ElementOperation(titanGenericDao);
196 @Bean(name = "additional-information-operation")
197 public IAdditionalInformationOperation addioAdditionalInformationOperation() {
198 return new AdditionalInformationOperation();
201 @Bean(name = "capability-type-operation")
202 public CapabilityTypeOperation capabilityTypeOperation() {
203 return new CapabilityTypeOperation();
206 @Bean(name = "artifact-operation")
207 public ArtifactOperation artifactOperation() {
208 return new ArtifactOperation();
211 @Bean(name = "heat-parameter-operation")
212 public HeatParametersOperation heatParametersOperation() {
213 return new HeatParametersOperation();
216 @Bean(name = "product-operation")
217 public ProductOperation productOperation() {
218 return new ProductOperation();
221 @Bean(name = "lifecycle-operation")
222 public LifecycleOperation lifecycleOperation() {
223 return new LifecycleOperation();
226 @Bean(name = "group-operation")
227 public GroupOperation groupOperation() {
228 return new GroupOperation();
231 @Bean(name = "groups-operation")
232 public GroupsOperation jsonGroupsOperation() {
233 return new GroupsOperation();
236 @Bean(name = "group-instance-operation")
237 public GroupInstanceOperation groupInstanceOperation() {
238 return new GroupInstanceOperation();
241 @Bean(name = "group-type-operation")
243 public GroupTypeOperation groupTypeOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenricDao, @Qualifier("property-operation")PropertyOperation propertyOperation) {
244 return new GroupTypeOperation(titanGenricDao, propertyOperation);
247 @Bean(name = "attribute-operation")
248 public AttributeOperation attributeOperation() {
249 return new AttributeOperation();
252 @Bean(name = "titanFixUtils")
253 public TitanFixUtils titanFixUtils() {
254 return new TitanFixUtils();
257 @Bean(name = "populateComponentCache")
258 public PopulateComponentCache populateComponentCache() {
259 return new PopulateComponentCache();
262 @Bean(name = "artifact-cassandra-dao")
263 public ArtifactCassandraDao artifactCassandraDao() {
264 return new ArtifactCassandraDao();
267 @Bean(name = "component-cassandra-dao")
268 public ComponentCassandraDao componentCassandraDao() {
269 return new ComponentCassandraDao();
272 @Bean(name = "cassandra-client")
273 public CassandraClient cassandraClient() {
274 return new CassandraClient();
277 @Bean(name = "cacheManger-operation")
278 public CacheMangerOperation cacheMangerOperation() {
279 return new CacheMangerOperation();
282 @Bean(name = "component-cache")
283 public ComponentCache componentCache() {
284 return new ComponentCache();
287 @Bean(name = "input-operation")
288 public InputsOperation inputsOperation() {
289 return new InputsOperation();
293 * Returns new instance of AuditCassandraDao
297 @Bean(name = "audit-cassandra-dao")
298 public AuditCassandraDao auditCassandraDao() {
299 return new AuditCassandraDao();
303 * Returns new instance of UserBusinessLogic
307 @Bean(name = "userBusinessLogic")
308 public IUserBusinessLogic userBusinessLogic() {
309 return new UserBusinessLogic();
313 * Returns new instance of UserAdminOperation
317 @Bean(name = "user-operation")
319 public IUserAdminOperation userOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
320 return new UserAdminOperation(titanGenericDao);
324 * Returns new instance of GraphLockOperation
328 @Bean(name = "graph-lock-operation")
329 public IGraphLockOperation graphLockOperation() {
330 return new GraphLockOperation();
334 * Returns new instance of AuditingDao
338 @Bean(name = "auditingDao")
339 public AuditingDao auditingDao() {
340 return new AuditingDao();
344 * Returns new instance of AuditingManager
348 @Bean(name = "auditingManager")
349 public IAuditingManager auditingManager() {
350 return new AuditingManager();
354 * Returns new instance of ServiceBusinessLogic
358 @Bean(name = "serviceBusinessLogic")
359 public ServiceBusinessLogic serviceBusinessLogic() {
360 return new ServiceBusinessLogic();
364 * Returns new instance of ComponentsUtils
368 @Bean(name = "componentUtils")
369 public ComponentsUtils componentUtils() {
370 return new ComponentsUtils();
374 * Returns new instance of ToscaArtifactsAlignment
378 @Bean(name = "toscaArtifactsAlignment")
379 public ToscaArtifactsAlignment toscaArtifactsAlignment() {
380 return new ToscaArtifactsAlignment();
384 * Returns new instance of ArtifactsBusinessLogic
388 @Bean(name = "artifactBusinessLogic")
389 public ArtifactsBusinessLogic artifactBusinessLogic() {
390 return new ArtifactsBusinessLogic();
394 * Returns new instance of ResourceBusinessLogic
398 @Bean(name = "resourceBusinessLogic")
399 public ResourceBusinessLogic resourceBusinessLogic() {
400 return new ResourceBusinessLogic();
404 * Returns new instance of LifecycleBusinessLogic
408 @Bean(name = "lifecycleBusinessLogic")
409 public LifecycleBusinessLogic lifecycleBusinessLogic() {
410 return new LifecycleBusinessLogic();
414 * Returns new instance of ServiceDistributionArtifactsBuilder
418 @Bean(name = "serviceDistributionArtifactsBuilder")
419 public ServiceDistributionArtifactsBuilder serviceDistributionArtifactsBuilder() {
420 return new ServiceDistributionArtifactsBuilder();
424 * Returns new instance of DistributionEngine
428 @Bean(name = "distributionEngine")
429 public IDistributionEngine distributionEngine() {
430 // This dependency is needed for initializing context but is not used
435 * Returns new instance of ElasticSearchClient
439 @Bean(name = "elasticsearch-client")
440 public ElasticSearchClient elasticsearchClient() {
441 // This dependency is needed for initializing context but is not used
446 * Returns new instance of ProductBusinessLogic
450 @Bean(name = "productBusinessLogic")
451 public ProductBusinessLogic productBusinessLogic() {
452 return new ProductBusinessLogic();
456 * Returns new instance of ProductComponentInstanceBusinessLogic
460 @Bean(name = "productComponentInstanceBusinessLogic")
461 public ProductComponentInstanceBusinessLogic productComponentInstanceBusinessLogic() {
462 return new ProductComponentInstanceBusinessLogic();
466 * Returns new instance of ToscaExportHandler
470 @Bean(name = "tosca-export-handler")
471 public ToscaExportHandler toscaExportHandler() {
472 return new ToscaExportHandler();
476 * Returns new instance of CsarOperation
480 @Bean(name = "csar-operation")
481 public CsarOperation csarOperation() {
482 return new CsarOperation();
486 * Returns new instance of OnboardingClient
490 @Bean(name = "onboarding-client")
491 public OnboardingClient onboardingClient() {
492 return new OnboardingClient();
496 * Returns new instance of VFComponentInstanceBusinessLogic
500 @Bean(name = "vfComponentInstanceBusinessLogic")
501 public VFComponentInstanceBusinessLogic vfComponentInstanceBusinessLogic() {
502 return new VFComponentInstanceBusinessLogic();
506 * Returns new instance of ResourceImportManager
510 @Bean(name = "resourceImportManager")
511 public ResourceImportManager resourceImportManager() {
512 return new ResourceImportManager();
516 * Returns new instance of GroupBusinessLogic
520 @Bean(name = "groupBusinessLogic")
521 public GroupBusinessLogic groupBusinessLogic() {
522 return new GroupBusinessLogic();
526 * Returns new instance of InputsBusinessLogic
530 @Bean(name = "inputsBusinessLogic")
531 public InputsBusinessLogic inputsBusinessLogic() {
532 return new InputsBusinessLogic();
536 * Returns new instance of CompositionBusinessLogic
540 @Bean(name = "compositionBusinessLogic")
541 public CompositionBusinessLogic compositionBusinessLogic() {
542 return new CompositionBusinessLogic();
546 * Returns new instance of CsarUtils
550 @Bean(name = "csar-utils")
551 public CsarUtils csarUtils() {
552 return new CsarUtils();
556 * Returns new instance of ServiceComponentInstanceBusinessLogic
560 @Bean(name = "serviceComponentInstanceBusinessLogic")
561 public ServiceComponentInstanceBusinessLogic serviceComponentInstanceBusinessLogic() {
562 return new ServiceComponentInstanceBusinessLogic();
566 * @return new instance of migration1702
568 @Bean(name = "migration1702")
569 public Migration1702 migration1702() {
570 return new Migration1702();
574 @Bean(name = "migrationUtils")
575 public MigrationOperationUtils migrationUtils() {
576 return new MigrationOperationUtils();
579 @Bean("consumer-operation")
580 public ConsumerOperation consumerOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
581 return new ConsumerOperation(titanGenericDao);
584 @Bean(name = "migration1707relationsFix")
585 public Migration1707RelationsFix migration1707RelationsFix() {
586 return new Migration1707RelationsFix();
588 @Bean(name = "migration1707vnfFix")
589 public Migration1707VnfFix migration1707VnfFix() {
590 return new Migration1707VnfFix();
592 @Bean(name = "migration1707UuidFix")
593 public Migration1707ArtifactUuidFix migration1707ArtifactUuidFix() {
594 return new Migration1707ArtifactUuidFix();
598 // @Bean(name = "migration1707relationsFix")
599 // public Migration1707RelationsFix migration1707RelationsFix() {
600 // return new Migration1707RelationsFix();