From ab1295e98af672548c10411c245e7da465d9f239 Mon Sep 17 00:00:00 2001 From: KrupaNagabhushan Date: Mon, 5 Sep 2022 06:51:13 +0100 Subject: Handle CSAR reading errors in Service Import Issue-ID: SDC-4162 Signed-off-by: KrupaNagabhushan Change-Id: I13c2d053991f4a2b12e4c845dcd0da6e1c00adae --- catalog-ui/src/app/utils/service-csar-reader.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'catalog-ui/src/app/utils/service-csar-reader.ts') diff --git a/catalog-ui/src/app/utils/service-csar-reader.ts b/catalog-ui/src/app/utils/service-csar-reader.ts index 73b77559e2..90de53b8c9 100644 --- a/catalog-ui/src/app/utils/service-csar-reader.ts +++ b/catalog-ui/src/app/utils/service-csar-reader.ts @@ -26,17 +26,21 @@ export class ServiceCsarReader { private serviceCsar = new ServiceCsar(); - public read(serviceCsarBlob:Blob): Promise { + public read(serviceCsarBlob: Blob): Promise { const jsZip = require("jszip"); - return new Promise((resolve) => { + return new Promise((resolve, reject) => { jsZip.loadAsync(serviceCsarBlob).then(async zip => { - const toscaMetaFileContent = await zip.file("TOSCA-Metadata/TOSCA.meta").async("string"); - this.readToscaMeta(toscaMetaFileContent); - const entryDefinitionFileContent = await zip.file(this.serviceCsar.entryDefinitionFileName).async("string"); - this.readServiceMetadata(entryDefinitionFileContent); - const interfaceDefinitionFileContent = await zip.file(this.serviceCsar.interfaceDefinitionFileName).async("string"); - this.readServiceSubstitutionNode(interfaceDefinitionFileContent); - resolve(this.serviceCsar); + try { + const toscaMetaFileContent = await zip.file("TOSCA-Metadata/TOSCA.meta").async("string"); + this.readToscaMeta(toscaMetaFileContent); + const entryDefinitionFileContent = await zip.file(this.serviceCsar.entryDefinitionFileName).async("string"); + this.readServiceMetadata(entryDefinitionFileContent); + const interfaceDefinitionFileContent = await zip.file(this.serviceCsar.interfaceDefinitionFileName).async("string"); + this.readServiceSubstitutionNode(interfaceDefinitionFileContent); + resolve(this.serviceCsar); + } catch (error) { + reject(error); + } }); }); } -- cgit 1.2.3-korg