Upgrade SDC from Titan to Janus Graph
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / impl / validator / config / ValidationToolConfiguration.java
1 package org.openecomp.sdc.asdctool.impl.validator.config;
2
3 import org.openecomp.sdc.asdctool.impl.validator.ArtifactToolBL;
4 import org.openecomp.sdc.asdctool.impl.validator.ValidationToolBL;
5 import org.openecomp.sdc.asdctool.impl.validator.executers.*;
6 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ArtifactValidationUtils;
7 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ServiceArtifactValidationTask;
8 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.VfArtifactValidationTask;
9 import org.openecomp.sdc.asdctool.impl.validator.tasks.moduleJson.ModuleJsonTask;
10 import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
11 import org.openecomp.sdc.be.dao.DAOJanusGraphStrategy;
12 import org.openecomp.sdc.be.dao.JanusGraphClientStrategy;
13 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
14 import org.openecomp.sdc.be.dao.cassandra.CassandraClient;
15 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphClient;
16 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
17 import org.openecomp.sdc.be.model.DerivedNodeTypeResolver;
18 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.*;
19 import org.springframework.beans.factory.annotation.Qualifier;
20 import org.springframework.context.annotation.Bean;
21 import org.springframework.context.annotation.Configuration;
22
23 /**
24  * Created by chaya on 7/3/2017.
25  */
26 @Configuration
27 public class ValidationToolConfiguration {
28
29     @Bean
30     public ServiceValidatorExecuter basicServiceValidator() { return new ServiceValidatorExecuter();}
31     
32     @Bean
33     public NodeToscaArtifactsValidatorExecuter NodeToscaArtifactsValidatorValidator() { return new NodeToscaArtifactsValidatorExecuter();}
34     
35     @Bean
36     public ServiceToscaArtifactsValidatorExecutor ServiceToscaArtifactsValidator() { return new ServiceToscaArtifactsValidatorExecutor();}
37     
38     @Bean
39     public VFToscaArtifactValidatorExecutor VFToscaArtifactValidator() { return new VFToscaArtifactValidatorExecutor();}
40
41     @Bean
42     public VfArtifactValidationTask vfArtifactValidationTask() { return new VfArtifactValidationTask(); }
43
44     @Bean
45     public ServiceArtifactValidationTask serviceArtifactValidationTask() { return new ServiceArtifactValidationTask();}
46
47     @Bean
48     public ModuleJsonTask moduleJsonTask() { return new ModuleJsonTask();}
49
50     @Bean
51     public ValidationToolBL validationToolBL() {
52         return new ValidationToolBL();
53     }
54     
55     @Bean
56     public ArtifactToolBL artifactToolBL() {
57         return new ArtifactToolBL();
58     }
59
60     @Bean
61     public VfValidatorExecuter basicVfValidator() { return new VfValidatorExecuter();}
62
63     @Bean
64     public ReportManager reportManager() { return new ReportManager();}
65
66     @Bean(name = "artifact-cassandra-dao")
67     public ArtifactCassandraDao artifactCassandraDao() {
68         return new ArtifactCassandraDao();
69     }
70
71     @Bean
72     public ArtifactValidationUtils artifactValidationUtils() { return new ArtifactValidationUtils();}
73
74     @Bean(name = "groups-operation")
75     public GroupsOperation jsonGroupsOperation() {
76         return new GroupsOperation();
77     }
78
79     @Bean(name = "cassandra-client")
80     public CassandraClient cassandraClient() {
81         return new CassandraClient();
82     }
83
84     @Bean(name = "dao-janusgraph-strategy")
85     public JanusGraphClientStrategy daoStrategy() {
86         return new DAOJanusGraphStrategy();
87     }
88
89     @Bean(name = "migration-janusgraph-client", initMethod = "createGraph")
90     public JanusGraphClient janusGraphMigrationClient(@Qualifier("dao-janusgraph-strategy")
91                                                      JanusGraphClientStrategy janusGraphClientStrategy) {
92         return new JanusGraphClient(janusGraphClientStrategy);
93     }
94
95     @Bean(name = "tosca-operation-facade")
96     public ToscaOperationFacade toscaOperationFacade() {
97         return new ToscaOperationFacade();
98     }
99
100     @Bean(name = "node-type-operation")
101     public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
102         return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
103     }
104
105     @Bean(name = "topology-template-operation")
106     public TopologyTemplateOperation topologyTemplateOperation() {
107         return new TopologyTemplateOperation();
108     }
109
110     @Bean(name = "node-template-operation")
111     public NodeTemplateOperation nodeTemplateOperation() {
112         return new NodeTemplateOperation();
113     }
114
115     @Bean(name = "mig-derived-resolver")
116     public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
117         return new ByToscaNameDerivedNodeTypeResolver();
118     }
119
120     @Bean(name = "janusgraph-dao")
121     public JanusGraphDao janusGraphDao(@Qualifier("migration-janusgraph-client") JanusGraphClient janusGraphClient) {
122         return new JanusGraphDao(janusGraphClient);
123     }
124
125     @Bean(name = "category-operation")
126     public CategoryOperation categoryOperation() {
127         return new CategoryOperation();
128     }
129
130     @Bean(name = "artifacts-operation")
131     public ArtifactsOperations artifactsOperation() {
132         return new ArtifactsOperations();
133     }
134
135     @Bean(name = "tosca-data-operation")
136     public ToscaDataOperation toscaDataOperation() {
137         return new ToscaDataOperation();
138     }
139
140     @Bean(name = "tosca-element-lifecycle-operation")
141     public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
142         return new ToscaElementLifecycleOperation();
143     }
144 }