From 701e441228724c5b701d94cc3f1e520ce656398a Mon Sep 17 00:00:00 2001 From: franciscovila Date: Thu, 24 Nov 2022 10:29:04 +0000 Subject: Import data type in UI Develop all necessary changes in the UI to allow importing a data type from a yaml file Issue-ID: SDC-4279 Signed-off-by: franciscovila Change-Id: Id413386fad8b362e8c4a1d25c859a22178189074 --- .../sdc/be/model/operations/impl/DataTypeOperation.java | 16 ++++++++++++++++ .../sdc/be/model/operations/impl/ModelOperation.java | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'catalog-model/src/main/java/org') 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 36dcaf44ba..7d01f3f273 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 @@ -29,6 +29,7 @@ import java.util.Optional; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.tuple.ImmutableTriple; import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; import org.apache.tinkerpop.gremlin.structure.Vertex; import org.janusgraph.core.JanusGraph; @@ -37,6 +38,7 @@ import org.openecomp.sdc.be.config.BeEcompErrorManager.ErrorSeverity; import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.dao.janusgraph.HealingJanusGraphGenericDao; import org.openecomp.sdc.be.dao.janusgraph.JanusGraphOperationStatus; +import org.openecomp.sdc.be.dao.janusgraph.QueryType; import org.openecomp.sdc.be.dao.neo4j.GraphEdgeLabels; import org.openecomp.sdc.be.dao.neo4j.GraphPropertiesDictionary; import org.openecomp.sdc.be.datatypes.elements.DataTypeDataDefinition; @@ -124,6 +126,20 @@ public class DataTypeOperation extends AbstractOperation { return dataTypesFound; } + public List getAllDataTypeModels(final String dataTypeName) { + final List models = new ArrayList<>(); + ImmutableTriple criteria = + new ImmutableTriple<>(QueryType.HAS, GraphPropertiesDictionary.NAME.getProperty(), dataTypeName); + + final Either, JanusGraphOperationStatus> getAllDataTypesForModel = + janusGraphGenericDao.getByCriteria(NodeTypeEnum.DataType, DataTypeData.class, List.of(criteria)); + final var dataTypesValidated = validateDataType(getAllDataTypesForModel, null); + for (DataTypeData dataType : dataTypesValidated) { + models.add(dataType.getDataTypeDataDefinition().getModel()); + } + return models; + } + private List getAllDataTypesWithModel(final String modelName) { final Either, JanusGraphOperationStatus> getAllDataTypesByModel = janusGraphGenericDao .getByCriteriaForModel(NodeTypeEnum.DataType, null, modelName, DataTypeData.class); diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/ModelOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/ModelOperation.java index 0d462c9874..8baa9a73c0 100644 --- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/ModelOperation.java +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/ModelOperation.java @@ -296,7 +296,7 @@ public class ModelOperation { rebuiltModelImportList = new ArrayList<>(modelImportList); } - final Map typesYamlMap = new Yaml().load(typesYaml); + final Map typesYamlMap = new Yaml().loadAs(typesYaml, Map.class); removeExistingTypesFromDefaultImports(elementTypeEnum, typesYamlMap, rebuiltModelImportList); final Map originalContent = new Yaml().load(additionalTypeDefinitionsImport.getContent()); -- cgit 1.2.3-korg