1 package org.openecomp.sdc.asdctool.impl.validator.config;
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.NodeToscaArtifactsValidatorExecuter;
6 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceToscaArtifactsValidatorExecutor;
7 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceValidatorExecuter;
8 import org.openecomp.sdc.asdctool.impl.validator.executers.VFToscaArtifactValidatorExecutor;
9 import org.openecomp.sdc.asdctool.impl.validator.executers.VfValidatorExecuter;
10 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ArtifactValidationUtils;
11 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ServiceArtifactValidationTask;
12 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.VfArtifactValidationTask;
13 import org.openecomp.sdc.asdctool.impl.validator.tasks.moduleJson.ModuleJsonTask;
14 import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
15 import org.openecomp.sdc.be.dao.DAOTitanStrategy;
16 import org.openecomp.sdc.be.dao.TitanClientStrategy;
17 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
18 import org.openecomp.sdc.be.dao.cassandra.CassandraClient;
19 import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
20 import org.openecomp.sdc.be.dao.titan.TitanGraphClient;
21 import org.openecomp.sdc.be.model.DerivedNodeTypeResolver;
22 import org.openecomp.sdc.be.model.jsontitan.operations.ArtifactsOperations;
23 import org.openecomp.sdc.be.model.jsontitan.operations.ByToscaNameDerivedNodeTypeResolver;
24 import org.openecomp.sdc.be.model.jsontitan.operations.CategoryOperation;
25 import org.openecomp.sdc.be.model.jsontitan.operations.GroupsOperation;
26 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTemplateOperation;
27 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTypeOperation;
28 import org.openecomp.sdc.be.model.jsontitan.operations.TopologyTemplateOperation;
29 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaDataOperation;
30 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaElementLifecycleOperation;
31 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
32 import org.springframework.beans.factory.annotation.Qualifier;
33 import org.springframework.context.annotation.Bean;
34 import org.springframework.context.annotation.Configuration;
37 * Created by chaya on 7/3/2017.
40 public class ValidationToolConfiguration {
43 public ServiceValidatorExecuter basicServiceValidator() { return new ServiceValidatorExecuter();}
46 public NodeToscaArtifactsValidatorExecuter NodeToscaArtifactsValidatorValidator() { return new NodeToscaArtifactsValidatorExecuter();}
49 public ServiceToscaArtifactsValidatorExecutor ServiceToscaArtifactsValidator() { return new ServiceToscaArtifactsValidatorExecutor();}
52 public VFToscaArtifactValidatorExecutor VFToscaArtifactValidator() { return new VFToscaArtifactValidatorExecutor();}
55 public VfArtifactValidationTask vfArtifactValidationTask() { return new VfArtifactValidationTask(); }
58 public ServiceArtifactValidationTask serviceArtifactValidationTask() { return new ServiceArtifactValidationTask();}
61 public ModuleJsonTask moduleJsonTask() { return new ModuleJsonTask();}
64 public ValidationToolBL validationToolBL() {
65 return new ValidationToolBL();
69 public ArtifactToolBL artifactToolBL() {
70 return new ArtifactToolBL();
74 public VfValidatorExecuter basicVfValidator() { return new VfValidatorExecuter();}
77 public ReportManager reportManager() { return new ReportManager();}
79 @Bean(name = "artifact-cassandra-dao")
80 public ArtifactCassandraDao artifactCassandraDao() {
81 return new ArtifactCassandraDao();
85 public ArtifactValidationUtils artifactValidationUtils() { return new ArtifactValidationUtils();}
87 @Bean(name = "groups-operation")
88 public GroupsOperation jsonGroupsOperation() {
89 return new GroupsOperation();
92 @Bean(name = "cassandra-client")
93 public CassandraClient cassandraClient() {
94 return new CassandraClient();
97 @Bean(name = "dao-titan-strategy")
98 public TitanClientStrategy daoStrategy() {
99 return new DAOTitanStrategy();
102 @Bean(name = "migration-titan-client", initMethod = "createGraph")
103 public TitanGraphClient titanMigrationClient(@Qualifier("dao-titan-strategy") TitanClientStrategy titanClientStrategy) {
104 return new TitanGraphClient(titanClientStrategy);
107 @Bean(name = "tosca-operation-facade")
108 public ToscaOperationFacade toscaOperationFacade() {
109 return new ToscaOperationFacade();
112 @Bean(name = "node-type-operation")
113 public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
114 return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
117 @Bean(name = "topology-template-operation")
118 public TopologyTemplateOperation topologyTemplateOperation() {
119 return new TopologyTemplateOperation();
122 @Bean(name = "node-template-operation")
123 public NodeTemplateOperation nodeTemplateOperation() {
124 return new NodeTemplateOperation();
127 @Bean(name = "mig-derived-resolver")
128 public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
129 return new ByToscaNameDerivedNodeTypeResolver();
132 @Bean(name = "titan-dao")
133 public TitanDao titanDao(@Qualifier("migration-titan-client") TitanGraphClient titanGraphClient) {
134 return new TitanDao(titanGraphClient);
137 @Bean(name = "category-operation")
138 public CategoryOperation categoryOperation() {
139 return new CategoryOperation();
142 @Bean(name = "artifacts-operation")
143 public ArtifactsOperations artifactsOperation() {
144 return new ArtifactsOperations();
147 @Bean(name = "tosca-data-operation")
148 public ToscaDataOperation toscaDataOperation() {
149 return new ToscaDataOperation();
152 @Bean(name = "tosca-element-lifecycle-operation")
153 public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
154 return new ToscaElementLifecycleOperation();