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.core.task.PostMigration;
6 import org.openecomp.sdc.asdctool.migration.dao.MigrationTasksDao;
7 import org.openecomp.sdc.asdctool.migration.resolver.MigrationResolver;
8 import org.openecomp.sdc.asdctool.migration.resolver.SpringBeansMigrationResolver;
9 import org.openecomp.sdc.asdctool.migration.service.SdcRepoService;
10 import org.openecomp.sdc.be.components.distribution.engine.ServiceDistributionArtifactsBuilder;
11 import org.openecomp.sdc.be.components.scheduledtasks.ComponentsCleanBusinessLogic;
12 import org.openecomp.sdc.be.config.CatalogModelSpringConfig;
13 import org.openecomp.sdc.be.dao.config.DAOSpringConfig;
14 import org.openecomp.sdc.config.CatalogBESpringConfig;
15 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.beans.factory.config.PropertiesFactoryBean;
17 import org.springframework.context.annotation.Bean;
18 import org.springframework.context.annotation.ComponentScan;
19 import org.springframework.context.annotation.Configuration;
20 import org.springframework.context.annotation.Import;
21 import org.springframework.core.io.FileSystemResource;
23 import java.util.ArrayList;
24 import java.util.List;
27 @Import({DAOSpringConfig.class, CatalogBESpringConfig.class, CatalogModelSpringConfig.class})
28 @ComponentScan({"org.openecomp.sdc.asdctool.migration.tasks",//migration tasks
29 "org.openecomp.sdc.asdctool.migration.config.mocks"
31 public class MigrationSpringConfig {
33 @Autowired(required=false)
34 private List<Migration> migrations = new ArrayList<>();
36 @Autowired(required=false)
37 private List<PostMigration> postMigrations = new ArrayList<>();
39 @Bean(name = "sdc-migration-tool")
40 public SdcMigrationTool sdcMigrationTool(MigrationResolver migrationResolver, SdcRepoService sdcRepoService) {
41 return new SdcMigrationTool(migrationResolver, sdcRepoService);
44 @Bean(name = "spring-migrations-resolver")
45 public SpringBeansMigrationResolver migrationResolver(SdcRepoService sdcRepoService) {
46 return new SpringBeansMigrationResolver(migrations, postMigrations, sdcRepoService);
49 @Bean(name = "sdc-repo-service")
50 public SdcRepoService sdcRepoService(MigrationTasksDao migrationTasksDao) {
51 return new SdcRepoService(migrationTasksDao);
54 @Bean(name = "sdc-migration-tasks-cassandra-dao")
55 public MigrationTasksDao migrationTasksDao() {
56 return new MigrationTasksDao();
59 @Bean(name = "serviceDistributionArtifactsBuilder")
60 public ServiceDistributionArtifactsBuilder serviceDistributionArtifactsBuilder() {
61 return new ServiceDistributionArtifactsBuilder();
64 @Bean(name = "elasticsearchConfig")
65 public PropertiesFactoryBean mapper() {
66 String configHome = System.getProperty("config.home");
67 PropertiesFactoryBean bean = new PropertiesFactoryBean();
68 bean.setLocation(new FileSystemResource(configHome + "/elasticsearch.yml"));
72 @Bean(name = "componentsCleanBusinessLogic")
73 public ComponentsCleanBusinessLogic componentsCleanBusinessLogic() {return new ComponentsCleanBusinessLogic(); }