1 package org.openecomp.sdc.be.dao.config;
3 import org.openecomp.sdc.be.dao.DAOJanusGraphStrategy;
4 import org.openecomp.sdc.be.dao.JanusGraphClientStrategy;
5 import org.openecomp.sdc.be.dao.impl.HealingPipelineDao;
6 import org.openecomp.sdc.be.dao.janusgraph.HealingJanusGraphGenericDao;
7 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphClient;
8 import org.openecomp.sdc.be.dao.janusgraph.transactions.SimpleJanusGraphTransactionManager;
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 JanusGraphSpringConfig {
24 @Bean(name = "janusgraph-generic-dao")
26 public HealingJanusGraphGenericDao janusGraphGenericDao(@Qualifier("janusgraph-client") JanusGraphClient janusGraphClient) {
27 return new HealingJanusGraphGenericDao(janusGraphClient);
30 @Bean(name = "janusgraph-client", initMethod = "createGraph")
32 public JanusGraphClient janusGraphClient(@Qualifier("dao-client-strategy")
33 JanusGraphClientStrategy janusGraphClientStrategy) {
34 return new JanusGraphClient(janusGraphClientStrategy);
37 @Bean(name = "dao-client-strategy")
38 public JanusGraphClientStrategy janusGraphClientStrategy() {
39 return new DAOJanusGraphStrategy();
43 public PlatformTransactionManager txManager() {
44 return new SimpleJanusGraphTransactionManager(janusGraphClient(janusGraphClientStrategy()));
47 @Bean(name = "healingPipelineDao")
48 public HealingPipelineDao healingPipeline(){
49 HealingPipelineDao healingPipelineDao = new HealingPipelineDao();
50 healingPipelineDao.setHealVersion(1);
51 healingPipelineDao.initHealVersion();
52 return healingPipelineDao;