diff --git a/src/main/java/org/gcube/portlets/widgets/workspaceuploader/server/upload/WorkspaceUploaderMng.java b/src/main/java/org/gcube/portlets/widgets/workspaceuploader/server/upload/WorkspaceUploaderMng.java index 8a504c8..97480bc 100644 --- a/src/main/java/org/gcube/portlets/widgets/workspaceuploader/server/upload/WorkspaceUploaderMng.java +++ b/src/main/java/org/gcube/portlets/widgets/workspaceuploader/server/upload/WorkspaceUploaderMng.java @@ -96,26 +96,35 @@ public class WorkspaceUploaderMng { } catch (Exception e1) { logger.error("Error during WorkspaceUploaderItem session update: ",e1); } - } catch (InsufficientPrivilegesException - | ItemAlreadyExistException | InternalErrorException - | IOException e) { - logger.error("Error during upload: ",e); - workspaceUploader.setStatusDescription("An error occurred during upload: "+itemName+". "+e.getMessage()); - workspaceUploader.setUploadStatus(UPLOAD_STATUS.FAILED); - try { - WsUtil.putWorkspaceUploaderInSession(httpSession, workspaceUploader); - } catch (Exception e1) { - logger.error("Error during WorkspaceUploaderItem session update: ",e1); - } - } catch (ItemNotFoundException | WrongItemTypeException | WorkspaceFolderNotFoundException | WrongDestinationException e) { - logger.error("Error during overwrite: ",e); - workspaceUploader.setStatusDescription("An error occurred during upload: "+itemName+". "+e.getMessage()); - workspaceUploader.setUploadStatus(UPLOAD_STATUS.FAILED); - try { - WsUtil.putWorkspaceUploaderInSession(httpSession, workspaceUploader); - } catch (Exception e1) { - logger.error("Error during WorkspaceUploaderItem session update: ",e1); - } + } catch (InsufficientPrivilegesException + | ItemAlreadyExistException | InternalErrorException + | IOException e) { + logger.error("Error during upload: ",e); + workspaceUploader.setStatusDescription("An error occurred during upload: "+itemName+". "+e.getMessage()); + workspaceUploader.setUploadStatus(UPLOAD_STATUS.FAILED); + try { + WsUtil.putWorkspaceUploaderInSession(httpSession, workspaceUploader); + } catch (Exception e1) { + logger.error("Error during WorkspaceUploaderItem session update: ",e1); + } + } catch (ItemNotFoundException | WrongItemTypeException | WorkspaceFolderNotFoundException | WrongDestinationException e) { + logger.error("Error during overwrite: ",e); + workspaceUploader.setStatusDescription("An error occurred during upload: "+itemName+". "+e.getMessage()); + workspaceUploader.setUploadStatus(UPLOAD_STATUS.FAILED); + try { + WsUtil.putWorkspaceUploaderInSession(httpSession, workspaceUploader); + } catch (Exception e1) { + logger.error("Error during WorkspaceUploaderItem session update: ",e1); + } + }catch(UploadCanceledException e){ + logger.info("UploadCanceledException thrown by client.."); + workspaceUploader.setStatusDescription("Aborted upload: "+itemName); + workspaceUploader.setUploadStatus(UPLOAD_STATUS.ABORTED); + try { + WsUtil.putWorkspaceUploaderInSession(httpSession, workspaceUploader); + } catch (Exception e1) { + logger.error("Error during WorkspaceUploaderItem session update: ",e1); + } }finally{ try { // StreamUtils.deleteTempFile(uploadFile); @@ -166,6 +175,15 @@ public class WorkspaceUploaderMng { } catch (Exception e1) { logger.error("Error during WorkspaceUploaderItem session update: ",e1); } + }catch(UploadCanceledException e){ + logger.info("UploadCanceledException thrown by client.."); + workspaceUploader.setStatusDescription("Aborted upload: "+itemName); + workspaceUploader.setUploadStatus(UPLOAD_STATUS.ABORTED); + try { + WsUtil.putWorkspaceUploaderInSession(httpSession, workspaceUploader); + } catch (Exception e1) { + logger.error("Error during WorkspaceUploaderItem session update: ",e1); + } }finally{ try { // StreamUtils.deleteTempFile(uploadFile);