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.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;
93 @Import(DAOSpringConfig.class)
94 public class AppConfig {
96 @Bean(name="artifact-resolver")
97 public ArtifactsResolver artifactsResolver() {
98 return new ArtifactResolverImpl();
101 @Bean(name = "sdc-schema-files-cassandra-dao")
102 public SdcSchemaFilesCassandraDao sdcSchemaFilesCassandraDao() {
103 return new SdcSchemaFilesCassandraDao();
105 @Bean(name = "componentsUtils")
106 public ComponentsUtils componentsUtils() {
107 return new ComponentsUtils();
109 @Bean(name = "updateDataTypes")
110 public DataTypesUpdate dataTypesUpdate() {
111 return new DataTypesUpdate();
113 @Bean(name = "serviceMigrationBean")
114 public ServiceMigration serviceMigration() {
115 return new ServiceMigration();
118 @Bean(name = "vfcNamingAlignmentBean")
119 public VfcNamingAlignment vfcNamingAlignment() {
120 return new VfcNamingAlignment();
123 @Bean(name = "derivedFromAlignment")
124 public DerivedFromAlignment derivedFromAlignment() {
125 return new DerivedFromAlignment();
128 @Bean(name = "groupsAlignment")
129 public GroupsAlignment groupsAlignment() {
130 return new GroupsAlignment();
133 @Bean(name = "csarMigration")
134 public CsarMigration csarMigration() {
135 return new CsarMigration();
138 @Bean(name = "resource-operation")
139 public ResourceOperation resourceOperation() {
140 return new ResourceOperation();
143 @Bean(name = "service-operation")
144 public ServiceOperation serviceOperation() {
145 return new ServiceOperation();
148 @Bean(name = "component-instance-operation")
149 public ComponentInstanceOperation componentInstanceOperation() {
150 return new ComponentInstanceOperation();
153 @Bean(name = "capability-instanceOperation")
154 public CapabilityInstanceOperation capabilityInstanceOperation() {
155 return new CapabilityInstanceOperation();
158 @Bean(name = "property-operation")
160 public PropertyOperation propertyOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
161 return new PropertyOperation(titanGenericDao);
164 @Bean(name = "attribute-operation")
165 public AttributeOperation attribueOperation() {
166 return new AttributeOperation();
169 @Bean(name = "application-datatype-cache")
170 public ApplicationDataTypeCache applicationDataTypeCache() {
171 return new ApplicationDataTypeCache();
174 @Bean(name = "requirement-operation")
175 public RequirementOperation requirementOperation() {
176 return new RequirementOperation();
179 @Bean(name = "capability-operation")
180 public CapabilityOperation capabilityOperation() {
181 return new CapabilityOperation();
184 @Bean(name = "interface-operation")
185 public InterfaceLifecycleOperation interfaceLifecycleOperation() {
186 return new InterfaceLifecycleOperation();
189 @Bean(name = "element-operation")
191 public IElementOperation elementOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
192 return new ElementOperation(titanGenericDao);
195 @Bean(name = "additional-information-operation")
196 public IAdditionalInformationOperation addioAdditionalInformationOperation() {
197 return new AdditionalInformationOperation();
200 @Bean(name = "capability-type-operation")
201 public CapabilityTypeOperation capabilityTypeOperation() {
202 return new CapabilityTypeOperation();
205 @Bean(name = "artifact-operation")
206 public ArtifactOperation artifactOperation() {
207 return new ArtifactOperation();
210 @Bean(name = "heat-parameter-operation")
211 public HeatParametersOperation heatParametersOperation() {
212 return new HeatParametersOperation();
215 @Bean(name = "product-operation")
216 public ProductOperation productOperation() {
217 return new ProductOperation();
220 @Bean(name = "lifecycle-operation")
221 public LifecycleOperation lifecycleOperation() {
222 return new LifecycleOperation();
225 @Bean(name = "group-operation")
226 public GroupOperation groupOperation() {
227 return new GroupOperation();
230 @Bean(name = "groups-operation")
231 public GroupsOperation jsonGroupsOperation() {
232 return new GroupsOperation();
235 @Bean(name = "group-instance-operation")
236 public GroupInstanceOperation groupInstanceOperation() {
237 return new GroupInstanceOperation();
240 @Bean(name = "group-type-operation")
242 public GroupTypeOperation groupTypeOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenricDao, @Qualifier("property-operation")PropertyOperation propertyOperation) {
243 return new GroupTypeOperation(titanGenricDao, propertyOperation);
246 @Bean(name = "attribute-operation")
247 public AttributeOperation attributeOperation() {
248 return new AttributeOperation();
251 @Bean(name = "titanFixUtils")
252 public TitanFixUtils titanFixUtils() {
253 return new TitanFixUtils();
256 @Bean(name = "populateComponentCache")
257 public PopulateComponentCache populateComponentCache() {
258 return new PopulateComponentCache();
261 @Bean(name = "artifact-cassandra-dao")
262 public ArtifactCassandraDao artifactCassandraDao() {
263 return new ArtifactCassandraDao();
266 @Bean(name = "component-cassandra-dao")
267 public ComponentCassandraDao componentCassandraDao() {
268 return new ComponentCassandraDao();
271 @Bean(name = "cassandra-client")
272 public CassandraClient cassandraClient() {
273 return new CassandraClient();
276 @Bean(name = "cacheManger-operation")
277 public CacheMangerOperation cacheMangerOperation() {
278 return new CacheMangerOperation();
281 @Bean(name = "component-cache")
282 public ComponentCache componentCache() {
283 return new ComponentCache();
286 @Bean(name = "input-operation")
287 public InputsOperation inputsOperation() {
288 return new InputsOperation();
292 * Returns new instance of AuditCassandraDao
296 @Bean(name = "audit-cassandra-dao")
297 public AuditCassandraDao auditCassandraDao() {
298 return new AuditCassandraDao();
302 * Returns new instance of UserBusinessLogic
306 @Bean(name = "userBusinessLogic")
307 public IUserBusinessLogic userBusinessLogic() {
308 return new UserBusinessLogic();
312 * Returns new instance of UserAdminOperation
316 @Bean(name = "user-operation")
318 public IUserAdminOperation userOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
319 return new UserAdminOperation(titanGenericDao);
323 * Returns new instance of GraphLockOperation
327 @Bean(name = "graph-lock-operation")
328 public IGraphLockOperation graphLockOperation() {
329 return new GraphLockOperation();
333 * Returns new instance of AuditingDao
337 @Bean(name = "auditingDao")
338 public AuditingDao auditingDao() {
339 return new AuditingDao();
343 * Returns new instance of AuditingManager
347 @Bean(name = "auditingManager")
348 public IAuditingManager auditingManager() {
349 return new AuditingManager();
353 * Returns new instance of ServiceBusinessLogic
357 @Bean(name = "serviceBusinessLogic")
358 public ServiceBusinessLogic serviceBusinessLogic() {
359 return new ServiceBusinessLogic();
363 * Returns new instance of ComponentsUtils
367 @Bean(name = "componentUtils")
368 public ComponentsUtils componentUtils() {
369 return new ComponentsUtils();
373 * Returns new instance of ToscaArtifactsAlignment
377 @Bean(name = "toscaArtifactsAlignment")
378 public ToscaArtifactsAlignment toscaArtifactsAlignment() {
379 return new ToscaArtifactsAlignment();
383 * Returns new instance of ArtifactsBusinessLogic
387 @Bean(name = "artifactBusinessLogic")
388 public ArtifactsBusinessLogic artifactBusinessLogic() {
389 return new ArtifactsBusinessLogic();
393 * Returns new instance of ResourceBusinessLogic
397 @Bean(name = "resourceBusinessLogic")
398 public ResourceBusinessLogic resourceBusinessLogic() {
399 return new ResourceBusinessLogic();
403 * Returns new instance of LifecycleBusinessLogic
407 @Bean(name = "lifecycleBusinessLogic")
408 public LifecycleBusinessLogic lifecycleBusinessLogic() {
409 return new LifecycleBusinessLogic();
413 * Returns new instance of ServiceDistributionArtifactsBuilder
417 @Bean(name = "serviceDistributionArtifactsBuilder")
418 public ServiceDistributionArtifactsBuilder serviceDistributionArtifactsBuilder() {
419 return new ServiceDistributionArtifactsBuilder();
423 * Returns new instance of DistributionEngine
427 @Bean(name = "distributionEngine")
428 public IDistributionEngine distributionEngine() {
429 // This dependency is needed for initializing context but is not used
434 * Returns new instance of ElasticSearchClient
438 @Bean(name = "elasticsearch-client")
439 public ElasticSearchClient elasticsearchClient() {
440 // This dependency is needed for initializing context but is not used
445 * Returns new instance of ProductBusinessLogic
449 @Bean(name = "productBusinessLogic")
450 public ProductBusinessLogic productBusinessLogic() {
451 return new ProductBusinessLogic();
455 * Returns new instance of ProductComponentInstanceBusinessLogic
459 @Bean(name = "productComponentInstanceBusinessLogic")
460 public ProductComponentInstanceBusinessLogic productComponentInstanceBusinessLogic() {
461 return new ProductComponentInstanceBusinessLogic();
465 * Returns new instance of ToscaExportHandler
469 @Bean(name = "tosca-export-handler")
470 public ToscaExportHandler toscaExportHandler() {
471 return new ToscaExportHandler();
475 * Returns new instance of CsarOperation
479 @Bean(name = "csar-operation")
480 public CsarOperation csarOperation() {
481 return new CsarOperation();
485 * Returns new instance of OnboardingClient
489 @Bean(name = "onboarding-client")
490 public OnboardingClient onboardingClient() {
491 return new OnboardingClient();
495 * Returns new instance of VFComponentInstanceBusinessLogic
499 @Bean(name = "vfComponentInstanceBusinessLogic")
500 public VFComponentInstanceBusinessLogic vfComponentInstanceBusinessLogic() {
501 return new VFComponentInstanceBusinessLogic();
505 * Returns new instance of ResourceImportManager
509 @Bean(name = "resourceImportManager")
510 public ResourceImportManager resourceImportManager() {
511 return new ResourceImportManager();
515 * Returns new instance of GroupBusinessLogic
519 @Bean(name = "groupBusinessLogic")
520 public GroupBusinessLogic groupBusinessLogic() {
521 return new GroupBusinessLogic();
525 * Returns new instance of InputsBusinessLogic
529 @Bean(name = "inputsBusinessLogic")
530 public InputsBusinessLogic inputsBusinessLogic() {
531 return new InputsBusinessLogic();
535 * Returns new instance of CompositionBusinessLogic
539 @Bean(name = "compositionBusinessLogic")
540 public CompositionBusinessLogic compositionBusinessLogic() {
541 return new CompositionBusinessLogic();
545 * Returns new instance of CsarUtils
549 @Bean(name = "csar-utils")
550 public CsarUtils csarUtils() {
551 return new CsarUtils();
555 * Returns new instance of ServiceComponentInstanceBusinessLogic
559 @Bean(name = "serviceComponentInstanceBusinessLogic")
560 public ServiceComponentInstanceBusinessLogic serviceComponentInstanceBusinessLogic() {
561 return new ServiceComponentInstanceBusinessLogic();
565 * @return new instance of migration1702
567 @Bean(name = "migration1702")
568 public Migration1702 migration1702() {
569 return new Migration1702();
573 @Bean(name = "migrationUtils")
574 public MigrationOperationUtils migrationUtils() {
575 return new MigrationOperationUtils();
578 @Bean("consumer-operation")
579 public ConsumerOperation consumerOperation(@Qualifier("titan-generic-dao") TitanGenericDao titanGenericDao) {
580 return new ConsumerOperation(titanGenericDao);
583 @Bean(name = "migration1707relationsFix")
584 public Migration1707RelationsFix migration1707RelationsFix() {
585 return new Migration1707RelationsFix();
587 @Bean(name = "migration1707vnfFix")
588 public Migration1707VnfFix migration1707VnfFix() {
589 return new Migration1707VnfFix();
592 // @Bean(name = "migration1707relationsFix")
593 // public Migration1707RelationsFix migration1707RelationsFix() {
594 // return new Migration1707RelationsFix();