Fix import policy issues
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / tosca / ToscaUtils.java
index 24586d9..0f13395 100644 (file)
@@ -7,9 +7,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -17,7 +17,6 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-
 package org.openecomp.sdc.be.tosca;
 
 import java.lang.reflect.Field;
@@ -26,7 +25,6 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-
 import org.openecomp.sdc.be.datatypes.components.ResourceMetadataDataDefinition;
 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
@@ -34,46 +32,86 @@ import org.openecomp.sdc.be.model.Component;
 
 public class ToscaUtils {
 
-       public static boolean isAtomicType(Component component) {
-               ComponentTypeEnum componentType = component.getComponentType();
-               if (ComponentTypeEnum.RESOURCE.equals(componentType)) {
-                       ResourceTypeEnum resourceType = ((ResourceMetadataDataDefinition) component.getComponentMetadataDefinition().getMetadataDataDefinition()).getResourceType();
-                       if (ResourceTypeEnum.CP == resourceType || ResourceTypeEnum.VL == resourceType || ResourceTypeEnum.VFC == resourceType || ResourceTypeEnum.VFCMT == resourceType || ResourceTypeEnum.ABSTRACT == resourceType) {
-                               return true;
-                       }
-               }
-               return false;
-       }
-       
-       public static boolean isComplexVfc(Component component) {
-               if (ComponentTypeEnum.RESOURCE == component.getComponentType()) {
-                       ResourceTypeEnum resourceType = ((ResourceMetadataDataDefinition) component.getComponentMetadataDefinition().getMetadataDataDefinition()).getResourceType();
-                       if (ResourceTypeEnum.CVFC == resourceType) {
-                               return true;
-                       }
-               }
-               return false;
-       }
+    private ToscaUtils() {
+    }
+
+    public static boolean isNotComplexVfc(Component component) {
+        if (ComponentTypeEnum.RESOURCE == component.getComponentType()) {
+            ResourceTypeEnum resourceType = ((ResourceMetadataDataDefinition) component.getComponentMetadataDefinition().getMetadataDataDefinition())
+                .getResourceType();
+            if (ResourceTypeEnum.CVFC == resourceType) {
+                return false;
+            }
+            if (component.getComponentMetadataDefinition() != null && component.getComponentMetadataDefinition().getMetadataDataDefinition() != null
+                && component.getComponentMetadataDefinition().getMetadataDataDefinition().getDescription() != null) {
+                if (component.getComponentMetadataDefinition().getMetadataDataDefinition().getDescription()
+                    .equalsIgnoreCase("Nested VF in service")) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+
+    public static Map<String, Object> objectToMap(Object objectToConvert, Class<?> clazz) throws IllegalAccessException {
+        Map<String, Object> map = new HashMap<>();
+        List<Field> fields = new ArrayList<>();
+        fields = getAllFields(fields, clazz);
+        for (Field field : fields) {
+            field.setAccessible(true);
+            map.put(field.getName(), field.get(objectToConvert));
+        }
+        return map;
+    }
+
+    private static List<Field> getAllFields(List<Field> fields, Class<?> type) {
+        fields.addAll(Arrays.asList(type.getDeclaredFields()));
+        if (type.getSuperclass() != null) {
+            return getAllFields(fields, type.getSuperclass());
+        }
+        return fields;
+    }
+
+    public static class SubstitutionEntry {
+
+        private String fullName = "";
+        private String sourceName = "";
+        private String owner = "";
+
+        SubstitutionEntry(String fullName, String sourceName, String owner) {
+            if (fullName != null) {
+                this.fullName = fullName;
+            }
+            if (sourceName != null) {
+                this.sourceName = sourceName;
+            }
+            if (owner != null) {
+                this.owner = owner;
+            }
+        }
+
+        public String getFullName() {
+            return fullName;
+        }
 
-       public static Map<String, Object> objectToMap(Object objectToConvert, Class clazz) throws IllegalArgumentException, IllegalAccessException {
-               Map<String, Object> map = new HashMap<>();
-               List<Field> fields = new ArrayList<>();
+        public void setFullName(String fullName) {
+            this.fullName = fullName;
+        }
 
-               fields = getAllFields(fields, clazz);
+        public String getSourceName() {
+            return sourceName;
+        }
 
-               for (Field field : fields) {
-                       field.setAccessible(true);
-                       map.put(field.getName(), field.get(objectToConvert));
-               }
-               return map;
-       }
+        public void setSourceName(String sourceName) {
+            this.sourceName = sourceName;
+        }
 
-       public static List<Field> getAllFields(List<Field> fields, Class<?> type) {
-               fields.addAll(Arrays.asList(type.getDeclaredFields()));
+        public String getOwner() {
+            return owner;
+        }
 
-               if (type.getSuperclass() != null) {
-                       fields = getAllFields(fields, type.getSuperclass());
-               }
-               return fields;
-       }
+        public void setOwner(String owner) {
+            this.owner = owner;
+        }
+    }
 }