List of usage examples for com.liferay.portal.kernel.servlet ServletResponseConstants SC_DUPLICATE_FILE_EXCEPTION
int SC_DUPLICATE_FILE_EXCEPTION
To view the source code for com.liferay.portal.kernel.servlet ServletResponseConstants SC_DUPLICATE_FILE_EXCEPTION.
Click Source Link
From source file:com.liferay.document.library.web.internal.portlet.action.EditEntryMVCActionCommand.java
License:Open Source License
@Override protected void doProcessAction(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { String cmd = ParamUtil.getString(actionRequest, Constants.CMD); try {/* ww w .ja v a 2s. c o m*/ if (cmd.equals(Constants.CANCEL_CHECKOUT)) { cancelCheckedOutEntries(actionRequest); } else if (cmd.equals(Constants.CHECKIN)) { checkInEntries(actionRequest); } else if (cmd.equals(Constants.CHECKOUT)) { checkOutEntries(actionRequest); } else if (cmd.equals(Constants.DELETE)) { deleteEntries(actionRequest, false); } else if (cmd.equals(Constants.MOVE)) { moveEntries(actionRequest); } else if (cmd.equals(Constants.MOVE_TO_TRASH)) { deleteEntries(actionRequest, true); } else if (cmd.equals(Constants.RESTORE)) { restoreTrashEntries(actionRequest); } WindowState windowState = actionRequest.getWindowState(); if (windowState.equals(LiferayWindowState.POP_UP)) { String redirect = _portal.escapeRedirect(ParamUtil.getString(actionRequest, "redirect")); if (Validator.isNotNull(redirect)) { sendRedirect(actionRequest, actionResponse, redirect); } } } catch (DuplicateLockException | NoSuchFileEntryException | NoSuchFolderException | PrincipalException e) { if (e instanceof DuplicateLockException) { DuplicateLockException dle = (DuplicateLockException) e; SessionErrors.add(actionRequest, dle.getClass(), dle.getLock()); } else { SessionErrors.add(actionRequest, e.getClass()); } actionResponse.setRenderParameter("mvcPath", "/document_library/error.jsp"); } catch (DuplicateFileEntryException | DuplicateFolderNameException | SourceFileNameException e) { if (e instanceof DuplicateFileEntryException) { HttpServletResponse response = _portal.getHttpServletResponse(actionResponse); response.setStatus(ServletResponseConstants.SC_DUPLICATE_FILE_EXCEPTION); } SessionErrors.add(actionRequest, e.getClass()); } catch (AssetCategoryException | AssetTagException | InvalidFolderException e) { SessionErrors.add(actionRequest, e.getClass(), e); } catch (Exception e) { throw new PortletException(e); } }
From source file:com.liferay.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java
License:Open Source License
protected void handleUploadException(PortletConfig portletConfig, ActionRequest actionRequest, ActionResponse actionResponse, String cmd, Exception e) throws Exception { if (e instanceof AssetCategoryException || e instanceof AssetTagException) { SessionErrors.add(actionRequest, e.getClass(), e); } else if (e instanceof AntivirusScannerException || e instanceof DuplicateFileEntryException || e instanceof DuplicateFolderNameException || e instanceof FileExtensionException || e instanceof FileMimeTypeException || e instanceof FileNameException || e instanceof FileSizeException || e instanceof LiferayFileItemException || e instanceof NoSuchFolderException || e instanceof SourceFileNameException || e instanceof StorageFieldRequiredException || e instanceof UploadRequestSizeException) { if (!cmd.equals(Constants.ADD_DYNAMIC) && !cmd.equals(Constants.ADD_MULTIPLE) && !cmd.equals(Constants.ADD_TEMP)) { if (e instanceof AntivirusScannerException) { SessionErrors.add(actionRequest, e.getClass(), e); } else { SessionErrors.add(actionRequest, e.getClass()); }//from w ww . j a v a2 s .c o m return; } else if (cmd.equals(Constants.ADD_TEMP)) { hideDefaultErrorMessage(actionRequest); } if (e instanceof AntivirusScannerException || e instanceof DuplicateFileEntryException || e instanceof FileExtensionException || e instanceof FileNameException || e instanceof FileSizeException || e instanceof UploadRequestSizeException) { HttpServletResponse response = _portal.getHttpServletResponse(actionResponse); response.setContentType(ContentTypes.TEXT_HTML); response.setStatus(HttpServletResponse.SC_OK); String errorMessage = StringPool.BLANK; int errorType = 0; ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); if (e instanceof AntivirusScannerException) { AntivirusScannerException ase = (AntivirusScannerException) e; errorMessage = themeDisplay.translate(ase.getMessageKey()); errorType = ServletResponseConstants.SC_FILE_ANTIVIRUS_EXCEPTION; } if (e instanceof DuplicateFileEntryException) { errorMessage = themeDisplay.translate("please-enter-a-unique-document-name"); errorType = ServletResponseConstants.SC_DUPLICATE_FILE_EXCEPTION; } else if (e instanceof FileExtensionException) { errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-extension-x", StringUtil .merge(getAllowedFileExtensions(portletConfig, actionRequest, actionResponse))); errorType = ServletResponseConstants.SC_FILE_EXTENSION_EXCEPTION; } else if (e instanceof FileNameException) { errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-file-name"); errorType = ServletResponseConstants.SC_FILE_NAME_EXCEPTION; } else if (e instanceof FileSizeException) { long fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.DL_FILE_MAX_SIZE); if (fileMaxSize == 0) { fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE); } errorMessage = themeDisplay.translate( "please-enter-a-file-with-a-valid-file-size-no-" + "larger-than-x", TextFormatter.formatStorageSize(fileMaxSize, themeDisplay.getLocale())); errorType = ServletResponseConstants.SC_FILE_SIZE_EXCEPTION; } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); jsonObject.put("message", errorMessage); jsonObject.put("status", errorType); JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject); } if (e instanceof AntivirusScannerException) { SessionErrors.add(actionRequest, e.getClass(), e); } else { SessionErrors.add(actionRequest, e.getClass()); } } else if (e instanceof DuplicateLockException || e instanceof FileEntryLockException.MustOwnLock || e instanceof InvalidFileVersionException || e instanceof NoSuchFileEntryException || e instanceof PrincipalException) { if (e instanceof DuplicateLockException) { DuplicateLockException dle = (DuplicateLockException) e; SessionErrors.add(actionRequest, dle.getClass(), dle.getLock()); } else { SessionErrors.add(actionRequest, e.getClass()); } actionResponse.setRenderParameter("mvcPath", "/document_library/error.jsp"); } else { Throwable cause = e.getCause(); if (cause instanceof DuplicateFileEntryException) { SessionErrors.add(actionRequest, DuplicateFileEntryException.class); } else { throw e; } } }
From source file:com.liferay.exportimport.staging.StagingImpl.java
License:Open Source License
@Override public JSONObject getExceptionMessagesJSONObject(Locale locale, Exception e, ExportImportConfiguration exportImportConfiguration) { JSONObject exceptionMessagesJSONObject = JSONFactoryUtil.createJSONObject(); String errorMessage = StringPool.BLANK; JSONArray errorMessagesJSONArray = null; int errorType = 0; JSONArray warningMessagesJSONArray = null; ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language", locale, getClass()); Throwable cause = e.getCause(); if (e instanceof DuplicateFileEntryException) { errorMessage = LanguageUtil.get(locale, "please-enter-a-unique-document-name"); errorType = ServletResponseConstants.SC_DUPLICATE_FILE_EXCEPTION; } else if (e instanceof FileExtensionException) { errorMessage = LanguageUtil.format(locale, "document-names-must-end-with-one-of-the-following-extensions", ".lar", false); errorType = ServletResponseConstants.SC_FILE_EXTENSION_EXCEPTION; } else if (e instanceof FileNameException) { errorMessage = LanguageUtil.get(locale, "please-enter-a-file-with-a-valid-file-name"); errorType = ServletResponseConstants.SC_FILE_NAME_EXCEPTION; } else if (e instanceof FileSizeException || e instanceof LARFileSizeException) { if ((exportImportConfiguration != null) && ((exportImportConfiguration .getType() == ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_LOCAL) || (exportImportConfiguration .getType() == ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE) || (exportImportConfiguration .getType() == ExportImportConfigurationConstants.TYPE_PUBLISH_PORTLET))) { errorMessage = LanguageUtil.get(locale, "file-size-limit-exceeded.-please-ensure-that-the-file-" + "does-not-exceed-the-file-size-limit-in-both-the-" + "live-environment-and-the-staging-environment"); } else {//www . j ava 2s . com errorMessage = LanguageUtil.format(locale, "please-enter-a-file-with-a-valid-file-size-no-larger-" + "than-x", TextFormatter.formatStorageSize(_dlValidator.getMaxAllowableSize(), locale), false); } errorType = ServletResponseConstants.SC_FILE_SIZE_EXCEPTION; } else if (e instanceof LARTypeException) { LARTypeException lte = (LARTypeException) e; if (lte.getType() == LARTypeException.TYPE_COMPANY_GROUP) { errorMessage = LanguageUtil.format(resourceBundle, "a-x-can-only-be-imported-to-a-x", "global-site"); } else if (lte.getType() == LARTypeException.TYPE_LAYOUT_PROTOTYPE) { errorMessage = LanguageUtil.format(resourceBundle, "a-x-can-only-be-imported-to-a-x", LanguageUtil.get(locale, "page-template")); } else if (lte.getType() == LARTypeException.TYPE_LAYOUT_SET) { errorMessage = LanguageUtil.format(resourceBundle, "a-x-can-only-be-imported-to-a-x", "site"); } else if (lte.getType() == LARTypeException.TYPE_LAYOUT_SET_PROTOTYPE) { errorMessage = LanguageUtil.format(resourceBundle, "a-x-can-only-be-imported-to-a-x", LanguageUtil.get(locale, "site-template")); } else { errorMessage = LanguageUtil.format(resourceBundle, "uploaded-lar-file-type-x-does-not-match-x", new Object[] { lte.getActualLARType(), StringUtil.merge(lte.getExpectedLARTypes(), StringPool.COMMA_AND_SPACE) }); } errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } else if (e instanceof LARFileException) { LARFileException lfe = (LARFileException) e; if (lfe.getType() == LARFileException.TYPE_INVALID_MANIFEST) { errorMessage = LanguageUtil.format(resourceBundle, "invalid-manifest.xml-x", lfe.getMessage()); } else if (lfe.getType() == LARFileException.TYPE_MISSING_MANIFEST) { errorMessage = LanguageUtil.get(resourceBundle, "missing-manifest.xml"); } else { errorMessage = LanguageUtil.get(locale, "please-specify-a-lar-file-to-import"); } errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } else if (e instanceof LayoutImportException || cause instanceof LayoutImportException) { LayoutImportException lie = null; if (e instanceof LayoutImportException) { lie = (LayoutImportException) e; } else { lie = (LayoutImportException) cause; } if (lie.getType() == LayoutImportException.TYPE_WRONG_BUILD_NUMBER) { errorMessage = LanguageUtil.format(resourceBundle, "lar-build-number-x-does-not-match-portal-build-number-x", lie.getArguments()); } else if (lie.getType() == LayoutImportException.TYPE_WRONG_LAR_SCHEMA_VERSION) { errorMessage = LanguageUtil.format(resourceBundle, "lar-schema-version-x-does-not-match-deployed-export-" + "import-schema-version-x", lie.getArguments()); } else if (lie.getType() == LayoutImportException.TYPE_WRONG_PORTLET_SCHEMA_VERSION) { Object[] arguments = lie.getArguments(); Portlet portlet = _portletLocalService.getPortletById((String) arguments[1]); arguments[1] = portlet.getDisplayName(); errorMessage = LanguageUtil.format(resourceBundle, "portlet's-schema-version-x-in-the-lar-is-not-valid-for-" + "the-deployed-portlet-x-with-schema-version-x", lie.getArguments()); } else { errorMessage = e.getLocalizedMessage(); } errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } else if (e instanceof LayoutPrototypeException) { LayoutPrototypeException lpe = (LayoutPrototypeException) e; StringBundler sb = new StringBundler(4); sb.append("the-lar-file-could-not-be-imported-because-it-"); sb.append("requires-page-templates-or-site-templates-that-could-"); sb.append("not-be-found.-please-import-the-following-templates-"); sb.append("manually"); errorMessage = LanguageUtil.get(resourceBundle, sb.toString()); errorMessagesJSONArray = JSONFactoryUtil.createJSONArray(); List<Tuple> missingLayoutPrototypes = lpe.getMissingLayoutPrototypes(); for (Tuple missingLayoutPrototype : missingLayoutPrototypes) { JSONObject errorMessageJSONObject = JSONFactoryUtil.createJSONObject(); String layoutPrototypeUuid = (String) missingLayoutPrototype.getObject(1); errorMessageJSONObject.put("info", layoutPrototypeUuid); String layoutPrototypeName = (String) missingLayoutPrototype.getObject(2); errorMessageJSONObject.put("name", layoutPrototypeName); String layoutPrototypeClassName = (String) missingLayoutPrototype.getObject(0); errorMessageJSONObject.put("type", ResourceActionsUtil.getModelResource(locale, layoutPrototypeClassName)); errorMessagesJSONArray.put(errorMessageJSONObject); } errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } else if (e instanceof LocaleException) { LocaleException le = (LocaleException) e; errorMessage = LanguageUtil.format(locale, "the-available-languages-in-the-lar-file-x-do-not-match-the-" + "site's-available-languages-x", new String[] { StringUtil.merge(le.getSourceAvailableLocales(), StringPool.COMMA_AND_SPACE), StringUtil.merge(le.getTargetAvailableLocales(), StringPool.COMMA_AND_SPACE) }, false); errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } else if (e instanceof MissingReferenceException) { MissingReferenceException mre = (MissingReferenceException) e; if ((exportImportConfiguration != null) && ((exportImportConfiguration .getType() == ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_LOCAL) || (exportImportConfiguration .getType() == ExportImportConfigurationConstants.TYPE_PUBLISH_LAYOUT_REMOTE) || (exportImportConfiguration .getType() == ExportImportConfigurationConstants.TYPE_PUBLISH_PORTLET))) { errorMessage = LanguageUtil.get(locale, "there-are-missing-references-that-could-not-be-found-in-" + "the-live-environment-the-following-elements-are-" + "published-from-their-own-site"); } else { errorMessage = LanguageUtil.get(locale, "there-are-missing-references-that-could-not-be-found-in-" + "the-current-site"); } MissingReferences missingReferences = mre.getMissingReferences(); errorMessagesJSONArray = getErrorMessagesJSONArray(locale, missingReferences.getDependencyMissingReferences()); errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; warningMessagesJSONArray = getWarningMessagesJSONArray(locale, missingReferences.getWeakMissingReferences()); } else if (e instanceof PortletDataException) { PortletDataException pde = (PortletDataException) e; String referrerClassName = pde.getStagedModelClassName(); String referrerDisplayName = pde.getStagedModelDisplayName(); String modelResource = ResourceActionsUtil.getModelResource(locale, referrerClassName); if (pde.getType() == PortletDataException.DELETE_PORTLET_DATA) { if (Validator.isNotNull(pde.getLocalizedMessage())) { errorMessage = LanguageUtil.format(locale, "the-following-error-in-x-while-deleting-its-data-" + "has-stopped-the-process-x", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale), pde.getLocalizedMessage() }, false); } else { errorMessage = LanguageUtil.format(locale, "an-unexpected-error-in-x-while-deleting-its-data-" + "has-stopped-the-process", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale) }, false); } } else if (pde.getType() == PortletDataException.EXPORT_PORTLET_DATA) { if (Validator.isNotNull(pde.getLocalizedMessage())) { errorMessage = LanguageUtil.format(locale, "the-following-error-in-x-while-exporting-its-data-" + "has-stopped-the-process-x", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale), pde.getLocalizedMessage() }, false); } else { errorMessage = LanguageUtil.format(locale, "an-unexpected-error-in-x-while-exporting-its-data-" + "has-stopped-the-process", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale) }, false); } } else if (pde.getType() == PortletDataException.IMPORT_PORTLET_DATA) { if (Validator.isNotNull(pde.getLocalizedMessage())) { errorMessage = LanguageUtil.format(locale, "the-following-error-in-x-while-importing-its-data-" + "has-stopped-the-process-x", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale), pde.getLocalizedMessage() }, false); } else { errorMessage = LanguageUtil.format(locale, "an-unexpected-error-in-x-while-importing-its-data-" + "has-stopped-the-process", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale) }, false); } } else if (pde.getType() == PortletDataException.INVALID_GROUP) { errorMessage = LanguageUtil.format(locale, "the-x-x-could-not-be-exported-because-it-is-not-in-the-" + "currently-exported-group", new String[] { modelResource, referrerDisplayName }, false); } else if (pde.getType() == PortletDataException.MISSING_DEPENDENCY) { errorMessage = LanguageUtil.format(locale, "the-x-x-has-missing-references-that-could-not-be-found-" + "during-the-process", new String[] { modelResource, referrerDisplayName }, false); } else if (pde.getType() == PortletDataException.PREPARE_MANIFEST_SUMMARY) { if (Validator.isNotNull(pde.getLocalizedMessage())) { errorMessage = LanguageUtil.format(locale, "the-following-error-in-x-while-preparing-its-" + "manifest-has-stopped-the-process-x", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale), pde.getLocalizedMessage() }, false); } else { errorMessage = LanguageUtil.format(locale, "an-unexpected-error-in-x-while-preparing-its-" + "manifest-has-stopped-the-process", new String[] { _portal.getPortletTitle(pde.getPortletId(), locale) }, false); } } else if (pde.getType() == PortletDataException.STATUS_IN_TRASH) { errorMessage = LanguageUtil.format(locale, "the-x-x-could-not-be-exported-because-it-is-in-the-" + "recycle-bin", new String[] { modelResource, referrerDisplayName }, false); } else if (pde.getType() == PortletDataException.STATUS_UNAVAILABLE) { errorMessage = LanguageUtil.format(locale, "the-x-x-could-not-be-exported-because-its-workflow-" + "status-is-not-exportable", new String[] { modelResource, referrerDisplayName }, false); } else if (Validator.isNotNull(referrerDisplayName)) { errorMessage = LanguageUtil.format(resourceBundle, "the-following-error-occurred-while-processing-the-x-x-x", new String[] { modelResource, referrerDisplayName, e.getLocalizedMessage() }); } else { errorMessage = e.getLocalizedMessage(); } errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } else if (e instanceof PortletIdException) { PortletIdException pie = (PortletIdException) e; Portlet portlet = _portletLocalService.getPortletById(pie.getMessage()); errorMessage = LanguageUtil.format(resourceBundle, "a-x-can-only-be-imported-to-a-x", portlet.getDisplayName() + " Portlet"); errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } else { errorMessage = e.getLocalizedMessage(); errorType = ServletResponseConstants.SC_FILE_CUSTOM_EXCEPTION; } exceptionMessagesJSONObject.put("message", errorMessage); if ((errorMessagesJSONArray != null) && (errorMessagesJSONArray.length() > 0)) { exceptionMessagesJSONObject.put("messageListItems", errorMessagesJSONArray); } exceptionMessagesJSONObject.put("status", errorType); if ((warningMessagesJSONArray != null) && (warningMessagesJSONArray.length() > 0)) { exceptionMessagesJSONObject.put("warningMessages", warningMessagesJSONArray); } return exceptionMessagesJSONObject; }
From source file:com.liferay.portlet.documentlibrary.action.EditEntryAction.java
License:Open Source License
@Override public void processAction(ActionMapping mapping, ActionForm form, PortletConfig portletConfig, ActionRequest actionRequest, ActionResponse actionResponse) throws Exception { HttpServletResponse Response = PortalUtil.getHttpServletResponse(actionResponse); String cmd = ParamUtil.getString(actionRequest, Constants.CMD); try {//w w w . j a v a 2 s .co m if (cmd.equals(Constants.DELETE)) { deleteEntries(actionRequest); } else if (cmd.equals(Constants.CANCEL_CHECKOUT)) { cancelCheckedOutEntries(actionRequest); } else if (cmd.equals(Constants.CHECKIN)) { checkInEntries(actionRequest); } else if (cmd.equals(Constants.CHECKOUT)) { checkOutEntries(actionRequest); } else if (cmd.equals(Constants.MOVE)) { moveEntries(actionRequest); } WindowState windowState = actionRequest.getWindowState(); if (!windowState.equals(LiferayWindowState.POP_UP)) { sendRedirect(actionRequest, actionResponse); } else { String redirect = PortalUtil.escapeRedirect(ParamUtil.getString(actionRequest, "redirect")); if (Validator.isNotNull(redirect)) { actionResponse.sendRedirect(redirect); } } } catch (Exception e) { if (e instanceof DuplicateLockException || e instanceof NoSuchFileEntryException || e instanceof NoSuchFolderException || e instanceof PrincipalException) { if (e instanceof DuplicateLockException) { DuplicateLockException dle = (DuplicateLockException) e; SessionErrors.add(actionRequest, dle.getClass(), dle.getLock()); } else { SessionErrors.add(actionRequest, e.getClass()); } setForward(actionRequest, "portlet.document_library.error"); } else if (e instanceof DuplicateFileException || e instanceof DuplicateFolderNameException || e instanceof NoSuchFolderException || e instanceof SourceFileNameException) { if (e instanceof DuplicateFileException) { HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse); response.setStatus(ServletResponseConstants.SC_DUPLICATE_FILE_EXCEPTION); } SessionErrors.add(actionRequest, e.getClass()); } else if (e instanceof AssetCategoryException || e instanceof AssetTagException) { SessionErrors.add(actionRequest, e.getClass(), e); } else { throw e; } } }
From source file:com.liferay.wiki.web.internal.portlet.action.EditPageAttachmentsMVCActionCommand.java
License:Open Source License
/** * TODO: Remove. This should extend from EditFileEntryAction once it is * modularized./*from w w w . j a v a 2s .c om*/ */ protected void handleUploadException(PortletConfig portletConfig, ActionRequest actionRequest, ActionResponse actionResponse, String cmd, Exception e) throws Exception { if (e instanceof AssetCategoryException || e instanceof AssetTagException) { SessionErrors.add(actionRequest, e.getClass(), e); } else if (e instanceof AntivirusScannerException || e instanceof DuplicateFileEntryException || e instanceof DuplicateFolderNameException || e instanceof FileExtensionException || e instanceof FileMimeTypeException || e instanceof FileNameException || e instanceof FileSizeException || e instanceof LiferayFileItemException || e instanceof NoSuchFolderException || e instanceof SourceFileNameException || e instanceof StorageFieldRequiredException || e instanceof UploadRequestSizeException) { if (!cmd.equals(Constants.ADD_DYNAMIC) && !cmd.equals(Constants.ADD_MULTIPLE) && !cmd.equals(Constants.ADD_TEMP)) { if (e instanceof AntivirusScannerException) { SessionErrors.add(actionRequest, e.getClass(), e); } else { SessionErrors.add(actionRequest, e.getClass()); } return; } else if (cmd.equals(Constants.ADD_TEMP)) { hideDefaultErrorMessage(actionRequest); } if (e instanceof AntivirusScannerException || e instanceof DuplicateFileEntryException || e instanceof FileExtensionException || e instanceof FileNameException || e instanceof FileSizeException || e instanceof UploadRequestSizeException) { HttpServletResponse response = PortalUtil.getHttpServletResponse(actionResponse); response.setContentType(ContentTypes.TEXT_HTML); response.setStatus(HttpServletResponse.SC_OK); String errorMessage = StringPool.BLANK; int errorType = 0; ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); if (e instanceof AntivirusScannerException) { AntivirusScannerException ase = (AntivirusScannerException) e; errorMessage = themeDisplay.translate(ase.getMessageKey()); errorType = ServletResponseConstants.SC_FILE_ANTIVIRUS_EXCEPTION; } if (e instanceof DuplicateFileEntryException) { errorMessage = themeDisplay.translate("please-enter-a-unique-document-name"); errorType = ServletResponseConstants.SC_DUPLICATE_FILE_EXCEPTION; } else if (e instanceof FileExtensionException) { errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-extension-x", StringUtil .merge(getAllowedFileExtensions(portletConfig, actionRequest, actionResponse))); errorType = ServletResponseConstants.SC_FILE_EXTENSION_EXCEPTION; } else if (e instanceof FileNameException) { errorMessage = themeDisplay.translate("please-enter-a-file-with-a-valid-file-name"); errorType = ServletResponseConstants.SC_FILE_NAME_EXCEPTION; } else if (e instanceof FileSizeException) { long fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.DL_FILE_MAX_SIZE); if (fileMaxSize == 0) { fileMaxSize = PrefsPropsUtil.getLong(PropsKeys.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE); } errorMessage = themeDisplay.translate( "please-enter-a-file-with-a-valid-file-size-no-larger" + "-than-x", TextFormatter.formatStorageSize(fileMaxSize, themeDisplay.getLocale())); errorType = ServletResponseConstants.SC_FILE_SIZE_EXCEPTION; } JSONObject jsonObject = JSONFactoryUtil.createJSONObject(); jsonObject.put("message", errorMessage); jsonObject.put("status", errorType); JSONPortletResponseUtil.writeJSON(actionRequest, actionResponse, jsonObject); } if (e instanceof AntivirusScannerException) { SessionErrors.add(actionRequest, e.getClass(), e); } else { SessionErrors.add(actionRequest, e.getClass()); } } else if (e instanceof DuplicateLockException || e instanceof InvalidFileVersionException || e instanceof NoSuchFileEntryException || e instanceof PrincipalException) { if (e instanceof DuplicateLockException) { DuplicateLockException dle = (DuplicateLockException) e; SessionErrors.add(actionRequest, dle.getClass(), dle.getLock()); } else { SessionErrors.add(actionRequest, e.getClass()); } actionResponse.setRenderParameter("mvcPath", "/html/porltet/document_library/error.jsp"); } else { Throwable cause = e.getCause(); if (cause instanceof DuplicateFileEntryException) { SessionErrors.add(actionRequest, DuplicateFileEntryException.class); } else { throw e; } } }