Added oparent to sdc main
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / impl / validator / config / ValidationToolConfiguration.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.asdctool.impl.validator.config;
22
23 import org.openecomp.sdc.asdctool.impl.validator.ArtifactToolBL;
24 import org.openecomp.sdc.asdctool.impl.validator.ValidationToolBL;
25 import org.openecomp.sdc.asdctool.impl.validator.executers.*;
26 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ArtifactValidationUtils;
27 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.ServiceArtifactValidationTask;
28 import org.openecomp.sdc.asdctool.impl.validator.tasks.artifacts.VfArtifactValidationTask;
29 import org.openecomp.sdc.asdctool.impl.validator.tasks.moduleJson.ModuleJsonTask;
30 import org.openecomp.sdc.asdctool.impl.validator.utils.ReportManager;
31 import org.openecomp.sdc.be.dao.DAOJanusGraphStrategy;
32 import org.openecomp.sdc.be.dao.JanusGraphClientStrategy;
33 import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
34 import org.openecomp.sdc.be.dao.cassandra.CassandraClient;
35 import org.openecomp.sdc.be.dao.janusgraph.JanusGraphClient;
36 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
37 import org.openecomp.sdc.be.model.DerivedNodeTypeResolver;
38 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.*;
39 import org.springframework.beans.factory.annotation.Qualifier;
40 import org.springframework.context.annotation.Bean;
41 import org.springframework.context.annotation.Configuration;
42
43 /**
44  * Created by chaya on 7/3/2017.
45  */
46 @Configuration
47 public class ValidationToolConfiguration {
48
49     @Bean
50     public ServiceValidatorExecuter basicServiceValidator() { return new ServiceValidatorExecuter();}
51     
52     @Bean
53     public NodeToscaArtifactsValidatorExecuter NodeToscaArtifactsValidatorValidator() { return new NodeToscaArtifactsValidatorExecuter();}
54     
55     @Bean
56     public ServiceToscaArtifactsValidatorExecutor ServiceToscaArtifactsValidator() { return new ServiceToscaArtifactsValidatorExecutor();}
57     
58     @Bean
59     public VFToscaArtifactValidatorExecutor VFToscaArtifactValidator() { return new VFToscaArtifactValidatorExecutor();}
60
61     @Bean
62     public VfArtifactValidationTask vfArtifactValidationTask() { return new VfArtifactValidationTask(); }
63
64     @Bean
65     public ServiceArtifactValidationTask serviceArtifactValidationTask() { return new ServiceArtifactValidationTask();}
66
67     @Bean
68     public ModuleJsonTask moduleJsonTask() { return new ModuleJsonTask();}
69
70     @Bean
71     public ValidationToolBL validationToolBL() {
72         return new ValidationToolBL();
73     }
74     
75     @Bean
76     public ArtifactToolBL artifactToolBL() {
77         return new ArtifactToolBL();
78     }
79
80     @Bean
81     public VfValidatorExecuter basicVfValidator() { return new VfValidatorExecuter();}
82
83     @Bean
84     public ReportManager reportManager() { return new ReportManager();}
85
86     @Bean(name = "artifact-cassandra-dao")
87     public ArtifactCassandraDao artifactCassandraDao(CassandraClient cassandraClient) {
88         return new ArtifactCassandraDao(cassandraClient);
89     }
90
91     @Bean
92     public ArtifactValidationUtils artifactValidationUtils() { return new ArtifactValidationUtils();}
93
94     @Bean(name = "groups-operation")
95     public GroupsOperation jsonGroupsOperation() {
96         return new GroupsOperation();
97     }
98
99     @Bean(name = "cassandra-client")
100     public CassandraClient cassandraClient() {
101         return new CassandraClient();
102     }
103
104     @Bean(name = "dao-janusgraph-strategy")
105     public JanusGraphClientStrategy daoStrategy() {
106         return new DAOJanusGraphStrategy();
107     }
108
109     @Bean(name = "migration-janusgraph-client", initMethod = "createGraph")
110     public JanusGraphClient janusGraphMigrationClient(@Qualifier("dao-janusgraph-strategy")
111                                                      JanusGraphClientStrategy janusGraphClientStrategy) {
112         return new JanusGraphClient(janusGraphClientStrategy);
113     }
114
115     @Bean(name = "tosca-operation-facade")
116     public ToscaOperationFacade toscaOperationFacade() {
117         return new ToscaOperationFacade();
118     }
119
120     @Bean(name = "node-type-operation")
121     public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
122         return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
123     }
124
125     @Bean(name = "topology-template-operation")
126     public TopologyTemplateOperation topologyTemplateOperation() {
127         return new TopologyTemplateOperation();
128     }
129
130     @Bean(name = "node-template-operation")
131     public NodeTemplateOperation nodeTemplateOperation() {
132         return new NodeTemplateOperation();
133     }
134
135     @Bean(name = "mig-derived-resolver")
136     public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
137         return new ByToscaNameDerivedNodeTypeResolver();
138     }
139
140     @Bean(name = "janusgraph-dao")
141     public JanusGraphDao janusGraphDao(@Qualifier("migration-janusgraph-client") JanusGraphClient janusGraphClient) {
142         return new JanusGraphDao(janusGraphClient);
143     }
144
145     @Bean(name = "category-operation")
146     public CategoryOperation categoryOperation() {
147         return new CategoryOperation();
148     }
149
150     @Bean(name = "artifacts-operation")
151     public ArtifactsOperations artifactsOperation() {
152         return new ArtifactsOperations();
153     }
154
155     @Bean(name = "tosca-data-operation")
156     public ToscaDataOperation toscaDataOperation() {
157         return new ToscaDataOperation();
158     }
159
160     @Bean(name = "tosca-element-lifecycle-operation")
161     public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
162         return new ToscaElementLifecycleOperation();
163     }
164 }