Upgrade SDC from Titan to Janus Graph
[sdc.git] / catalog-model / src / main / java / org / openecomp / sdc / be / model / jsonjanusgraph / operations / NodeTypeOperation.java
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.sdc.be.model.jsontitan.operations;
+package org.openecomp.sdc.be.model.jsonjanusgraph.operations;
 
 import fj.data.Either;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
 import org.openecomp.sdc.be.dao.jsongraph.types.EdgeLabelEnum;
 import org.openecomp.sdc.be.dao.jsongraph.types.JsonParseFlagEnum;
 import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum;
-import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
 import org.openecomp.sdc.be.datatypes.elements.*;
 import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum;
 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
@@ -35,9 +35,9 @@ import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
 import org.openecomp.sdc.be.model.ComponentParametersView;
 import org.openecomp.sdc.be.model.DerivedNodeTypeResolver;
 import org.openecomp.sdc.be.model.LifecycleStateEnum;
-import org.openecomp.sdc.be.model.jsontitan.datamodel.NodeType;
-import org.openecomp.sdc.be.model.jsontitan.datamodel.ToscaElement;
-import org.openecomp.sdc.be.model.jsontitan.datamodel.ToscaElementTypeEnum;
+import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.NodeType;
+import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.ToscaElement;
+import org.openecomp.sdc.be.model.jsonjanusgraph.datamodel.ToscaElementTypeEnum;
 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
 import org.openecomp.sdc.be.model.operations.impl.DaoStatusConverter;
 import org.openecomp.sdc.be.model.operations.impl.UniqueIdBuilder;
