Add DOT to property's name permitted chars
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / components / impl / ResourceImportManager.java
index 79b3c96..1e2cea5 100644 (file)
@@ -27,6 +27,7 @@ import static org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaElementO
 import fj.data.Either;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.EnumMap;
 import java.util.HashMap;
@@ -115,7 +116,7 @@ import org.yaml.snakeyaml.Yaml;
 @org.springframework.stereotype.Component("resourceImportManager")
 public class ResourceImportManager {
 
-    static final Pattern PROPERTY_NAME_PATTERN_IGNORE_LENGTH = Pattern.compile("['\\w\\s\\-\\:]+");
+    static final Pattern PROPERTY_NAME_PATTERN_IGNORE_LENGTH = Pattern.compile("['\\w\\s\\-\\.\\:]+");
     private static final Logger log = Logger.getLogger(ResourceImportManager.class);
     private final InterfaceDefinitionHandler interfaceDefinitionHandler;
     private final ComponentsUtils componentsUtils;
@@ -208,15 +209,6 @@ public class ResourceImportManager {
         }
     }
 
-    public ImmutablePair<Resource, ActionStatus> importNormativeResourceFromCsar(String resourceYml, UploadResourceInfo resourceMetaData,
-                                                                                 User creator, boolean createNewVersion, boolean needLock) {
-        LifecycleChangeInfoWithAction lifecycleChangeInfo = new LifecycleChangeInfoWithAction();
-        lifecycleChangeInfo.setUserRemarks("certification on import");
-        Function<Resource, Boolean> validator = resource -> resourceBusinessLogic.validatePropertiesDefaultValues(resource);
-        return importCertifiedResource(resourceYml, resourceMetaData, creator, validator, lifecycleChangeInfo, false, createNewVersion, needLock,
-            null, null, false, null, null, false);
-    }
-
     public ImmutablePair<Resource, ActionStatus> importCertifiedResource(String resourceYml, UploadResourceInfo resourceMetaData, User creator,
                                                                          Function<Resource, Boolean> validationFunction,
                                                                          LifecycleChangeInfoWithAction lifecycleChangeInfo, boolean isInTransaction,
@@ -330,6 +322,7 @@ public class ResourceImportManager {
             resource.setIcon(resourceMetaData.getResourceIconPath());
             resource.setResourceVendorModelNumber(resourceMetaData.getResourceVendorModelNumber());
             resource.setResourceType(ResourceTypeEnum.valueOf(resourceMetaData.getResourceType()));
+            resource.setTenant(resourceMetaData.getTenant());
             if (resourceMetaData.getVendorName() != null) {
                 resource.setVendorName(resourceMetaData.getVendorName());
             }
@@ -452,9 +445,10 @@ public class ResourceImportManager {
     private void setInterfaceLifecycle(Map<String, Object> toscaJson, Resource resource, Either<Resource, StorageOperationStatus> existingResource) {
         final Either<Map<String, Object>, ResultStatusEnum> toscaInterfaces = ImportUtils
             .findFirstToscaMapElement(toscaJson, ToscaTagNamesEnum.INTERFACES);
+        final Map<String, InterfaceDefinition> moduleInterfaces = new HashMap<>();
+        final Map<String, Object> map;
         if (toscaInterfaces.isLeft()) {
-            final Map<String, InterfaceDefinition> moduleInterfaces = new HashMap<>();
-            final Map<String, Object> map = toscaInterfaces.left().value();
+            map = toscaInterfaces.left().value();
             for (final Entry<String, Object> interfaceNameValue : map.entrySet()) {
                 final Either<InterfaceDefinition, ResultStatusEnum> eitherInterface = createModuleInterface(interfaceNameValue.getValue(),
                     resource.getModel());
@@ -465,20 +459,22 @@ public class ResourceImportManager {
                     moduleInterfaces.put(interfaceDefinition.getType(), interfaceDefinition);
                 }
             }
-            if (existingResource.isLeft()) {
-                final Map<String, InterfaceDefinition> userCreatedInterfaceDefinitions =
-                    existingResource.left().value().getInterfaces().entrySet().stream()
-                        .filter(i -> i.getValue().isUserCreated())
-                        .filter(i -> !map.containsKey(i.getValue().getType()))
-                        .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
-                if (MapUtils.isNotEmpty(userCreatedInterfaceDefinitions)) {
-                    moduleInterfaces.putAll(userCreatedInterfaceDefinitions);
-                }
+        } else {
+            map = Collections.emptyMap();
+        }
+        if (existingResource.isLeft()) {
+            final Map<String, InterfaceDefinition> userCreatedInterfaceDefinitions =
+                existingResource.left().value().getInterfaces().entrySet().stream()
+                    .filter(i -> i.getValue().isUserCreated())
+                    .filter(i -> !map.containsKey(i.getValue().getType()))
+                    .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
+            if (MapUtils.isNotEmpty(userCreatedInterfaceDefinitions)) {
+                moduleInterfaces.putAll(userCreatedInterfaceDefinitions);
             }
+        }
 
-            if (MapUtils.isNotEmpty(moduleInterfaces)) {
-                resource.setInterfaces(moduleInterfaces);
-            }
+        if (MapUtils.isNotEmpty(moduleInterfaces)) {
+            resource.setInterfaces(moduleInterfaces);
         }
     }