summaryrefslogtreecommitdiffstats
path: root/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/InterfaceLifecycleOperation.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/InterfaceLifecycleOperation.java')
-rw-r--r--catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/InterfaceLifecycleOperation.java468
1 files changed, 165 insertions, 303 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/InterfaceLifecycleOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/InterfaceLifecycleOperation.java
index 0d29c18a95..a7c883b14e 100644
--- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/InterfaceLifecycleOperation.java
+++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/InterfaceLifecycleOperation.java
@@ -27,12 +27,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import com.thinkaurelius.titan.core.TitanTransaction;
-import com.thinkaurelius.titan.core.TitanVertex;
-
-import org.apache.cassandra.transport.Event.StatusChange;
import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.be.dao.graph.datatype.GraphEdge;
import org.openecomp.sdc.be.dao.graph.datatype.GraphNode;
import org.openecomp.sdc.be.dao.graph.datatype.GraphRelation;
@@ -56,6 +51,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
+import com.thinkaurelius.titan.core.TitanVertex;
+
import fj.data.Either;
@Component("interface-operation")
@@ -74,45 +71,40 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
private TitanGenericDao titanGenericDao;
@Override
- public Either<InterfaceDefinition, StorageOperationStatus> addInterfaceToResource(InterfaceDefinition interf,
- String resourceId, String interfaceName) {
+ public Either<InterfaceDefinition, StorageOperationStatus> addInterfaceToResource(InterfaceDefinition interf, String resourceId, String interfaceName) {
return addInterfaceToResource(interf, resourceId, interfaceName, false);
}
@Override
- public Either<InterfaceDefinition, StorageOperationStatus> addInterfaceToResource(InterfaceDefinition interf,
- String resourceId, String interfaceName, boolean inTransaction) {
+ public Either<InterfaceDefinition, StorageOperationStatus> addInterfaceToResource(InterfaceDefinition interf, String resourceId, String interfaceName, boolean inTransaction) {
return createInterfaceOnResource(interf, resourceId, interfaceName, true, inTransaction);
}
- private Either<OperationData, TitanOperationStatus> addOperationToGraph(InterfaceDefinition interf, String opName,
- Operation op, InterfaceData interfaceData) {
+ private Either<OperationData, TitanOperationStatus> addOperationToGraph(InterfaceDefinition interf, String opName, Operation op, InterfaceData interfaceData) {
op.setUniqueId(UniqueIdBuilder.buildPropertyUniqueId((String) interfaceData.getUniqueId(), opName));
OperationData operationData = new OperationData(op);
log.debug("Before adding operation to graph {}", operationData);
- Either<OperationData, TitanOperationStatus> createOpNodeResult = titanGenericDao.createNode(operationData,
- OperationData.class);
+ Either<OperationData, TitanOperationStatus> createOpNodeResult = titanGenericDao.createNode(operationData, OperationData.class);
log.debug("After adding operation to graph {}", operationData);
if (createOpNodeResult.isRight()) {
TitanOperationStatus opStatus = createOpNodeResult.right().value();
- log.error("Failed to add operation {} to graph. Status is {}", opName, opStatus);
+ log.error("Failed to add operation {} to graph. status is {}", opName, opStatus);
return Either.right(opStatus);
}
Map<String, Object> props = new HashMap<String, Object>();
props.put(GraphPropertiesDictionary.NAME.getProperty(), opName);
- Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(interfaceData,
- operationData, GraphEdgeLabels.INTERFACE_OPERATION, props);
+ Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(interfaceData, operationData, GraphEdgeLabels.INTERFACE_OPERATION, props);
if (createRelResult.isRight()) {
TitanOperationStatus operationStatus = createOpNodeResult.right().value();
- log.error("Failed to associate operation {} to property {} in graph. Status is {}", interfaceData.getUniqueId(), opName, operationStatus);
+ log.error("Failed to associate operation {} to property {} in graph. status is {}", interfaceData.getUniqueId(), opName, operationStatus);
return Either.right(operationStatus);
}
@@ -121,11 +113,9 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
- private Either<TitanVertex, TitanOperationStatus> addOperationToGraph(InterfaceDefinition interf, String opName,
- Operation op, TitanVertex interfaceVertex) {
+ private Either<TitanVertex, TitanOperationStatus> addOperationToGraph(InterfaceDefinition interf, String opName, Operation op, TitanVertex interfaceVertex) {
- String interfaceId = (String) titanGenericDao.getProperty(interfaceVertex,
- GraphPropertiesDictionary.UNIQUE_ID.getProperty());
+ String interfaceId = (String) titanGenericDao.getProperty(interfaceVertex, GraphPropertiesDictionary.UNIQUE_ID.getProperty());
op.setUniqueId(UniqueIdBuilder.buildPropertyUniqueId(interfaceId, opName));
OperationData operationData = new OperationData(op);
@@ -141,12 +131,10 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
Map<String, Object> props = new HashMap<String, Object>();
props.put(GraphPropertiesDictionary.NAME.getProperty(), opName);
TitanVertex operationVertex = createOpNodeResult.left().value();
- TitanOperationStatus createRelResult = titanGenericDao.createEdge(interfaceVertex, operationVertex,
- GraphEdgeLabels.INTERFACE_OPERATION, props);
+ TitanOperationStatus createRelResult = titanGenericDao.createEdge(interfaceVertex, operationVertex, GraphEdgeLabels.INTERFACE_OPERATION, props);
if (!createRelResult.equals(TitanOperationStatus.OK)) {
- log.error("Failed to associate operation {} to property {} in graph. status is {}", interfaceId, opName,
- createRelResult);
+ log.error("Failed to associate operation {} to property {} in graph. status is {}", interfaceId, opName, createRelResult);
return Either.right(createRelResult);
}
@@ -173,8 +161,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
- private Either<InterfaceData, TitanOperationStatus> addInterfaceToGraph(InterfaceDefinition interfaceInfo,
- String interfaceName, String resourceId) {
+ private Either<InterfaceData, TitanOperationStatus> addInterfaceToGraph(InterfaceDefinition interfaceInfo, String interfaceName, String resourceId) {
InterfaceData interfaceData = new InterfaceData(interfaceInfo);
@@ -185,8 +172,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
interfaceInfo.setUniqueId(UniqueIdBuilder.buildPropertyUniqueId(resourceId, interfaceNameSplitted));
- Either<InterfaceData, TitanOperationStatus> existInterface = titanGenericDao
- .getNode(interfaceData.getUniqueIdKey(), interfaceData.getUniqueId(), InterfaceData.class);
+ Either<InterfaceData, TitanOperationStatus> existInterface = titanGenericDao.getNode(interfaceData.getUniqueIdKey(), interfaceData.getUniqueId(), InterfaceData.class);
if (existInterface.isRight()) {
@@ -197,8 +183,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
}
- private Either<TitanVertex, TitanOperationStatus> addInterfaceToGraph(InterfaceDefinition interfaceInfo,
- String interfaceName, String resourceId, TitanVertex metadataVertex) {
+ private Either<TitanVertex, TitanOperationStatus> addInterfaceToGraph(InterfaceDefinition interfaceInfo, String interfaceName, String resourceId, TitanVertex metadataVertex) {
InterfaceData interfaceData = new InterfaceData(interfaceInfo);
@@ -206,8 +191,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
interfaceInfo.setUniqueId(UniqueIdBuilder.buildPropertyUniqueId(resourceId, interfaceNameSplitted));
- Either<TitanVertex, TitanOperationStatus> existInterface = titanGenericDao
- .getVertexByProperty(interfaceData.getUniqueIdKey(), interfaceData.getUniqueId());
+ Either<TitanVertex, TitanOperationStatus> existInterface = titanGenericDao.getVertexByProperty(interfaceData.getUniqueIdKey(), interfaceData.getUniqueId());
if (existInterface.isRight()) {
@@ -218,26 +202,23 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
}
- private Either<InterfaceData, TitanOperationStatus> createInterfaceNodeAndRelation(String interfaceName,
- String resourceId, InterfaceData interfaceData, ResourceMetadataData resourceData) {
+ private Either<InterfaceData, TitanOperationStatus> createInterfaceNodeAndRelation(String interfaceName, String resourceId, InterfaceData interfaceData, ResourceMetadataData resourceData) {
log.debug("Before adding interface to graph {}", interfaceData);
- Either<InterfaceData, TitanOperationStatus> createNodeResult = titanGenericDao.createNode(interfaceData,
- InterfaceData.class);
+ Either<InterfaceData, TitanOperationStatus> createNodeResult = titanGenericDao.createNode(interfaceData, InterfaceData.class);
log.debug("After adding property to graph {}", interfaceData);
if (createNodeResult.isRight()) {
TitanOperationStatus operationStatus = createNodeResult.right().value();
- log.error("Failed to add interface {} to graph. Status is {}", interfaceName, operationStatus);
+ log.error("Failed to add interface {} to graph. status is {}", interfaceName, operationStatus);
return Either.right(operationStatus);
}
Map<String, Object> props = new HashMap<String, Object>();
props.put(GraphPropertiesDictionary.NAME.getProperty(), interfaceName);
- Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(resourceData,
- interfaceData, GraphEdgeLabels.INTERFACE, props);
+ Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(resourceData, interfaceData, GraphEdgeLabels.INTERFACE, props);
if (createRelResult.isRight()) {
TitanOperationStatus operationStatus = createNodeResult.right().value();
- log.error("Failed to associate resource {} to property {} in graph. Status is {}", resourceId, interfaceName, operationStatus);
+ log.error("Failed to associate resource {} to property {} in graph. status is {}", resourceId, interfaceName, operationStatus);
return Either.right(operationStatus);
}
@@ -245,8 +226,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
return Either.left(createNodeResult.left().value());
}
- private Either<TitanVertex, TitanOperationStatus> createInterfaceNodeAndRelation(String interfaceName,
- String resourceId, InterfaceData interfaceData, TitanVertex metadataVertex) {
+ private Either<TitanVertex, TitanOperationStatus> createInterfaceNodeAndRelation(String interfaceName, String resourceId, InterfaceData interfaceData, TitanVertex metadataVertex) {
log.debug("Before adding interface to graph {}", interfaceData);
Either<TitanVertex, TitanOperationStatus> createNodeResult = titanGenericDao.createNode(interfaceData);
@@ -259,35 +239,30 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
Map<String, Object> props = new HashMap<String, Object>();
props.put(GraphPropertiesDictionary.NAME.getProperty(), interfaceName);
TitanVertex interfaceVertex = createNodeResult.left().value();
- TitanOperationStatus createRelResult = titanGenericDao.createEdge(metadataVertex, interfaceVertex,
- GraphEdgeLabels.INTERFACE, props);
+ TitanOperationStatus createRelResult = titanGenericDao.createEdge(metadataVertex, interfaceVertex, GraphEdgeLabels.INTERFACE, props);
if (!createRelResult.equals(TitanOperationStatus.OK)) {
- log.error("Failed to associate resource {} to property {} in graph. status is {}", resourceId,
- interfaceName, createRelResult);
+ log.error("Failed to associate resource {} to property {} in graph. status is {}", resourceId, interfaceName, createRelResult);
}
return Either.left(interfaceVertex);
}
- private Either<OperationData, TitanOperationStatus> createOperationNodeAndRelation(String operationName,
- OperationData operationData, InterfaceData interfaceData) {
+ private Either<OperationData, TitanOperationStatus> createOperationNodeAndRelation(String operationName, OperationData operationData, InterfaceData interfaceData) {
log.debug("Before adding operation to graph {}", operationData);
- Either<OperationData, TitanOperationStatus> createNodeResult = titanGenericDao.createNode(operationData,
- OperationData.class);
+ Either<OperationData, TitanOperationStatus> createNodeResult = titanGenericDao.createNode(operationData, OperationData.class);
log.debug("After adding operation to graph {}", interfaceData);
if (createNodeResult.isRight()) {
TitanOperationStatus operationStatus = createNodeResult.right().value();
- log.error("Failed to add interfoperationce {} to graph. Status is {}", operationName, operationStatus);
+ log.error("Failed to add interfoperationce {} to graph. status is {}", operationName, operationStatus);
return Either.right(operationStatus);
}
Map<String, Object> props = new HashMap<String, Object>();
props.put(GraphPropertiesDictionary.NAME.getProperty(), operationName);
- Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(interfaceData,
- operationData, GraphEdgeLabels.INTERFACE_OPERATION, props);
+ Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(interfaceData, operationData, GraphEdgeLabels.INTERFACE_OPERATION, props);
if (createRelResult.isRight()) {
TitanOperationStatus operationStatus = createNodeResult.right().value();
- log.error("Failed to associate operation {} to interface {} in graph. Status is {}", operationName, interfaceData.getUniqueId(), operationStatus);
+ log.error("Failed to associate operation {} to interface {} in graph. status is {}", operationName, interfaceData.getUniqueId(), operationStatus);
return Either.right(operationStatus);
}
@@ -307,7 +282,8 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
// * InterfaceData propertyData = getResult.left().value(); return
// * Either.left(convertPropertyDataToPropertyDefinition(propertyData)); }
// * else { TitanOperationStatus titanStatus = getResult.right().value();
- // * log.debug("Node with id {} was not found in the graph. Status: {}", propertyId, titanStatus);
+ // * log.debug("Node with id " + propertyId +
+ // * " was not found in the graph. status: " + titanStatus);
// * StorageOperationStatus storageOperationStatus =
// * DaoStatusConverter.convertTitanStatusToStorageStatus(titanStatus);
// * return Either.right(storageOperationStatus); }
@@ -323,14 +299,12 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
// }
@Override
- public Either<Map<String, InterfaceDefinition>, StorageOperationStatus> getAllInterfacesOfResource(
- String resourceIdn, boolean recursively) {
+ public Either<Map<String, InterfaceDefinition>, StorageOperationStatus> getAllInterfacesOfResource(String resourceIdn, boolean recursively) {
return getAllInterfacesOfResource(resourceIdn, recursively, false);
}
@Override
- public Either<Map<String, InterfaceDefinition>, StorageOperationStatus> getAllInterfacesOfResource(
- String resourceId, boolean recursively, boolean inTransaction) {
+ public Either<Map<String, InterfaceDefinition>, StorageOperationStatus> getAllInterfacesOfResource(String resourceId, boolean recursively, boolean inTransaction) {
Either<Map<String, InterfaceDefinition>, StorageOperationStatus> result = null;
Map<String, InterfaceDefinition> interfaces = new HashMap<String, InterfaceDefinition>();
@@ -348,7 +322,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
findInterfacesRes = findAllInterfacesNotRecursively(resourceId, interfaces);
}
if (!findInterfacesRes.equals(TitanOperationStatus.OK)) {
- log.error("Failed to get all interfaces of resource {}. Status is {}", resourceId, findInterfacesRes);
+ log.error("Failed to get all interfaces of resource {}. status is {}", resourceId, findInterfacesRes);
result = Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(findInterfacesRes));
return result;
}
@@ -367,12 +341,10 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
}
- private TitanOperationStatus findAllInterfacesNotRecursively(String resourceId,
- Map<String, InterfaceDefinition> interfaces) {
+ private TitanOperationStatus findAllInterfacesNotRecursively(String resourceId, Map<String, InterfaceDefinition> interfaces) {
- Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> interfaceNodes = titanGenericDao
- .getChildrenNodes(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Resource), resourceId,
- GraphEdgeLabels.INTERFACE, NodeTypeEnum.Interface, InterfaceData.class);
+ Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> interfaceNodes = titanGenericDao.getChildrenNodes(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Resource), resourceId, GraphEdgeLabels.INTERFACE,
+ NodeTypeEnum.Interface, InterfaceData.class);
if (interfaceNodes.isRight()) {
TitanOperationStatus status = interfaceNodes.right().value();
@@ -384,15 +356,13 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
if (interfaceList != null) {
for (ImmutablePair<InterfaceData, GraphEdge> interfacePair : interfaceList) {
String interfaceUniqueId = (String) interfacePair.getKey().getUniqueId();
- Either<String, TitanOperationStatus> interfaceNameRes = getPropertyValueFromEdge(
- interfacePair.getValue(), GraphPropertiesDictionary.NAME);
+ Either<String, TitanOperationStatus> interfaceNameRes = getPropertyValueFromEdge(interfacePair.getValue(), GraphPropertiesDictionary.NAME);
if (interfaceNameRes.isRight()) {
log.error("The requirement name is missing on the edge of requirement {}", interfaceUniqueId);
return interfaceNameRes.right().value();
}
String interfaceName = interfaceNameRes.left().value();
- Either<InterfaceDefinition, TitanOperationStatus> interfaceDefRes = getNonRecursiveInterface(
- interfacePair.getKey());
+ Either<InterfaceDefinition, TitanOperationStatus> interfaceDefRes = getNonRecursiveInterface(interfacePair.getKey());
if (interfaceDefRes.isRight()) {
TitanOperationStatus status = interfaceDefRes.right().value();
log.error("Failed to get interface actions of interface {}", interfaceUniqueId);
@@ -401,7 +371,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
InterfaceDefinition interfaceDefinition = interfaceDefRes.left().value();
if (true == interfaces.containsKey(interfaceName)) {
- log.debug("The interface {} was already defined in derived resource. add not overriden operations", interfaceName);
+ log.debug("The interface {} was already defined in dervied resource. add not overriden operations", interfaceName);
InterfaceDefinition existInterface = interfaces.get(interfaceName);
addMissingOperationsToInterface(interfaceDefinition, existInterface);
} else {
@@ -414,17 +384,15 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
return TitanOperationStatus.OK;
}
- public TitanOperationStatus findAllInterfacesRecursively(String resourceId,
- Map<String, InterfaceDefinition> interfaces) {
+ public TitanOperationStatus findAllInterfacesRecursively(String resourceId, Map<String, InterfaceDefinition> interfaces) {
TitanOperationStatus findAllInterfacesNotRecursively = findAllInterfacesNotRecursively(resourceId, interfaces);
if (!findAllInterfacesNotRecursively.equals(TitanOperationStatus.OK)) {
- log.error("failed to get interfaces for resource {}. Status is {}", resourceId, findAllInterfacesNotRecursively);
+ log.error("failed to get interfaces for resource {}. status is {}", resourceId, findAllInterfacesNotRecursively);
}
- Either<ImmutablePair<ResourceMetadataData, GraphEdge>, TitanOperationStatus> parentNodes = titanGenericDao
- .getChild(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Resource), resourceId,
- GraphEdgeLabels.DERIVED_FROM, NodeTypeEnum.Resource, ResourceMetadataData.class);
+ Either<ImmutablePair<ResourceMetadataData, GraphEdge>, TitanOperationStatus> parentNodes = titanGenericDao.getChild(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Resource), resourceId, GraphEdgeLabels.DERIVED_FROM, NodeTypeEnum.Resource,
+ ResourceMetadataData.class);
if (parentNodes.isRight()) {
TitanOperationStatus parentNodesStatus = parentNodes.right().value();
@@ -432,7 +400,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
log.debug("Finish to lookup for parnet interfaces");
return TitanOperationStatus.OK;
} else {
- log.error("Failed to find parent interfaces of resource {}. Status is {}", resourceId, parentNodesStatus);
+ log.error("Failed to find parent interfaces of resource {}. status is {}", resourceId, parentNodesStatus);
return parentNodesStatus;
}
}
@@ -448,8 +416,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
return TitanOperationStatus.OK;
}
- private Either<String, TitanOperationStatus> getPropertyValueFromEdge(GraphEdge edge,
- GraphPropertiesDictionary property) {
+ private Either<String, TitanOperationStatus> getPropertyValueFromEdge(GraphEdge edge, GraphPropertiesDictionary property) {
Map<String, Object> edgeProps = edge.getProperties();
String interfaceName = null;
if (edgeProps != null) {
@@ -469,9 +436,8 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
InterfaceDefinition interfaceDefinition = new InterfaceDefinition(interfaceData.getInterfaceDataDefinition());
String interfaceId = interfaceData.getUniqueId();
- Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationsRes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), interfaceId,
- GraphEdgeLabels.INTERFACE_OPERATION, NodeTypeEnum.InterfaceOperation, OperationData.class);
+ Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationsRes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), interfaceId, GraphEdgeLabels.INTERFACE_OPERATION,
+ NodeTypeEnum.InterfaceOperation, OperationData.class);
if (operationsRes.isRight()) {
TitanOperationStatus status = operationsRes.right().value();
@@ -486,8 +452,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
if (operationList != null && !operationList.isEmpty()) {
for (ImmutablePair<OperationData, GraphEdge> operationPair : operationList) {
Operation operation = new Operation(operationPair.getKey().getOperationDataDefinition());
- Either<String, TitanOperationStatus> operationNameRes = getPropertyValueFromEdge(
- operationPair.getValue(), GraphPropertiesDictionary.NAME);
+ Either<String, TitanOperationStatus> operationNameRes = getPropertyValueFromEdge(operationPair.getValue(), GraphPropertiesDictionary.NAME);
if (operationNameRes.isRight()) {
log.error("The operation name is missing on the edge of operation {}", operationPair.getKey().getUniqueId());
return Either.right(operationNameRes.right().value());
@@ -504,11 +469,9 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
private StorageOperationStatus findOperationImplementation(Operation operation) {
String operationId = operation.getUniqueId();
- Either<Map<String, ArtifactDefinition>, StorageOperationStatus> artifactsRes = artifactOperation
- .getArtifacts(operationId, NodeTypeEnum.InterfaceOperation, true);
+ Either<Map<String, ArtifactDefinition>, StorageOperationStatus> artifactsRes = artifactOperation.getArtifacts(operationId, NodeTypeEnum.InterfaceOperation, true);
if (artifactsRes.isRight() || artifactsRes.left().value() == null) {
- log.error("failed to get artifact from graph for operation id {}. status is {}", operationId,
- artifactsRes.right().value());
+ log.error("failed to get artifact from graph for operation id {}. status is {}", operationId, artifactsRes.right().value());
return artifactsRes.right().value();
} else {
Map<String, ArtifactDefinition> artifacts = artifactsRes.left().value();
@@ -521,10 +484,9 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
return StorageOperationStatus.OK;
}
- private StorageOperationStatus addMissingOperationsToInterface(InterfaceDefinition interfaceDefinition,
- InterfaceDefinition existInterface) {
- Map<String, Operation> existOperations = existInterface.getOperations();
- Map<String, Operation> operations = interfaceDefinition.getOperations();
+ private StorageOperationStatus addMissingOperationsToInterface(InterfaceDefinition interfaceDefinition, InterfaceDefinition existInterface) {
+ Map<String, Operation> existOperations = existInterface.getOperationsMap();
+ Map<String, Operation> operations = interfaceDefinition.getOperationsMap();
if (operations != null && !operations.isEmpty()) {
Set<Entry<String, Operation>> operationsSet = operations.entrySet();
for (Entry<String, Operation> operation : operationsSet) {
@@ -537,29 +499,22 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
@Override
- public Either<Operation, StorageOperationStatus> updateInterfaceOperation(String resourceId, String interfaceName,
- String operationName, Operation interf) {
+ public Either<Operation, StorageOperationStatus> updateInterfaceOperation(String resourceId, String interfaceName, String operationName, Operation interf) {
return updateInterfaceOperation(resourceId, interfaceName, operationName, interf, false);
}
@Override
- public Either<Operation, StorageOperationStatus> updateInterfaceOperation(String resourceId, String interfaceName,
- String operationName, Operation operation, boolean inTransaction) {
- Either<Operation, StorageOperationStatus> status = updateOperationOnGraph(operation, resourceId, interfaceName,
- operationName);
+ public Either<Operation, StorageOperationStatus> updateInterfaceOperation(String resourceId, String interfaceName, String operationName, Operation operation, boolean inTransaction) {
+ Either<Operation, StorageOperationStatus> status = updateOperationOnGraph(operation, resourceId, interfaceName, operationName);
/*
- * if (status.isRight()) { if (false == inTransaction) {
- * titanGenericDao.rollback(); } log.error("Failed to update operation "
- * + operationName + " of interfaceName " + interfaceName +
- * " of resource" + resourceId); return Either.right(DaoStatusConverter
- * .convertTitanStatusToStorageStatus(status.right().value())); } else {
- * if (false == inTransaction) { titanGenericDao.commit(); }
- * OperationData operationData = status.left().value();
+ * if (status.isRight()) { if (false == inTransaction) { titanGenericDao.rollback(); }
+ * log.error("Failed to update operation {} of interfaceName {} of resource {}", operationName, interfaceName, resourceId);
+ * return
+ * Either.right(DaoStatusConverter .convertTitanStatusToStorageStatus(status.right().value())); } else { if (false == inTransaction) { titanGenericDao.commit(); } OperationData operationData = status.left().value();
*
- * Operation operationDefResult =
- * convertOperationDataToOperation(operationData);
+ * Operation operationDefResult = convertOperationDataToOperation(operationData);
*
*
* log.debug("The returned OperationDefintion is {}", operationDefResult); return Either.left(operationDefResult); }
@@ -567,26 +522,16 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
return status;
}
- private Either<Operation, StorageOperationStatus> updateOperationOnGraph(Operation operation, String resourceId,
- String interfaceName, String operationName) {
+ private Either<Operation, StorageOperationStatus> updateOperationOnGraph(Operation operation, String resourceId, String interfaceName, String operationName) {
- Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> childrenNodes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), resourceId,
- GraphEdgeLabels.INTERFACE, NodeTypeEnum.Interface, InterfaceData.class);
+ Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> childrenNodes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), resourceId, GraphEdgeLabels.INTERFACE, NodeTypeEnum.Interface,
+ InterfaceData.class);
if (childrenNodes.isRight()) {
/*
- * InterfaceDefinition intDef = new InterfaceDefinition();
- * intDef.setType(interfaceName); Map<String, Operation> opMap = new
- * HashMap<String, Operation>(); opMap.put(operationName,
- * operation); intDef.setOperations(opMap);
- * Either<InterfaceDefinition, StorageOperationStatus> statusRes =
- * this .createInterfaceOnResource(intDef, resourceId,
- * interfaceName, true); if (statusRes.isRight()) return
- * Either.right(statusRes.right().value()); else {
- * InterfaceDefinition newDef = statusRes.left().value(); Operation
- * res = newDef.getOperations().get(operationName); return
- * Either.left(res); }
+ * InterfaceDefinition intDef = new InterfaceDefinition(); intDef.setType(interfaceName); Map<String, Operation> opMap = new HashMap<String, Operation>(); opMap.put(operationName, operation); intDef.setOperations(opMap);
+ * Either<InterfaceDefinition, StorageOperationStatus> statusRes = this .createInterfaceOnResource(intDef, resourceId, interfaceName, true); if (statusRes.isRight()) return Either.right(statusRes.right().value()); else {
+ * InterfaceDefinition newDef = statusRes.left().value(); Operation res = newDef.getOperations().get(operationName); return Either.left(res); }
*/
return updateOperationFromParentNode(operation, resourceId, interfaceName, operationName);
@@ -597,8 +542,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
- private Either<Operation, StorageOperationStatus> updateExistingOperation(String resourceId, Operation operation,
- String interfaceName, String operationName,
+ private Either<Operation, StorageOperationStatus> updateExistingOperation(String resourceId, Operation operation, String interfaceName, String operationName,
Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> childrenNodes) {
Operation newOperation = null;
StorageOperationStatus storageOperationStatus = StorageOperationStatus.GENERAL_ERROR;
@@ -610,14 +554,11 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
InterfaceData interfaceData = interfaceDataNode.getKey();
if (interfaceEdgeProp.get(GraphPropertiesDictionary.NAME.getProperty()).equals(interfaceName)) {
- Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(),
- (String) interfaceDataNode.getLeft().getUniqueId(), GraphEdgeLabels.INTERFACE_OPERATION,
- NodeTypeEnum.InterfaceOperation, OperationData.class);
+ Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), (String) interfaceDataNode.getLeft().getUniqueId(),
+ GraphEdgeLabels.INTERFACE_OPERATION, NodeTypeEnum.InterfaceOperation, OperationData.class);
if (operationRes.isRight()) {
- log.error("Failed to find operation {} on interface {}", operationName, interfaceName);
- return Either
- .right(DaoStatusConverter.convertTitanStatusToStorageStatus(operationRes.right().value()));
+ log.error("Failed to find operation {} on interface {}", operationName, interfaceName);
+ return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(operationRes.right().value()));
} else {
List<ImmutablePair<OperationData, GraphEdge>> operations = operationRes.left().value();
for (ImmutablePair<OperationData, GraphEdge> operationPairEdge : operations) {
@@ -625,25 +566,18 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
OperationData opData = operationPairEdge.getLeft();
Map<String, Object> opEdgeProp = opEdge.getProperties();
if (opEdgeProp.get(GraphPropertiesDictionary.NAME.getProperty()).equals(operationName)) {
- ArtifactDefinition artifact = operation.getImplementation();
- Either<ImmutablePair<ArtifactData, GraphEdge>, TitanOperationStatus> artifactRes = titanGenericDao
- .getChild(GraphPropertiesDictionary.UNIQUE_ID.getProperty(),
- (String) opData.getUniqueId(), GraphEdgeLabels.ARTIFACT_REF,
- NodeTypeEnum.ArtifactRef, ArtifactData.class);
+ ArtifactDefinition artifact = operation.getImplementationArtifact();
+ Either<ImmutablePair<ArtifactData, GraphEdge>, TitanOperationStatus> artifactRes = titanGenericDao.getChild(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), (String) opData.getUniqueId(), GraphEdgeLabels.ARTIFACT_REF,
+ NodeTypeEnum.ArtifactRef, ArtifactData.class);
Either<ArtifactDefinition, StorageOperationStatus> artStatus;
if (artifactRes.isRight()) {
- artStatus = artifactOperation.addArifactToComponent(artifact,
- (String) operationPairEdge.getLeft().getUniqueId(),
- NodeTypeEnum.InterfaceOperation, true, true);
+ artStatus = artifactOperation.addArifactToComponent(artifact, (String) operationPairEdge.getLeft().getUniqueId(), NodeTypeEnum.InterfaceOperation, true, true);
} else {
- artStatus = artifactOperation.updateArifactOnResource(artifact,
- (String) operationPairEdge.getLeft().getUniqueId(),
- (String) artifactRes.left().value().getLeft().getUniqueId(),
- NodeTypeEnum.InterfaceOperation, true);
+ artStatus = artifactOperation.updateArifactOnResource(artifact, (String) operationPairEdge.getLeft().getUniqueId(), (String) artifactRes.left().value().getLeft().getUniqueId(), NodeTypeEnum.InterfaceOperation, true);
}
if (artStatus.isRight()) {
titanGenericDao.rollback();
- log.error("Failed to add artifact {}", operationName, interfaceName);
+ log.error("Failed to add artifact {} to interface {}", operationName, interfaceName);
return Either.right(artStatus.right().value());
} else {
newOperation = this.convertOperationDataToOperation(opData);
@@ -655,23 +589,18 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
if (newOperation == null) {
- Either<InterfaceData, TitanOperationStatus> parentInterfaceStatus = findInterfaceOnParentNode(
- resourceId, interfaceName);
+ Either<InterfaceData, TitanOperationStatus> parentInterfaceStatus = findInterfaceOnParentNode(resourceId, interfaceName);
if (parentInterfaceStatus.isRight()) {
log.debug("Interface {} not exist", interfaceName);
- return Either.right(DaoStatusConverter
- .convertTitanStatusToStorageStatus(parentInterfaceStatus.right().value()));
+ return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(parentInterfaceStatus.right().value()));
}
InterfaceData parentInterfaceData = parentInterfaceStatus.left().value();
- Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> opRes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(),
- (String) parentInterfaceData.getUniqueId(), GraphEdgeLabels.INTERFACE_OPERATION,
- NodeTypeEnum.InterfaceOperation, OperationData.class);
+ Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> opRes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), (String) parentInterfaceData.getUniqueId(),
+ GraphEdgeLabels.INTERFACE_OPERATION, NodeTypeEnum.InterfaceOperation, OperationData.class);
if (opRes.isRight()) {
- log.error("Failed to find operation {} on interface", operationName, interfaceName);
- return Either.right(
- DaoStatusConverter.convertTitanStatusToStorageStatus(operationRes.right().value()));
+ log.error("Failed to find operation {} on interface {}", operationName, interfaceName);
+ return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(operationRes.right().value()));
} else {
List<ImmutablePair<OperationData, GraphEdge>> parentOperations = opRes.left().value();
@@ -679,10 +608,8 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
GraphEdge opEdge = operationPairEdge.getRight();
OperationData opData = operationPairEdge.getLeft();
Map<String, Object> opEdgeProp = opEdge.getProperties();
- if (opEdgeProp.get(GraphPropertiesDictionary.NAME.getProperty())
- .equals(operationName)) {
- return copyAndCreateNewOperation(operation, interfaceName, operationName, null,
- interfaceData, operationRes, opData);
+ if (opEdgeProp.get(GraphPropertiesDictionary.NAME.getProperty()).equals(operationName)) {
+ return copyAndCreateNewOperation(operation, interfaceName, operationName, null, interfaceData, operationRes, opData);
}
}
}
@@ -703,26 +630,20 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
return Either.left(newOperation);
}
- private Either<Operation, StorageOperationStatus> copyAndCreateNewOperation(Operation operation,
- String interfaceName, String operationName, Operation newOperation, InterfaceData interfaceData,
- Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes,
- OperationData opData) {
+ private Either<Operation, StorageOperationStatus> copyAndCreateNewOperation(Operation operation, String interfaceName, String operationName, Operation newOperation, InterfaceData interfaceData,
+ Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes, OperationData opData) {
OperationDataDefinition opDataInfo = opData.getOperationDataDefinition();
OperationDataDefinition newOperationInfo = new OperationDataDefinition(opDataInfo);
- newOperationInfo.setUniqueId(
- UniqueIdBuilder.buildPropertyUniqueId(interfaceData.getUniqueId(), operationName.toLowerCase()));
+ newOperationInfo.setUniqueId(UniqueIdBuilder.buildPropertyUniqueId(interfaceData.getUniqueId(), operationName.toLowerCase()));
OperationData newopData = new OperationData(newOperationInfo);
- Either<OperationData, TitanOperationStatus> operationStatus = createOperationNodeAndRelation(operationName,
- newopData, interfaceData);
+ Either<OperationData, TitanOperationStatus> operationStatus = createOperationNodeAndRelation(operationName, newopData, interfaceData);
if (operationStatus.isRight()) {
- log.error("Failed to create operation {} on interface {}", operationName, interfaceName);
+ log.error("Failed to create operation {} on interface {}", operationName, interfaceName);
return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(operationRes.right().value()));
}
- ArtifactDefinition artifact = operation.getImplementation();
+ ArtifactDefinition artifact = operation.getImplementationArtifact();
if (artifact != null) {
- Either<ArtifactDefinition, StorageOperationStatus> artStatus = artifactOperation.addArifactToComponent(
- artifact, (String) operationStatus.left().value().getUniqueId(), NodeTypeEnum.InterfaceOperation,
- true, true);
+ Either<ArtifactDefinition, StorageOperationStatus> artStatus = artifactOperation.addArifactToComponent(artifact, (String) operationStatus.left().value().getUniqueId(), NodeTypeEnum.InterfaceOperation, true, true);
if (artStatus.isRight()) {
titanGenericDao.rollback();
log.error("Failed to add artifact {} to interface {}", operationName, interfaceName);
@@ -735,17 +656,14 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
return Either.left(newOperation);
}
- private Either<Operation, StorageOperationStatus> updateOperationFromParentNode(Operation operation,
- String resourceId, String interfaceName, String operationName) {
+ private Either<Operation, StorageOperationStatus> updateOperationFromParentNode(Operation operation, String resourceId, String interfaceName, String operationName) {
// Operation newOperation = null;
ResourceMetadataData resourceData = new ResourceMetadataData();
resourceData.getMetadataDataDefinition().setUniqueId(resourceId);
- Either<InterfaceData, TitanOperationStatus> parentInterfaceStatus = findInterfaceOnParentNode(resourceId,
- interfaceName);
+ Either<InterfaceData, TitanOperationStatus> parentInterfaceStatus = findInterfaceOnParentNode(resourceId, interfaceName);
if (parentInterfaceStatus.isRight()) {
log.debug("Interface {} not exist", interfaceName);
- return Either
- .right(DaoStatusConverter.convertTitanStatusToStorageStatus(parentInterfaceStatus.right().value()));
+ return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(parentInterfaceStatus.right().value()));
}
InterfaceData interfaceData = parentInterfaceStatus.left().value();
@@ -756,28 +674,24 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
newInterfaceInfo.setUniqueId(UniqueIdBuilder.buildPropertyUniqueId(resourceId, interfaceNameSplitted));
InterfaceData updatedInterfaceData = new InterfaceData(newInterfaceInfo);
- Either<InterfaceData, TitanOperationStatus> createStatus = createInterfaceNodeAndRelation(interfaceName,
- resourceId, updatedInterfaceData, resourceData);
+ Either<InterfaceData, TitanOperationStatus> createStatus = createInterfaceNodeAndRelation(interfaceName, resourceId, updatedInterfaceData, resourceData);
if (createStatus.isRight()) {
- log.debug("failed to create interface node {} on resource {}", interfaceName, resourceId);
+ log.debug("failed to create interface node {} on resource {}", interfaceName, resourceId);
return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(createStatus.right().value()));
}
InterfaceData newInterfaceNode = createStatus.left().value();
- Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(newInterfaceNode,
- interfaceData, GraphEdgeLabels.DERIVED_FROM, null);
+ Either<GraphRelation, TitanOperationStatus> createRelResult = titanGenericDao.createRelation(newInterfaceNode, interfaceData, GraphEdgeLabels.DERIVED_FROM, null);
if (createRelResult.isRight()) {
TitanOperationStatus operationStatus = createRelResult.right().value();
- log.error("Failed to associate interface {} to interface {} in graph. Status is {}", interfaceData.getUniqueId(), newInterfaceNode.getUniqueId(), operationStatus);
+ log.error("Failed to associate interface {} to interface {} in graph. status is {}", interfaceData.getUniqueId(), newInterfaceNode.getUniqueId(), operationStatus);
return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(operationStatus));
}
- Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(),
- (String) interfaceData.getUniqueId(), GraphEdgeLabels.INTERFACE_OPERATION,
- NodeTypeEnum.InterfaceOperation, OperationData.class);
+ Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), (String) interfaceData.getUniqueId(),
+ GraphEdgeLabels.INTERFACE_OPERATION, NodeTypeEnum.InterfaceOperation, OperationData.class);
if (operationRes.isRight()) {
- log.error("Failed to find operation {} on interface {}", operationName, interfaceName);
+ log.error("Failed to find operation {} on interface {}", operationName, interfaceName);
return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(operationRes.right().value()));
} else {
@@ -802,25 +716,20 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
// return Either.left(newOperation);
}
- private Either<InterfaceData, TitanOperationStatus> findInterfaceOnParentNode(String resourceId,
- String interfaceName) {
+ private Either<InterfaceData, TitanOperationStatus> findInterfaceOnParentNode(String resourceId, String interfaceName) {
- Either<ImmutablePair<ResourceMetadataData, GraphEdge>, TitanOperationStatus> parentRes = titanGenericDao
- .getChild(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), resourceId, GraphEdgeLabels.DERIVED_FROM,
- NodeTypeEnum.Resource, ResourceMetadataData.class);
+ Either<ImmutablePair<ResourceMetadataData, GraphEdge>, TitanOperationStatus> parentRes = titanGenericDao.getChild(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), resourceId, GraphEdgeLabels.DERIVED_FROM, NodeTypeEnum.Resource,
+ ResourceMetadataData.class);
if (parentRes.isRight()) {
- log.debug("interface {} not found", interfaceName);
+ log.debug("interface {} not found ", interfaceName);
return Either.right(parentRes.right().value());
}
ImmutablePair<ResourceMetadataData, GraphEdge> parenNode = parentRes.left().value();
- Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> childrenNodes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(),
- parenNode.getKey().getMetadataDataDefinition().getUniqueId(), GraphEdgeLabels.INTERFACE,
- NodeTypeEnum.Interface, InterfaceData.class);
+ Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> childrenNodes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), parenNode.getKey().getMetadataDataDefinition().getUniqueId(),
+ GraphEdgeLabels.INTERFACE, NodeTypeEnum.Interface, InterfaceData.class);
if (childrenNodes.isRight()) {
- return findInterfaceOnParentNode(parenNode.getKey().getMetadataDataDefinition().getUniqueId(),
- interfaceName);
+ return findInterfaceOnParentNode(parenNode.getKey().getMetadataDataDefinition().getUniqueId(), interfaceName);
} else {
for (ImmutablePair<InterfaceData, GraphEdge> interfaceDataNode : childrenNodes.left().value()) {
@@ -833,15 +742,13 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
}
- return findInterfaceOnParentNode(parenNode.getKey().getMetadataDataDefinition().getUniqueId(),
- interfaceName);
+ return findInterfaceOnParentNode(parenNode.getKey().getMetadataDataDefinition().getUniqueId(), interfaceName);
}
}
@Override
- public Either<InterfaceDefinition, StorageOperationStatus> createInterfaceOnResource(InterfaceDefinition interf,
- String resourceId, String interfaceName, boolean failIfExist, boolean inTransaction) {
+ public Either<InterfaceDefinition, StorageOperationStatus> createInterfaceOnResource(InterfaceDefinition interf, String resourceId, String interfaceName, boolean failIfExist, boolean inTransaction) {
Either<InterfaceData, TitanOperationStatus> status = addInterfaceToGraph(interf, interfaceName, resourceId);
@@ -857,15 +764,14 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
InterfaceData interfaceData = status.left().value();
InterfaceDefinition interfaceDefResult = convertInterfaceDataToInterfaceDefinition(interfaceData);
- Map<String, Operation> operations = interf.getOperations();
+ Map<String, Operation> operations = interf.getOperationsMap();
if (operations != null && !operations.isEmpty()) {
Set<String> opNames = operations.keySet();
Map<String, Operation> newOperations = new HashMap<String, Operation>();
for (String operationName : opNames) {
Operation op = operations.get(operationName);
- Either<OperationData, TitanOperationStatus> opStatus = addOperationToGraph(interf, operationName,
- op, interfaceData);
+ Either<OperationData, TitanOperationStatus> opStatus = addOperationToGraph(interf, operationName, op, interfaceData);
if (status.isRight()) {
titanGenericDao.rollback();
log.error("Failed to add operation {} to interface {}", operationName, interfaceName);
@@ -876,11 +782,9 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
OperationData opData = opStatus.left().value();
Operation newOperation = this.convertOperationDataToOperation(opData);
- ArtifactDefinition art = op.getImplementation();
+ ArtifactDefinition art = op.getImplementationArtifact();
if (art != null) {
- Either<ArtifactDefinition, StorageOperationStatus> artRes = artifactOperation
- .addArifactToComponent(art, (String) opData.getUniqueId(),
- NodeTypeEnum.InterfaceOperation, failIfExist, true);
+ Either<ArtifactDefinition, StorageOperationStatus> artRes = artifactOperation.addArifactToComponent(art, (String) opData.getUniqueId(), NodeTypeEnum.InterfaceOperation, failIfExist, true);
if (artRes.isRight()) {
titanGenericDao.rollback();
log.error("Failed to add artifact {} to interface {}", operationName, interfaceName);
@@ -891,7 +795,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
}
}
- interfaceDefResult.setOperations(newOperations);
+ interfaceDefResult.setOperationsMap(newOperations);
}
log.debug("The returned InterfaceDefintion is {}", interfaceDefResult);
return Either.left(interfaceDefResult);
@@ -900,11 +804,9 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
@Override
- public StorageOperationStatus createInterfaceOnResource(InterfaceDefinition interf, String resourceId,
- String interfaceName, boolean failIfExist, boolean inTransaction, TitanVertex metadataVertex) {
+ public StorageOperationStatus createInterfaceOnResource(InterfaceDefinition interf, String resourceId, String interfaceName, boolean failIfExist, boolean inTransaction, TitanVertex metadataVertex) {
- Either<TitanVertex, TitanOperationStatus> interfaceResult = addInterfaceToGraph(interf, interfaceName,
- resourceId, metadataVertex);
+ Either<TitanVertex, TitanOperationStatus> interfaceResult = addInterfaceToGraph(interf, interfaceName, resourceId, metadataVertex);
if (interfaceResult.isRight()) {
if (false == inTransaction) {
@@ -921,14 +823,13 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
// InterfaceDefinition interfaceDefResult =
// convertInterfaceDataToInterfaceDefinition(interfaceData);
- Map<String, Operation> operations = interf.getOperations();
+ Map<String, Operation> operations = interf.getOperationsMap();
if (operations != null && !operations.isEmpty()) {
Set<String> opNames = operations.keySet();
for (String operationName : opNames) {
Operation op = operations.get(operationName);
- Either<TitanVertex, TitanOperationStatus> operationResult = addOperationToGraph(interf,
- operationName, op, interfaceVertex);
+ Either<TitanVertex, TitanOperationStatus> operationResult = addOperationToGraph(interf, operationName, op, interfaceVertex);
if (operationResult.isRight()) {
if (false == inTransaction) {
titanGenericDao.rollback();
@@ -941,12 +842,10 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
TitanVertex operationVertex = operationResult.left().value();
- ArtifactDefinition art = op.getImplementation();
+ ArtifactDefinition art = op.getImplementationArtifact();
if (art != null) {
- String opId = (String) titanGenericDao.getProperty(operationVertex,
- GraphPropertiesDictionary.UNIQUE_ID.getProperty());
- StorageOperationStatus artRes = artifactOperation.addArifactToComponent(art, opId,
- NodeTypeEnum.InterfaceOperation, failIfExist, operationVertex);
+ String opId = (String) titanGenericDao.getProperty(operationVertex, GraphPropertiesDictionary.UNIQUE_ID.getProperty());
+ StorageOperationStatus artRes = artifactOperation.addArifactToComponent(art, opId, NodeTypeEnum.InterfaceOperation, failIfExist, operationVertex);
if (!artRes.equals(StorageOperationStatus.OK)) {
if (false == inTransaction) {
titanGenericDao.rollback();
@@ -964,14 +863,12 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
@Override
- public Either<Operation, StorageOperationStatus> deleteInterfaceOperation(String resourceId, String interfaceName,
- String operationId) {
+ public Either<Operation, StorageOperationStatus> deleteInterfaceOperation(String resourceId, String interfaceName, String operationId) {
return deleteInterfaceOperation(resourceId, interfaceName, operationId, false);
}
@Override
- public Either<Operation, StorageOperationStatus> deleteInterfaceOperation(String resourceId, String interfaceName,
- String operationId, boolean inTransaction) {
+ public Either<Operation, StorageOperationStatus> deleteInterfaceOperation(String resourceId, String interfaceName, String operationId, boolean inTransaction) {
Either<Operation, TitanOperationStatus> status = removeOperationOnGraph(resourceId, interfaceName, operationId);
if (status.isRight()) {
@@ -993,17 +890,15 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
@Override
- public Either<InterfaceDefinition, StorageOperationStatus> deleteInterfaceOfResourceOnGraph(String resourceId,
- InterfaceDefinition interfaceDef, boolean inTransaction) {
+ public Either<InterfaceDefinition, StorageOperationStatus> deleteInterfaceOfResourceOnGraph(String resourceId, InterfaceDefinition interfaceDef, boolean inTransaction) {
- Map<String, Operation> operations = interfaceDef.getOperations();
+ Map<String, Operation> operations = interfaceDef.getOperationsMap();
String interfaceNameSplitted = getShortInterfaceName(interfaceDef);
if (operations != null) {
for (Entry<String, Operation> entry : operations.entrySet()) {
Operation op = entry.getValue();
- Either<Operation, StorageOperationStatus> removeOperationFromResource = deleteInterfaceOperation(
- resourceId, interfaceNameSplitted, op.getUniqueId(), true);
+ Either<Operation, StorageOperationStatus> removeOperationFromResource = deleteInterfaceOperation(resourceId, interfaceNameSplitted, op.getUniqueId(), true);
if (removeOperationFromResource.isRight()) {
if (false == inTransaction) {
titanGenericDao.rollback();
@@ -1017,13 +912,11 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
- private Either<Operation, TitanOperationStatus> removeOperationOnGraph(String resourceId, String interfaceName,
- String operationId) {
+ private Either<Operation, TitanOperationStatus> removeOperationOnGraph(String resourceId, String interfaceName, String operationId) {
log.debug("Before deleting operation from graph {}", operationId);
- Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> childrenNodes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), resourceId,
- GraphEdgeLabels.INTERFACE, NodeTypeEnum.Interface, InterfaceData.class);
+ Either<List<ImmutablePair<InterfaceData, GraphEdge>>, TitanOperationStatus> childrenNodes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), resourceId, GraphEdgeLabels.INTERFACE, NodeTypeEnum.Interface,
+ InterfaceData.class);
if (childrenNodes.isRight()) {
log.debug("Not found interface {}", interfaceName);
@@ -1038,12 +931,10 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
String interfaceSplitedName = splitType(interfaceName);
if (interfaceEdgeProp.get(GraphPropertiesDictionary.NAME.getProperty()).equals(interfaceSplitedName)) {
- Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes = titanGenericDao
- .getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(),
- (String) interfaceDataNode.getLeft().getUniqueId(), GraphEdgeLabels.INTERFACE_OPERATION,
- NodeTypeEnum.InterfaceOperation, OperationData.class);
+ Either<List<ImmutablePair<OperationData, GraphEdge>>, TitanOperationStatus> operationRes = titanGenericDao.getChildrenNodes(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), (String) interfaceDataNode.getLeft().getUniqueId(),
+ GraphEdgeLabels.INTERFACE_OPERATION, NodeTypeEnum.InterfaceOperation, OperationData.class);
if (operationRes.isRight()) {
- log.error("Failed to find operation {}", operationId, interfaceName);
+ log.error("Failed to find operation {} on interface {}", operationId, interfaceName);
return Either.right(operationRes.right().value());
}
List<ImmutablePair<OperationData, GraphEdge>> operations = operationRes.left().value();
@@ -1053,24 +944,18 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
opData = operationPairEdge.getLeft();
if (opData.getUniqueId().equals(operationId)) {
- Either<ImmutablePair<ArtifactData, GraphEdge>, TitanOperationStatus> artifactRes = titanGenericDao
- .getChild(GraphPropertiesDictionary.UNIQUE_ID.getProperty(),
- (String) operationPairEdge.getLeft().getUniqueId(),
- GraphEdgeLabels.ARTIFACT_REF, NodeTypeEnum.ArtifactRef, ArtifactData.class);
+ Either<ImmutablePair<ArtifactData, GraphEdge>, TitanOperationStatus> artifactRes = titanGenericDao.getChild(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), (String) operationPairEdge.getLeft().getUniqueId(),
+ GraphEdgeLabels.ARTIFACT_REF, NodeTypeEnum.ArtifactRef, ArtifactData.class);
Either<ArtifactDefinition, StorageOperationStatus> arStatus = null;
if (artifactRes.isLeft()) {
ArtifactData arData = artifactRes.left().value().getKey();
- arStatus = artifactOperation.removeArifactFromResource(
- (String) operationPairEdge.getLeft().getUniqueId(), (String) arData.getUniqueId(),
- NodeTypeEnum.InterfaceOperation, true, true);
+ arStatus = artifactOperation.removeArifactFromResource((String) operationPairEdge.getLeft().getUniqueId(), (String) arData.getUniqueId(), NodeTypeEnum.InterfaceOperation, true, true);
if (arStatus.isRight()) {
log.debug("failed to delete artifact {}", arData.getUniqueId());
return Either.right(TitanOperationStatus.INVALID_ID);
}
}
- Either<OperationData, TitanOperationStatus> deleteOpStatus = titanGenericDao.deleteNode(
- UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.InterfaceOperation), opData.getUniqueId(),
- OperationData.class);
+ Either<OperationData, TitanOperationStatus> deleteOpStatus = titanGenericDao.deleteNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.InterfaceOperation), opData.getUniqueId(), OperationData.class);
if (deleteOpStatus.isRight()) {
log.debug("failed to delete operation {}", opData.getUniqueId());
return Either.right(TitanOperationStatus.INVALID_ID);
@@ -1081,9 +966,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
operation.setImplementation(arStatus.left().value());
}
if (operations.size() <= 1) {
- Either<InterfaceData, TitanOperationStatus> deleteInterfaceStatus = titanGenericDao
- .deleteNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface),
- interfaceDataNode.left.getUniqueId(), InterfaceData.class);
+ Either<InterfaceData, TitanOperationStatus> deleteInterfaceStatus = titanGenericDao.deleteNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface), interfaceDataNode.left.getUniqueId(), InterfaceData.class);
if (deleteInterfaceStatus.isRight()) {
log.debug("failed to delete interface {}", interfaceDataNode.left.getUniqueId());
return Either.right(TitanOperationStatus.INVALID_ID);
@@ -1100,8 +983,6 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
log.debug("Not found operation {}", interfaceName);
return Either.right(TitanOperationStatus.INVALID_ID);
- // }
-
}
private String splitType(String interfaceName) {
@@ -1131,16 +1012,14 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
@Override
- public Either<InterfaceDefinition, StorageOperationStatus> createInterfaceType(InterfaceDefinition interf,
- boolean inTransaction) {
+ public Either<InterfaceDefinition, StorageOperationStatus> createInterfaceType(InterfaceDefinition interf, boolean inTransaction) {
Either<InterfaceDefinition, StorageOperationStatus> result = null;
try {
InterfaceData interfaceData = new InterfaceData(interf);
interf.setUniqueId(interf.getType().toLowerCase());
- Either<InterfaceData, TitanOperationStatus> existInterface = titanGenericDao
- .getNode(interfaceData.getUniqueIdKey(), interfaceData.getUniqueId(), InterfaceData.class);
+ Either<InterfaceData, TitanOperationStatus> existInterface = titanGenericDao.getNode(interfaceData.getUniqueIdKey(), interfaceData.getUniqueId(), InterfaceData.class);
if (existInterface.isLeft()) {
// already exist
@@ -1150,32 +1029,29 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
log.debug("Before adding interface type to graph {}", interfaceData);
- Either<InterfaceData, TitanOperationStatus> createNodeResult = titanGenericDao.createNode(interfaceData,
- InterfaceData.class);
+ Either<InterfaceData, TitanOperationStatus> createNodeResult = titanGenericDao.createNode(interfaceData, InterfaceData.class);
log.debug("After adding property type to graph {}", interfaceData);
if (createNodeResult.isRight()) {
TitanOperationStatus operationStatus = createNodeResult.right().value();
- log.error("Failed to add interface {} to graph. Status is {}", interf.getType(), operationStatus);
+ log.error("Failed to add interface {} to graph. status is {}", interf.getType(), operationStatus);
result = Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(operationStatus));
return result;
}
InterfaceDefinition interfaceDefResult = convertInterfaceDataToInterfaceDefinition(interfaceData);
- Map<String, Operation> operations = interf.getOperations();
+ Map<String, Operation> operations = interf.getOperationsMap();
if (operations != null && !operations.isEmpty()) {
Map<String, Operation> newOperations = new HashMap<String, Operation>();
for (Map.Entry<String, Operation> operation : operations.entrySet()) {
- Either<OperationData, TitanOperationStatus> opStatus = addOperationToGraph(interf,
- operation.getKey(), operation.getValue(), interfaceData);
+ Either<OperationData, TitanOperationStatus> opStatus = addOperationToGraph(interf, operation.getKey(), operation.getValue(), interfaceData);
if (opStatus.isRight()) {
titanGenericDao.rollback();
log.error("Failed to add operation {} to interface {}", operation.getKey(), interf.getType());
- result = Either
- .right(DaoStatusConverter.convertTitanStatusToStorageStatus(opStatus.right().value()));
+ result = Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(opStatus.right().value()));
return result;
} else {
OperationData opData = opStatus.left().value();
@@ -1183,7 +1059,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
newOperations.put(operation.getKey(), newOperation);
}
}
- interfaceDefResult.setOperations(newOperations);
+ interfaceDefResult.setOperationsMap(newOperations);
}
result = Either.left(interfaceDefResult);
return result;
@@ -1203,26 +1079,22 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
@Override
public Either<InterfaceDefinition, StorageOperationStatus> getInterface(String interfaceId) {
- Either<InterfaceData, TitanOperationStatus> getResult = titanGenericDao
- .getNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface), interfaceId, InterfaceData.class);
+ Either<InterfaceData, TitanOperationStatus> getResult = titanGenericDao.getNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface), interfaceId, InterfaceData.class);
if (getResult.isLeft()) {
InterfaceData interfaceData = getResult.left().value();
return Either.left(convertInterfaceDataToInterfaceDefinition(interfaceData));
} else {
TitanOperationStatus titanStatus = getResult.right().value();
- log.debug("Node with id {} was not found in the graph. Status: {}", interfaceId, titanStatus);
- StorageOperationStatus storageOperationStatus = DaoStatusConverter
- .convertTitanStatusToStorageStatus(titanStatus);
+ log.debug("Node with id {} was not found in the graph. status: {}", interfaceId, titanStatus);
+ StorageOperationStatus storageOperationStatus = DaoStatusConverter.convertTitanStatusToStorageStatus(titanStatus);
return Either.right(storageOperationStatus);
}
}
@Override
- public StorageOperationStatus associateInterfaceToNode(GraphNode node, InterfaceDefinition interfaceDefinition,
- TitanVertex metadataVertex) {
+ public StorageOperationStatus associateInterfaceToNode(GraphNode node, InterfaceDefinition interfaceDefinition, TitanVertex metadataVertex) {
- Either<TitanVertex, TitanOperationStatus> interfaceData = titanGenericDao.getVertexByProperty(
- UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface), interfaceDefinition.getUniqueId());
+ Either<TitanVertex, TitanOperationStatus> interfaceData = titanGenericDao.getVertexByProperty(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface), interfaceDefinition.getUniqueId());
if (interfaceData.isRight()) {
return DaoStatusConverter.convertTitanStatusToStorageStatus(interfaceData.right().value());
}
@@ -1232,8 +1104,7 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
String interfaceName = getShortInterfaceName(interfaceDefinition);
properties.put(GraphPropertiesDictionary.NAME.getProperty(), interfaceName.toLowerCase());
- TitanOperationStatus createRelation = titanGenericDao.createEdge(metadataVertex, interfaceData.left().value(),
- GraphEdgeLabels.INTERFACE, properties);
+ TitanOperationStatus createRelation = titanGenericDao.createEdge(metadataVertex, interfaceData.left().value(), GraphEdgeLabels.INTERFACE, properties);
if (!createRelation.equals(TitanOperationStatus.OK)) {
return DaoStatusConverter.convertTitanStatusToStorageStatus(createRelation);
}
@@ -1260,19 +1131,15 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
@Override
- public Either<Operation, StorageOperationStatus> getSpecificOperation(String resourceId, String interfaceType,
- String operationName) {
- log.trace("Getting operation, resourceId {}, interfaceType {}, operationName {}", resourceId, interfaceType,
- operationName);
- Either<Map<String, InterfaceDefinition>, StorageOperationStatus> allInterfacesOfResource = getAllInterfacesOfResource(
- resourceId, false);
- if (allInterfacesOfResource.isRight() || allInterfacesOfResource.left().value() == null
- || allInterfacesOfResource.left().value().get(interfaceType) == null) {
+ public Either<Operation, StorageOperationStatus> getSpecificOperation(String resourceId, String interfaceType, String operationName) {
+ log.trace("Getting operation, resourceId {}, interfaceType {}, operationName {}", resourceId, interfaceType, operationName);
+ Either<Map<String, InterfaceDefinition>, StorageOperationStatus> allInterfacesOfResource = getAllInterfacesOfResource(resourceId, false);
+ if (allInterfacesOfResource.isRight() || allInterfacesOfResource.left().value() == null || allInterfacesOfResource.left().value().get(interfaceType) == null) {
log.debug("Couldn't find interface definition of type {} for resource id {}", interfaceType, resourceId);
return Either.right(allInterfacesOfResource.right().value());
}
InterfaceDefinition interfaceDefinition = allInterfacesOfResource.left().value().get(interfaceType);
- Map<String, Operation> operations = interfaceDefinition.getOperations();
+ Map<String, Operation> operations = interfaceDefinition.getOperationsMap();
if (operations == null || operations.get(operationName) == null) {
log.debug("Couldn't find operation for operation name {}, interface type {}", operationName, interfaceType);
return Either.right(StorageOperationStatus.GENERAL_ERROR);
@@ -1281,24 +1148,19 @@ public class InterfaceLifecycleOperation implements IInterfaceLifecycleOperation
}
@Override
- public Either<InterfaceDefinition, StorageOperationStatus> dissociateInterfaceFromNode(GraphNode node,
- InterfaceDefinition interfaceDefinition) {
+ public Either<InterfaceDefinition, StorageOperationStatus> dissociateInterfaceFromNode(GraphNode node, InterfaceDefinition interfaceDefinition) {
- Either<InterfaceData, TitanOperationStatus> interfaceData = titanGenericDao.getNode(
- UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface), interfaceDefinition.getUniqueId(),
- InterfaceData.class);
+ Either<InterfaceData, TitanOperationStatus> interfaceData = titanGenericDao.getNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.Interface), interfaceDefinition.getUniqueId(), InterfaceData.class);
if (interfaceData.isRight()) {
log.debug("Couldn't find interface {}", interfaceDefinition);
return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(interfaceData.right().value()));
}
InterfaceData value = interfaceData.left().value();
- Either<GraphRelation, TitanOperationStatus> deleteRelation = titanGenericDao.deleteRelation(node, value,
- GraphEdgeLabels.INTERFACE);
+ Either<GraphRelation, TitanOperationStatus> deleteRelation = titanGenericDao.deleteRelation(node, value, GraphEdgeLabels.INTERFACE);
if (deleteRelation.isRight()) {
TitanOperationStatus status = deleteRelation.right().value();
- log.debug("Couldn't dissociate interface between node {} to node {}. Status is {}", node.getUniqueId(),
- value.getUniqueId(), status);
+ log.debug("Couldn't dissociate interface between node {} to node {}. Status is {}", node.getUniqueId(), value.getUniqueId(), status);
return Either.right(DaoStatusConverter.convertTitanStatusToStorageStatus(status));
}