diff options
author | Michael Lando <ml636r@att.com> | 2018-03-04 14:53:33 +0200 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2018-03-07 13:19:05 +0000 |
commit | a5445100050e49e83f73424198d73cd72d672a4d (patch) | |
tree | cacf4df817df31be23e4e790d1dda857bdae061e /catalog-model/src/main/java/org/openecomp/sdc/be/model/jsontitan/utils/IdMapper.java | |
parent | 51157f92c21976cba4914c378aaa3cba49826931 (diff) |
Sync Integ to Master
Change-Id: I71e3acc26fa612127756ac04073a522b9cc6cd74
Issue-ID: SDC-977
Signed-off-by: Gitelman, Tal (tg851x) <tg851x@intl.att.com>
Diffstat (limited to 'catalog-model/src/main/java/org/openecomp/sdc/be/model/jsontitan/utils/IdMapper.java')
-rw-r--r-- | catalog-model/src/main/java/org/openecomp/sdc/be/model/jsontitan/utils/IdMapper.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsontitan/utils/IdMapper.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsontitan/utils/IdMapper.java new file mode 100644 index 0000000000..8c9d025a7b --- /dev/null +++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/jsontitan/utils/IdMapper.java @@ -0,0 +1,54 @@ +package org.openecomp.sdc.be.model.jsontitan.utils; + +import org.openecomp.sdc.be.dao.jsongraph.GraphVertex; +import org.openecomp.sdc.be.datatypes.elements.ComponentInstanceDataDefinition; +import org.openecomp.sdc.be.datatypes.elements.CompositionDataDefinition; +import org.openecomp.sdc.be.model.jsontitan.enums.JsonConstantKeysEnum; +import org.openecomp.sdc.be.model.jsontitan.operations.ExternalReferencesOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.Map; +import java.util.Optional; + +/** + * Created by yavivi on 12/02/2018. + */ +@Component +public class IdMapper { + + private static final Logger log = LoggerFactory.getLogger(ExternalReferencesOperation.class); + + public String mapComponentNameToUniqueId(String componentInstanceName, GraphVertex serviceVertex) { + return map(componentInstanceName, serviceVertex, true); + } + + public String mapUniqueIdToComponentNameTo(String compUniqueId, GraphVertex serviceVertex) { + return map(compUniqueId, serviceVertex, false); + } + + private String map(String componentUniqueIdOrName, GraphVertex serviceVertex, boolean fromCompName) { + String result = null; + try { + Map<String, CompositionDataDefinition> jsonComposition = (Map<String, CompositionDataDefinition>) serviceVertex.getJson(); + CompositionDataDefinition compositionDataDefinition = jsonComposition.get(JsonConstantKeysEnum.COMPOSITION.getValue()); + + Optional<ComponentInstanceDataDefinition> componentInstanceDataDefinitionOptional = null; + if (fromCompName) { + componentInstanceDataDefinitionOptional = compositionDataDefinition.getComponentInstances().values().stream().filter(c -> c.getNormalizedName().equals(componentUniqueIdOrName)).findAny(); + result = componentInstanceDataDefinitionOptional.get().getUniqueId(); + log.debug("Compponent Instance Unique Id = {}", result); + } else { + componentInstanceDataDefinitionOptional = compositionDataDefinition.getComponentInstances().values().stream().filter(c -> c.getUniqueId().equals(componentUniqueIdOrName)).findAny(); + result = componentInstanceDataDefinitionOptional.get().getNormalizedName(); + log.debug("Compponent Instance Normalized Name = {}", result); + } + + } catch (Exception e) { + log.error("Failed to map UUID or Normalized name of " + componentUniqueIdOrName, e); + } + return result; + } + +} |