Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/service/DacoServiceImpl.java =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r68d56bcf4ea82273d7d3beb10809cb638d9b4e7d --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/service/DacoServiceImpl.java (.../DacoServiceImpl.java) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/service/DacoServiceImpl.java (.../DacoServiceImpl.java) (revision 68d56bcf4ea82273d7d3beb10809cb638d9b4e7d) @@ -333,10 +333,10 @@ answer.setFileType(fileType); answer.setFileName(fileName); } catch (FileNotFoundException e) { - DacoServiceImpl.log.error(messageService.getMessage("error.msg.file.not.found") + ":" + e.toString()); + DacoServiceImpl.log.error(messageService.getMessage("error.msg.file.not.found") + ": " + e.toString()); throw new UploadDacoFileException(messageService.getMessage("error.msg.file.not.found")); } catch (IOException e) { - DacoServiceImpl.log.error(messageService.getMessage("error.msg.io.exception") + ":" + e.toString()); + DacoServiceImpl.log.error(messageService.getMessage("error.msg.io.exception") + ": " + e.toString()); throw new UploadDacoFileException(messageService.getMessage("error.msg.io.exception")); } } @@ -700,7 +700,7 @@ public void auditLogStartEditingActivityInMonitor(long toolContentID) { toolService.auditLogStartEditingActivityInMonitor(toolContentID); } - + @Override public boolean isLastActivity(Long toolSessionId) { return toolService.isLastActivity(toolSessionId); @@ -726,13 +726,17 @@ try { node = dacoToolContentHandler.uploadFile(file.getInputStream(), fileName, file.getContentType()); } catch (InvalidParameterException e) { - throw new UploadDacoFileException(messageService.getMessage("error.msg.invaid.param.upload")); + throw new UploadDacoFileException( + messageService.getMessage("error.msg.invaid.param.upload") + " " + e.getMessage()); } catch (FileNotFoundException e) { - throw new UploadDacoFileException(messageService.getMessage("error.msg.file.not.found")); + throw new UploadDacoFileException( + messageService.getMessage("error.msg.file.not.found") + " " + e.getMessage()); } catch (RepositoryCheckedException e) { - throw new UploadDacoFileException(messageService.getMessage("error.msg.repository")); + throw new UploadDacoFileException( + messageService.getMessage("error.msg.repository") + " " + e.getMessage()); } catch (IOException e) { - throw new UploadDacoFileException(messageService.getMessage("error.msg.io.exception")); + throw new UploadDacoFileException( + messageService.getMessage("error.msg.io.exception") + " " + e.getMessage()); } } return node; Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/controller/LearningController.java =================================================================== diff -u -r3ee06bc1b00b1673399c1871a73cfa1d8ec2c0db -r68d56bcf4ea82273d7d3beb10809cb638d9b4e7d --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/controller/LearningController.java (.../LearningController.java) (revision 3ee06bc1b00b1673399c1871a73cfa1d8ec2c0db) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/controller/LearningController.java (.../LearningController.java) (revision 68d56bcf4ea82273d7d3beb10809cb638d9b4e7d) @@ -421,8 +421,11 @@ try { dacoService.uploadDacoAnswerFile(answer, file); } catch (UploadDacoFileException e) { - LearningController.log.error("Failed upload Resource File " + e.toString()); - e.printStackTrace(); + LearningController.log.error("Failed upload Daco File " + e.toString()); + errorMap.add("GLOBAL", messageService.getMessage(DacoConstants.ERROR_MSG_UPLOAD_FAILED, + new Object[] { e.getMessage() })); + request.setAttribute("errorMap", errorMap); + return "pages/learning/learning"; } } } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java =================================================================== diff -u -r234809e3e6cc8d1978aa128d8d2cd91ccea41fb9 -r68d56bcf4ea82273d7d3beb10809cb638d9b4e7d --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision 234809e3e6cc8d1978aa128d8d2cd91ccea41fb9) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/service/ResourceServiceImpl.java (.../ResourceServiceImpl.java) (revision 68d56bcf4ea82273d7d3beb10809cb638d9b4e7d) @@ -192,7 +192,8 @@ } @Override - public void deleteFromRepository(Long fileUuid, Long fileVersionId) throws InvalidParameterException, RepositoryCheckedException { + public void deleteFromRepository(Long fileUuid, Long fileVersionId) + throws InvalidParameterException, RepositoryCheckedException { resourceToolContentHandler.deleteFile(fileUuid); } @@ -610,13 +611,17 @@ try { node = resourceToolContentHandler.uploadFile(file.getInputStream(), fileName, file.getContentType()); } catch (InvalidParameterException e) { - throw new UploadResourceFileException(messageService.getMessage("error.msg.invaid.param.upload")); + throw new UploadResourceFileException( + messageService.getMessage("error.msg.invaid.param.upload") + " " + e.getMessage()); } catch (FileNotFoundException e) { - throw new UploadResourceFileException(messageService.getMessage("error.msg.file.not.found")); + throw new UploadResourceFileException( + messageService.getMessage("error.msg.file.not.found") + " " + e.getMessage()); } catch (RepositoryCheckedException e) { - throw new UploadResourceFileException(messageService.getMessage("error.msg.repository")); + throw new UploadResourceFileException( + messageService.getMessage("error.msg.repository") + " " + e.getMessage()); } catch (IOException e) { - throw new UploadResourceFileException(messageService.getMessage("error.msg.io.exception")); + throw new UploadResourceFileException( + messageService.getMessage("error.msg.io.exception") + " " + e.getMessage()); } } return node; @@ -743,7 +748,7 @@ public void auditLogStartEditingActivityInMonitor(long toolContentID) { toolService.auditLogStartEditingActivityInMonitor(toolContentID); } - + @Override public boolean isLastActivity(Long toolSessionId) { return toolService.isLastActivity(toolSessionId); @@ -930,14 +935,12 @@ @Override public void removeLearnerContent(Long toolContentId, Integer userId) throws ToolException { if (log.isDebugEnabled()) { - log.debug( - "Removing Share Resources content for user ID " + userId + " and toolContentId " + toolContentId); + log.debug("Removing Share Resources content for user ID " + userId + " and toolContentId " + toolContentId); } Resource resource = resourceDao.getByContentId(toolContentId); if (resource == null) { - log - .warn("Did not find activity with toolContentId: " + toolContentId + " to remove learner content"); + log.warn("Did not find activity with toolContentId: " + toolContentId + " to remove learner content"); return; } @@ -1004,8 +1007,8 @@ session.setStatus(ResourceConstants.COMPLETED); resourceSessionDao.saveObject(session); } else { - log.error("Fail to leave tool Session.Could not find shared resources " - + "session by given session id: " + toolSessionId); + log.error("Fail to leave tool Session.Could not find shared resources " + "session by given session id: " + + toolSessionId); throw new DataMissingException("Fail to leave tool Session." + "Could not find shared resource session by given session id: " + toolSessionId); } Index: lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java =================================================================== diff -u -r3ee06bc1b00b1673399c1871a73cfa1d8ec2c0db -r68d56bcf4ea82273d7d3beb10809cb638d9b4e7d --- lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java (.../LearningController.java) (revision 3ee06bc1b00b1673399c1871a73cfa1d8ec2c0db) +++ lams_tool_larsrc/src/java/org/lamsfoundation/lams/tool/rsrc/web/controller/LearningController.java (.../LearningController.java) (revision 68d56bcf4ea82273d7d3beb10809cb638d9b4e7d) @@ -40,7 +40,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.lamsfoundation.lams.learningdesign.dto.ActivityPositionDTO; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.notebook.service.CoreNotebookConstants; import org.lamsfoundation.lams.rating.dto.ItemRatingDTO; @@ -74,7 +73,6 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.context.WebApplicationContext; /** * @author Steve.Ni @@ -155,7 +153,7 @@ // check whether there is only one resource item and run auto flag is true or not. boolean runAuto = false; Long runAutoItemUid = null; - if (resource.isRunAuto() && items != null ) { + if (resource.isRunAuto() && items != null) { int itemsNumber = 0; for (ResourceItem item : items) { // only visible item can be run auto. @@ -165,7 +163,7 @@ } } // can't autorun if there is more than one! - if ( itemsNumber == 1 ) { + if (itemsNumber == 1) { runAuto = true; } else { runAutoItemUid = null; @@ -247,7 +245,7 @@ resourceService.retrieveComplete(resourceItemList, resourceUser); } int numItemsCompleted = 0; - for ( ResourceItem item: resourceItemList ) { + for (ResourceItem item : resourceItemList) { if (item.isComplete()) { numItemsCompleted++; } @@ -378,8 +376,10 @@ try { resourceService.uploadResourceItemFile(item, resourceItemForm.getFile()); } catch (UploadResourceFileException e) { - LearningController.log.error("Failed upload Resource File " + e.toString()); - return "error"; + errorMap.add("GLOBAL", + messageService.getMessage("error.upload.failed", new Object[] { e.getMessage() })); + request.setAttribute("errorMap", errorMap); + return "pages/authoring/parts/addurl"; } item.setOpenUrlNewWindow(resourceItemForm.isOpenUrlNewWindow()); Index: lams_tool_sbmt/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -rdd271045ecd35d9bcc6cf58caa74945fa4d26f03 -r68d56bcf4ea82273d7d3beb10809cb638d9b4e7d --- lams_tool_sbmt/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision dd271045ecd35d9bcc6cf58caa74945fa4d26f03) +++ lams_tool_sbmt/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 68d56bcf4ea82273d7d3beb10809cb638d9b4e7d) @@ -166,6 +166,6 @@ outcome.authoring.input =Search and select by outcome name or code outcome.authoring.existing =Added outcomes outcome.authoring.existing.none =none +error.upload =Error while uploading file: {0} - #======= End labels: Exported 160 labels for en AU ===== Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r68d56bcf4ea82273d7d3beb10809cb638d9b4e7d --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/service/SubmitFilesService.java (.../SubmitFilesService.java) (revision 68d56bcf4ea82273d7d3beb10809cb638d9b4e7d) @@ -503,7 +503,7 @@ private void removeToolSession(SubmitFilesSession session) { Set filesUploaded = session.getSubmissionDetails(); if (filesUploaded != null) { - IteratorfileIterator = filesUploaded.iterator(); + Iterator fileIterator = filesUploaded.iterator(); while (fileIterator.hasNext()) { SubmissionDetails details = fileIterator.next(); try { @@ -594,18 +594,8 @@ String fileName = file.getOriginalFilename(); try { node = sbmtToolContentHandler.uploadFile(file.getInputStream(), fileName, file.getContentType()); - } catch (InvalidParameterException e) { - throw new SubmitFilesException( - "FileNotFoundException occured while trying to upload File" + e.getMessage()); - } catch (FileNotFoundException e) { - throw new SubmitFilesException( - "FileNotFoundException occured while trying to upload File" + e.getMessage()); - } catch (RepositoryCheckedException e) { - throw new SubmitFilesException( - "FileNotFoundException occured while trying to upload File" + e.getMessage()); - } catch (IOException e) { - throw new SubmitFilesException( - "FileNotFoundException occured while trying to upload File" + e.getMessage()); + } catch (RepositoryCheckedException | IOException e) { + throw new SubmitFilesException(e.getMessage()); } } return node; @@ -615,9 +605,9 @@ public List getFilesUploadedByUser(Integer userID, Long sessionID, Locale currentLocale, boolean includeRemovedFiles) { List list = submissionDetailsDAO.getBySessionAndLearner(sessionID, userID); - SortedSet details = new TreeSet(this.new FileDtoComparator()); + SortedSet details = new TreeSet<>(this.new FileDtoComparator()); if (list == null) { - return new ArrayList(details); + return new ArrayList<>(details); } NumberFormat numberFormat = currentLocale != null ? NumberFormat.getInstance(currentLocale) : null; @@ -627,7 +617,7 @@ details.add(detailDto); } } - return new ArrayList(details); + return new ArrayList<>(details); } @Override @@ -662,7 +652,7 @@ userFileList = map.get(submitUserDTO); // if it is first time to this user, creating a new ArrayList for this user. if (userFileList == null) { - userFileList = new ArrayList(); + userFileList = new ArrayList<>(); } userFileList.add(detailDto); map.put(submitUserDTO, userFileList); @@ -782,7 +772,7 @@ Long sessionID = session.getSessionID(); //calculate users' total marks - Map userIdToTotalMarkMap = new TreeMap(); + Map userIdToTotalMarkMap = new TreeMap<>(); if (updateMarksForAllSessionUsers) { List allDetails = submissionDetailsDAO.getSubmissionDetailsBySession(sessionID); for (SubmissionDetails details : allDetails) { @@ -941,7 +931,7 @@ boolean notifyLearnersOnMarkRelease = getEventNotificationService().eventExists(SbmtConstants.TOOL_SIGNATURE, SbmtConstants.EVENT_NAME_NOTIFY_LEARNERS_ON_MARK_RELEASE, content.getContentID()); if (notifyLearnersOnMarkRelease) { - Map notificationMessages = new TreeMap(); + Map notificationMessages = new TreeMap<>(); List list = submissionDetailsDAO.getSubmissionDetailsBySession(sessionID); for (SubmissionDetails details : list) { @@ -1052,7 +1042,7 @@ public void auditLogStartEditingActivityInMonitor(long toolContentID) { toolService.auditLogStartEditingActivityInMonitor(toolContentID); } - + @Override public boolean isLastActivity(Long toolSessionId) { return toolService.isLastActivity(toolSessionId); Index: lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/LearnerController.java =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r68d56bcf4ea82273d7d3beb10809cb638d9b4e7d --- lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/LearnerController.java (.../LearnerController.java) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_tool_sbmt/src/java/org/lamsfoundation/lams/tool/sbmt/web/controller/LearnerController.java (.../LearnerController.java) (revision 68d56bcf4ea82273d7d3beb10809cb638d9b4e7d) @@ -89,7 +89,7 @@ @Autowired @Qualifier("sbmtMessageService") - private static MessageService messageService; + private MessageService messageService; @Autowired private WebApplicationContext applicationContext; @@ -100,7 +100,7 @@ @RequestMapping("/learner") public String learner(@ModelAttribute LearnerForm learnerForm, HttpServletRequest request) { // initial session Map - SessionMap sessionMap = new SessionMap(); + SessionMap sessionMap = new SessionMap<>(); request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); request.setAttribute(SbmtConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); @@ -280,7 +280,8 @@ @RequestMapping("/refresh") public String refresh(@ModelAttribute LearnerForm learnerForm, HttpServletRequest request) { String sessionMapID = WebUtil.readStrParam(request, SbmtConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession() + .getAttribute(sessionMapID); learnerForm.setSessionMapID(sessionMap.getSessionID()); request.setAttribute(SbmtConstants.ATTR_SESSION_MAP_ID, sessionMapID); @@ -309,7 +310,8 @@ @RequestMapping("/uploadFile") public String uploadFile(@ModelAttribute LearnerForm learnerForm, HttpServletRequest request) { String sessionMapID = learnerForm.getSessionMapID(); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession() + .getAttribute(sessionMapID); request.setAttribute("sessionMapID", sessionMapID); Long sessionID = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); @@ -342,8 +344,17 @@ String fileDescription = learnerForm.getDescription(); // reset fields and display a new form for next new file upload learnerForm.setDescription(""); + try { + submitFilesService.uploadFileToSession(sessionID, file, fileDescription, userID); + } catch (SubmitFilesException e) { + MultiValueMap errorMap = new LinkedMultiValueMap<>(); + logger.error("Error while uploading file", e); + errorMap.add("GLOBAL", messageService.getMessage("error.upload", new Object[] { e.getMessage() })); - submitFilesService.uploadFileToSession(sessionID, file, fileDescription, userID); + request.setAttribute("errorMap", errorMap); + return "learner/sbmtlearner"; + } + SubmitUser learner = getCurrentLearner(sessionID, submitFilesService); SubmitFilesContent content = submitFilesService.getSessionById(sessionID).getContent(); @@ -365,7 +376,8 @@ @RequestMapping("/finish") public String finish(HttpServletRequest request, HttpServletResponse response) { String sessionMapID = WebUtil.readStrParam(request, SbmtConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession() + .getAttribute(sessionMapID); request.setAttribute(SbmtConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); ToolAccessMode mode = (ToolAccessMode) sessionMap.get(AttributeNames.ATTR_MODE); @@ -566,7 +578,8 @@ String sessionMapID = WebUtil.readStrParam(request, SbmtConstants.ATTR_SESSION_MAP_ID); request.setAttribute(SbmtConstants.ATTR_SESSION_MAP_ID, sessionMapID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession() + .getAttribute(sessionMapID); Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); // check for existing notebook entry @@ -587,9 +600,10 @@ return finish(request, response); } - public static void validateBeforeFinish(HttpServletRequest request, ISubmitFilesService submitFilesService) { + public void validateBeforeFinish(HttpServletRequest request, ISubmitFilesService submitFilesService) { String sessionMapID = WebUtil.readStrParam(request, SbmtConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SessionMap sessionMap = (SessionMap) request.getSession() + .getAttribute(sessionMapID); Long sessionId = (Long) sessionMap.get(AttributeNames.PARAM_TOOL_SESSION_ID); HttpSession ss = SessionManager.getSession(); @@ -603,5 +617,4 @@ errorMap.add("GLOBAL", messageService.getMessage("error.learning.minimum.upload.number.less")); } } - -} +} \ No newline at end of file