8cc818f2b8f6e559b74fca135af65aed8d3c4838
[dcaegen2/analytics/tca.git] / dcae-analytics-cdap-plugins / src / main / java / org / openecomp / dcae / apod / analytics / cdap / plugins / validator / BaseDMaaPMRPluginConfigValidator.java
1 /*\r
2  * ===============================LICENSE_START======================================\r
3  *  dcae-analytics\r
4  * ================================================================================\r
5  *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  *  Licensed under the Apache License, Version 2.0 (the "License");\r
8  *  you may not use this file except in compliance with the License.\r
9  *   You may obtain a copy of the License at\r
10  *\r
11  *          http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  *  Unless required by applicable law or agreed to in writing, software\r
14  *  distributed under the License is distributed on an "AS IS" BASIS,\r
15  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  *  See the License for the specific language governing permissions and\r
17  *  limitations under the License.\r
18  *  ============================LICENSE_END===========================================\r
19  */\r
20 \r
21 package org.openecomp.dcae.apod.analytics.cdap.plugins.validator;\r
22 \r
23 import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils;\r
24 import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator;\r
25 import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.BaseDMaaPMRPluginConfig;\r
26 import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse;\r
27 \r
28 /**\r
29  * Validates plugin config values which are common in DMaaP MR Configs - {@link BaseDMaaPMRPluginConfig}\r
30  * <p>\r
31  * @author Rajiv Singla . Creation Date: 1/23/2017.\r
32  *\r
33  * @param <T> {@link BaseDMaaPMRPluginConfig} Sub classes\r
34  */\r
35 public abstract class BaseDMaaPMRPluginConfigValidator<T extends BaseDMaaPMRPluginConfig> implements\r
36         CDAPAppSettingsValidator<T, GenericValidationResponse<T>> {\r
37 \r
38     private static final long serialVersionUID = 1L;\r
39 \r
40     /**\r
41      * Validates the {@link BaseDMaaPMRPluginConfig} parameters\r
42      *\r
43      * @param baseDMaaPMRPluginConfig DMaaP MR Plugin Config\r
44      *\r
45      * @return Validation Response containing validation errors if any\r
46      */\r
47     @Override\r
48     public GenericValidationResponse<T> validateAppSettings(final T baseDMaaPMRPluginConfig) {\r
49 \r
50         final GenericValidationResponse<T> validationResponse = new GenericValidationResponse<>();\r
51 \r
52         if (ValidationUtils.isEmpty(baseDMaaPMRPluginConfig.getHostName())) {\r
53             validationResponse.addErrorMessage(\r
54                     "hostName",\r
55                     "DMaaPMRPluginConfig - hostname field is undefined: " + baseDMaaPMRPluginConfig);\r
56         }\r
57 \r
58         if (baseDMaaPMRPluginConfig.getPortNumber() == null) {\r
59             validationResponse.addErrorMessage(\r
60                     "port Number",\r
61                     "DMaaPMRPluginConfig - host port number field is undefined: " + baseDMaaPMRPluginConfig);\r
62         }\r
63 \r
64         if (ValidationUtils.isEmpty(baseDMaaPMRPluginConfig.getTopicName())) {\r
65             validationResponse.addErrorMessage(\r
66                     "topic Name",\r
67                     "DMaaPMRSourcePluginConfig - topic name field is undefined: " + baseDMaaPMRPluginConfig);\r
68         }\r
69 \r
70         return validationResponse;\r
71     }\r
72 }\r