Revert "Delete workflow artifact
[sdc.git] / catalog-be / src / main / java / org / openecomp / sdc / be / components / impl / ArtifactsBusinessLogic.java
index c9250ae..39ad806 100644 (file)
@@ -29,7 +29,6 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.elasticsearch.common.Strings;
 import org.openecomp.sdc.be.components.ArtifactsResolver;
 import org.openecomp.sdc.be.components.impl.ImportUtils.ResultStatusEnum;
 import org.openecomp.sdc.be.components.impl.ImportUtils.ToscaTagNamesEnum;
@@ -51,25 +50,9 @@ import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
 import org.openecomp.sdc.be.info.ArtifactTemplateInfo;
-import org.openecomp.sdc.be.model.ArtifactDefinition;
-import org.openecomp.sdc.be.model.ArtifactType;
-import org.openecomp.sdc.be.model.Component;
-import org.openecomp.sdc.be.model.ComponentInstance;
-import org.openecomp.sdc.be.model.ComponentParametersView;
-import org.openecomp.sdc.be.model.GroupDefinition;
-import org.openecomp.sdc.be.model.GroupInstance;
-import org.openecomp.sdc.be.model.HeatParameterDefinition;
-import org.openecomp.sdc.be.model.InterfaceDefinition;
-import org.openecomp.sdc.be.model.LifeCycleTransitionEnum;
-import org.openecomp.sdc.be.model.LifecycleStateEnum;
-import org.openecomp.sdc.be.model.Operation;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.Service;
-import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.model.*;
 import org.openecomp.sdc.be.model.heat.HeatParameterType;
-import org.openecomp.sdc.be.model.jsontitan.operations.InterfaceOperation;
 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTemplateOperation;
-import org.openecomp.sdc.be.model.jsontitan.utils.InterfaceUtils;
 import org.openecomp.sdc.be.model.operations.api.IElementOperation;
 import org.openecomp.sdc.be.model.operations.api.IHeatParametersOperation;
 import org.openecomp.sdc.be.model.operations.api.IInterfaceLifecycleOperation;
@@ -192,9 +175,6 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
     @Autowired
     private ArtifactsResolver artifactsResolver;
 
