[SDC] rebase 1710 code
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / migration / config / MigrationSpringConfig.java
1 package org.openecomp.sdc.asdctool.migration.config;
2
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;
16
17 import java.util.ArrayList;
18 import java.util.List;
19
20 @Configuration
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 {
30
31     @Autowired(required=false)
32     private List<Migration> migrations = new ArrayList<>();
33
34     @Bean(name = "sdc-migration-tool")
35     public SdcMigrationTool sdcMigrationTool(MigrationResolver migrationResolver, SdcRepoService sdcRepoService) {
36         return new SdcMigrationTool(migrationResolver, sdcRepoService);
37     }
38
39     @Bean(name = "spring-migrations-resolver")
40     public SpringBeansMigrationResolver migrationResolver(SdcRepoService sdcRepoService) {
41         return new SpringBeansMigrationResolver(migrations, sdcRepoService);
42     }
43
44     @Bean(name = "sdc-repo-service")
45     public SdcRepoService sdcRepoService(MigrationTasksDao migrationTasksDao) {
46         return new SdcRepoService(migrationTasksDao);
47     }
48
49     @Bean(name = "sdc-migration-tasks-cassandra-dao")
50     public MigrationTasksDao migrationTasksDao() {
51         return new MigrationTasksDao();
52     }
53
54     @Bean(name = "cassandra-client")
55     public CassandraClient cassandraClient() {
56         return new CassandraClient();
57     }
58
59 }