3b81ba81e4fa4f9ce2edab3c133681bc8a19d645
[sdc.git] /
1 package org.openecomp.sdc.asdctool.impl.validator.config;
2
3 import org.openecomp.sdc.asdctool.impl.validator.ValidationToolBL;
4 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceValidatorExecuter;
5 import org.openecomp.sdc.asdctool.impl.validator.executers.VfValidatorExecuter;
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.DAOTitanStrategy;
12 import org.openecomp.sdc.be.dao.TitanClientStrategy;
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.jsongraph.TitanDao;
16 import org.openecomp.sdc.be.dao.titan.TitanGraphClient;
17 import org.openecomp.sdc.be.model.DerivedNodeTypeResolver;
18 import org.openecomp.sdc.be.model.jsontitan.operations.ArtifactsOperations;
19 import org.openecomp.sdc.be.model.jsontitan.operations.ByToscaNameDerivedNodeTypeResolver;
20 import org.openecomp.sdc.be.model.jsontitan.operations.CategoryOperation;
21 import org.openecomp.sdc.be.model.jsontitan.operations.GroupsOperation;
22 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTemplateOperation;
23 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTypeOperation;
24 import org.openecomp.sdc.be.model.jsontitan.operations.TopologyTemplateOperation;
25 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaDataOperation;
26 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaElementLifecycleOperation;
27 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
28 import org.springframework.beans.factory.annotation.Qualifier;
29 import org.springframework.context.annotation.Bean;
30 import org.springframework.context.annotation.Configuration;
31
32 /**
33  * Created by chaya on 7/3/2017.
34  */
35 @Configuration
36 public class ValidationToolConfiguration {
37
38     @Bean
39     public ServiceValidatorExecuter basicServiceValidator() { return new ServiceValidatorExecuter();}
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 VfValidatorExecuter basicVfValidator() { return new VfValidatorExecuter();}
57
58     @Bean
59     public ReportManager reportManager() { return new ReportManager();}
60
61     @Bean(name = "artifact-cassandra-dao")
62     public ArtifactCassandraDao artifactCassandraDao() {
63         return new ArtifactCassandraDao();
64     }
65
66     @Bean
67     public ArtifactValidationUtils artifactValidationUtils() { return new ArtifactValidationUtils();}
68
69     @Bean(name = "groups-operation")
70     public GroupsOperation jsonGroupsOperation() {
71         return new GroupsOperation();
72     }
73
74     @Bean(name = "cassandra-client")
75     public CassandraClient cassandraClient() {
76         return new CassandraClient();
77     }
78
79     @Bean(name = "dao-titan-strategy")
80     public TitanClientStrategy daoStrategy() {
81         return new DAOTitanStrategy();
82     }
83
84     @Bean(name = "migration-titan-client", initMethod = "createGraph")
85     public TitanGraphClient titanMigrationClient(@Qualifier("dao-titan-strategy") TitanClientStrategy titanClientStrategy) {
86         return new TitanGraphClient(titanClientStrategy);
87     }
88
89     @Bean(name = "tosca-operation-facade")
90     public ToscaOperationFacade toscaOperationFacade() {
91         return new ToscaOperationFacade();
92     }
93
94     @Bean(name = "node-type-operation")
95     public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
96         return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
97     }
98
99     @Bean(name = "topology-template-operation")
100     public TopologyTemplateOperation topologyTemplateOperation() {
101         return new TopologyTemplateOperation();
102     }
103
104     @Bean(name = "node-template-operation")
105     public NodeTemplateOperation nodeTemplateOperation() {
106         return new NodeTemplateOperation();
107     }
108
109     @Bean(name = "mig-derived-resolver")
110     public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
111         return new ByToscaNameDerivedNodeTypeResolver();
112     }
113
114     @Bean(name = "titan-dao")
115     public TitanDao titanDao(@Qualifier("migration-titan-client") TitanGraphClient titanGraphClient) {
116         return new TitanDao(titanGraphClient);
117     }
118
119     @Bean(name = "category-operation")
120     public CategoryOperation categoryOperation() {
121         return new CategoryOperation();
122     }
123
124     @Bean(name = "artifacts-operation")
125     public ArtifactsOperations artifactsOperation() {
126         return new ArtifactsOperations();
127     }
128
129     @Bean(name = "tosca-data-operation")
130     public ToscaDataOperation toscaDataOperation() {
131         return new ToscaDataOperation();
132     }
133
134     @Bean(name = "tosca-element-lifecycle-operation")
135     public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
136         return new ToscaElementLifecycleOperation();
137     }
138 }