769d55a3202308808a72da32a61204465c267d2d
[sdc.git] /
1 /*
2  * Copyright © 2016-2017 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.openecomp.sdc.vendorsoftwareproduct.types;
18
19 import org.apache.commons.collections4.CollectionUtils;
20 import org.apache.commons.collections4.MapUtils;
21 import org.openecomp.sdc.common.errors.ErrorCode;
22 import org.openecomp.sdc.datatypes.error.ErrorMessage;
23 import org.openecomp.sdc.vendorsoftwareproduct.utils.VendorSoftwareProductUtils;
24
25 import java.util.Collection;
26 import java.util.List;
27 import java.util.Map;
28
29 public class ValidationResponse {
30   private boolean valid = true;
31   private Collection<ErrorCode> vspErrors;
32   private Collection<ErrorCode> licensingDataErrors;
33   private Map<String, List<ErrorMessage>> uploadDataErrors;
34   private QuestionnaireValidationResult questionnaireValidationResult;
35
36   public boolean isValid() {
37     return valid;
38   }
39
40   public Collection<ErrorCode> getVspErrors() {
41     return vspErrors;
42   }
43
44   /**
45    * Sets vsp errors.
46    *  @param vspErrors         the vsp errors
47    * @param targetServiceName the target service name
48    */
49   public void setVspErrors(Collection<ErrorCode> vspErrors,
50                            String targetServiceName) {
51     this.vspErrors = vspErrors;
52     if (CollectionUtils.isNotEmpty(vspErrors)) {
53       valid = false;
54     }
55
56     VendorSoftwareProductUtils.setErrorsIntoLogger(vspErrors, targetServiceName);
57   }
58
59
60   public Collection<ErrorCode> getLicensingDataErrors() {
61     return licensingDataErrors;
62   }
63
64   /**
65    * Sets licensing data errors.
66    *
67    * @param licensingDataErrors the licensing data errors
68    */
69   public void setLicensingDataErrors(Collection<ErrorCode> licensingDataErrors) {
70     this.licensingDataErrors = licensingDataErrors;
71     if (CollectionUtils.isNotEmpty(licensingDataErrors)) {
72       valid = false;
73     }
74   }
75
76   public Map<String, List<ErrorMessage>> getUploadDataErrors() {
77     return uploadDataErrors;
78   }
79
80   /**
81    * Sets upload data errors.
82    *  @param uploadDataErrors  the upload data errors
83    * @param targetServiceName the target service name
84    */
85   public void setUploadDataErrors(Map<String, List<ErrorMessage>> uploadDataErrors,
86                                   String targetServiceName) {
87     this.uploadDataErrors = uploadDataErrors;
88     if (MapUtils.isNotEmpty(uploadDataErrors)) {
89       valid = false;
90     }
91
92     VendorSoftwareProductUtils
93             .setErrorsIntoLogger(uploadDataErrors, targetServiceName);
94   }
95
96   public QuestionnaireValidationResult getQuestionnaireValidationResult() {
97     return questionnaireValidationResult;
98   }
99
100   /**
101    * Sets questionnaire validation result.
102    *
103    * @param questionnaireValidationResult the questionnaire validation result
104    */
105   public void setQuestionnaireValidationResult(
106           QuestionnaireValidationResult questionnaireValidationResult) {
107     this.questionnaireValidationResult = questionnaireValidationResult;
108     if (questionnaireValidationResult != null && !questionnaireValidationResult.isValid()) {
109       valid = false;
110     }
111   }
112 }