Sync Integ to Master
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / components / impl / CapabilityTypeImportManager.java
index 5cf42ce..caf051e 100644 (file)
 
 package org.openecomp.sdc.be.components.impl;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-
-import javax.annotation.Resource;
-
+import fj.data.Either;
 import org.openecomp.sdc.be.components.impl.ImportUtils.ToscaTagNamesEnum;
 import org.openecomp.sdc.be.config.BeEcompErrorManager;
 import org.openecomp.sdc.be.dao.api.ActionStatus;
@@ -41,83 +34,87 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
-import fj.data.Either;
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Consumer;
 
 @Component("capabilityTypeImportManager")
 public class CapabilityTypeImportManager {
 
-       private static Logger log = LoggerFactory.getLogger(CapabilityTypeImportManager.class.getName());
-       @Resource
-       private CapabilityTypeOperation capabilityTypeOperation;
-       @Resource
-       private ComponentsUtils componentsUtils;
-       @Resource
-       private CommonImportManager commonImportManager;
-
-       public Either<List<CapabilityTypeDefinition>, ResponseFormat> createCapabilityTypes(String capabilityYml) {
-               Either<List<CapabilityTypeDefinition>, ActionStatus> capabilityTypes = createCapabilityTypesFromYml(capabilityYml);
-               if (capabilityTypes.isRight()) {
-                       ActionStatus status = capabilityTypes.right().value();
-                       ResponseFormat responseFormat = componentsUtils.getResponseFormatByCapabilityType(status, null);
-                       return Either.right(responseFormat);
-               }
-               return createCapabilityTypesByDao(capabilityTypes.left().value());
-
-       }
-
-       private Either<List<CapabilityTypeDefinition>, ActionStatus> createCapabilityTypesFromYml(String capabilityYml) {
-               return commonImportManager.createElementTypesFromYml(capabilityYml, (capTypeName, capTypeJsonData) -> createCapabilityType(capTypeName, capTypeJsonData));
-
-       }
-
-       private Either<List<CapabilityTypeDefinition>, ResponseFormat> createCapabilityTypesByDao(List<CapabilityTypeDefinition> capabilityTypesToCreate) {
-               List<CapabilityTypeDefinition> createdCapabilities = new ArrayList<>();
-               Either<List<CapabilityTypeDefinition>, ResponseFormat> eitherResult = Either.left(createdCapabilities);
-               Iterator<CapabilityTypeDefinition> capTypeItr = capabilityTypesToCreate.iterator();
-               boolean stopDao = false;
-               while (capTypeItr.hasNext() && !stopDao) {
-                       CapabilityTypeDefinition capabilityType = capTypeItr.next();
-
-                       log.info("send capabilityType {} to dao for create", capabilityType.getType());
-                       Either<CapabilityTypeDefinition, StorageOperationStatus> dataModelResponse = capabilityTypeOperation.addCapabilityType(capabilityType);
-                       if (dataModelResponse.isRight()) {
-                               BeEcompErrorManager.getInstance().processEcompError(EcompErrorName.BeFailedAddingCapabilityTypeError, "Create CapabilityTypes");
-                               BeEcompErrorManager.getInstance().logBeFailedAddingNodeTypeError("Create CapabilityTypes", "capability type");
-                               log.debug("failed to create capabilityType: {}", capabilityType.getType());
-                               if (dataModelResponse.right().value() != StorageOperationStatus.SCHEMA_VIOLATION) {
-                                       ResponseFormat responseFormat = componentsUtils.getResponseFormatByCapabilityType(componentsUtils.convertFromStorageResponseForCapabilityType(dataModelResponse.right().value()), capabilityType);
-                                       eitherResult = Either.right(responseFormat);
-                                       stopDao = true;
-                               }
-
-                       } else {
-                               createdCapabilities.add(capabilityType);
-                       }
-                       if (!capTypeItr.hasNext()) {
-                               log.info("capabilityTypes were created successfully!!!");
-                       }
-
-               }
-
-               return eitherResult;
-
-       }
-
-       private CapabilityTypeDefinition createCapabilityType(String capabilityTypeName, Map<String, Object> toscaJson) {
-               CapabilityTypeDefinition capabilityType = new CapabilityTypeDefinition();
-
-               capabilityType.setType(capabilityTypeName);
-
-               // Description
-               final Consumer<String> descriptionSetter = description -> capabilityType.setDescription(description);
-               commonImportManager.setField(toscaJson, ToscaTagNamesEnum.DESCRIPTION.getElementName(), descriptionSetter);
-               // Derived From
-               final Consumer<String> derivedFromSetter = derivedFrom -> capabilityType.setDerivedFrom(derivedFrom);
-               commonImportManager.setField(toscaJson, ToscaTagNamesEnum.DERIVED_FROM.getElementName(), derivedFromSetter);
-               // Properties
-               commonImportManager.setPropertiesMap(toscaJson, (values) -> capabilityType.setProperties(values));
-
-               return capabilityType;
-       }
+    private static final Logger log = LoggerFactory.getLogger(CapabilityTypeImportManager.class);
+    @Resource
+    private CapabilityTypeOperation capabilityTypeOperation;
+    @Resource
+    private ComponentsUtils componentsUtils;
+    @Resource
+    private CommonImportManager commonImportManager;
+
+    public Either<List<CapabilityTypeDefinition>, ResponseFormat> createCapabilityTypes(String capabilityYml) {
+        Either<List<CapabilityTypeDefinition>, ActionStatus> capabilityTypes = createCapabilityTypesFromYml(capabilityYml);
+        if (capabilityTypes.isRight()) {
+            ActionStatus status = capabilityTypes.right().value();
+            ResponseFormat responseFormat = componentsUtils.getResponseFormatByCapabilityType(status, null);
+            return Either.right(responseFormat);
+        }
+        return createCapabilityTypesByDao(capabilityTypes.left().value());
+
+    }
+
+    private Either<List<CapabilityTypeDefinition>, ActionStatus> createCapabilityTypesFromYml(String capabilityYml) {
+        return commonImportManager.createElementTypesFromYml(capabilityYml, (capTypeName, capTypeJsonData) -> createCapabilityType(capTypeName, capTypeJsonData));
+
+    }
+
+    private Either<List<CapabilityTypeDefinition>, ResponseFormat> createCapabilityTypesByDao(List<CapabilityTypeDefinition> capabilityTypesToCreate) {
+        List<CapabilityTypeDefinition> createdCapabilities = new ArrayList<>();
+        Either<List<CapabilityTypeDefinition>, ResponseFormat> eitherResult = Either.left(createdCapabilities);
+        Iterator<CapabilityTypeDefinition> capTypeItr = capabilityTypesToCreate.iterator();
+        boolean stopDao = false;
+        while (capTypeItr.hasNext() && !stopDao) {
+            CapabilityTypeDefinition capabilityType = capTypeItr.next();
+
+            log.info("send capabilityType {} to dao for create", capabilityType.getType());
+            Either<CapabilityTypeDefinition, StorageOperationStatus> dataModelResponse = capabilityTypeOperation.addCapabilityType(capabilityType);
+            if (dataModelResponse.isRight()) {
+                BeEcompErrorManager.getInstance().logBeFailedAddingNodeTypeError("Create CapabilityTypes", "capability type");
+                log.debug("failed to create capabilityType: {}", capabilityType.getType());
+                if (dataModelResponse.right().value() != StorageOperationStatus.SCHEMA_VIOLATION) {
+                    ResponseFormat responseFormat = componentsUtils.getResponseFormatByCapabilityType(componentsUtils.convertFromStorageResponseForCapabilityType(dataModelResponse.right().value()), capabilityType);
+                    eitherResult = Either.right(responseFormat);
+                    stopDao = true;
+                }
+
+            } else {
+                createdCapabilities.add(capabilityType);
+            }
+            if (!capTypeItr.hasNext()) {
+                log.info("capabilityTypes were created successfully!!!");
+            }
+
+        }
+
+        return eitherResult;
+
+    }
+
+    private CapabilityTypeDefinition createCapabilityType(String capabilityTypeName, Map<String, Object> toscaJson) {
+        CapabilityTypeDefinition capabilityType = new CapabilityTypeDefinition();
+
+        capabilityType.setType(capabilityTypeName);
+
+        // Description
+        final Consumer<String> descriptionSetter = description -> capabilityType.setDescription(description);
+        commonImportManager.setField(toscaJson, ToscaTagNamesEnum.DESCRIPTION.getElementName(), descriptionSetter);
+        // Derived From
+        final Consumer<String> derivedFromSetter = derivedFrom -> capabilityType.setDerivedFrom(derivedFrom);
+        commonImportManager.setField(toscaJson, ToscaTagNamesEnum.DERIVED_FROM.getElementName(), derivedFromSetter);
+        // Properties
+        commonImportManager.setPropertiesMap(toscaJson, (values) -> capabilityType.setProperties(values));
+
+        return capabilityType;
+    }
 
 }