Index: lams_build/build.xml =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_build/build.xml (.../build.xml) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_build/build.xml (.../build.xml) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -582,32 +582,6 @@ - - - - - - - - - - - - - - - - - - - - - - - Index: lams_build/conf/domain.xml =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_build/conf/domain.xml (.../domain.xml) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_build/conf/domain.xml (.../domain.xml) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -189,9 +189,6 @@ - - - Index: lams_build/conf/j2ee/jboss-deployment-structure.xml =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_build/conf/j2ee/jboss-deployment-structure.xml (.../jboss-deployment-structure.xml) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_build/conf/j2ee/jboss-deployment-structure.xml (.../jboss-deployment-structure.xml) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -41,7 +41,6 @@ - Index: lams_build/conf/slim/standalone.xml =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_build/conf/slim/standalone.xml (.../standalone.xml) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_build/conf/slim/standalone.xml (.../standalone.xml) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -227,10 +227,6 @@ - - - - Index: lams_build/conf/standalone.xml =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_build/conf/standalone.xml (.../standalone.xml) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_build/conf/standalone.xml (.../standalone.xml) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -236,10 +236,6 @@ - - - - Index: lams_build/lib/apache-poi/poi-3.16.jar =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb Binary files differ Index: lams_build/lib/apache-poi/poi-ooxml-3.16.jar =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb Binary files differ Index: lams_build/lib/apache-poi/poi-ooxml-schemas-3.16.jar =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb Binary files differ Index: lams_build/lib/struts/jakarta-oro.jar =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb Binary files differ Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_build/lib/struts/jakarta-oro.module.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_build/lib/struts/struts-el.jar =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb Binary files differ Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_build/lib/struts/struts-el.module.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_build/lib/struts/struts.jar =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb Binary files differ Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_build/lib/struts/struts.module.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_build/liblist.txt =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_build/liblist.txt (.../liblist.txt) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_build/liblist.txt (.../liblist.txt) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -50,10 +50,6 @@ spring-web-4.3.12.RELEASE.jar spring-webmvc-4.3.12.RELEASE.jar -struts jakarta-oro.jar 2.0.7 Apache License 2.0 Apache regular expressions - struts.jar 1.2.7 Apache License 2.0 Apache Struts Framework - struts-el.jar 1.2.9 Apache License 2.0 Apache Struts extensions - urlrewritefilter urlrewritefilter-4.0.3.jar 4.0.3 BSD License tuckey.org Java Web Filter which allows rewriting URLs xstream xstream-1.5.0-SNAPSHOT.jar 1.5.0 XML serializer Index: lams_central/web/forgotPassword.jsp =================================================================== diff -u -r6c50d024e18f06ca964faa8943c636144e706bed -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_central/web/forgotPassword.jsp (.../forgotPassword.jsp) (revision 6c50d024e18f06ca964faa8943c636144e706bed) +++ lams_central/web/forgotPassword.jsp (.../forgotPassword.jsp) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -1,6 +1,5 @@ <%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> -<%@page import="org.apache.struts.action.ActionMessages"%> <%@ page import="org.lamsfoundation.lams.util.Configuration"%> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys"%> Index: lams_central/web/forgotPasswordChange.jsp =================================================================== diff -u -r6107b0b2e367c55582da60a59adf70b55e647de6 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_central/web/forgotPasswordChange.jsp (.../forgotPasswordChange.jsp) (revision 6107b0b2e367c55582da60a59adf70b55e647de6) +++ lams_central/web/forgotPasswordChange.jsp (.../forgotPasswordChange.jsp) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -1,6 +1,5 @@ <%@ page contentType="text/html; charset=utf-8" language="java"%> -<%@page import="org.apache.struts.action.ActionMessages"%> <%@ page import="org.lamsfoundation.lams.util.Configuration"%> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys"%> Index: lams_central/web/forgotPasswordProc.jsp =================================================================== diff -u -r0e9eca8da006863730e793b75a47803bc6142c67 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_central/web/forgotPasswordProc.jsp (.../forgotPasswordProc.jsp) (revision 0e9eca8da006863730e793b75a47803bc6142c67) +++ lams_central/web/forgotPasswordProc.jsp (.../forgotPasswordProc.jsp) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -1,5 +1,4 @@ <%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> -<%@page import="org.apache.struts.action.ActionMessages"%> <%@page import="org.apache.commons.lang.StringEscapeUtils"%> <%@page import="org.lamsfoundation.lams.web.ForgotPasswordServlet"%> <%@page import="org.lamsfoundation.lams.util.MessageService"%> Index: lams_central/web/passwordChangeContent.jsp =================================================================== diff -u -r52f09d3d3dd6998ff9cb9e7377c7501341ad7a23 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_central/web/passwordChangeContent.jsp (.../passwordChangeContent.jsp) (revision 52f09d3d3dd6998ff9cb9e7377c7501341ad7a23) +++ lams_central/web/passwordChangeContent.jsp (.../passwordChangeContent.jsp) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -4,8 +4,7 @@ <%@ taglib uri="tags-core" prefix="c"%> <%@ taglib uri="tags-fmt" prefix="fmt"%> <%@ taglib uri="tags-lams" prefix="lams"%> -<%@ page import="org.apache.struts.action.ActionMessages" - import="org.lamsfoundation.lams.web.PasswordChangeActionForm"%> +<%@ page import="org.lamsfoundation.lams.web.PasswordChangeActionForm"%> <%@ page import="org.lamsfoundation.lams.util.Configuration"%> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys"%> Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/ValidationErrorDTO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/ValidationErrorDTO.java (.../ValidationErrorDTO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/ValidationErrorDTO.java (.../ValidationErrorDTO.java) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -23,12 +23,11 @@ package org.lamsfoundation.lams.learningdesign.dto; -import org.apache.struts.util.MessageResources; import org.lamsfoundation.lams.learningdesign.LearningDesign; public class ValidationErrorDTO { - /** Struts Message Resource related variables */ + /** Message Resource related variables */ public static final String CONFIG_PARAM = "org.lamsfoundation.lams.applicationResources"; // Code: public static final String OTHER_ERROR_KEY = "validation.error.other"; // O public static final String TRANSITION_ERROR_KEY = "validation.error.transitionNoActivityBeforeOrAfter"; // T @@ -92,120 +91,6 @@ public static final String FIRST_ACTIVITY_ERROR_CODE = "FIA"; public static final String TITLE_CHARACTERS_ERROR_CODE = "TCH"; - private static MessageResources resources = MessageResources.getMessageResources(ValidationErrorDTO.CONFIG_PARAM); - /** - * Rule: Other (Covers any cases that are not covered by another code) - */ - public static final String OTHER_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.OTHER_ERROR_KEY); - - /** - * Rule: Each transition must have an activity before and after the transition - */ - public static final String TRANSITION_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.TRANSITION_ERROR_KEY); - - /** - * Rule: Exactly one top level activity will have no input transition - * If more than one activity is missing an input transition - */ - public static final String INPUT_TRANSITION_ERROR_TYPE1 = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.INPUT_TRANSITION_ERROR_TYPE1_KEY); - - /** - * Rule: Exactly one top level activity will have no input transition - * If no activities are missing their input transitions - */ - public static final String INPUT_TRANSITION_ERROR_TYPE2 = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.INPUT_TRANSITION_ERROR_TYPE2_KEY); - - /** - * Rule: Exactly one top level activity will have no output transition - * If more than one activity is missing the output transition. - */ - public static final String OUTPUT_TRANSITION_ERROR_TYPE1 = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.OUTPUT_TRANSITION_ERROR_TYPE1_KEY); - - /** - * Rule: Exactly one top level activity will have no output transition - * If no activities are missing their output transitions. - */ - public static final String OUTPUT_TRANSITION_ERROR_TYPE2 = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.OUTPUT_TRANSITION_ERROR_TYPE2_KEY); - - /** - * Rule: If grouping is required then a grouping must have been applied to the activity - */ - public static final String GROUPING_REQUIRED_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.GROUPING_REQUIRED_ERROR_KEY); - - /** - * Rule: If grouping is not supported/required, then a grouping has not been applied to the activity. - */ - public static final String GROUPING_NOT_REQUIRED_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.GROUPING_NOT_REQUIRED_ERROR_KEY); - - /** - * Rule: If grouping is selected, then grouping exists - */ - public static final String GROUPING_SELECTED_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.GROUPING_SELECTED_ERROR_KEY); - - /** - * Rule: An optional activity must contain one or more activities - */ - public static final String OPTIONAL_ACTIVITY_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.OPTIONAL_ACTIVITY_ERROR_KEY); - - /** - * Rule: An optional activity must have valid order ids - the order ids should be - * sequential starting at 1 and must have no duplicates. - */ - public static final String OPTIONAL_ACTIVITY_ORDER_ID_INVALID_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.OPTIONAL_ACTIVITY_ORDER_ID_INVALID_ERROR_KEY); - - /** - * Rule: For any learning design that has more than one activity then each activity should - * have at least one input or one output transition. - */ - public static final String ACTIVITY_TRANSITION_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.ACTIVITY_TRANSITION_ERROR_KEY); - - /** - * Rule: For Schedule Gates (Activity) if start and end time offsets are set they should not be equal. - */ - public static final String SCHEDULE_GATE_ERROR_TYPE1 = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.SCHEDULE_GATE_ERROR_TYPE1_KEY); - /** - * Rule: A condition gate must have at least condition defined. - */ - public static final String CONDITION_GATE_CONDITION_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.CONDITION_GATE_ACTVITY_CONDITION_ERROR_CODE); - /** - * Rule: A condition gate must have an input tool. - */ - public static final String CONDITION_GATE_TOOLINPUT_ERROR = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.CONDITION_GATE_ACTVITY_TOOLINPUT_ERROR_CODE); - - /** - * Rule: For Schedule Gates (Activity) if start and end time offsets are set then the start time offset should be - * greater than the end time offset. - */ - public static final String SCHEDULE_GATE_ERROR_TYPE2 = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.SCHEDULE_GATE_ERROR_TYPE2_KEY); - - /** - * Rule: For Grouping Activities there must be a grouping. - */ - public static final String GROUPING_ACTIVITY_MISSING_GROUPING = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.GROUPING_ACTIVITY_MISSING_GROUPING_KEY); // GM - - /** - * Rule: For Grouping Activities the number of groups must be less than or equal to the desired number. - */ - public static final String GROUPING_ACTIVITY_GROUP_COUNT_MISMATCH = ValidationErrorDTO.resources - .getMessage(ValidationErrorDTO.GROUPING_ACTIVITY_GROUP_COUNT_MISMATCH_KEY); // GC - private Integer UIID; private String message; //the validation message explaining what the problem is private String code; // unique code representing the validation error message Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/planner/PedagogicalPlannerActivityForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/web/action/LamsAction.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/web/action/LamsAuthoringFinishAction.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/web/action/LamsDispatchAction.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/web/action/LamsLookupDispatchAction.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/web/form/TextSearchActionForm.java'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_common/src/java/org/lamsfoundation/lams/web/util/CustomStrutsExceptionHandler.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/web/util/TokenProcessor.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -r88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb --- lams_common/src/java/org/lamsfoundation/lams/web/util/TokenProcessor.java (.../TokenProcessor.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/web/util/TokenProcessor.java (.../TokenProcessor.java) (revision 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb) @@ -23,14 +23,14 @@ package org.lamsfoundation.lams.web.util; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.Date; import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import org.apache.struts.action.ActionForward; - /** * @author daveg * @@ -62,9 +62,6 @@ */ private static TokenProcessor instance = new TokenProcessor(); - private static org.apache.struts.util.TokenProcessor strutsTokenProcessor = org.apache.struts.util.TokenProcessor - .getInstance(); - /** * Retrieves the singleton instance of this class. */ @@ -243,110 +240,48 @@ } } - + /** - * Generate a new transaction token, calls the struts TokenProcessor. + * Generate a new transaction token, to be used for enforcing a single + * request for a particular transaction. + * Note: method is identical to org.apache.struts.util.TokenProcessor (struts 1.2.7 version). * - * @param request - * The servlet request + * @param request The request we are processing */ public synchronized String generateToken(HttpServletRequest request) { - // hopefully this will have no side effects. - return strutsTokenProcessor.generateToken(request); - } - /** - * Saves the ActionForward that was used for this token. For use with - * auto-recovery. - */ - public synchronized void saveForward(javax.servlet.http.HttpServletRequest request, ActionForward actionForward) { - HttpSession session = request.getSession(false); - if (session == null) { - return; - } + HttpSession session = request.getSession(); + try { + byte id[] = session.getId().getBytes(); + long current = System.currentTimeMillis(); + if (current == previous) { + current++; + } + previous = current; + byte now[] = new Long(current).toString().getBytes(); + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(id); + md.update(now); + return toHex(md.digest()); + } catch (NoSuchAlgorithmException e) { + return null; + } - String token = getTokenFromRequest(request); - if (token == null) { - return; - } - - HashMap forwards = getForwards(session); - if (forwards == null) { - forwards = new HashMap(); - } - - Long timestamp = new Long((new Date()).getTime()); - Forward forward = new Forward(); - forward.setActionForward(actionForward); - forward.setTimestamp(timestamp); - - forwards.put(token, forward); - setForwards(session, forwards); } - + /** - * Returns the ActionForward that was saved for this token. For use with - * auto-recovery. + * Convert a byte array to a String of hexadecimal digits and return it. + * Note: method is identical to org.apache.struts.util.TokenProcessor (struts 1.2.7 version). + * + * @param buffer The byte array to be converted */ - public synchronized ActionForward getForward(javax.servlet.http.HttpServletRequest request) { - return getForward(request, false); + private String toHex(byte buffer[]) { + StringBuffer sb = new StringBuffer(buffer.length * 2); + for (int i = 0; i < buffer.length; i++) { + sb.append(Character.forDigit((buffer[i] & 0xf0) >> 4, 16)); + sb.append(Character.forDigit(buffer[i] & 0x0f, 16)); + } + return sb.toString(); } - /** - * Returns the ActionForward that was saved for this token. For use with - * auto-recovery. - */ - public synchronized ActionForward getForward(javax.servlet.http.HttpServletRequest request, boolean reset) { - HttpSession session = request.getSession(false); - if (session == null) { - return null; - } - - String token = getTokenFromRequest(request); - if (token == null) { - return null; - } - - HashMap forwards = getForwards(session); - if (forwards == null) { - return null; - } - - Forward forward = (Forward) forwards.get(token); - if (forward == null) { - return null; - } - - if (reset) { - forwards.remove(forward); - } - - return forward.getActionForward(); - } - - /** - * Holds an ActionForward and the timestamp it was saved. For use with - * auto-recovery. - */ - private class Forward { - private ActionForward actionForward; - private Long timestamp; - - public ActionForward getActionForward() { - return actionForward; - } - - public void setActionForward(ActionForward actionForward) { - this.actionForward = actionForward; - } - - public Long getTimestamp() { - return timestamp; - } - - public void setTimestamp(Long timestamp) { - this.timestamp = timestamp; - } - } - } Fisheye: Tag 88c8fa0dba475bf3ffa351ec1e6d889481e4dcbb refers to a dead (removed) revision in file `lams_learning/.mystrutsdata'. Fisheye: No comparison available. Pass `N' to diff?