X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=catalog-model%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Fsdc%2Fbe%2Fmodel%2Fjsonjanusgraph%2Foperations%2FBaseOperation.java;h=2bf1c96abb610376425d95e87d327c4ffd130bf3;hb=c469756a1092194adedd590d35f0f1f8feac3a36;hp=92dc67bbcaeba9b25503bd7513dc28bdfcd3ee04;hpb=bc741a1eeb2455903734a5603281cc17ca898d11;p=sdc.git diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/BaseOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/BaseOperation.java index 92dc67bbca..2bf1c96abb 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/BaseOperation.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsonjanusgraph/operations/BaseOperation.java @@ -39,14 +39,13 @@ import org.apache.tinkerpop.gremlin.structure.Vertex; import org.apache.tinkerpop.gremlin.structure.VertexProperty; import org.janusgraph.core.JanusGraphVertex; import org.openecomp.sdc.be.dao.impl.HealingPipelineDao; +import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao; import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus; import org.openecomp.sdc.be.dao.jsongraph.GraphVertex; -import org.openecomp.sdc.be.dao.janusgraph.JanusGraphDao; 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.jsongraph.utils.IdBuilderUtils; -import org.openecomp.sdc.be.datatypes.elements.ArtifactDataDefinition; import org.openecomp.sdc.be.datatypes.elements.ComponentInstanceDataDefinition; import org.openecomp.sdc.be.datatypes.elements.GroupDataDefinition; import org.openecomp.sdc.be.datatypes.elements.GroupInstanceDataDefinition; @@ -597,7 +596,6 @@ public abstract class BaseOperation { public StorageOperationStatus deleteToscaDataDeepElementsBlockOfToscaElement(String toscaElementUid, EdgeLabelEnum edgeLabel, - VertexTypeEnum vertexLabel, String key) { StorageOperationStatus statusRes = null; Either getToscaElementRes; @@ -609,7 +607,7 @@ public abstract class BaseOperation { statusRes = DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status); } if (statusRes == null) { - statusRes = deleteToscaDataDeepElementsBlockToToscaElement(getToscaElementRes.left().value(), edgeLabel, vertexLabel, key); + statusRes = deleteToscaDataDeepElementsBlockToToscaElement(getToscaElementRes.left().value(), edgeLabel, key); } if (statusRes == null) { statusRes = StorageOperationStatus.OK; @@ -619,7 +617,6 @@ public abstract class BaseOperation { public StorageOperationStatus deleteToscaDataDeepElementsBlockToToscaElement(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, - VertexTypeEnum vertexLabel, String key) { StorageOperationStatus result = null; GraphVertex toscaDataVertex = null; @@ -1009,7 +1006,13 @@ public abstract class BaseOperation { if (!currMap.containsKey(pathKeys.get(0))) { currMap.put(pathKeys.get(0), new MapDataDefinition<>()); } - MapDataDefinition currDeepElement = currMap.get(pathKeys.get(0)); + Object object = currMap.get(pathKeys.get(0)); + MapDataDefinition currDeepElement = null; + if (object instanceof MapDataDefinition) { + currDeepElement = (MapDataDefinition) object; + } else { + currDeepElement = new MapDataDefinition(currMap); + } for (int i = 1; i < pathKeys.size(); ++i) { if (currDeepElement.findByKey(pathKeys.get(i)) == null) { currDeepElement.put(pathKeys.get(i), new MapDataDefinition<>()); @@ -1075,10 +1078,9 @@ public abstract class BaseOperation { * * @param toscaElementUid * @param edgeLabel - * @param vertexLabel * @return */ - public StorageOperationStatus removeToscaData(String toscaElementUid, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexLabel) { + public StorageOperationStatus removeToscaData(String toscaElementUid, EdgeLabelEnum edgeLabel) { StorageOperationStatus statusRes = StorageOperationStatus.OK; Either getToscaElementRes; getToscaElementRes = janusGraphDao.getVertexById(toscaElementUid, JsonParseFlagEnum.NoParse); @@ -1089,7 +1091,7 @@ public abstract class BaseOperation { statusRes = DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status); } if (statusRes == StorageOperationStatus.OK) { - statusRes = removeToscaDataVertex(getToscaElementRes.left().value(), edgeLabel, vertexLabel); + statusRes = removeToscaDataVertex(getToscaElementRes.left().value(), edgeLabel); } return statusRes; } @@ -1099,10 +1101,9 @@ public abstract class BaseOperation { * * @param toscaElement * @param edgeLabel - * @param vertexLabel * @return */ - public StorageOperationStatus removeToscaDataVertex(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexLabel) { + private StorageOperationStatus removeToscaDataVertex(GraphVertex toscaElement, EdgeLabelEnum edgeLabel) { StorageOperationStatus result = null; GraphVertex toscaDataVertex = null; Iterator edges = null; @@ -1202,7 +1203,7 @@ public abstract class BaseOperation { statusRes = DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status); } if (statusRes == StorageOperationStatus.OK) { - statusRes = deleteToscaDataElement(getToscaElementRes.left().value(), edgeLabel, vertexLabel, uniqueKey, mapKeyField); + statusRes = deleteToscaDataElement(getToscaElementRes.left().value(), edgeLabel, uniqueKey); } return statusRes; } @@ -1212,14 +1213,12 @@ public abstract class BaseOperation { * * @param toscaElementUid * @param edgeLabel - * @param vertexLabel * @param uniqueKey * @param pathKeys - * @param mapKeyField * @return */ - public StorageOperationStatus deleteToscaDataDeepElement(String toscaElementUid, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexLabel, - String uniqueKey, List pathKeys, JsonPresentationFields mapKeyField) { + public StorageOperationStatus deleteToscaDataDeepElement(String toscaElementUid, EdgeLabelEnum edgeLabel, + String uniqueKey, List pathKeys) { StorageOperationStatus statusRes = StorageOperationStatus.OK; Either getToscaElementRes; getToscaElementRes = janusGraphDao.getVertexById(toscaElementUid, JsonParseFlagEnum.NoParse); @@ -1230,7 +1229,7 @@ public abstract class BaseOperation { statusRes = DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status); } if (statusRes == StorageOperationStatus.OK) { - statusRes = deleteToscaDataDeepElement(getToscaElementRes.left().value(), edgeLabel, vertexLabel, uniqueKey, pathKeys, mapKeyField); + statusRes = deleteToscaDataDeepElement(getToscaElementRes.left().value(), edgeLabel, uniqueKey, pathKeys); } return statusRes; } @@ -1240,21 +1239,19 @@ public abstract class BaseOperation { * * @param toscaElement * @param edgeLabel - * @param vertexLabel * @param uniqueKey * @param pathKeys - * @param mapKeyField * @return */ - public StorageOperationStatus deleteToscaDataDeepElement(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexLabel, - String uniqueKey, List pathKeys, JsonPresentationFields mapKeyField) { + public StorageOperationStatus deleteToscaDataDeepElement(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, + String uniqueKey, List pathKeys) { List uniqueKeys = new ArrayList<>(); uniqueKeys.add(uniqueKey); - return deleteToscaDataDeepElements(toscaElement, edgeLabel, vertexLabel, uniqueKeys, pathKeys, mapKeyField); + return deleteToscaDataDeepElements(toscaElement, edgeLabel, uniqueKeys, pathKeys); } - public StorageOperationStatus deleteToscaDataDeepElements(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexLabel, - List uniqueKeys, List pathKeys, JsonPresentationFields mapKeyField) { + public StorageOperationStatus deleteToscaDataDeepElements(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, + List uniqueKeys, List pathKeys) { StorageOperationStatus result = null; GraphVertex toscaDataVertex; Map existingToscaDataMap = null; @@ -1298,13 +1295,11 @@ public abstract class BaseOperation { * * @param toscaElement * @param edgeLabel - * @param vertexLabel * @param uniqueKey - * @param mapKeyField * @return */ - public StorageOperationStatus deleteToscaDataElement(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, VertexTypeEnum vertexLabel, - String uniqueKey, JsonPresentationFields mapKeyField) { + public StorageOperationStatus deleteToscaDataElement(GraphVertex toscaElement, EdgeLabelEnum edgeLabel, + String uniqueKey) { List uniqueKeys = new ArrayList<>(); uniqueKeys.add(uniqueKey); return deleteToscaDataElements(toscaElement, edgeLabel, uniqueKeys); @@ -1428,16 +1423,15 @@ public abstract class BaseOperation { mergedToscaDataMap.putAll(existingToscaDataMap); } for (T toscaDataElement : toscaDataList) { - status = handleToscaDataElement(toscaElement, mapKeyField, mergedToscaDataMap, toscaDataElement, isUpdate); + status = handleToscaDataElement(toscaElement.getUniqueId(), mapKeyField, mergedToscaDataMap, toscaDataElement, isUpdate); if (status != StorageOperationStatus.OK) { - result = Either.right(status); - break; + return Either.right(status); } } return result; } - private StorageOperationStatus handleToscaDataElement(GraphVertex toscaElement, + private StorageOperationStatus handleToscaDataElement(String toscaElementId, JsonPresentationFields mapKeyField, Map mergedToscaDataMap, T toscaDataElement, boolean isUpdate) { @@ -1455,7 +1449,7 @@ public abstract class BaseOperation { status = StorageOperationStatus.BAD_REQUEST; } else if (!isUpdate && mergedToscaDataMap.containsKey(currKey)) { CommonUtility.addRecordToLog(log, LogLevelEnum.DEBUG, - "Failed to add tosca data to tosca element {}. The element with the same key {} already exists. ", toscaElement.getUniqueId(), + "Failed to add tosca data to tosca element {}. The element with the same key {} already exists. ", toscaElementId, currKey); status = StorageOperationStatus.BAD_REQUEST; } @@ -1464,8 +1458,7 @@ public abstract class BaseOperation { } protected GroupInstanceDataDefinition buildGroupInstanceDataDefinition(GroupDataDefinition group, - ComponentInstanceDataDefinition componentInstance, - Map instDeplArtifMap) { + ComponentInstanceDataDefinition componentInstance) { String componentInstanceName = componentInstance.getName(); Long creationDate = System.currentTimeMillis(); GroupInstanceDataDefinition groupInstance = new GroupInstanceDataDefinition(); @@ -1479,7 +1472,7 @@ public abstract class BaseOperation { groupInstance.setGroupName(group.getName()); groupInstance.setNormalizedName(ValidationUtils.normalizeComponentInstanceName(groupInstance.getName())); groupInstance - .setUniqueId(UniqueIdBuilder.buildResourceInstanceUniuqeId(componentInstance.getUniqueId(), groupUid, groupInstance.getNormalizedName())); + .setUniqueId(UniqueIdBuilder.buildResourceInstanceUniqueId(componentInstance.getUniqueId(), groupUid, groupInstance.getNormalizedName())); groupInstance.setArtifacts(group.getArtifacts()); groupInstance.setArtifactsUuid(group.getArtifactsUuid()); groupInstance.setProperties(group.getProperties());