Index: lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerSpringGroupingForm.java =================================================================== diff -u -r07d2252145d6e83dc2b67614077012b628286cb3 -rf0583554e45b1de3eb760f3cd4127e681b0123f8 --- lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerSpringGroupingForm.java (.../PedagogicalPlannerSpringGroupingForm.java) (revision 07d2252145d6e83dc2b67614077012b628286cb3) +++ lams_central/src/java/org/lamsfoundation/lams/web/planner/PedagogicalPlannerSpringGroupingForm.java (.../PedagogicalPlannerSpringGroupingForm.java) (revision f0583554e45b1de3eb760f3cd4127e681b0123f8) @@ -116,7 +116,7 @@ numberValid = false; } if (!numberValid) { - errorMap.add("GLOBAL", "error.planner.grouping.number.integer"); + errorMap.add("GLOBAL", messageService.getMessage("error.planner.grouping.number.integer")); valid = false; } setValid(valid); Index: lams_common/src/java/org/lamsfoundation/lams/util/FileValidatorSpringUtil.java =================================================================== diff -u -r0c57311e088d2090b702155b3cf78027c8462e0c -rf0583554e45b1de3eb760f3cd4127e681b0123f8 --- lams_common/src/java/org/lamsfoundation/lams/util/FileValidatorSpringUtil.java (.../FileValidatorSpringUtil.java) (revision 0c57311e088d2090b702155b3cf78027c8462e0c) +++ lams_common/src/java/org/lamsfoundation/lams/util/FileValidatorSpringUtil.java (.../FileValidatorSpringUtil.java) (revision f0583554e45b1de3eb760f3cd4127e681b0123f8) @@ -25,18 +25,6 @@ import java.text.NumberFormat; -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.validator.Field; -import org.apache.commons.validator.Validator; -import org.apache.commons.validator.ValidatorAction; -import org.apache.commons.validator.util.ValidatorUtils; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.validation.Errors; import org.springframework.web.multipart.MultipartFile; /** @@ -51,63 +39,14 @@ public static final String MSG_KEY = "errors.maxfilesize"; /** - * To enable this validator copy the XML entry below to validator-rules.xml - * * - * Then to validate your uploaded file size, by placing it under the corresponding
tag - * - * We could also use maxFileSize to validated large file sizes by setting the largeFile flag - * to true - * - * - * largeFile - * true - * - * - * - * You need to add an errors.maxfilesize entry to your resource bundle or you can change - * the "msg" attribute in the "validator" tag above. The maximum file size is pass to - * the message as arg0. So the following message or something similar could be used. - * errors.maxfilesize=The uploaded file has exceeded the maximum file size limit of {0} bytes - */ - public static boolean validateFileSize(Object bean, ValidatorAction va, Field field, MultiValueMap errorMap, - Validator validator, HttpServletRequest request) { - - Long fileSize = 0L; - try { - String fileSizeStr = ValidatorUtils.getValueAsString(bean, field.getProperty()); - fileSize = Long.valueOf(fileSizeStr); - } catch (Exception e) { - //catch null point exception: e.g., offlineFile.fileSize, if offlineFile is null, - //ValidatorUtils.getValueAsString() will throw null. - //skip, do nothing - return true; - } - - boolean largeFile = Boolean.valueOf(field.getVarValue(LARGE_FILE)).booleanValue(); - //so far put message into GLOABLE_MESSAGE rather than special key - return FileValidatorSpringUtil.validateFileSize(fileSize, largeFile, errorMap); - // validateFileSize(fileSize, largeFile, errorMap); - } - - /** - * * @param file * @param largeFile * @param errors * @return Be careful, if the file size is under maximum size, return TRUE. Otherwise, return false. */ - public static boolean validateFileSize(MultipartFile file, boolean largeFile, MultiValueMap errorMap) { + public static boolean validateFileSize(MultipartFile file, boolean largeFile) { Long fileSize = 0L; try { fileSize = file.getSize(); @@ -122,62 +61,18 @@ String maxSize = FileValidatorSpringUtil.formatSize(maxFileSize); // set error message - errorMap.add(MSG_KEY, maxSize); return false; } return true; } - /** - * - * @param file - * @param largeFile - * @param errorKey - * the key in ActionMessages(errorKey,ActionMessage()); - * @param errors - * @return Be careful, if the file size is under maximum size, return TRUE. Otherwise, return false. - */ -// public static boolean validateFileSize(MultipartFile file, Long fileSize, boolean largeFile) { -// -// try { -// fileSize = file.getSize(); -// } catch (Exception e) { -// //skip, do nothing -// return true; -// } -// -// return FileValidatorSpringUtil.validateFileSize(file, fileSize, largeFile); -// } - - /** - * - * @param file - * @param largeFile - * @return return null if file size is below max filesize, otherwise, return error message - */ - public static MultiValueMap validateFileSize(MultipartFile file, Long fileSize, boolean largeFile) { - fileSize = file.getSize(); - MultiValueMap errorMap = new LinkedMultiValueMap(); - - MultiValueMap errorMessages = new LinkedMultiValueMap(); - - boolean isMaxFilesizeExceeded = !FileValidatorSpringUtil.validateFileSize(file, largeFile, errorMap); - if (isMaxFilesizeExceeded) { - errorMessages.add(MSG_KEY, errorMap.toString()); - } - - return errorMessages; - } - - public static boolean validateFileSize(Long fileSize, boolean largeFile, MultiValueMap errorMap) { + public static boolean validateFileSize(Long fileSize, boolean largeFile) { float maxFileSize = largeFile ? Configuration.getAsInt(ConfigurationKeys.UPLOAD_FILE_LARGE_MAX_SIZE) : Configuration.getAsInt(ConfigurationKeys.UPLOAD_FILE_MAX_SIZE); if (fileSize > maxFileSize) { String maxSize = FileValidatorSpringUtil.formatSize(maxFileSize); - // set error message - errorMap.add(MSG_KEY, maxSize); return false; } return true; Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/LearnerController.java =================================================================== diff -u -ra99e23fb3a32273bb906230e7314380ccd8e03f8 -rf0583554e45b1de3eb760f3cd4127e681b0123f8 --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/LearnerController.java (.../LearnerController.java) (revision a99e23fb3a32273bb906230e7314380ccd8e03f8) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/LearnerController.java (.../LearnerController.java) (revision f0583554e45b1de3eb760f3cd4127e681b0123f8) @@ -413,7 +413,11 @@ errorMap.add("GLOBAL", messageService.getMessage("errors.maxdescsize")); } - FileValidatorSpringUtil.validateFileSize(learnerForm.getFile().getSize(), false, errorMap); + boolean fileSizeValid = FileValidatorSpringUtil.validateFileSize(learnerForm.getFile().getSize(), false); + if (!fileSizeValid) { + errorMap.add("GLOBAL", messageService.getMessage("errors.maxfilesize", + new Object[] { Configuration.getAsInt(ConfigurationKeys.UPLOAD_FILE_MAX_SIZE) })); + } if (learnerForm.getFile() != null) { LearnerController.logger.debug("Learner submit file : " + learnerForm.getFile().getName()); Index: lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/LearningController.java =================================================================== diff -u -r108298de22e3e3cb17e2cf409fca09ae68da8491 -rf0583554e45b1de3eb760f3cd4127e681b0123f8 --- lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/LearningController.java (.../LearningController.java) (revision 108298de22e3e3cb17e2cf409fca09ae68da8491) +++ lams_tool_task/src/java/org/lamsfoundation/lams/tool/taskList/web/controller/LearningController.java (.../LearningController.java) (revision f0583554e45b1de3eb760f3cd4127e681b0123f8) @@ -59,6 +59,8 @@ import org.lamsfoundation.lams.tool.taskList.web.form.ReflectionForm; import org.lamsfoundation.lams.tool.taskList.web.form.TaskListItemForm; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.Configuration; +import org.lamsfoundation.lams.util.ConfigurationKeys; import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.FileValidatorSpringUtil; import org.lamsfoundation.lams.util.MessageService; @@ -524,7 +526,12 @@ // validate file size MultiValueMap errorMap = new LinkedMultiValueMap<>(); - FileValidatorSpringUtil.validateFileSize(file, false, errorMap); + boolean fileSizeValid = FileValidatorSpringUtil.validateFileSize(file, false); + if (!fileSizeValid) { + errorMap.add("GLOBAL", messageService.getMessage("errors.maxfilesize", + new Object[] { Configuration.getAsInt(ConfigurationKeys.UPLOAD_FILE_MAX_SIZE) })); + } + if (!errorMap.isEmpty()) { request.setAttribute("errorMap", errorMap); return "pages/learning/learning";