X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ecomp-portal-BE-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportalapp%2Fportal%2Fcontroller%2FWidgetsCatalogController.java;h=a7ce3557baea5dacce747cb58e716ee35da26abd;hb=2f3daf7701f9d0a6a4388c9391eeeb91bbdfb3b6;hp=d05fe014c2c38365cf1cf9eb485aa989da1184ed;hpb=2845910b34682056c1949f82e39d9205a26554e9;p=portal.git diff --git a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/WidgetsCatalogController.java b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/WidgetsCatalogController.java index d05fe014..a7ce3557 100644 --- a/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/WidgetsCatalogController.java +++ b/ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/controller/WidgetsCatalogController.java @@ -377,32 +377,38 @@ public class WidgetsCatalogController extends EPRestrictedBaseController { .getBody(); File downloadFile = File.createTempFile("temp", ".zip"); - FileOutputStream stream = new FileOutputStream(downloadFile.getPath()); - stream.write(byteFile); - stream.close(); - - FileInputStream inputStream = new FileInputStream(downloadFile); - String mimeType = context.getMimeType(downloadFile.getPath()); - if (mimeType == null) { - mimeType = "application/octet-stream"; + try(FileOutputStream stream = new FileOutputStream(downloadFile.getPath())){ + stream.write(byteFile); + }catch(Exception e) + { + logger.error(EELFLoggerDelegate.errorLogger, "doDownload failed", e); + throw e; } - response.setContentType(mimeType); - response.setContentLength((int) downloadFile.length()); - String headerKey = "Content-Disposition"; - String headerValue = String.format("attachment; filename=\"%s\"", downloadFile.getName()); - downloadFile.delete(); - response.setHeader(headerKey, headerValue); - - OutputStream outStream = response.getOutputStream(); - byte[] buffer = new byte[32 * 1024]; - int bytesRead; - while ((bytesRead = inputStream.read(buffer)) != -1) { - outStream.write(buffer, 0, bytesRead); - } + try(FileInputStream inputStream = new FileInputStream(downloadFile); + OutputStream outStream = response.getOutputStream()){ + String mimeType = context.getMimeType(downloadFile.getPath()); + if (mimeType == null) { + mimeType = "application/octet-stream"; + } - inputStream.close(); - outStream.close(); + response.setContentType(mimeType); + response.setContentLength((int) downloadFile.length()); + String headerKey = "Content-Disposition"; + String headerValue = String.format("attachment; filename=\"%s\"", downloadFile.getName()); + downloadFile.delete(); + response.setHeader(headerKey, headerValue); + + byte[] buffer = new byte[32 * 1024]; + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + outStream.write(buffer, 0, bytesRead); + } + }catch(Exception e) + { + logger.error(EELFLoggerDelegate.errorLogger, "doDownload failed", e); + throw e; + } } @RequestMapping(value = { "/portalApi/microservices/parameters" }, method = RequestMethod.POST)