summaryrefslogtreecommitdiffstats
path: root/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/internal/tool/DeleteComponentHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/internal/tool/DeleteComponentHandler.java')
-rw-r--r--asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/internal/tool/DeleteComponentHandler.java83
1 files changed, 43 insertions, 40 deletions
diff --git a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/internal/tool/DeleteComponentHandler.java b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/internal/tool/DeleteComponentHandler.java
index e7f42c9614..76fcec8186 100644
--- a/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/internal/tool/DeleteComponentHandler.java
+++ b/asdctool/src/main/java/org/openecomp/sdc/asdctool/impl/internal/tool/DeleteComponentHandler.java
@@ -29,21 +29,21 @@
*/
package org.openecomp.sdc.asdctool.impl.internal.tool;
-import com.thinkaurelius.titan.core.TitanVertex;
+import org.janusgraph.core.JanusGraphVertex;
import fj.data.Either;
import org.apache.tinkerpop.gremlin.structure.Direction;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.Vertex;
import org.openecomp.sdc.asdctool.utils.ConsoleWriter;
+import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus;
import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
-import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
+import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
import org.openecomp.sdc.be.dao.jsongraph.types.EdgeLabelEnum;
import org.openecomp.sdc.be.dao.jsongraph.types.VertexTypeEnum;
-import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
import org.openecomp.sdc.be.datatypes.enums.GraphPropertyEnum;
-import org.openecomp.sdc.be.model.jsontitan.operations.NodeTypeOperation;
-import org.openecomp.sdc.be.model.jsontitan.operations.TopologyTemplateOperation;
-import org.openecomp.sdc.be.model.jsontitan.operations.ToscaElementOperation;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.NodeTypeOperation;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.TopologyTemplateOperation;
+import org.openecomp.sdc.be.model.jsonjanusgraph.operations.ToscaElementOperation;
import org.openecomp.sdc.common.log.wrappers.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -56,7 +56,7 @@ import java.util.Scanner;
@Component("deleteComponentHandler")
public class DeleteComponentHandler extends CommonInternalTool{
@Autowired
- private TitanDao titanDao;
+ private JanusGraphDao janusGraphDao;
@Autowired
private NodeTypeOperation nodeTypeOperation;
@Autowired
@@ -70,23 +70,23 @@ public class DeleteComponentHandler extends CommonInternalTool{
super("delete");
}
public void deleteComponent(String id, Scanner scanner) {
- TitanOperationStatus status = TitanOperationStatus.OK;
- GraphVertex metadataVertex = titanDao.getVertexById(id).either(l -> l, r -> null);
+ JanusGraphOperationStatus status = JanusGraphOperationStatus.OK;
+ GraphVertex metadataVertex = janusGraphDao.getVertexById(id).either(l -> l, r -> null);
if (metadataVertex != null) {
status = handleComponent(scanner, metadataVertex);
} else {
ConsoleWriter.dataLine("No vertex for id", id);
}
- if (status == TitanOperationStatus.OK) {
- titanDao.commit();
+ if (status == JanusGraphOperationStatus.OK) {
+ janusGraphDao.commit();
} else {
- titanDao.rollback();
+ janusGraphDao.rollback();
}
}
- private TitanOperationStatus handleComponent(Scanner scanner, GraphVertex metadataVertex) {
+ private JanusGraphOperationStatus handleComponent(Scanner scanner, GraphVertex metadataVertex) {
Map<GraphPropertyEnum, Object> metadataProperties = metadataVertex.getMetadataProperties();
- TitanOperationStatus status = TitanOperationStatus.OK;
+ JanusGraphOperationStatus status = JanusGraphOperationStatus.OK;
printComponentInfo(metadataProperties);
Iterator<Edge> edges = metadataVertex.getVertex().edges(Direction.OUT, EdgeLabelEnum.VERSION.name());
@@ -107,12 +107,12 @@ public class DeleteComponentHandler extends CommonInternalTool{
return status;
}
- private TitanOperationStatus handleComponent(GraphVertex metadataVertex) {
+ private JanusGraphOperationStatus handleComponent(GraphVertex metadataVertex) {
ToscaElementOperation toscaElementOperation = getOperationByLabel(metadataVertex);
Iterator<Edge> edges = metadataVertex.getVertex().edges(Direction.IN, EdgeLabelEnum.VERSION.name());
if (edges != null && edges.hasNext()) {
- TitanOperationStatus status = updatePreviousVersion(metadataVertex, edges);
- if ( status != TitanOperationStatus.OK ){
+ JanusGraphOperationStatus status = updatePreviousVersion(metadataVertex, edges);
+ if ( status != JanusGraphOperationStatus.OK ){
return status;
}
}
@@ -121,28 +121,28 @@ public class DeleteComponentHandler extends CommonInternalTool{
.map(l -> {
ConsoleWriter.dataLine("\nDeleted");
report(metadataVertex);
- return TitanOperationStatus.OK;
+ return JanusGraphOperationStatus.OK;
})
.right()
.map(r-> {
ConsoleWriter.dataLine("\nFailed to delete. see log file");
return r;
});
- return TitanOperationStatus.OK;
+ return JanusGraphOperationStatus.OK;
}
- private TitanOperationStatus updatePreviousVersion(GraphVertex metadataVertex, Iterator<Edge> edges) {
+ private JanusGraphOperationStatus updatePreviousVersion(GraphVertex metadataVertex, Iterator<Edge> edges) {
Edge edge = edges.next();
- TitanVertex prevVersionVertex = (TitanVertex) edge.outVertex();
+ JanusGraphVertex prevVersionVertex = (JanusGraphVertex) edge.outVertex();
// check if previous version is deleted
- Boolean isDeleted = (Boolean) titanDao.getProperty(prevVersionVertex, GraphPropertyEnum.IS_DELETED.getProperty());
+ Boolean isDeleted = (Boolean) janusGraphDao.getProperty(prevVersionVertex, GraphPropertyEnum.IS_DELETED.getProperty());
if (isDeleted != null && isDeleted) {
ConsoleWriter.dataLine("\nPrevoius version is marked as deleted. Component cannot be deleted");
- return TitanOperationStatus.GENERAL_ERROR;
+ return JanusGraphOperationStatus.GENERAL_ERROR;
}
// update highest property for previous version
- TitanOperationStatus status = updateStateOfPreviuosVersion(prevVersionVertex);
- if ( TitanOperationStatus.OK != status ){
+ JanusGraphOperationStatus status = updateStateOfPreviuosVersion(prevVersionVertex);
+ if ( JanusGraphOperationStatus.OK != status ){
return status;
}
@@ -150,51 +150,54 @@ public class DeleteComponentHandler extends CommonInternalTool{
return connectToCatalogAndArchive(metadataVertex, prevVersionVertex);
}
- private TitanOperationStatus updateStateOfPreviuosVersion(TitanVertex prevVersionVertex) {
- String prevId = (String) titanDao.getProperty(prevVersionVertex, GraphPropertyEnum.UNIQUE_ID.getProperty());
- Either<GraphVertex, TitanOperationStatus> prevGraphVertex = titanDao.getVertexById(prevId);
+ private JanusGraphOperationStatus updateStateOfPreviuosVersion(JanusGraphVertex prevVersionVertex) {
+ String prevId = (String) janusGraphDao.getProperty(prevVersionVertex, GraphPropertyEnum.UNIQUE_ID.getProperty());
+ Either<GraphVertex, JanusGraphOperationStatus> prevGraphVertex = janusGraphDao.getVertexById(prevId);
GraphVertex prevVertex = prevGraphVertex.left().value();
prevVertex.addMetadataProperty(GraphPropertyEnum.IS_HIGHEST_VERSION, true);
- titanDao.updateVertex(prevVertex);
+ janusGraphDao.updateVertex(prevVertex);
Iterator<Edge> edgesIter = prevVersionVertex.edges(Direction.IN, EdgeLabelEnum.LAST_STATE.name());
if ( edgesIter.hasNext() ) {
Edge lastStateEdge = edgesIter.next();
Vertex lastModifier = lastStateEdge.outVertex();
- TitanOperationStatus replaceRes = titanDao.replaceEdgeLabel(lastModifier, prevVersionVertex, lastStateEdge, EdgeLabelEnum.LAST_STATE, EdgeLabelEnum.STATE);
- if (replaceRes != TitanOperationStatus.OK) {
+ JanusGraphOperationStatus
+ replaceRes = janusGraphDao
+ .replaceEdgeLabel(lastModifier, prevVersionVertex, lastStateEdge, EdgeLabelEnum.LAST_STATE, EdgeLabelEnum.STATE);
+ if (replaceRes != JanusGraphOperationStatus.OK) {
log.info("Failed to replace label from {} to {}. status = {}", EdgeLabelEnum.LAST_STATE, EdgeLabelEnum.STATE, replaceRes);
ConsoleWriter.dataLine("\nFailed to replace LAST_STATE edge . Failed to delete");
- return TitanOperationStatus.GENERAL_ERROR;
+ return JanusGraphOperationStatus.GENERAL_ERROR;
}
}
- return TitanOperationStatus.OK;
+ return JanusGraphOperationStatus.OK;
}
- private TitanOperationStatus connectToCatalogAndArchive(GraphVertex metadataVertex, TitanVertex prevVersionVertex) {
+ private JanusGraphOperationStatus connectToCatalogAndArchive(GraphVertex metadataVertex, JanusGraphVertex prevVersionVertex) {
- TitanOperationStatus status = connectByLabel(metadataVertex, prevVersionVertex, EdgeLabelEnum.CATALOG_ELEMENT, VertexTypeEnum.CATALOG_ROOT);
- if ( status == TitanOperationStatus.OK ){
+ JanusGraphOperationStatus
+ status = connectByLabel(metadataVertex, prevVersionVertex, EdgeLabelEnum.CATALOG_ELEMENT, VertexTypeEnum.CATALOG_ROOT);
+ if ( status == JanusGraphOperationStatus.OK ){
status = connectByLabel(metadataVertex, prevVersionVertex, EdgeLabelEnum.ARCHIVE_ELEMENT, VertexTypeEnum.ARCHIVE_ROOT);
}
return status;
}
- private TitanOperationStatus connectByLabel(GraphVertex metadataVertex, TitanVertex prevVersionVertex, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexlabel) {
+ private JanusGraphOperationStatus connectByLabel(GraphVertex metadataVertex, JanusGraphVertex prevVersionVertex, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexlabel) {
Iterator<Edge> edgesToCatalog = metadataVertex.getVertex().edges(Direction.IN, edgeLabel.name());
if ( edgesToCatalog != null && edgesToCatalog.hasNext() ){
//exist edge move to prev version
- Either<GraphVertex, TitanOperationStatus> catalog = titanDao.getVertexByLabel(vertexlabel);
+ Either<GraphVertex, JanusGraphOperationStatus> catalog = janusGraphDao.getVertexByLabel(vertexlabel);
if (catalog.isRight()) {
log.debug("Failed to fetch {} vertex, error {}", vertexlabel, catalog.right().value());
return catalog.right().value();
}
GraphVertex catalogV = catalog.left().value();
Edge edge = edgesToCatalog.next();
- return titanDao.createEdge(catalogV.getVertex(), prevVersionVertex, edgeLabel, edge );
+ return janusGraphDao.createEdge(catalogV.getVertex(), prevVersionVertex, edgeLabel, edge );
}
- return TitanOperationStatus.OK;
+ return JanusGraphOperationStatus.OK;
}
private boolean isReferenceExist(GraphVertex metadataVertex) {