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;
public <T extends ToscaDataDefinition> StorageOperationStatus deleteToscaDataDeepElementsBlockOfToscaElement(String toscaElementUid,
EdgeLabelEnum edgeLabel,
- VertexTypeEnum vertexLabel,
String key) {
StorageOperationStatus statusRes = null;
Either<GraphVertex, JanusGraphOperationStatus> getToscaElementRes;
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;
public <T extends ToscaDataDefinition> StorageOperationStatus deleteToscaDataDeepElementsBlockToToscaElement(GraphVertex toscaElement,
EdgeLabelEnum edgeLabel,
- VertexTypeEnum vertexLabel,
String key) {
StorageOperationStatus result = null;
GraphVertex toscaDataVertex = null;
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<>());
*
* @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<GraphVertex, JanusGraphOperationStatus> getToscaElementRes;
getToscaElementRes = janusGraphDao.getVertexById(toscaElementUid, JsonParseFlagEnum.NoParse);
statusRes = DaoStatusConverter.convertJanusGraphStatusToStorageStatus(status);
}
if (statusRes == StorageOperationStatus.OK) {
- statusRes = removeToscaDataVertex(getToscaElementRes.left().value(), edgeLabel, vertexLabel);
+ statusRes = removeToscaDataVertex(getToscaElementRes.left().value(), edgeLabel);
}
return statusRes;
}
*
* @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<Edge> edges = null;
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;
}
*
* @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<String> pathKeys, JsonPresentationFields mapKeyField) {
+ public StorageOperationStatus deleteToscaDataDeepElement(String toscaElementUid, EdgeLabelEnum edgeLabel,
+ String uniqueKey, List<String> pathKeys) {
StorageOperationStatus statusRes = StorageOperationStatus.OK;
Either<GraphVertex, JanusGraphOperationStatus> getToscaElementRes;
getToscaElementRes = janusGraphDao.getVertexById(toscaElementUid, JsonParseFlagEnum.NoParse);
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;
}
*
* @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<String> pathKeys, JsonPresentationFields mapKeyField) {
+ public StorageOperationStatus deleteToscaDataDeepElement(GraphVertex toscaElement, EdgeLabelEnum edgeLabel,
+ String uniqueKey, List<String> pathKeys) {
List<String> 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<String> uniqueKeys, List<String> pathKeys, JsonPresentationFields mapKeyField) {
+ public StorageOperationStatus deleteToscaDataDeepElements(GraphVertex toscaElement, EdgeLabelEnum edgeLabel,
+ List<String> uniqueKeys, List<String> pathKeys) {
StorageOperationStatus result = null;
GraphVertex toscaDataVertex;
Map<String, ToscaDataDefinition> existingToscaDataMap = null;
*
* @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<String> uniqueKeys = new ArrayList<>();
uniqueKeys.add(uniqueKey);
return deleteToscaDataElements(toscaElement, edgeLabel, uniqueKeys);
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 <T extends ToscaDataDefinition> StorageOperationStatus handleToscaDataElement(GraphVertex toscaElement,
+ private <T extends ToscaDataDefinition> StorageOperationStatus handleToscaDataElement(String toscaElementId,
JsonPresentationFields mapKeyField,
Map<String, T> mergedToscaDataMap, T toscaDataElement,
boolean isUpdate) {
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;
}
}
protected GroupInstanceDataDefinition buildGroupInstanceDataDefinition(GroupDataDefinition group,
- ComponentInstanceDataDefinition componentInstance,
- Map<String, ArtifactDataDefinition> instDeplArtifMap) {
+ ComponentInstanceDataDefinition componentInstance) {
String componentInstanceName = componentInstance.getName();
Long creationDate = System.currentTimeMillis();
GroupInstanceDataDefinition groupInstance = new GroupInstanceDataDefinition();
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());