Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/AuthoringController.java =================================================================== diff -u -rb294a4ad71917a3740ef2250a5929d6de43866cf -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/AuthoringController.java (.../AuthoringController.java) (revision b294a4ad71917a3740ef2250a5929d6de43866cf) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/AuthoringController.java (.../AuthoringController.java) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -173,7 +173,8 @@ } @RequestMapping("/definelater") - public String defineLater(@ModelAttribute ImageGalleryForm imageGalleryForm, HttpServletRequest request) { + public String defineLater(@ModelAttribute ImageGalleryForm imageGalleryForm, HttpServletRequest request) + throws ServletException { Long contentId = new Long(WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_CONTENT_ID)); ImageGallery imageGallery = igService.getImageGalleryByContentId(contentId); @@ -185,6 +186,71 @@ igService.auditLogStartEditingActivityInMonitor(contentId); request.setAttribute(AttributeNames.ATTR_MODE, ToolAccessMode.TEACHER.toString()); + + List items = null; + + // Get contentFolderID and save to form. + String contentFolderID = WebUtil.readStrParam(request, AttributeNames.PARAM_CONTENT_FOLDER_ID); + imageGalleryForm.setContentFolderID(contentFolderID); + + // initial Session Map + SessionMap sessionMap = new SessionMap<>(); + request.getSession().setAttribute(sessionMap.getSessionID(), sessionMap); + imageGalleryForm.setSessionMapID(sessionMap.getSessionID()); + + try { + imageGallery = igService.getImageGalleryByContentId(contentId); + // if imageGallery does not exist, try to use default content instead. + if (imageGallery == null) { + imageGallery = igService.getDefaultContent(contentId); + if (imageGallery.getImageGalleryItems() != null) { + items = new ArrayList(imageGallery.getImageGalleryItems()); + } else { + items = null; + } + } else { + items = igService.getAuthoredItems(imageGallery.getUid()); + } + + imageGalleryForm.setImageGallery(imageGallery); + imageGalleryForm.setAllowRatingsOrVote(imageGallery.isAllowVote() || imageGallery.isAllowRank()); + } catch (Exception e) { + AuthoringController.log.error(e); + throw new ServletException(e); + } + + // init it to avoid null exception in following handling + if (items == null) { + items = new ArrayList<>(); + } else { + ImageGalleryUser imageGalleryUser = null; + // handle system default question: createBy is null, now set it to current user + for (ImageGalleryItem item : items) { + if (item.getCreateBy() == null) { + if (imageGalleryUser == null) { + // get back login user DTO + HttpSession ss = SessionManager.getSession(); + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + imageGalleryUser = new ImageGalleryUser(user, imageGallery); + } + item.setCreateBy(imageGalleryUser); + } + } + } + // init imageGallery item list + SortedSet imageGalleryItemList = getImageList(sessionMap); + imageGalleryItemList.clear(); + imageGalleryItemList.addAll(items); + + // get rating criterias from DB + List ratingCriterias = igService.getRatingCriterias(contentId); + sessionMap.put(AttributeNames.ATTR_RATING_CRITERIAS, ratingCriterias); + + sessionMap.put(ImageGalleryConstants.ATTR_IMAGE_GALLERY_FORM, imageGalleryForm); + sessionMap.put(ImageGalleryConstants.ATTR_NEXT_IMAGE_TITLE, imageGallery.getNextImageTitle()); + request.getSession().setAttribute(AttributeNames.PARAM_NOTIFY_CLOSE_URL, + request.getParameter(AttributeNames.PARAM_NOTIFY_CLOSE_URL)); + request.setAttribute(AttributeNames.ATTR_MODE, ToolAccessMode.TEACHER.toString()); request.setAttribute("startForm", imageGalleryForm); return "pages/authoring/start"; } @@ -379,7 +445,7 @@ public String removeImageFile(HttpServletRequest request) { request.setAttribute("itemAttachment", null); - return "pages/authoring/parts/itemlist"; + return "pages/authoring/parts/imagefile"; } /** @@ -533,7 +599,7 @@ } request.setAttribute(ImageGalleryConstants.ATTR_SESSION_MAP_ID, sessionMapID); - return "pages/authoring/parts/imagefile"; + return "pages/authoring/parts/itemlist"; } // ************************************************************************************* Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java =================================================================== diff -u -r17eedca34ff3aaaee38fc4dc4a93301351379c60 -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java (.../LearningController.java) (revision 17eedca34ff3aaaee38fc4dc4a93301351379c60) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java (.../LearningController.java) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -26,6 +26,7 @@ import java.io.IOException; import java.sql.Timestamp; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -38,8 +39,6 @@ import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; @@ -282,7 +281,13 @@ if (!errorMap.isEmpty()) { ServletOutputStream outputStream = response.getOutputStream(); -// outputStream.print(errorMap.get().next().toString()); + StringBuilder sb = new StringBuilder(); + Iterator it = errorMap.entrySet().iterator(); + while (it.hasNext()) { + MultiValueMap.Entry pair = (MultiValueMap.Entry) it.next(); + sb.append(pair.getKey() + " " + pair.getValue()); + } + outputStream.print(sb.toString()); response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } @@ -327,8 +332,7 @@ * Save file or url imageGallery item into database. */ @RequestMapping("/deleteImage") - public String deleteImage(ActionMapping mapping, ActionForm form, HttpServletRequest request, - HttpServletResponse response) { + public String deleteImage(HttpServletRequest request, HttpServletResponse response) { Long imageUid = new Long(request.getParameter(ImageGalleryConstants.PARAM_IMAGE_UID)); String sessionMapID = request.getParameter(ImageGalleryConstants.ATTR_SESSION_MAP_ID); @@ -340,7 +344,7 @@ igService.deleteImage(sessionId, imageUid); // redirect - String redirect = "redirect:learning/start.do"; + String redirect = "redirect:/learning/start.do"; redirect = WebUtil.appendParameterToURL(redirect, AttributeNames.ATTR_MODE, mode.toString()); redirect = WebUtil.appendParameterToURL(redirect, AttributeNames.PARAM_TOOL_SESSION_ID, sessionId.toString()); return redirect; Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/AdminForm.java =================================================================== diff -u -r17eedca34ff3aaaee38fc4dc4a93301351379c60 -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/AdminForm.java (.../AdminForm.java) (revision 17eedca34ff3aaaee38fc4dc4a93301351379c60) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/AdminForm.java (.../AdminForm.java) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -24,10 +24,6 @@ import javax.servlet.http.HttpServletRequest; -import org.apache.struts.action.ActionErrors; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.action.ActionMessage; -import org.apache.struts.action.ActionMessages; import org.lamsfoundation.lams.util.MessageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -38,21 +34,20 @@ * */ public class AdminForm { - + @Autowired @Qualifier("laimagMessageService") private static MessageService messageService; - - + private static final long serialVersionUID = 414425664356226L; private String mediumImageDimensions; private String thumbnailImageDimensions; - public MultiValueMap validate(ActionMapping arg0, HttpServletRequest arg1) { + public MultiValueMap validate(HttpServletRequest arg1) { - MultiValueMap errorMap = new LinkedMultiValueMap(); + MultiValueMap errorMap = new LinkedMultiValueMap<>(); errorMap.add("GLOBAL", messageService.getMessage("this is an error")); return errorMap; } Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/ImageGalleryForm.java =================================================================== diff -u -r17eedca34ff3aaaee38fc4dc4a93301351379c60 -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/ImageGalleryForm.java (.../ImageGalleryForm.java) (revision 17eedca34ff3aaaee38fc4dc4a93301351379c60) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/ImageGalleryForm.java (.../ImageGalleryForm.java) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -27,9 +27,6 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.apache.struts.action.ActionForm; -import org.apache.struts.action.ActionMapping; -import org.apache.struts.upload.FormFile; import org.lamsfoundation.lams.tool.imageGallery.model.ImageGallery; import org.springframework.web.multipart.MultipartFile; Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/ReflectionForm.java =================================================================== diff -u -r17eedca34ff3aaaee38fc4dc4a93301351379c60 -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/ReflectionForm.java (.../ReflectionForm.java) (revision 17eedca34ff3aaaee38fc4dc4a93301351379c60) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/form/ReflectionForm.java (.../ReflectionForm.java) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -21,11 +21,9 @@ * **************************************************************** */ - package org.lamsfoundation.lams.tool.imageGallery.web.form; import org.apache.log4j.Logger; -import org.apache.struts.validator.ValidatorForm; /** * @@ -35,7 +33,7 @@ * */ public class ReflectionForm { - + private static final long serialVersionUID = -9054365604649146735L; private static Logger logger = Logger.getLogger(ReflectionForm.class.getName()); Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/struts-config.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-bean-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-bean.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-html-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-html.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-logic-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-logic.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-nested.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-tiles-el.tld'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f343b917c5b2181b038a1e5a08e73315cf3cba4f refers to a dead (removed) revision in file `lams_tool_images/web/WEB-INF/tlds/struts/struts-tiles.tld'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_images/web/common/taglibs.jsp =================================================================== diff -u -r9c66807dec11ccfe2299008ded08091f487a3478 -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_images/web/common/taglibs.jsp (.../taglibs.jsp) (revision 9c66807dec11ccfe2299008ded08091f487a3478) +++ lams_tool_images/web/common/taglibs.jsp (.../taglibs.jsp) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -1,7 +1,4 @@ <%@ page language="java" errorPage="/error.jsp" pageEncoding="UTF-8" contentType="text/html;charset=utf-8" %> -<%@ taglib uri="tags-bean" prefix="bean" %> -<%@ taglib uri="tags-html" prefix="html" %> -<%@ taglib uri="tags-logic" prefix="logic" %> <%@ taglib uri="tags-function" prefix="fn" %> <%@ taglib uri="tags-core" prefix="c" %> <%@ taglib uri="tags-fmt" prefix="fmt" %> Index: lams_tool_images/web/pages/authoring/parts/addimage.jsp =================================================================== diff -u -rb294a4ad71917a3740ef2250a5929d6de43866cf -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_images/web/pages/authoring/parts/addimage.jsp (.../addimage.jsp) (revision b294a4ad71917a3740ef2250a5929d6de43866cf) +++ lams_tool_images/web/pages/authoring/parts/addimage.jsp (.../addimage.jsp) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -1,7 +1,7 @@ <%@ include file="/common/taglibs.jsp"%> - + Index: lams_tool_lamc/web/authoring/AuthoringTabsHolder.jsp =================================================================== diff -u -r424f8d213bbff9badfb9b913fd7c68d5cc1d5c3d -rf343b917c5b2181b038a1e5a08e73315cf3cba4f --- lams_tool_lamc/web/authoring/AuthoringTabsHolder.jsp (.../AuthoringTabsHolder.jsp) (revision 424f8d213bbff9badfb9b913fd7c68d5cc1d5c3d) +++ lams_tool_lamc/web/authoring/AuthoringTabsHolder.jsp (.../AuthoringTabsHolder.jsp) (revision f343b917c5b2181b038a1e5a08e73315cf3cba4f) @@ -20,9 +20,10 @@ }); }); - function submitMethod(actionMethod) { - document.McAuthoringForm.dispatch.value=actionMethod; - document.McAuthoringForm.submit(); + function submitMethod(methodName) { + var f = document.getElementById('mcAuthoringForm'); + f.action = methodName + ".do"; + f.submit(); }