aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/main
diff options
context:
space:
mode:
authorxuegao <xue.gao@intl.att.com>2021-02-11 15:16:36 +0100
committerChristophe Closset <christophe.closset@intl.att.com>2021-02-20 07:07:06 +0000
commit6068ce140c9a65f13a0bd245c9b9a50befaddc32 (patch)
treecf045f20386163e6f771ead735c02bccf5fb1f5b /catalog-be/src/main
parentfee0f29212b10c940ec4b19fc8f4794d06964eee (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')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/tosca/ToscaExportHandler.java66
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);
}
- });
+ }
}
/**