@@ -93,11 +93,11 @@ public class NodeTypeOperation extends ToscaElementOperation {
         fillToscaElementVertexData(nodeTypeVertex, nodeType, JsonParseFlagEnum.ParseAll);
 
                //Create Node Type in Graph
-        Either<GraphVertex, TitanOperationStatus> createdVertex = titanDao.createVertex(nodeTypeVertex);
+        Either<GraphVertex, JanusGraphOperationStatus> createdVertex = janusGraphDao.createVertex(nodeTypeVertex);
         if (createdVertex.isRight()) {
-            TitanOperationStatus status = createdVertex.right().value();
+            JanusGraphOperationStatus status = createdVertex.right().value();
             log.error("Error returned after creating resource data node {}. status returned is ", nodeTypeVertex, status);
-            result = Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            result = Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             return result;
         }
         nodeTypeVertex = createdVertex.left().value();
@@ -197,140 +197,141 @@ public class NodeTypeOperation extends ToscaElementOperation {
     public Either<ToscaElement, StorageOperationStatus> getToscaElement(GraphVertex componentV, ComponentParametersView componentParametersView) {
         NodeType toscaElement;
         toscaElement = convertToComponent(componentV);
-        TitanOperationStatus status = null;
+        JanusGraphOperationStatus status = null;
         if (!componentParametersView.isIgnoreUsers()) {
             status = setCreatorFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
 
             status = setLastModifierFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
 
         if (!componentParametersView.isIgnoreProperties()) {
             status = setResourcePropertiesFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK && status != TitanOperationStatus.NOT_FOUND) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK && status != JanusGraphOperationStatus.NOT_FOUND) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
 
         if (!componentParametersView.isIgnoreAttributesFrom()) {
             status = setResourceAttributesFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
 
         if (!componentParametersView.isIgnoreDerivedFrom()) {
             status = setResourceDerivedFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
 
         if (!componentParametersView.isIgnoreCategories()) {
             status = setResourceCategoryFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
         if (!componentParametersView.isIgnoreRequirements()) {
             status = setResourceRequirementsFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
+            if (status != JanusGraphOperationStatus.OK) {
                 log.error("Failed to set requirement of resource {}. status is {}", componentV.getUniqueId(), status);
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
         if (!componentParametersView.isIgnoreCapabilities()) {
             status = setResourceCapabilitiesFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
 
         if (!componentParametersView.isIgnoreArtifacts()) {
             status = setArtifactsFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
         if (!componentParametersView.isIgnoreAdditionalInformation()) {
             status = setAdditionalInformationFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
         if (!componentParametersView.isIgnoreInterfaces()) {
             status = setInterfacesFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
         if (!componentParametersView.isIgnoreAllVersions()) {
             status = setAllVersions(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK && status != TitanOperationStatus.NOT_FOUND) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK && status != JanusGraphOperationStatus.NOT_FOUND) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
             }
         }
 
         if (!componentParametersView.isIgnoreCapabiltyProperties()) {
             status = setComponentCapPropertiesFromGraph(componentV, toscaElement);
-            if (status != TitanOperationStatus.OK) {
-                return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            if (status != JanusGraphOperationStatus.OK) {
+                return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
 
             }
         }
         return Either.left(toscaElement);
     }
 
-    private TitanOperationStatus setComponentCapPropertiesFromGraph(GraphVertex componentV, NodeType toscaElement) {
-        Either<Map<String, MapPropertiesDataDefinition>, TitanOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.CAPABILITIES_PROPERTIES);
+    private JanusGraphOperationStatus setComponentCapPropertiesFromGraph(GraphVertex componentV, NodeType toscaElement) {
+        Either<Map<String, MapPropertiesDataDefinition>, JanusGraphOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.CAPABILITIES_PROPERTIES);
         if (result.isLeft()) {
             toscaElement.setCapabilitiesProperties(result.left().value());
         } else {
-            if (result.right().value() != TitanOperationStatus.NOT_FOUND) {
+            if (result.right().value() != JanusGraphOperationStatus.NOT_FOUND) {
                 return result.right().value();
             }
         }
-        return TitanOperationStatus.OK;
+        return JanusGraphOperationStatus.OK;
     }
 
-    private TitanOperationStatus setInterfacesFromGraph(GraphVertex componentV, NodeType toscaElement) {
-        Either<Map<String, InterfaceDataDefinition>, TitanOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.INTERFACE_ARTIFACTS);
+    private JanusGraphOperationStatus setInterfacesFromGraph(GraphVertex componentV, NodeType toscaElement) {
+        Either<Map<String, InterfaceDataDefinition>, JanusGraphOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.INTERFACE_ARTIFACTS);
         if (result.isLeft()) {
             toscaElement.setInterfaceArtifacts(result.left().value());
         } else {
-            if (result.right().value() != TitanOperationStatus.NOT_FOUND) {
+            if (result.right().value() != JanusGraphOperationStatus.NOT_FOUND) {
                 return result.right().value();
             }
         }
-        return TitanOperationStatus.OK;
+        return JanusGraphOperationStatus.OK;
     }
 
-    protected <T extends ToscaElement> TitanOperationStatus setCapabilitiesFromGraph(GraphVertex componentV, T toscaElement) {
+    protected <T extends ToscaElement> JanusGraphOperationStatus setCapabilitiesFromGraph(GraphVertex componentV, T toscaElement) {
         return setResourceCapabilitiesFromGraph(componentV, (NodeType) toscaElement);
     }
 
-    private TitanOperationStatus setResourceCapabilitiesFromGraph(GraphVertex componentV, NodeType toscaElement) {
-        Either<Map<String, ListCapabilityDataDefinition>, TitanOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.CAPABILITIES);
+    private JanusGraphOperationStatus setResourceCapabilitiesFromGraph(GraphVertex componentV, NodeType toscaElement) {
+        Either<Map<String, ListCapabilityDataDefinition>, JanusGraphOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.CAPABILITIES);
         if (result.isLeft()) {
             toscaElement.setCapabilities(result.left().value());
         } else {
-            if (result.right().value() != TitanOperationStatus.NOT_FOUND) {
+            if (result.right().value() != JanusGraphOperationStatus.NOT_FOUND) {
                 return result.right().value();
             }
         }
-        return TitanOperationStatus.OK;
+        return JanusGraphOperationStatus.OK;
     }
 
-    private TitanOperationStatus setResourceDerivedFromGraph(GraphVertex componentV, NodeType toscaElement) {
+    private JanusGraphOperationStatus setResourceDerivedFromGraph(GraphVertex componentV, NodeType toscaElement) {
         List<String> derivedFromList = new ArrayList<>();
 
-        TitanOperationStatus listFromGraphStatus = findResourcesPathRecursively(componentV, derivedFromList);
-        if (TitanOperationStatus.OK != listFromGraphStatus) {
+        JanusGraphOperationStatus
+            listFromGraphStatus = findResourcesPathRecursively(componentV, derivedFromList);
+        if (JanusGraphOperationStatus.OK != listFromGraphStatus) {
             return listFromGraphStatus;
         }
 
@@ -346,74 +347,78 @@ public class NodeTypeOperation extends ToscaElementOperation {
             }
 
         }
-        return TitanOperationStatus.OK;
+        return JanusGraphOperationStatus.OK;
     }
 
-    protected TitanOperationStatus findResourcesPathRecursively(GraphVertex nodeTypeV, List<String> resourcesPathList) {
-        Either<GraphVertex, TitanOperationStatus> parentResourceRes = titanDao.getChildVertex(nodeTypeV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
+    protected JanusGraphOperationStatus findResourcesPathRecursively(GraphVertex nodeTypeV, List<String> resourcesPathList) {
+        Either<GraphVertex, JanusGraphOperationStatus> parentResourceRes = janusGraphDao
+            .getChildVertex(nodeTypeV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
         resourcesPathList.add((String) nodeTypeV.getMetadataProperty(GraphPropertyEnum.TOSCA_RESOURCE_NAME));
         while (parentResourceRes.isLeft()) {
 
             GraphVertex parent = parentResourceRes.left().value();
             resourcesPathList.add((String) parent.getMetadataProperty(GraphPropertyEnum.TOSCA_RESOURCE_NAME));
-            parentResourceRes = titanDao.getChildVertex(parent, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
+            parentResourceRes = janusGraphDao
+                .getChildVertex(parent, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
         }
-        TitanOperationStatus operationStatus = parentResourceRes.right().value();
+        JanusGraphOperationStatus operationStatus = parentResourceRes.right().value();
 
-        if (operationStatus != TitanOperationStatus.NOT_FOUND) {
+        if (operationStatus != JanusGraphOperationStatus.NOT_FOUND) {
             return operationStatus;
         } else {
-            return TitanOperationStatus.OK;
+            return JanusGraphOperationStatus.OK;
         }
 
     }
 
-    protected <T extends ToscaElement> TitanOperationStatus setRequirementsFromGraph(GraphVertex componentV, T toscaElement) {
+    protected <T extends ToscaElement> JanusGraphOperationStatus setRequirementsFromGraph(GraphVertex componentV, T toscaElement) {
         return setResourceRequirementsFromGraph(componentV, (NodeType) toscaElement);
     }
 
-    private TitanOperationStatus setResourceRequirementsFromGraph(GraphVertex componentV, NodeType toscaElement) {
-        Either<Map<String, ListRequirementDataDefinition>, TitanOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.REQUIREMENTS);
+    private JanusGraphOperationStatus setResourceRequirementsFromGraph(GraphVertex componentV, NodeType toscaElement) {
+        Either<Map<String, ListRequirementDataDefinition>, JanusGraphOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.REQUIREMENTS);
         if (result.isLeft()) {
             toscaElement.setRequirements(result.left().value());
         } else {
-            if (result.right().value() != TitanOperationStatus.NOT_FOUND) {
+            if (result.right().value() != JanusGraphOperationStatus.NOT_FOUND) {
                 return result.right().value();
             }
         }
-        return TitanOperationStatus.OK;
+        return JanusGraphOperationStatus.OK;
     }
 
-    private TitanOperationStatus setResourceAttributesFromGraph(GraphVertex componentV, NodeType toscaElement) {
-        Either<Map<String, PropertyDataDefinition>, TitanOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.ATTRIBUTES);
+    private JanusGraphOperationStatus setResourceAttributesFromGraph(GraphVertex componentV, NodeType toscaElement) {
+        Either<Map<String, PropertyDataDefinition>, JanusGraphOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.ATTRIBUTES);
         if (result.isLeft()) {
             toscaElement.setAttributes(result.left().value());
         } else {
-            if (result.right().value() != TitanOperationStatus.NOT_FOUND) {
+            if (result.right().value() != JanusGraphOperationStatus.NOT_FOUND) {
                 return result.right().value();
             }
         }
-        return TitanOperationStatus.OK;
+        return JanusGraphOperationStatus.OK;
     }
 
-    private TitanOperationStatus setResourcePropertiesFromGraph(GraphVertex componentV, NodeType toscaElement) {
-        Either<Map<String, PropertyDataDefinition>, TitanOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.PROPERTIES);
+    private JanusGraphOperationStatus setResourcePropertiesFromGraph(GraphVertex componentV, NodeType toscaElement) {
+        Either<Map<String, PropertyDataDefinition>, JanusGraphOperationStatus> result = getDataFromGraph(componentV, EdgeLabelEnum.PROPERTIES);
         if (result.isLeft()) {
             toscaElement.setProperties(result.left().value());
         } else {
-            if (result.right().value() != TitanOperationStatus.NOT_FOUND) {
+            if (result.right().value() != JanusGraphOperationStatus.NOT_FOUND) {
                 return result.right().value();
             }
         }
-        return TitanOperationStatus.OK;
+        return JanusGraphOperationStatus.OK;
     }
 
     private StorageOperationStatus assosiateToDerived(GraphVertex nodeTypeVertex, List<GraphVertex> derivedResources) {
         for (GraphVertex derivedV : derivedResources) {
-            TitanOperationStatus createEdge = titanDao.createEdge(nodeTypeVertex, derivedV, EdgeLabelEnum.DERIVED_FROM, null);
-            if (createEdge != TitanOperationStatus.OK) {
+            JanusGraphOperationStatus
+                createEdge = janusGraphDao
+                .createEdge(nodeTypeVertex, derivedV, EdgeLabelEnum.DERIVED_FROM, null);
+            if (createEdge != JanusGraphOperationStatus.OK) {
                 log.trace("Failed to associate resource {} to derived with id {}", nodeTypeVertex.getUniqueId(), derivedV.getUniqueId());
-                return DaoStatusConverter.convertTitanStatusToStorageStatus(createEdge);
+                return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(createEdge);
             }
         }
         return StorageOperationStatus.OK;
@@ -585,7 +590,7 @@ public class NodeTypeOperation extends ToscaElementOperation {
         if (derivedFromResources != null && !derivedFromResources.isEmpty()) {
 
             for (String parentResource : derivedFromResources) {
-                Either<List<GraphVertex>, TitanOperationStatus> getParentResources = derivedResourceResolver.findDerivedResources(parentResource);
+                Either<List<GraphVertex>, JanusGraphOperationStatus> getParentResources = derivedResourceResolver.findDerivedResources(parentResource);
                 List<GraphVertex> resources = null;
                 if (getParentResources.isRight()) {
                     log.error("Cannot find parent resource by tosca resource name {} in the graph.", parentResource);
@@ -639,11 +644,11 @@ public class NodeTypeOperation extends ToscaElementOperation {
         StorageOperationStatus result = StorageOperationStatus.OK;
         for (GraphVertex fetchedDerivedResource : fetchedDerivedResources) {
             fetchedDerivedResource.addMetadataProperty(GraphPropertyEnum.IS_HIGHEST_VERSION, false);
-            Either<GraphVertex, TitanOperationStatus> updateVertexRes = titanDao.updateVertex(fetchedDerivedResource);
+            Either<GraphVertex, JanusGraphOperationStatus> updateVertexRes = janusGraphDao.updateVertex(fetchedDerivedResource);
             if (updateVertexRes.isRight()) {
-                TitanOperationStatus titatStatus = updateVertexRes.right().value();
+                JanusGraphOperationStatus titatStatus = updateVertexRes.right().value();
                 CommonUtility.addRecordToLog(log, LogLevelEnum.DEBUG, "Failed to set highest version of node type {} to false. Status is  {}", fetchedDerivedResource.getMetadataProperty(GraphPropertyEnum.TOSCA_RESOURCE_NAME), titatStatus);
-                result = DaoStatusConverter.convertTitanStatusToStorageStatus(titatStatus);
+                result = DaoStatusConverter.convertJanusGraphStatusToStorageStatus(titatStatus);
                 break;
             }
         }
@@ -665,34 +670,39 @@ public class NodeTypeOperation extends ToscaElementOperation {
             log.debug("Failed to fetch tosca element {} error {}", toscaElementVertex.getUniqueId(), nodeType.right().value());
             return nodeType;
         }
-        TitanOperationStatus status = disassociateAndDeleteCommonElements(toscaElementVertex);
-        if (status != TitanOperationStatus.OK) {
-            Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+        JanusGraphOperationStatus status = disassociateAndDeleteCommonElements(toscaElementVertex);
+        if (status != JanusGraphOperationStatus.OK) {
+            Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
         }
-        status = titanDao.disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.CAPABILITIES);
-        if (status != TitanOperationStatus.OK) {
+        status = janusGraphDao
+            .disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.CAPABILITIES);
+        if (status != JanusGraphOperationStatus.OK) {
             log.debug("Failed to disassociate capabilties for {} error {}", toscaElementVertex.getUniqueId(), status);
-            Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
         }
-        status = titanDao.disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.CAPABILITIES_PROPERTIES);
-        if (status != TitanOperationStatus.OK) {
+        status = janusGraphDao
+            .disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.CAPABILITIES_PROPERTIES);
+        if (status != JanusGraphOperationStatus.OK) {
             log.debug("Failed to disassociate capabilties properties for {} error {}", toscaElementVertex.getUniqueId(), status);
-            Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
         }
-        status = titanDao.disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.REQUIREMENTS);
-        if (status != TitanOperationStatus.OK) {
+        status = janusGraphDao
+            .disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.REQUIREMENTS);
+        if (status != JanusGraphOperationStatus.OK) {
             log.debug("Failed to disassociate requirements for {} error {}", toscaElementVertex.getUniqueId(), status);
-            Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
         }
-        status = titanDao.disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.ATTRIBUTES);
-        if (status != TitanOperationStatus.OK) {
+        status = janusGraphDao
+            .disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.ATTRIBUTES);
+        if (status != JanusGraphOperationStatus.OK) {
             log.debug("Failed to disassociate attributes for {} error {}", toscaElementVertex.getUniqueId(), status);
-            Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
         }
-        status = titanDao.disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.INTERFACE_ARTIFACTS);
-        if (status != TitanOperationStatus.OK) {
+        status = janusGraphDao
+            .disassociateAndDeleteLast(toscaElementVertex, Direction.OUT, EdgeLabelEnum.INTERFACE_ARTIFACTS);
+        if (status != JanusGraphOperationStatus.OK) {
             log.debug("Failed to disassociate interface artifacts for {} error {}", toscaElementVertex.getUniqueId(), status);
-            Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
+            Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status));
         }
         toscaElementVertex.getVertex().remove();
         log.trace("Tosca element vertex for {} was removed", toscaElementVertex.getUniqueId());
@@ -707,7 +717,7 @@ public class NodeTypeOperation extends ToscaElementOperation {
     }
 
     @Override
-    protected <T extends ToscaElement> TitanOperationStatus setCategoriesFromGraph(GraphVertex vertexComponent, T toscaElement) {
+    protected <T extends ToscaElement> JanusGraphOperationStatus setCategoriesFromGraph(GraphVertex vertexComponent, T toscaElement) {
         return setResourceCategoryFromGraph(vertexComponent, toscaElement);
     }
 
@@ -727,11 +737,12 @@ public class NodeTypeOperation extends ToscaElementOperation {
         if (derivedFromResources != null && !derivedFromResources.isEmpty() && derivedFromResources.get(0) != null) {
             String firstDerived = derivedFromResources.get(0);
             boolean derivedFromGenericType = null != nodeType.getDerivedFromGenericType();
-            Either<GraphVertex, TitanOperationStatus> childVertex = titanDao.getChildVertex(nodeTypeV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
+            Either<GraphVertex, JanusGraphOperationStatus> childVertex = janusGraphDao
+                .getChildVertex(nodeTypeV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
             if (childVertex.isRight()) {
-                TitanOperationStatus getchieldError = childVertex.right().value();
+                JanusGraphOperationStatus getchieldError = childVertex.right().value();
                 log.debug("Failed to fetch derived resource for element {} error {}", nodeTypeV.getUniqueId(), getchieldError);
-                return DaoStatusConverter.convertTitanStatusToStorageStatus(getchieldError);
+                return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(getchieldError);
             }
             GraphVertex firstDerivedInChain = childVertex.left().value();
 
@@ -744,12 +755,13 @@ public class NodeTypeOperation extends ToscaElementOperation {
                 propertiesToMatch.put(GraphPropertyEnum.TOSCA_RESOURCE_NAME, firstDerived);
                 propertiesToMatch.put(GraphPropertyEnum.IS_HIGHEST_VERSION, true);
 
-                Either<List<GraphVertex>, TitanOperationStatus> getParentResources = titanDao.getByCriteria(VertexTypeEnum.NODE_TYPE, propertiesToMatch, JsonParseFlagEnum.NoParse);
+                Either<List<GraphVertex>, JanusGraphOperationStatus> getParentResources = janusGraphDao
+                    .getByCriteria(VertexTypeEnum.NODE_TYPE, propertiesToMatch, JsonParseFlagEnum.NoParse);
 
                 if (getParentResources.isRight()) {
-                    TitanOperationStatus error = getParentResources.right().value();
+                    JanusGraphOperationStatus error = getParentResources.right().value();
                     CommonUtility.addRecordToLog(log, LogLevelEnum.DEBUG, "Failed to fetch derived by criteria {}. error {} ", propertiesToMatch, error);
-                    return DaoStatusConverter.convertTitanStatusToStorageStatus(error);
+                    return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(error);
                 }
                 // must be only one
                 GraphVertex newDerivedV = getParentResources.left().value().get(0);
@@ -771,11 +783,13 @@ public class NodeTypeOperation extends ToscaElementOperation {
     protected <T extends ToscaElement> StorageOperationStatus updateDerived(T toscaElementToUpdate, GraphVertex nodeTypeV, GraphVertex preDerivedV, GraphVertex newDerivedV, boolean mergeValues) {
         Set<String> preDerivedChainIdList = new HashSet();
         preDerivedChainIdList.add(preDerivedV.getUniqueId());
-        Either<GraphVertex, TitanOperationStatus> childVertex = titanDao.getChildVertex(preDerivedV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
+        Either<GraphVertex, JanusGraphOperationStatus> childVertex = janusGraphDao
+            .getChildVertex(preDerivedV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
         while (childVertex.isLeft()) {
             GraphVertex currentChield = childVertex.left().value();
             preDerivedChainIdList.add(currentChield.getUniqueId());
-            childVertex = titanDao.getChildVertex(currentChield, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
+            childVertex = janusGraphDao
+                .getChildVertex(currentChield, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
         }
 
         List<GraphVertex> derivedResources = new ArrayList<>();
@@ -786,14 +800,15 @@ public class NodeTypeOperation extends ToscaElementOperation {
             return updateStatus;
         }
 
-        Either<Edge, TitanOperationStatus> deleteEdge = titanDao.deleteEdge(nodeTypeV, preDerivedV, EdgeLabelEnum.DERIVED_FROM);
+        Either<Edge, JanusGraphOperationStatus> deleteEdge = janusGraphDao
+            .deleteEdge(nodeTypeV, preDerivedV, EdgeLabelEnum.DERIVED_FROM);
         if (deleteEdge.isRight()) {
-            TitanOperationStatus deleteError = deleteEdge.right().value();
+            JanusGraphOperationStatus deleteError = deleteEdge.right().value();
             log.debug("Failed to disassociate element {} from derived {} , error {}", nodeTypeV.getUniqueId(), preDerivedV.getUniqueId(), deleteError);
-            return DaoStatusConverter.convertTitanStatusToStorageStatus(deleteError);
+            return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(deleteError);
         }
 
-        titanDao.createEdge(nodeTypeV, newDerivedV, EdgeLabelEnum.DERIVED_FROM, new HashMap<>());
+        janusGraphDao.createEdge(nodeTypeV, newDerivedV, EdgeLabelEnum.DERIVED_FROM, new HashMap<>());
 
         return StorageOperationStatus.OK;
     }
@@ -834,11 +849,11 @@ public class NodeTypeOperation extends ToscaElementOperation {
 
     private <T extends ToscaDataDefinition> StorageOperationStatus updateDataByType(List<GraphVertex> newDerivedList, GraphVertex nodeTypeV, EdgeLabelEnum label, NodeType nodeElement, boolean mergeValues, Set<String> preDerivedChainIdList) {
         log.debug("Update data from derived for element {} type {}", nodeTypeV.getUniqueId(), label);
-        Either<GraphVertex, TitanOperationStatus> dataFromGraph = getDataVertex(nodeTypeV, label);
+        Either<GraphVertex, JanusGraphOperationStatus> dataFromGraph = getDataVertex(nodeTypeV, label);
         if (dataFromGraph.isRight()) {
-            if (TitanOperationStatus.NOT_FOUND == dataFromGraph.right().value())
+            if (JanusGraphOperationStatus.NOT_FOUND == dataFromGraph.right().value())
                 return associateDerivedDataByType(label, nodeTypeV, nodeElement, newDerivedList);
-            return DaoStatusConverter.convertTitanStatusToStorageStatus(dataFromGraph.right().value());
+            return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(dataFromGraph.right().value());
         }
         GraphVertex dataV = dataFromGraph.left().value();
 
@@ -884,9 +899,9 @@ public class NodeTypeOperation extends ToscaElementOperation {
             });
         }
         dataV.setJson(dataFromDerivedAll);
-        Either<GraphVertex, TitanOperationStatus> updateDataV = updateOrCopyOnUpdate(dataV, nodeTypeV, label);
+        Either<GraphVertex, JanusGraphOperationStatus> updateDataV = updateOrCopyOnUpdate(dataV, nodeTypeV, label);
         if (updateDataV.isRight()) {
-            return DaoStatusConverter.convertTitanStatusToStorageStatus(updateDataV.right().value());
+            return DaoStatusConverter.convertJanusGraphStatusToStorageStatus(updateDataV.right().value());
         }
         return StorageOperationStatus.OK;
     }
@@ -913,16 +928,17 @@ public class NodeTypeOperation extends ToscaElementOperation {
     public Either<ToscaElement, StorageOperationStatus> shouldUpdateDerivedVersion(ToscaElement toscaElementToUpdate, GraphVertex nodeTypeV) {
         NodeType nodeType = (NodeType) toscaElementToUpdate;
 
-        Either<GraphVertex, TitanOperationStatus> childVertex = titanDao.getChildVertex(nodeTypeV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
+        Either<GraphVertex, JanusGraphOperationStatus> childVertex = janusGraphDao
+            .getChildVertex(nodeTypeV, EdgeLabelEnum.DERIVED_FROM, JsonParseFlagEnum.NoParse);
         if (childVertex.isRight()) {
-            TitanOperationStatus getchildError = childVertex.right().value();
-            if (getchildError == TitanOperationStatus.NOT_FOUND) {
+            JanusGraphOperationStatus getchildError = childVertex.right().value();
+            if (getchildError == JanusGraphOperationStatus.NOT_FOUND) {
                 log.debug("derived resource for element {} not found", nodeTypeV.getUniqueId());
                 return Either.right(StorageOperationStatus.OK);
             }
 
             log.debug("Failed to fetch derived resource for element {} error {}", nodeTypeV.getUniqueId(), getchildError);
-            return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(getchildError));
+            return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(getchildError));
         }
         GraphVertex firstDerivedInChain = childVertex.left().value();
 
@@ -935,10 +951,11 @@ public class NodeTypeOperation extends ToscaElementOperation {
 
         Map<GraphPropertyEnum, Object> propsHasNot = new HashMap<>();
         propsHasNot.put(GraphPropertyEnum.IS_DELETED, true);
-        Either<List<GraphVertex>, TitanOperationStatus> byCriteria = titanDao.getByCriteria(VertexTypeEnum.NODE_TYPE, props, propsHasNot, JsonParseFlagEnum.NoParse);
+        Either<List<GraphVertex>, JanusGraphOperationStatus> byCriteria = janusGraphDao
+            .getByCriteria(VertexTypeEnum.NODE_TYPE, props, propsHasNot, JsonParseFlagEnum.NoParse);
         if (byCriteria.isRight()) {
             log.debug("Failed to fetch derived by props {} error {}", props, byCriteria.right().value());
-            return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(byCriteria.right().value()));
+            return Either.right(DaoStatusConverter.convertJanusGraphStatusToStorageStatus(byCriteria.right().value()));
         }
         List<GraphVertex> lastDerived = byCriteria.left().value();
         // now supported only one derived!!! Change in future!(Evg)