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.titan.TitanGenericDao;
6 import org.openecomp.sdc.be.dao.titan.TitanGraphClient;
7 import org.openecomp.sdc.be.dao.titan.transactions.SimpleTitanTransactionManager;
8 import org.springframework.beans.factory.annotation.Qualifier;
9 import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.ComponentScan;
11 import org.springframework.context.annotation.Configuration;
12 import org.springframework.context.annotation.Primary;
13 import org.springframework.transaction.PlatformTransactionManager;
14 import org.springframework.transaction.annotation.EnableTransactionManagement;
18 "org.openecomp.sdc.be.dao.jsongraph",
20 @EnableTransactionManagement
21 public class TitanSpringConfig {
23 @Bean(name = "titan-generic-dao")
25 public TitanGenericDao titanGenericDao(@Qualifier("titan-client") TitanGraphClient titanGraphClient) {
26 return new TitanGenericDao(titanGraphClient);
29 @Bean(name = "titan-client", initMethod = "createGraph")
31 public TitanGraphClient titanGraphClient(@Qualifier("dao-client-strategy") TitanClientStrategy titanClientStrategy) {
32 return new TitanGraphClient(titanClientStrategy);
35 @Bean(name = "dao-client-strategy")
36 public TitanClientStrategy titanClientStrategy() {
37 return new DAOTitanStrategy();
41 public PlatformTransactionManager txManager() {
42 return new SimpleTitanTransactionManager(titanGraphClient(titanClientStrategy()));