Sync Integ to Master
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / datamodel / utils / NodeTypeConvertUtils.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 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.be.datamodel.utils;
22
23 import org.openecomp.sdc.be.datamodel.api.CategoryTypeEnum;
24 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
25 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
26
27 public class NodeTypeConvertUtils {
28     public static NodeTypeEnum getCategoryNodeTypeByComponentParam(ComponentTypeEnum componentTypeEnum, CategoryTypeEnum categoryType) {
29         NodeTypeEnum res = null;
30         if (componentTypeEnum != null) {
31             switch (componentTypeEnum) {
32             case SERVICE:
33                 switch (categoryType) {
34                 case CATEGORY:
35                     res = NodeTypeEnum.ServiceNewCategory;
36                     break;
37
38                 default:
39                     // doesn't support subcategories or grouping
40                     break;
41                 }
42                 break;
43             case RESOURCE:
44                 switch (categoryType) {
45                 case CATEGORY:
46                     res = NodeTypeEnum.ResourceNewCategory;
47                     break;
48                 case SUBCATEGORY:
49                     res = NodeTypeEnum.ResourceSubcategory;
50                     break;
51                 default:
52                     // doesn't support grouping
53                     break;
54                 }
55                 break;
56             case PRODUCT:
57                 switch (categoryType) {
58                 case CATEGORY:
59                     res = NodeTypeEnum.ProductCategory;
60                     break;
61                 case SUBCATEGORY:
62                     res = NodeTypeEnum.ProductSubcategory;
63                     break;
64                 case GROUPING:
65                     res = NodeTypeEnum.ProductGrouping;
66                     break;
67                 }
68                 break;
69             default:
70                 break;
71             }
72         }
73         return res;
74     }
75
76 }