2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.openecomp.sdc.asdctool.impl.validator.config;
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;
44 * Created by chaya on 7/3/2017.
47 public class ValidationToolConfiguration {
50 public ServiceValidatorExecuter basicServiceValidator() { return new ServiceValidatorExecuter();}
53 public NodeToscaArtifactsValidatorExecuter NodeToscaArtifactsValidatorValidator() { return new NodeToscaArtifactsValidatorExecuter();}
56 public ServiceToscaArtifactsValidatorExecutor ServiceToscaArtifactsValidator() { return new ServiceToscaArtifactsValidatorExecutor();}
59 public VFToscaArtifactValidatorExecutor VFToscaArtifactValidator() { return new VFToscaArtifactValidatorExecutor();}
62 public VfArtifactValidationTask vfArtifactValidationTask() { return new VfArtifactValidationTask(); }
65 public ServiceArtifactValidationTask serviceArtifactValidationTask() { return new ServiceArtifactValidationTask();}
68 public ModuleJsonTask moduleJsonTask() { return new ModuleJsonTask();}
71 public ValidationToolBL validationToolBL() {
72 return new ValidationToolBL();
76 public ArtifactToolBL artifactToolBL() {
77 return new ArtifactToolBL();
81 public VfValidatorExecuter basicVfValidator() { return new VfValidatorExecuter();}
84 public ReportManager reportManager() { return new ReportManager();}
86 @Bean(name = "artifact-cassandra-dao")
87 public ArtifactCassandraDao artifactCassandraDao(CassandraClient cassandraClient) {
88 return new ArtifactCassandraDao(cassandraClient);
92 public ArtifactValidationUtils artifactValidationUtils() { return new ArtifactValidationUtils();}
94 @Bean(name = "groups-operation")
95 public GroupsOperation jsonGroupsOperation() {
96 return new GroupsOperation();
99 @Bean(name = "cassandra-client")
100 public CassandraClient cassandraClient() {
101 return new CassandraClient();
104 @Bean(name = "dao-janusgraph-strategy")
105 public JanusGraphClientStrategy daoStrategy() {
106 return new DAOJanusGraphStrategy();
109 @Bean(name = "migration-janusgraph-client", initMethod = "createGraph")
110 public JanusGraphClient janusGraphMigrationClient(@Qualifier("dao-janusgraph-strategy")
111 JanusGraphClientStrategy janusGraphClientStrategy) {
112 return new JanusGraphClient(janusGraphClientStrategy);
115 @Bean(name = "tosca-operation-facade")
116 public ToscaOperationFacade toscaOperationFacade() {
117 return new ToscaOperationFacade();
120 @Bean(name = "node-type-operation")
121 public NodeTypeOperation nodeTypeOperation(@Qualifier("mig-derived-resolver") DerivedNodeTypeResolver migrationDerivedNodeTypeResolver) {
122 return new NodeTypeOperation(migrationDerivedNodeTypeResolver);
125 @Bean(name = "topology-template-operation")
126 public TopologyTemplateOperation topologyTemplateOperation() {
127 return new TopologyTemplateOperation();
130 @Bean(name = "node-template-operation")
131 public NodeTemplateOperation nodeTemplateOperation() {
132 return new NodeTemplateOperation();
135 @Bean(name = "mig-derived-resolver")
136 public DerivedNodeTypeResolver migrationDerivedNodeTypeResolver() {
137 return new ByToscaNameDerivedNodeTypeResolver();
140 @Bean(name = "janusgraph-dao")
141 public JanusGraphDao janusGraphDao(@Qualifier("migration-janusgraph-client") JanusGraphClient janusGraphClient) {
142 return new JanusGraphDao(janusGraphClient);
145 @Bean(name = "category-operation")
146 public CategoryOperation categoryOperation() {
147 return new CategoryOperation();
150 @Bean(name = "artifacts-operation")
151 public ArtifactsOperations artifactsOperation() {
152 return new ArtifactsOperations();
155 @Bean(name = "tosca-data-operation")
156 public ToscaDataOperation toscaDataOperation() {
157 return new ToscaDataOperation();
160 @Bean(name = "tosca-element-lifecycle-operation")
161 public ToscaElementLifecycleOperation toscaElementLifecycleOperation() {
162 return new ToscaElementLifecycleOperation();