1 package org.openecomp.sdc.asdctool.migration.config;
3 import org.openecomp.sdc.asdctool.migration.core.SdcMigrationTool;
4 import org.openecomp.sdc.asdctool.migration.core.task.Migration;
5 import org.openecomp.sdc.asdctool.migration.resolver.MigrationResolver;
6 import org.openecomp.sdc.asdctool.migration.resolver.SpringBeansMigrationResolver;
7 import org.openecomp.sdc.asdctool.migration.service.SdcRepoService;
8 import org.openecomp.sdc.be.dao.cassandra.CassandraClient;
9 import org.openecomp.sdc.be.dao.cassandra.MigrationTasksDao;
10 import org.openecomp.sdc.be.dao.config.DAOSpringConfig;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.context.annotation.Bean;
13 import org.springframework.context.annotation.ComponentScan;
14 import org.springframework.context.annotation.Configuration;
15 import org.springframework.context.annotation.Import;
17 import java.util.ArrayList;
18 import java.util.List;
21 @Import(DAOSpringConfig.class)
22 @ComponentScan({"org.openecomp.sdc.asdctool.migration.tasks",//migration tasks
23 "org.openecomp.sdc.be.model.operations.impl",
24 "org.openecomp.sdc.be.model.cache",
25 "org.openecomp.sdc.be.dao.titan",
26 "org.openecomp.sdc.be.dao.cassandra",
27 "org.openecomp.sdc.be.model.jsontitan.operations",
28 "org.openecomp.sdc.be.dao.jsongraph"})
29 public class MigrationSpringConfig {
31 @Autowired(required=false)
32 private List<Migration> migrations = new ArrayList<>();
34 @Bean(name = "sdc-migration-tool")
35 public SdcMigrationTool sdcMigrationTool(MigrationResolver migrationResolver, SdcRepoService sdcRepoService) {
36 return new SdcMigrationTool(migrationResolver, sdcRepoService);
39 @Bean(name = "spring-migrations-resolver")
40 public SpringBeansMigrationResolver migrationResolver(SdcRepoService sdcRepoService) {
41 return new SpringBeansMigrationResolver(migrations, sdcRepoService);
44 @Bean(name = "sdc-repo-service")
45 public SdcRepoService sdcRepoService(MigrationTasksDao migrationTasksDao) {
46 return new SdcRepoService(migrationTasksDao);
49 @Bean(name = "sdc-migration-tasks-cassandra-dao")
50 public MigrationTasksDao migrationTasksDao() {
51 return new MigrationTasksDao();
54 @Bean(name = "cassandra-client")
55 public CassandraClient cassandraClient() {
56 return new CassandraClient();