Sync Integ to Master
[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.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.executers.NodeToscaArtifactsValidatorExecuter;
14 import org.openecomp.sdc.asdctool.impl.validator.executers.ServiceToscaArtifactsValidatorExecutor;
15 import org.openecomp.sdc.asdctool.impl.validator.executers.VFToscaArtifactValidatorExecutor;
16 import org.openecomp.sdc.asdctool.impl.validator.ArtifactToolBL;
17 import org.openecomp.sdc.asdctool.impl.validator.tasks.moduleJson.ModuleJsonTask;
18 import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
19 import org.openecomp.sdc.be.dao.DAOTitanStrategy;
20 import org.openecomp.sdc.be.dao.TitanClientStrategy;
21 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
22 import org.openecomp.sdc.be.dao.cassandra.CassandraClient;
23 import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
24 import org.openecomp.sdc.be.dao.titan.TitanGraphClient;
25 import org.openecomp.sdc.be.model.DerivedNodeTypeResolver;
26 import org.openecomp.sdc.be.model.jsontitan.operations.ArtifactsOperations;
27 import org.openecomp.sdc.be.model.jsontitan.operations.ByToscaNameDerivedNodeTypeResolver;
28 import org.openecomp.sdc.be.model.jsontitan.operations.CategoryOperation;
29 import org.openecomp.sdc.be.model.jsontitan.operations.GroupsOperation;
30 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTemplateOperation;
31 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTypeOperation;
32 import org.openecomp.sdc.be.model.jsontitan.operations.TopologyTemplateOperation;
33 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaDataOperation;
34 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaElementLifecycleOperation;
35 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
36 import org.springframework.beans.factory.annotation.Qualifier;
37 import org.springframework.context.annotation.Bean;
38 import org.springframework.context.annotation.Configuration;
39
40 /**
41  * Created by chaya on 7/3/2017.
42  */
43 @Configuration
44 public class ValidationToolConfiguration {
45
46     @Bean
47     public ServiceValidatorExecuter basicServiceValidator() { return new ServiceValidatorExecuter();}
48     
49     @Bean
50     public NodeToscaArtifactsValidatorExecuter NodeToscaArtifactsValidatorValidator() { return new NodeToscaArtifactsValidatorExecuter();}
51     
52     @Bean
53     public ServiceToscaArtifactsValidatorExecutor ServiceToscaArtifactsValidator() { return new ServiceToscaArtifactsValidatorExecutor();}
54     
55     @Bean
56     public VFToscaArtifactValidatorExecutor VFToscaArtifactValidator() { return new VFToscaArtifactValidatorExecutor();}
57
58     @Bean
59     public VfArtifactValidationTask vfArtifactValidationTask() { return new VfArtifactValidationTask(); }
60
61     @Bean
62     public ServiceArtifactValidationTask serviceArtifactValidationTask() { return new ServiceArtifactValidationTask();}
63
64     @Bean
65     public ModuleJsonTask moduleJsonTask() { return new ModuleJsonTask();}
66
67     @Bean
68     public ValidationToolBL validationToolBL() {
69         return new ValidationToolBL();
70     }
71     
72     @Bean
73     public ArtifactToolBL artifactToolBL() {
74         return new ArtifactToolBL();
75     }
76
77     @Bean
78     public VfValidatorExecuter basicVfValidator() { return new VfValidatorExecuter();}
79
80     @Bean
81     public ReportManager reportManager() { return new ReportManager();}
82
83     @Bean(name = "artifact-cassandra-dao")
84     public ArtifactCassandraDao artifactCassandraDao() {
85         return new ArtifactCassandraDao();
86     }
87
88     @Bean
89     public ArtifactValidationUtils artifactValidationUtils() { return new ArtifactValidationUtils();}
90
91     @Bean(name = "groups-operation")
92     public GroupsOperation jsonGroupsOperation() {
93         return new GroupsOperation();
94     }
95
96     @Bean(name = "cassandra-client")
97     public CassandraClient cassandraClient() {
98         return new CassandraClient();
99     }
100
101     @Bean(name = "dao-titan-strategy")
102     public TitanClientStrategy daoStrategy() {
103         return new DAOTitanStrategy();
104     }
105
106     @Bean(name = "migration-titan-client", initMethod = "createGraph")
107     public TitanGraphClient titanMigrationClient(@Qualifier("dao-titan-strategy") TitanClientStrategy titanClientStrategy) {
108         return new TitanGraphClient(titanClientStrategy);
109     }
110
111     @Bean(name = "tosca-operation-facade")
112     public ToscaOperationFacade toscaOperationFacade() {
113         return new ToscaOperationFacade();
114     }
115
116     @Bean(name = "node-type-operation")
117     public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
118         return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
119     }
120
121     @Bean(name = "topology-template-operation")
122     public TopologyTemplateOperation topologyTemplateOperation() {
123         return new TopologyTemplateOperation();
124     }
125
126     @Bean(name = "node-template-operation")
127     public NodeTemplateOperation nodeTemplateOperation() {
128         return new NodeTemplateOperation();
129     }
130
131     @Bean(name = "mig-derived-resolver")
132     public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
133         return new ByToscaNameDerivedNodeTypeResolver();
134     }
135
136     @Bean(name = "titan-dao")
137     public TitanDao titanDao(@Qualifier("migration-titan-client") TitanGraphClient titanGraphClient) {
138         return new TitanDao(titanGraphClient);
139     }
140
141     @Bean(name = "category-operation")
142     public CategoryOperation categoryOperation() {
143         return new CategoryOperation();
144     }
145
146     @Bean(name = "artifacts-operation")
147     public ArtifactsOperations artifactsOperation() {
148         return new ArtifactsOperations();
149     }
150
151     @Bean(name = "tosca-data-operation")
152     public ToscaDataOperation toscaDataOperation() {
153         return new ToscaDataOperation();
154     }
155
156     @Bean(name = "tosca-element-lifecycle-operation")
157     public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
158         return new ToscaElementLifecycleOperation();
159     }
160 }