-    @Autowired
-    private InterfaceOperation interfaceOperation;
-
     public enum ArtifactOperationEnum {
         CREATE, UPDATE, DELETE, DOWNLOAD, LINK;
 
@@ -231,12 +211,12 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
 
     // new flow US556184
     public Either<Either<ArtifactDefinition, Operation>, ResponseFormat> handleArtifactRequest(String componentId, String userId, ComponentTypeEnum componentType, ArtifactOperationInfo operation, String artifactId, ArtifactDefinition artifactInfo,
-                                                                                               String origMd5, String originData, String interfaceUuid, String operationUuid, String parentId, String containerComponentType) {
-        return handleArtifactRequest(componentId, userId, componentType, operation, artifactId, artifactInfo, origMd5, originData, interfaceUuid, operationUuid, parentId, containerComponentType, true, false);
+                                                                                               String origMd5, String originData, String interfaceName, String operationName, String parentId, String containerComponentType) {
+        return handleArtifactRequest(componentId, userId, componentType, operation, artifactId, artifactInfo, origMd5, originData, interfaceName, operationName, parentId, containerComponentType, true, false);
     }
 
     public Either<Either<ArtifactDefinition, Operation>, ResponseFormat> handleArtifactRequest(String componentId, String userId, ComponentTypeEnum componentType, ArtifactOperationInfo operation, String artifactId, ArtifactDefinition artifactInfo,
-                                                                                               String origMd5, String originData, String interfaceUuid, String operationUuid, String parentId, String containerComponentType, boolean shouldLock, boolean inTransaction) {
+                                                                                               String origMd5, String originData, String interfaceName, String operationName, String parentId, String containerComponentType, boolean shouldLock, boolean inTransaction) {
 
         // step 1 - detect auditing type
         AuditingActionEnum auditingAction = detectAuditingType(operation, origMd5);
@@ -277,7 +257,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
         }
         // step 8
 
-        return validateAndHandleArtifact(componentId, componentType, operation, artifactId, artifactInfo, origMd5, originData, interfaceUuid, operationUuid, user, component,
+        return validateAndHandleArtifact(componentId, componentType, operation, artifactId, artifactInfo, origMd5, originData, interfaceName, operationName, user, component,
                 shouldLock, inTransaction, true);
     }
 
@@ -289,7 +269,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
      * @return
      */
     public Either<Either<ArtifactDefinition, Operation>, ResponseFormat> validateAndHandleArtifact(String componentUniqueId, ComponentTypeEnum componentType, ArtifactOperationInfo operation, String artifactUniqueId,
-                                                                                                   ArtifactDefinition artifactDefinition, String origMd5, String originData, String interfaceUuid, String operationName, User user, Component component, boolean shouldLock, boolean inTransaction, boolean needUpdateGroup) {
+                                                                                                   ArtifactDefinition artifactDefinition, String origMd5, String originData, String interfaceName, String operationName, User user, Component component, boolean shouldLock, boolean inTransaction, boolean needUpdateGroup) {
         Component parent = component;
         Wrapper<ResponseFormat> errorWrapper = new Wrapper<>();
 
@@ -299,7 +279,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
         Either<Either<ArtifactDefinition, Operation>, ResponseFormat> result;
         if (errorWrapper.isEmpty()) {
             // step 10
-            result = doAction(componentUniqueId, componentType, operation, artifactUniqueId, artifactDefinition, origMd5, originData, interfaceUuid, operationName, auditingAction, user, parent, shouldLock, inTransaction, needUpdateGroup);
+            result = doAction(componentUniqueId, componentType, operation, artifactUniqueId, artifactDefinition, origMd5, originData, interfaceName, operationName, auditingAction, user, parent, shouldLock, inTransaction, needUpdateGroup);
         }
         else {
             result = Either.right(errorWrapper.getInnerElement());
@@ -418,10 +398,10 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
 
     private Either<Either<ArtifactDefinition, Operation>, ResponseFormat> doAction(String componentId, ComponentTypeEnum componentType, ArtifactOperationInfo operation, String artifactId, ArtifactDefinition artifactInfo, String origMd5,
                                                                                    String originData, String interfaceName, String operationName, AuditingActionEnum auditingAction, User user, org.openecomp.sdc.be.model.Component parent, boolean shouldLock, boolean inTransaction, boolean needUpdateGroup) {
-        /*if (interfaceName != null && operationName != null) {
+        if (interfaceName != null && operationName != null) {
             interfaceName = interfaceName.toLowerCase();
             operationName = operationName.toLowerCase();
-        }*/
+        }
         switch (operation.getArtifactOperationEnum()) {
             case DOWNLOAD:
                 if (artifactGenerationRequired(parent, artifactInfo)) {
@@ -1433,7 +1413,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                 CassandraOperationStatus cassandraStatus = artifactCassandraDao.deleteArtifact(esId);
                 if (cassandraStatus != CassandraOperationStatus.OK) {
                     log.debug("Failed to delete the artifact {} from the database. ", artifactId);
-                    responseFormat = componentsUtils.getResponseFormatByArtifactId(componentsUtils.convertFromStorageResponse(componentsUtils.convertToStorageOperationStatus(cassandraStatus)), foundArtifact
+                    responseFormat = componentsUtils.getResponseFormatByArtifactId(componentsUtils.convertFromStorageResponse(convertToStorageOperationStatus(cassandraStatus)), foundArtifact
                             .getArtifactDisplayName());
                     handleAuditing(auditingAction, parent, parentId, user, null, null, artifactId, responseFormat, componentType, null);
                     resultOp = Either.right(responseFormat);
@@ -1696,6 +1676,26 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
         }
     }
 
+    private StorageOperationStatus convertToStorageOperationStatus(CassandraOperationStatus cassandraStatus) {
+        StorageOperationStatus result;
+        switch (cassandraStatus) {
+            case OK:
+                result = StorageOperationStatus.OK;
+                break;
+            case NOT_FOUND:
+                result = StorageOperationStatus.NOT_FOUND;
+                break;
+            case CLUSTER_NOT_CONNECTED:
+            case KEYSPACE_NOT_CONNECTED:
+                result = StorageOperationStatus.CONNECTION_FAILURE;
+                break;
+            default:
+                result = StorageOperationStatus.GENERAL_ERROR;
+                break;
+        }
+        return result;
+    }
+
     private void resetMandatoryArtifactFields(ArtifactDefinition fetchedArtifact) {
         if (fetchedArtifact != null) {
             log.debug("Going to reset mandatory artifact {} fields. ", fetchedArtifact.getUniqueId());
@@ -2569,7 +2569,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
     }
 
     private Either<ActionStatus, ResponseFormat> validateArtifactType(String userId, ArtifactDefinition artifactInfo, NodeTypeEnum parentType) {
-        if (Strings.isNullOrEmpty(artifactInfo.getArtifactType())) {
+        if (artifactInfo.getArtifactType() == null || artifactInfo.getArtifactType().isEmpty()) {
             BeEcompErrorManager.getInstance()
                                .logBeMissingArtifactInformationError("Artifact Update / Upload", "artifactLabel");
             log.debug("Missing artifact type for artifact {}", artifactInfo.getArtifactName());
@@ -2896,7 +2896,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
     }
 
     private Either<Either<ArtifactDefinition, Operation>, ResponseFormat> updateArtifactFlow(org.openecomp.sdc.be.model.Component parent, String parentId, String artifactId, ArtifactDefinition artifactInfo, User user, byte[] decodedPayload,
-                                                                                             ComponentTypeEnum componentType, AuditingActionEnum auditingAction, String interfaceType, String operationUuid) {
+                                                                                             ComponentTypeEnum componentType, AuditingActionEnum auditingAction, String interfaceType, String operationName) {
         ESArtifactData artifactData = createEsArtifactData(artifactInfo, decodedPayload);
         String prevArtifactId = null;
         String currArtifactId = artifactId;
@@ -2904,19 +2904,28 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
         Either<Either<ArtifactDefinition, Operation>, ResponseFormat> resultOp = null;
         Either<ArtifactDefinition, Operation> insideEither = null;
 
+        if (artifactData == null) {
+            BeEcompErrorManager.getInstance().logBeDaoSystemError("Update Artifact");
+            log.debug("Failed to create artifact object for ES.");
+            ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR);
+            handleAuditing(auditingAction, parent, parentId, user, artifactInfo, prevArtifactId, currArtifactId, responseFormat, componentType, null);
+            resultOp = Either.right(responseFormat);
+            return resultOp;
+        }
         log.trace("Try to update entry on graph");
         String artifactUniqueId = null;
         ArtifactDefinition artifactDefinition = artifactInfo;
         StorageOperationStatus error;
 
         boolean isLeft;
-        if (interfaceType == null || operationUuid == null) {
-            log.debug("Entity on graph is updated. Update artifact in ES");
+        if (!(interfaceType != null && operationName != null)) {
+            log.debug("Enty on graph is updated. Update artifact in ES");
             boolean res = true;
             // Changing previous and current artifactId for auditing
             prevArtifactId = currArtifactId;
             currArtifactId = artifactDefinition.getUniqueId();
 
+            NodeTypeEnum convertParentType = convertParentType(componentType);
 
             if (decodedPayload == null) {
                 if (!artifactDefinition.getMandatory() || artifactDefinition.getEsId() != null) {
@@ -2925,7 +2934,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                     if (artifactFromCassandra.isRight()) {
                         log.debug("Failed to get artifact data from ES for artifact id  {}", artifactId);
                         error = DaoStatusConverter.convertCassandraStatusToStorageStatus(artifactFromCassandra.right()
-                                .value());
+                                                                                                              .value());
                         ResponseFormat responseFormat = componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(error));
                         handleAuditing(auditingAction, parent, parentId, user, artifactInfo, prevArtifactId, currArtifactId, responseFormat, componentType, null);
                         resultOp = Either.right(responseFormat);
@@ -2935,15 +2944,15 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                     artifactData.setData(artifactFromCassandra.left().value().getData());
                     artifactData.setId(artifactFromCassandra.left().value().getId());
                 }
-            } else {
+            }
+            else {
                 if (artifactDefinition.getEsId() == null) {
                     artifactDefinition.setEsId(artifactDefinition.getUniqueId());
                     artifactData.setId(artifactDefinition.getUniqueId());
                 }
             }
 
-            NodeTypeEnum convertParentType = convertParentType(componentType);
-            Either<ArtifactDefinition, StorageOperationStatus> result = artifactToscaOperation.updateArtifactOnResource(artifactInfo, parent
+            Either<ArtifactDefinition, StorageOperationStatus> result = artifactToscaOperation.updateArifactOnResource(artifactInfo, parent
                     .getUniqueId(), artifactId, convertParentType, parentId);
             isLeft = result.isLeft();
             if (isLeft) {
@@ -2958,13 +2967,13 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                     // need to update the generated id in heat env
                     Map<String, ArtifactDefinition> deploymentArtifacts = parent.getDeploymentArtifacts();
                     Optional<Entry<String, ArtifactDefinition>> findFirst = deploymentArtifacts.entrySet()
-                            .stream()
-                            .filter(a -> a.getValue()
-                                    .getGeneratedFromId() != null && a
-                                    .getValue()
-                                    .getGeneratedFromId()
-                                    .equals(artifactId))
-                            .findFirst();
+                                                                                               .stream()
+                                                                                               .filter(a -> a.getValue()
+                                                                                                             .getGeneratedFromId() != null && a
+                                                                                                       .getValue()
+                                                                                                       .getGeneratedFromId()
+                                                                                                       .equals(artifactId))
+                                                                                               .findFirst();
                     if (findFirst.isPresent()) {
                         ArtifactDefinition artifactEnvInfo = findFirst.get().getValue();
                         artifactEnvInfo.setArtifactChecksum(null);
@@ -2979,7 +2988,8 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                     isLeft = false;
                 }
 
-            } else {
+            }
+            else {
                 error = result.right().value();
             }
             if (isLeft) {
@@ -2999,129 +3009,19 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                 log.debug("Artifact saved into ES - {}", artifactUniqueId);
                 ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.OK);
                 handleAuditing(auditingAction, parent, parentId, user, artifactInfo, prevArtifactId, currArtifactId, responseFormat, componentType, null);
-            } else {
+            }
+            else {
                 BeEcompErrorManager.getInstance().logBeDaoSystemError("Update Artifact");
                 log.debug("Failed to save the artifact.");
                 ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.GENERAL_ERROR);
                 handleAuditing(auditingAction, parent, parentId, user, artifactInfo, prevArtifactId, currArtifactId, responseFormat, componentType, null);
                 resultOp = Either.right(responseFormat);
             }
-        } else {
-            return updateArtifactsFlowForInterfaceOperations(parent, parentId, artifactId, artifactInfo, user,
-                    decodedPayload, componentType, auditingAction, operationUuid, artifactData, prevArtifactId,
-                    currArtifactId, artifactDefinition);
         }
 
         return resultOp;
     }
 
-    private Either<Either<ArtifactDefinition, Operation>, ResponseFormat> updateArtifactsFlowForInterfaceOperations(
-            Component parent, String parentId, String artifactId, ArtifactDefinition artifactInfo, User user,
-            byte[] decodedPayload, ComponentTypeEnum componentType, AuditingActionEnum auditingAction,
-            String operationUuid, ESArtifactData artifactData, String prevArtifactId, String currArtifactId,
-            ArtifactDefinition artifactDefinition) {
-        StorageOperationStatus error;
-        Either<Either<ArtifactDefinition, Operation>, ResponseFormat> resultOp;
-        if (decodedPayload == null) {
-            if (!artifactDefinition.getMandatory() || artifactDefinition.getEsId() != null) {
-                Either<ESArtifactData, CassandraOperationStatus> artifactFromCassandra = artifactCassandraDao.getArtifact(artifactDefinition
-                        .getEsId());
-                if (artifactFromCassandra.isRight()) {
-                    log.debug("Failed to get artifact data from ES for artifact id  {}", artifactId);
-                    error = DaoStatusConverter.convertCassandraStatusToStorageStatus(artifactFromCassandra.right()
-                            .value());
-                    ResponseFormat responseFormat = componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(error));
-                    handleAuditing(auditingAction, parent, parentId, user, artifactInfo, prevArtifactId, currArtifactId, responseFormat, componentType, null);
-                    resultOp = Either.right(responseFormat);
-                    return resultOp;
-                }
-                // clone data to new artifact
-                artifactData.setData(artifactFromCassandra.left().value().getData());
-                artifactData.setId(artifactFromCassandra.left().value().getId());
-            } else {
-                // todo if not exist(first time)
-            }
-
-        } else {
-            if (artifactDefinition.getEsId() == null) {
-                artifactDefinition.setEsId(artifactDefinition.getUniqueId());
-                artifactData.setId(artifactDefinition.getUniqueId());
-            }
-        }
-        NodeTypeEnum convertParentType = convertParentType(componentType);
-        // fetch the resource from storage
-        Either<Resource, StorageOperationStatus> resourceStorageOperationStatusEither =
-                toscaOperationFacade.getToscaElement(parentId);
-        if (resourceStorageOperationStatusEither.isRight()) {
-            StorageOperationStatus errorStatus = resourceStorageOperationStatusEither.right().value();
-            log.debug("Failed to fetch resource information by resource id, error {}", errorStatus);
-            return Either.right(componentsUtils
-                    .getResponseFormat(componentsUtils.convertFromStorageResponse(errorStatus)));
-        }
-        Resource storedResource = resourceStorageOperationStatusEither.left().value();
-
-        String interfaceToscaName = InterfaceUtils.createInterfaceToscaResourceName(
-                storedResource.getName());
-        //fetch the interface from storage
-        Optional<InterfaceDefinition> interfaceDefinition = storedResource.getInterfaces().values()
-                                                                          .stream()
-                                                                          .filter(interfaceDef -> interfaceDef.getToscaResourceName()
-                        .equals(interfaceToscaName))
-                                                                          .findFirst();
-        if (!interfaceDefinition.isPresent()) {
-            log.debug("Failed to get resource interface for resource Id {}", parentId);
-            ResponseFormat responseFormat = componentsUtils.getResponseFormat(
-                    ActionStatus.INTERFACE_OPERATION_NOT_FOUND, parentId);
-            handleAuditing(auditingAction, parent, parentId, user, artifactInfo, prevArtifactId,
-                    currArtifactId, responseFormat, componentType, null);
-            return Either.right(responseFormat);
-        }
-
-        //fetch the operation from storage
-        InterfaceDefinition gotInterface = interfaceDefinition.get();
-        Map<String, Operation> operationsMap = gotInterface.getOperationsMap();
-        Optional<Operation> optionalOperation = operationsMap.values()
-                .stream()
-                .filter(o -> o.getUniqueId().equals(operationUuid))
-                .findFirst();
-        if (!optionalOperation.isPresent()) {
-            log.debug("Failed to get resource interface operation for resource Id {} " +
-                    " and operationId {}", parentId, operationUuid);
-            ResponseFormat responseFormat = componentsUtils.getResponseFormat(
-                    ActionStatus.INTERFACE_OPERATION_NOT_FOUND, parentId);
-            handleAuditing(auditingAction, parent, parentId, user, artifactInfo, prevArtifactId,
-                    currArtifactId, responseFormat, componentType, null);
-            return Either.right(responseFormat);
-        }
-
-        Operation operation = optionalOperation.get();
-        ArtifactDefinition implementationArtifact =  operation.getImplementationArtifact();
-        implementationArtifact.setArtifactName(artifactInfo.getArtifactName());
-        implementationArtifact.setDescription(artifactInfo.getDescription());
-        implementationArtifact.setArtifactType(artifactInfo.getArtifactType());
-        operation.setImplementation(implementationArtifact);
-        gotInterface.setOperationsMap(operationsMap);
-        Either<InterfaceDefinition, StorageOperationStatus> interfaceDefinitionStorageOperationStatusEither =
-                interfaceOperation.updateInterface(storedResource.getUniqueId(), gotInterface);
-        if (interfaceDefinitionStorageOperationStatusEither.isRight()){
-            StorageOperationStatus storageOperationStatus = interfaceDefinitionStorageOperationStatusEither.right().value();
-            ActionStatus actionStatus =
-                    componentsUtils.convertFromStorageResponseForDataType(storageOperationStatus);
-            return Either.right(componentsUtils.getResponseFormat(actionStatus));
-        }
-
-        String uniqueId = implementationArtifact.getUniqueId();
-        artifactData.setId(uniqueId);
-        CassandraOperationStatus cassandraOperationStatus = artifactCassandraDao.saveArtifact(artifactData);
-        if(cassandraOperationStatus != CassandraOperationStatus.OK){
-            log.debug("Failed to persist operation {} artifact, error is {}",operation.getName(),cassandraOperationStatus);
-            StorageOperationStatus storageStatus = DaoStatusConverter.convertCassandraStatusToStorageStatus(cassandraOperationStatus);
-            ActionStatus convertedFromStorageResponse = componentsUtils.convertFromStorageResponse(storageStatus);
-            return Either.right(componentsUtils.getResponseFormat(convertedFromStorageResponse));
-        }
-        return Either.left(Either.left(implementationArtifact));
-    }
-
     private Either<byte[], ResponseFormat> handlePayload(ArtifactDefinition artifactInfo, boolean isArtifactMetadataUpdate) {
         log.trace("Starting payload handling");
         byte[] payload = artifactInfo.getPayloadData();
@@ -4095,7 +3995,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                 if (oldCheckSum != null && oldCheckSum.equals(newCheckSum)) {
 
                     artifactDefinition.setPayloadUpdateDate(payloadUpdateDateGen.get());
-                    updateArifactDefinitionStatus = artifactToscaOperation.updateArtifactOnResource(artifactDefinition, component
+                    updateArifactDefinitionStatus = artifactToscaOperation.updateArifactOnResource(artifactDefinition, component
                             .getUniqueId(), artifactDefinition.getUniqueId(), componentType.getNodeType(), instanceId);
                     log.trace("No real update done in payload for {} artifact, updating payloadUpdateDate {}", artifactDefinition
                             .getArtifactType(), artifactDefinition.getEsId());
@@ -4118,7 +4018,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
                     artifactDefinition.setEsId(artifactDefinition.getUniqueId());
                     log.trace("No real update done in payload for {} artifact, updating payloadUpdateDate {}", artifactDefinition
                             .getArtifactType(), artifactDefinition.getEsId());
-                    updateArifactDefinitionStatus = artifactToscaOperation.updateArtifactOnResource(artifactDefinition, component
+                    updateArifactDefinitionStatus = artifactToscaOperation.updateArifactOnResource(artifactDefinition, component
                             .getUniqueId(), artifactDefinition.getUniqueId(), componentType.getNodeType(), instanceId);
 
                     log.trace("Update Payload  ", artifactDefinition.getEsId());
@@ -4363,7 +4263,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
             currArtifact.setHeatParamsUpdateDate(System.currentTimeMillis());
             currArtifact.setListHeatParameters(currentHeatEnvParams);
 
-            Either<ArtifactDefinition, StorageOperationStatus> updateArifactRes = artifactToscaOperation.updateArtifactOnResource(currArtifact, parent
+            Either<ArtifactDefinition, StorageOperationStatus> updateArifactRes = artifactToscaOperation.updateArifactOnResource(currArtifact, parent
                     .getUniqueId(), currArtifact.getUniqueId(), componentType.getNodeType(), componentId);
             if (updateArifactRes.isRight()) {
                 log.debug("Failed to update artifact on graph  - {}", artifactId);
@@ -4469,7 +4369,7 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
             }
             if (!newHeatEnvParams.isEmpty()) {
                 currHeatArtifact.setListHeatParameters(currentHeatEnvParams);
-                Either<ArtifactDefinition, StorageOperationStatus> operationStatus = artifactToscaOperation.updateArtifactOnResource(currHeatArtifact, parent
+                Either<ArtifactDefinition, StorageOperationStatus> operationStatus = artifactToscaOperation.updateArifactOnResource(currHeatArtifact, parent
                         .getUniqueId(), currHeatArtifact.getUniqueId(), componentType.getNodeType(), componentId);
 
                 if (operationStatus.isRight()) {
@@ -4982,98 +4882,6 @@ public class ArtifactsBusinessLogic extends BaseBusinessLogic {
         return updateArtifactResult;
     }
 
-    /**
-     * updates an artifact on a component by UUID
-     *
-     * @param data
-     * @param request
-     * @param componentType
-     * @param componentUuid
-     * @param artifactUUID
-     * @param additionalParams
-     * @param operation        TODO
-     * @return
-     */
-    public Either<ArtifactDefinition, ResponseFormat> updateArtifactOnInterfaceOperationByResourceUUID(
-            String data, HttpServletRequest request, ComponentTypeEnum componentType,
-            String componentUuid, String artifactUUID, String operationUUID,
-            Map<AuditingFieldsKeysEnum, Object> additionalParams, ArtifactOperationInfo operation) {
-        Wrapper<ResponseFormat> errorWrapper = new Wrapper<>();
-        Either<ArtifactDefinition, ResponseFormat> updateArtifactResult;
-        Either<Either<ArtifactDefinition, Operation>, ResponseFormat> actionResult = null;
-        ArtifactDefinition updateArtifact = null;
-        String componentId = null;
-        ArtifactDefinition artifactInfo = RepresentationUtils.convertJsonToArtifactDefinitionForUpdate(data, ArtifactDefinition.class);
-        String origMd5 = request.getHeader(Constants.MD5_HEADER);
-        String userId = request.getHeader(Constants.USER_ID_HEADER);
-
-        Either<ComponentMetadataData, StorageOperationStatus> getComponentRes = toscaOperationFacade.getLatestComponentMetadataByUuid(componentUuid, JsonParseFlagEnum.ParseMetadata, true);
-        if (getComponentRes.isRight()) {
-            StorageOperationStatus status = getComponentRes.right().value();
-            log.debug("Could not fetch component with type {} and uuid {}. Status is {}. ", componentType, componentUuid, status);
-            errorWrapper.setInnerElement(componentsUtils.getResponseFormat(componentsUtils.convertFromStorageResponse(status)));
-        }
-        if (errorWrapper.isEmpty()) {
-            componentId = getComponentRes.left().value().getMetadataDataDefinition().getUniqueId();
-            String componentName = getComponentRes.left().value().getMetadataDataDefinition().getName();
-            if (!getComponentRes.left()
-                    .value()
-                    .getMetadataDataDefinition()
-                    .getState()
-                    .equals(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name())) {
-                Component component = checkoutParentComponent(componentType, componentId, userId, errorWrapper);
-                if (component != null) {
-                    componentId = component.getUniqueId();
-                    componentName = component.getName();
-                }
-                additionalParams.put(AuditingFieldsKeysEnum.AUDIT_RESOURCE_NAME, componentName);
-            }
-        }
-        if (errorWrapper.isEmpty()) {
-            Either<String, ResponseFormat> interfaceName = fetchInterfaceName(componentId);
-            if (interfaceName.isRight()) {
-                errorWrapper.setInnerElement(interfaceName.right().value());
-            }
-            if (errorWrapper.isEmpty()) {
-                actionResult = handleArtifactRequest(componentId, userId, componentType, operation,
-                        artifactUUID, artifactInfo, origMd5, data, interfaceName.left().value(),
-                        operationUUID, null, null);
-                if (actionResult.isRight()) {
-                    log.debug("Failed to upload artifact to component with type {} and uuid {}. Status is {}. ", componentType, componentUuid, actionResult
-                            .right()
-                            .value());
-                    errorWrapper.setInnerElement(actionResult.right().value());
-                }
-            }
-        }
-        if (errorWrapper.isEmpty()) {
-            updateArtifact = actionResult.left().value().left().value();
-            updateArtifactResult = Either.left(updateArtifact);
-
-        }
-        else {
-            updateArtifactResult = Either.right(errorWrapper.getInnerElement());
-        }
-        updateAuditParametersWithArtifactDefinition(additionalParams, updateArtifact);
-        return updateArtifactResult;
-    }
-
-    private Either<String, ResponseFormat> fetchInterfaceName(String componentId) {
-        Either<Resource, StorageOperationStatus> resourceStorageOperationStatusEither =
-                toscaOperationFacade.getToscaElement(componentId);
-        if (resourceStorageOperationStatusEither.isRight()) {
-            StorageOperationStatus errorStatus = resourceStorageOperationStatusEither.right().value();
-            log.debug("Failed to fetch resource information by resource id, error {}", errorStatus);
-            return Either.right(componentsUtils
-                    .getResponseFormat(componentsUtils.convertFromStorageResponse(errorStatus)));
-        }
-        Resource storedResource = resourceStorageOperationStatusEither.left().value();
-
-        return Either.left(InterfaceUtils.createInterfaceToscaResourceName(
-                storedResource.getName()));
-    }
-
-
     /**
      * deletes an artifact on a component by UUID
      *