Controller Blueprints MS
[ccsdk/cds.git] / ms / controllerblueprints / modules / service / src / main / java / org / onap / ccsdk / apps / controllerblueprints / service / validator / ResourceDictionaryValidator.java
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 package org.onap.ccsdk.apps.controllerblueprints.service.validator;\r
18 \r
19 import com.google.common.base.Preconditions;\r
20 import org.apache.commons.lang3.StringUtils;\r
21 import org.onap.ccsdk.apps.controllerblueprints.core.BluePrintException;\r
22 import org.onap.ccsdk.apps.controllerblueprints.core.utils.JacksonUtils;\r
23 import org.onap.ccsdk.apps.controllerblueprints.resource.dict.data.DictionaryDefinition;\r
24 import org.onap.ccsdk.apps.controllerblueprints.service.domain.ResourceDictionary;\r
25 \r
26 /**\r
27  * ResourceDictionaryValidator.java Purpose: Provide Validation Service for Model Type Resource\r
28  * Dictionary Validator\r
29  *\r
30  * @author Brinda Santh\r
31  * @version 1.0\r
32  */\r
33 public class ResourceDictionaryValidator {\r
34 \r
35     private ResourceDictionaryValidator() {}\r
36 \r
37     /**\r
38      * This is a validateResourceDictionaryDefinition\r
39      * \r
40      * @param definitionContent\r
41      * @return boolean\r
42      * @throws BluePrintException\r
43      */\r
44     public static boolean validateResourceDictionaryDefinition(String definitionContent)\r
45             throws BluePrintException {\r
46         boolean valid = true;\r
47         if (StringUtils.isNotBlank(definitionContent)) {\r
48             DictionaryDefinition dictionaryDefinition =\r
49                     JacksonUtils.readValue(definitionContent, DictionaryDefinition.class);\r
50             if (dictionaryDefinition == null) {\r
51                 throw new BluePrintException(\r
52                         "Resource dictionary definition is not valid content " + definitionContent);\r
53             }\r
54 \r
55         }\r
56         return valid;\r
57     }\r
58 \r
59     /**\r
60      * This is a validateResourceDictionary method\r
61      * \r
62      * @param resourceDictionary\r
63      * @return boolean\r
64      *\r
65      */\r
66     public static boolean validateResourceDictionary(ResourceDictionary resourceDictionary) {\r
67 \r
68         Preconditions.checkNotNull(resourceDictionary,"ResourceDictionary Information is missing." );\r
69 \r
70         Preconditions.checkArgument( StringUtils.isNotBlank(resourceDictionary.getName()),\r
71                 "DataDictionary Alias Name Information is missing.");\r
72         Preconditions.checkArgument( StringUtils.isNotBlank(resourceDictionary.getResourcePath()),\r
73                 "DataDictionary Resource Name Information is missing.");\r
74         Preconditions.checkArgument( StringUtils.isNotBlank(resourceDictionary.getResourceType()),\r
75                 "DataDictionary Resource Type Information is missing.");\r
76         Preconditions.checkArgument( StringUtils.isNotBlank(resourceDictionary.getDefinition()),\r
77                 "DataDictionary Definition Information is missing.");\r
78         Preconditions.checkArgument( StringUtils.isNotBlank(resourceDictionary.getDescription()),\r
79                 "DataDictionary Description Information is missing.");\r
80         Preconditions.checkArgument( StringUtils.isNotBlank(resourceDictionary.getTags()),\r
81                 "DataDictionary Tags Information is missing.");\r
82         Preconditions.checkArgument( StringUtils.isNotBlank(resourceDictionary.getUpdatedBy()),\r
83                 "DataDictionary Updated By Information is missing.");\r
84         return true;\r
85 \r
86     }\r
87 \r
88 }\r