Index: lams_common/src/java/org/lamsfoundation/lams/web/action/LamsDispatchAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/web/action/LamsDispatchAction.java,v diff -u -r1.7 -r1.7.6.1 --- lams_common/src/java/org/lamsfoundation/lams/web/action/LamsDispatchAction.java 10 Oct 2007 07:14:16 -0000 1.7 +++ lams_common/src/java/org/lamsfoundation/lams/web/action/LamsDispatchAction.java 22 Apr 2009 04:09:28 -0000 1.7.6.1 @@ -34,52 +34,58 @@ import org.lamsfoundation.lams.web.util.TokenProcessor; /** - * @author daveg - * + * @author daveg edited by lfoxton + * */ public abstract class LamsDispatchAction extends DispatchAction { - + protected static String className = "Action"; - + + public static final String ENCODING_UTF8 = "UTF8"; + public static final String CONTENT_TYPE_TEXT_PLAIN = "text/plain"; + public static final String CONTENT_TYPE_TEXT_HTML = "text/html"; + public static final String CONTENT_TYPE_TEXT_XML = "text/xml"; + protected static TokenProcessor token = TokenProcessor.getInstance(); - protected static Logger log = Logger.getLogger(LamsDispatchAction.class); + protected static Logger log = Logger.getLogger(LamsDispatchAction.class); - protected void saveToken(javax.servlet.http.HttpServletRequest request) { - token.saveToken(request); - } - - protected boolean isTokenValid(javax.servlet.http.HttpServletRequest request) { - return token.isTokenValid(request, false); - } - - protected boolean isTokenValid(javax.servlet.http.HttpServletRequest request, boolean reset) { - return token.isTokenValid(request, reset); - } - - protected void resetToken(HttpServletRequest request) { - token.resetToken(request); + protected void saveToken(javax.servlet.http.HttpServletRequest request) { + token.saveToken(request); } - - /*protected void saveForward(javax.servlet.http.HttpServletRequest request, ActionForward forward) { - token.saveForward(request, forward); + + protected boolean isTokenValid(javax.servlet.http.HttpServletRequest request) { + return token.isTokenValid(request, false); } - - protected ActionForward getForward(javax.servlet.http.HttpServletRequest request) { - return token.getForward(request, true); - }*/ - - protected void writeAJAXResponse(HttpServletResponse response, String output) throws IOException { - // set it to unicode (LDEV-1275) - response.setContentType("text/html;charset=utf-8"); - PrintWriter writer = response.getWriter(); - if (output.length()>0) { - writer.println(output); - } + protected boolean isTokenValid(javax.servlet.http.HttpServletRequest request, boolean reset) { + return token.isTokenValid(request, reset); + } + + protected void resetToken(HttpServletRequest request) { + token.resetToken(request); + } + + protected void writeAJAXResponse(HttpServletResponse response, String output) throws IOException { + // set it to unicode (LDEV-1275) + response.setContentType("text/html;charset=utf-8"); + PrintWriter writer = response.getWriter(); + + if (output.length() > 0) { + writer.println(output); } + } - protected void writeAJAXOKResponse(HttpServletResponse response) throws IOException { - writeAJAXResponse(response, "OK"); + protected void writeAJAXOKResponse(HttpServletResponse response) throws IOException { + writeAJAXResponse(response, "OK"); + } + + protected void writeResponse(HttpServletResponse response, String contentType, String characterEncoding, String output) throws IOException { + response.setContentType(contentType); + response.setCharacterEncoding(characterEncoding); + PrintWriter writer = response.getWriter(); + if (output.length() > 0) { + writer.println(output); } + } } Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookConstants.java,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookConstants.java 22 Apr 2009 03:30:58 -0000 1.1.2.3 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/util/GradebookConstants.java 22 Apr 2009 04:09:29 -0000 1.1.2.4 @@ -86,6 +86,7 @@ public static final String CONTENT_TYPE_TEXTXML = "text/xml"; public static final String CONTENT_TYPE_TEXTPLAIN = "text/plain"; public static final String CELL_EMPTY = "-"; + public static final String UTF8 = "UTF8"; } Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java 22 Apr 2009 03:30:58 -0000 1.1.2.3 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookAction.java 22 Apr 2009 04:09:29 -0000 1.1.2.4 @@ -23,7 +23,6 @@ /* $Id$ */ package org.lamsfoundation.lams.gradebook.web.action; -import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -163,9 +162,7 @@ String ret = GradebookUtil.toGridXML(gradebookActivityDTOs, view, sortBy, isSearch, searchField, searchOper, searchString, sortOrder, rowLimit, page); - response.setContentType(GradebookConstants.CONTENT_TYPE_TEXTXML); - PrintWriter out = response.getWriter(); - out.print(ret); + writeResponse(response, CONTENT_TYPE_TEXT_XML, ENCODING_UTF8, ret); } else { logger.error("No lesson could be found for: " + lessonID); } @@ -250,9 +247,7 @@ String ret = GradebookUtil.toGridXML(gradebookUserDTOs, view, sortBy, isSearch, searchField, searchOper, searchString, sortOrder, rowLimit, page); - response.setContentType(GradebookConstants.CONTENT_TYPE_TEXTXML); - PrintWriter out = response.getWriter(); - out.print(ret); + writeResponse(response, CONTENT_TYPE_TEXT_XML, ENCODING_UTF8, ret); } else { logger.error("No lesson could be found for: " + lessonID); } @@ -315,9 +310,8 @@ String ret = GradebookUtil.toGridXML(gradebookLessonDTOs, view, sortBy, isSearch, searchField, searchOper, searchString, sortOrder, rowLimit, page); - response.setContentType(GradebookConstants.CONTENT_TYPE_TEXTXML); - PrintWriter out = response.getWriter(); - out.print(ret); + + writeResponse(response, CONTENT_TYPE_TEXT_XML, ENCODING_UTF8, ret); } @@ -354,10 +348,7 @@ if (lesson != null && learner != null) { GradebookUserLesson lessonMark = gradebookService.getGradebookUserLesson(lessonID, userID); - response.setContentType(GradebookConstants.CONTENT_TYPE_TEXTPLAIN); - PrintWriter out = response.getWriter(); - out.print(lessonMark.getMark().toString()); - + writeResponse(response, CONTENT_TYPE_TEXT_PLAIN, ENCODING_UTF8, lessonMark.getMark().toString()); } else { // Grid will handle error, just log and return null logger.error("Error: request for course gradebook data with null user or lesson. lessonID: " + lessonID); @@ -386,14 +377,12 @@ if (activity != null) { Double averageMark = gradebookService.getAverageMarkForActivity(activityID); + - response.setContentType(GradebookConstants.CONTENT_TYPE_TEXTPLAIN); - PrintWriter out = response.getWriter(); - if (averageMark != null) { - out.print(averageMark.toString()); + writeResponse(response, CONTENT_TYPE_TEXT_PLAIN, ENCODING_UTF8, averageMark.toString()); } else { - out.print(GradebookConstants.CELL_EMPTY); + writeResponse(response, CONTENT_TYPE_TEXT_PLAIN, ENCODING_UTF8, GradebookConstants.CELL_EMPTY); } } else { // Grid will handle error, just log and return null @@ -423,21 +412,20 @@ if (lesson != null) { Double averageMark = gradebookService.getAverageMarkForLesson(lessonID); - response.setContentType(GradebookConstants.CONTENT_TYPE_TEXTPLAIN); - PrintWriter out = response.getWriter(); - if (averageMark != null) { - out.print(averageMark.toString()); + writeResponse(response, CONTENT_TYPE_TEXT_PLAIN, ENCODING_UTF8, averageMark.toString()); } else { - out.print(GradebookConstants.CELL_EMPTY); + writeResponse(response, CONTENT_TYPE_TEXT_PLAIN, ENCODING_UTF8, GradebookConstants.CELL_EMPTY); } } else { // Grid will handle error, just log and return null logger.error("Error: request for course gradebook data with null lesson. lesson: " + lessonID); } return null; } + + private UserDTO getUser() { HttpSession ss = SessionManager.getSession(); return (UserDTO) ss.getAttribute(AttributeNames.USER); Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java 20 Apr 2009 04:30:12 -0000 1.1.2.3 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/web/action/GradebookMonitoringAction.java 22 Apr 2009 04:09:29 -0000 1.1.2.4 @@ -284,9 +284,8 @@ lesson.setMarksReleased(!marksReleased); userService.save(lesson); - - response.setContentType("text/plain"); - response.getWriter().write("success"); + + writeResponse(response, CONTENT_TYPE_TEXT_PLAIN, ENCODING_UTF8, "success"); return null; }