diff options
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/DataTypeOperation.java')
-rw-r--r-- | catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/DataTypeOperation.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/DataTypeOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/DataTypeOperation.java index f79f1501e7..b8ddff9907 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/DataTypeOperation.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/DataTypeOperation.java @@ -16,6 +16,7 @@ * SPDX-License-Identifier: Apache-2.0 * ============LICENSE_END========================================================= */ + package org.openecomp.sdc.be.model.operations.impl; import fj.data.Either; @@ -190,6 +191,18 @@ public class DataTypeOperation extends AbstractOperation { }); } + public void deleteDataTypesByDataTypeId(final String dataTypeId) { + final JanusGraph janusGraph = janusGraphGenericDao.getJanusGraph(); + final GraphTraversalSource traversal = janusGraph.traversal(); + final List<Vertex> dataTypeList = traversal.V() + .has(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), dataTypeId) + .toList(); + dataTypeList.forEach(dataTypeVertex -> { + traversal.V(dataTypeVertex).out(GraphEdgeLabels.PROPERTY.getProperty()).drop().iterate(); + dataTypeVertex.remove(); + }); + } + public Optional<DataTypeDataDefinition> getDataTypeByUid(final String uniqueId) { final Either<DataTypeData, JanusGraphOperationStatus> dataTypeEither = janusGraphGenericDao .getNode(UniqueIdBuilder.getKeyByNodeType(NodeTypeEnum.DataType), uniqueId, DataTypeData.class); @@ -288,7 +301,8 @@ public class DataTypeOperation extends AbstractOperation { getDataTypeByUid(dataTypeId).orElseThrow(DataTypeOperationExceptionSupplier.dataTypeNotFound(dataTypeId)); final Either<PropertyDefinition, JanusGraphOperationStatus> resultEither = - propertyOperation.updatePropertyAssociatedToNode(NodeTypeEnum.DataType, dataTypeId, PropertyDefinitionDtoMapper.mapTo(propertyDefinitionDto)); + propertyOperation.updatePropertyAssociatedToNode(NodeTypeEnum.DataType, dataTypeId, + PropertyDefinitionDtoMapper.mapTo(propertyDefinitionDto)); if (resultEither.isRight()) { final JanusGraphOperationStatus status = resultEither.right().value(); LOGGER.debug("Could not update property '{}' on data type '{}'. JanusGraph status is '{}'", propertyName, dataTypeId, status); @@ -310,6 +324,11 @@ public class DataTypeOperation extends AbstractOperation { dataTypeDataDefinition.getName(), isAdd); } + public void removeDataTypeFromAdditionalType(final DataTypeDataDefinition dataTypeDataDefinition) { + modelOperation.removeDataTypeFromAdditionalType(ElementTypeEnum.DATA_TYPE, dataTypeDataDefinition.getModel(), + dataTypeDataDefinition.getName()); + } + public PropertyDefinitionDto deleteProperty(final DataTypeDataDefinition dataTypeDataDefinition, final String propertyId) { final List<PropertyDefinition> propertiesData = findAllProperties(dataTypeDataDefinition.getUniqueId()); final String dataTypeDataDefinitionName = dataTypeDataDefinition.getName(); @@ -336,5 +355,4 @@ public class DataTypeOperation extends AbstractOperation { propertiesData.remove(propertyDefinition); return PropertyDefinitionDtoMapper.mapFrom(propertyDataDefinition); } - } |