diff options
author | xuegao <xue.gao@intl.att.com> | 2021-02-11 15:16:36 +0100 |
---|---|---|
committer | Christophe Closset <christophe.closset@intl.att.com> | 2021-02-20 07:07:06 +0000 |
commit | 6068ce140c9a65f13a0bd245c9b9a50befaddc32 (patch) | |
tree | cf045f20386163e6f771ead735c02bccf5fb1f5b /catalog-be/src/main/java | |
parent | fee0f29212b10c940ec4b19fc8f4794d06964eee (diff) |
Fix pnf csar package issue
Generate the dependencies and imports even derivedFrom list is empty.
Issue-ID: SDC-3391
Signed-off-by: xuegao <xue.gao@intl.att.com>
Change-Id: Ia07d1d6a73a1e08fb8f5ba1678b15e71aecd54b0
Signed-off-by: xuegao <xue.gao@intl.att.com>
Diffstat (limited to 'catalog-be/src/main/java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java | 66 |
1 files changed, 37 insertions, 29 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java index 70834fd39a..ddea498c6f 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java @@ -561,7 +561,7 @@ public class ToscaExportHandler { final List<Triple<String, String, Component>> dependencies, final ComponentInstance componentInstance) { log.debug("createDependency componentCache {}", componentCache); - final Component componentRI = componentCache.get(componentInstance.getComponentUid()); + Component componentRI = componentCache.get(componentInstance.getComponentUid()); if (componentRI == null || componentInstance.getOriginType() == OriginTypeEnum.ServiceSubstitution) { // all resource must be only once! final Either<Component, StorageOperationStatus> resource = toscaOperationFacade @@ -572,15 +572,15 @@ public class ToscaExportHandler { return; } final Component fetchedComponent = resource.left().value(); - setComponentCache(componentCache, componentInstance, fetchedComponent); - addDependencies(imports, dependencies, fetchedComponent); + componentRI = setComponentCache(componentCache, componentInstance, fetchedComponent); + addDependencies(imports, dependencies, componentRI); } } /** * Sets a componentCache from the given component/resource. */ - private void setComponentCache(final Map<String, Component> componentCache, + private Component setComponentCache(final Map<String, Component> componentCache, final ComponentInstance componentInstance, final Component fetchedComponent) { componentCache.put(fetchedComponent.getUniqueId(), fetchedComponent); @@ -594,7 +594,9 @@ public class ToscaExportHandler { } final Component fetchedSource = sourceService.left().value(); componentCache.put(fetchedSource.getUniqueId(), fetchedSource); + return fetchedSource; } + return fetchedComponent; } /** @@ -609,7 +611,7 @@ public class ToscaExportHandler { final Optional<Map<String, String>> derivedFromMapOfIdToName = getDerivedFromMapOfIdToName(fetchedComponent, componentsList); - if (derivedFromMapOfIdToName.isPresent()) { + if (derivedFromMapOfIdToName.isPresent() && !derivedFromMapOfIdToName.get().isEmpty()) { derivedFromMapOfIdToName.get().entrySet().forEach(entry -> { log.debug("Started entry.getValue() : {}", entry.getValue()); if (!NATIVE_ROOT.equals(entry.getValue())) { @@ -620,8 +622,11 @@ public class ToscaExportHandler { } } }); + setImports(imports, dependencies, componentsList); + } else { + setImports(imports, dependencies, fetchedComponent); } - setImports(imports, dependencies, componentsList); + } } @@ -658,30 +663,33 @@ public class ToscaExportHandler { private void setImports(final List<Map<String, Map<String, String>>> imports, final List<Triple<String, String, Component>> dependencies, final Set<Component> componentsList) { - componentsList.forEach(component -> { - final Map<String, ArtifactDefinition> toscaArtifacts = component.getToscaArtifacts(); - final ArtifactDefinition artifactDefinition = toscaArtifacts.get(ASSET_TOSCA_TEMPLATE); - if (artifactDefinition != null) { - final Map<String, String> files = new HashMap<>(); - final String artifactName = artifactDefinition.getArtifactName(); - files.put(IMPORTS_FILE_KEY, artifactName); - final StringBuilder keyNameBuilder = new StringBuilder(); - keyNameBuilder.append(component.getComponentType().toString().toLowerCase()); - keyNameBuilder.append("-"); - keyNameBuilder.append(component.getName()); - addImports(imports, keyNameBuilder, files); - dependencies - .add(new ImmutableTriple<String, String, Component>(artifactName, artifactDefinition.getEsId(), - component)); - - if (!ModelConverter.isAtomicComponent(component)) { - final Map<String, String> interfaceFiles = new HashMap<>(); - interfaceFiles.put(IMPORTS_FILE_KEY, getInterfaceFilename(artifactName)); - keyNameBuilder.append("-interface"); - addImports(imports, keyNameBuilder, interfaceFiles); - } + componentsList.forEach(component -> setImports(imports, dependencies, component)); + } + + private void setImports(final List<Map<String, Map<String, String>>> imports, + final List<Triple<String, String, Component>> dependencies, + final Component component) { + final Map<String, ArtifactDefinition> toscaArtifacts = component.getToscaArtifacts(); + final ArtifactDefinition artifactDefinition = toscaArtifacts.get(ASSET_TOSCA_TEMPLATE); + if (artifactDefinition != null) { + final Map<String, String> files = new HashMap<>(); + final String artifactName = artifactDefinition.getArtifactName(); + files.put(IMPORTS_FILE_KEY, artifactName); + final StringBuilder keyNameBuilder = new StringBuilder(); + keyNameBuilder.append(component.getComponentType().toString().toLowerCase()); + keyNameBuilder.append("-"); + keyNameBuilder.append(component.getName()); + addImports(imports, keyNameBuilder, files); + dependencies + .add(new ImmutableTriple<String, String, Component>(artifactName, artifactDefinition.getEsId(), component)); + + if (!ModelConverter.isAtomicComponent(component)) { + final Map<String, String> interfaceFiles = new HashMap<>(); + interfaceFiles.put(IMPORTS_FILE_KEY, getInterfaceFilename(artifactName)); + keyNameBuilder.append("-interface"); + addImports(imports, keyNameBuilder, interfaceFiles); } - }); + } } /** |