1 package org.openecomp.sdc.be.dao.config;
3 import org.openecomp.sdc.be.dao.DAOTitanStrategy;
4 import org.openecomp.sdc.be.dao.TitanClientStrategy;
5 import org.openecomp.sdc.be.dao.impl.HealingPipelineDao;
6 import org.openecomp.sdc.be.dao.titan.HealingTitanGenericDao;
7 import org.openecomp.sdc.be.dao.titan.TitanGraphClient;
8 import org.openecomp.sdc.be.dao.titan.transactions.SimpleTitanTransactionManager;
9 import org.springframework.beans.factory.annotation.Qualifier;
10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.ComponentScan;
12 import org.springframework.context.annotation.Configuration;
13 import org.springframework.context.annotation.Primary;
14 import org.springframework.transaction.PlatformTransactionManager;
15 import org.springframework.transaction.annotation.EnableTransactionManagement;
19 "org.openecomp.sdc.be.dao.jsongraph",
21 @EnableTransactionManagement
22 public class TitanSpringConfig {
24 @Bean(name = "titan-generic-dao")
26 public HealingTitanGenericDao titanGenericDao(@Qualifier("titan-client") TitanGraphClient titanGraphClient) {
27 return new HealingTitanGenericDao(titanGraphClient);
30 @Bean(name = "titan-client", initMethod = "createGraph")
32 public TitanGraphClient titanGraphClient(@Qualifier("dao-client-strategy") TitanClientStrategy titanClientStrategy) {
33 return new TitanGraphClient(titanClientStrategy);
36 @Bean(name = "dao-client-strategy")
37 public TitanClientStrategy titanClientStrategy() {
38 return new DAOTitanStrategy();
42 public PlatformTransactionManager txManager() {
43 return new SimpleTitanTransactionManager(titanGraphClient(titanClientStrategy()));
46 @Bean(name = "healingPipelineDao")
47 public HealingPipelineDao healingPipeline(){
48 HealingPipelineDao healingPipelineDao = new HealingPipelineDao();
49 healingPipelineDao.setHealVersion(1);
50 healingPipelineDao.initHealVersion();
51 return healingPipelineDao;