Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml,v diff -u -r1.41 -r1.42 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml 18 Oct 2007 07:26:13 -0000 1.41 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml 16 Nov 2007 04:48:33 -0000 1.42 @@ -269,6 +269,11 @@ @hibernate.property column="options_instructions" length="65535" + + + @hibernate.class + + Index: lams_common/db/sql/insert_types_data.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/insert_types_data.sql,v diff -u -r1.71 -r1.72 --- lams_common/db/sql/insert_types_data.sql 18 Oct 2007 07:26:31 -0000 1.71 +++ lams_common/db/sql/insert_types_data.sql 16 Nov 2007 04:48:55 -0000 1.72 @@ -79,6 +79,7 @@ INSERT INTO lams_learning_activity_type VALUES (10, 'BRANCHING_CHOSEN'); INSERT INTO lams_learning_activity_type VALUES (11, 'BRANCHING_GROUP'); INSERT INTO lams_learning_activity_type VALUES (12, 'BRANCHING_TOOL'); +INSERT INTO lams_learning_activity_type VALUES (13, 'OPTIONS_WITH_SEQUENCES'); INSERT INTO lams_gate_activity_level VALUES (1, 'LEARNER'); INSERT INTO lams_gate_activity_level VALUES (2, 'GROUP'); Index: lams_common/db/sql/updatescripts/alter_21_branching.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/updatescripts/Attic/alter_21_branching.sql,v diff -u -r1.21 -r1.22 --- lams_common/db/sql/updatescripts/alter_21_branching.sql 12 Nov 2007 23:30:47 -0000 1.21 +++ lams_common/db/sql/updatescripts/alter_21_branching.sql 16 Nov 2007 04:48:43 -0000 1.22 @@ -65,7 +65,9 @@ INSERT INTO lams_learning_activity_type VALUES (10, 'BRANCHING_CHOSEN'); INSERT INTO lams_learning_activity_type VALUES (11, 'BRANCHING_GROUP'); INSERT INTO lams_learning_activity_type VALUES (12, 'BRANCHING_TOOL'); +INSERT INTO lams_learning_activity_type VALUES (13, 'OPTIONS_WITH_SEQUENCES'); + INSERT INTO lams_system_tool (system_tool_id, learning_activity_type_id, tool_display_name, description, learner_url, learner_preview_url, learner_progress_url, export_pfolio_learner_url, export_pfolio_class_url, monitor_url, contribute_url, create_date_time) Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java,v diff -u -r1.68 -r1.69 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 16 Oct 2007 02:19:52 -0000 1.68 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java 16 Nov 2007 04:48:23 -0000 1.69 @@ -62,6 +62,10 @@ * available for a LearningDesign. As new types of activities * are added, these constants must be updated, as well as * ActivityDAO.getActivityByActivityId() + * + * OPTIONS_WITH_SEQUENCES_TYPE is set up just to support Flash. + * The server treads OptionsActivity and OptionalSequenceActivity + * the same. */ /* *****************************************************************/ public static final int TOOL_ACTIVITY_TYPE = 1; @@ -76,6 +80,7 @@ public static final int CHOSEN_BRANCHING_ACTIVITY_TYPE = 10; public static final int GROUP_BRANCHING_ACTIVITY_TYPE = 11; public static final int TOOL_BRANCHING_ACTIVITY_TYPE = 12; + public static final int OPTIONS_WITH_SEQUENCES_TYPE = 13; /******************************************************************/ /** @@ -367,6 +372,10 @@ activity = new ToolBranchingActivity(); activity.setActivityCategoryID(CATEGORY_SYSTEM); break; + case OPTIONS_WITH_SEQUENCES_TYPE: + activity = new OptionsWithSequencesActivity(); + activity.setActivityCategoryID(CATEGORY_SYSTEM); + break; default: activity = new GroupingActivity(); activity.setActivityCategoryID(CATEGORY_SYSTEM); @@ -854,14 +863,15 @@ public boolean isOptionsActivity() { - return getActivityTypeId().intValue()== OPTIONS_ACTIVITY_TYPE; + return getActivityTypeId().intValue()== OPTIONS_ACTIVITY_TYPE || getActivityTypeId().intValue()==OPTIONS_WITH_SEQUENCES_TYPE ; } public boolean isComplexActivity() { return getActivityTypeId().intValue()== SEQUENCE_ACTIVITY_TYPE || getActivityTypeId().intValue()== PARALLEL_ACTIVITY_TYPE || getActivityTypeId().intValue()== OPTIONS_ACTIVITY_TYPE || + getActivityTypeId().intValue()== OPTIONS_WITH_SEQUENCES_TYPE || getActivityTypeId().intValue()== CHOSEN_BRANCHING_ACTIVITY_TYPE || getActivityTypeId().intValue()== GROUP_BRANCHING_ACTIVITY_TYPE || getActivityTypeId().intValue()== TOOL_BRANCHING_ACTIVITY_TYPE; Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsWithSequencesActivity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsWithSequencesActivity.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsWithSequencesActivity.java 16 Nov 2007 04:48:23 -0000 1.1 @@ -0,0 +1,35 @@ +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ + +/* $Id: OptionsWithSequencesActivity.java,v 1.1 2007/11/16 04:48:23 fmalikoff Exp $ */ +package org.lamsfoundation.lams.learningdesign; + +/** + * The OptionsWithSequencesActivity was created to allow Flash to know whether or + * not to expect sequences. The progress engine treads OptionsWithSequencesActivity + * and OptionsActivity exactly the same. + * + * @hibernate.class + */ +public class OptionsWithSequencesActivity extends OptionsActivity { + +} Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java,v diff -u -r1.20 -r1.21 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java 8 Jun 2007 06:19:58 -0000 1.20 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java 16 Nov 2007 04:48:24 -0000 1.21 @@ -33,6 +33,7 @@ import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.OptionsActivity; +import org.lamsfoundation.lams.learningdesign.OptionsWithSequencesActivity; import org.lamsfoundation.lams.learningdesign.ParallelActivity; import org.lamsfoundation.lams.learningdesign.PermissionGateActivity; import org.lamsfoundation.lams.learningdesign.ScheduleGateActivity; @@ -108,6 +109,8 @@ return getActivityByActivityId(activityId,GroupBranchingActivity.class); case Activity.TOOL_BRANCHING_ACTIVITY_TYPE: return getActivityByActivityId(activityId,ToolBranchingActivity.class); + case Activity.OPTIONS_WITH_SEQUENCES_TYPE: + return getActivityByActivityId(activityId,OptionsWithSequencesActivity.class); default: break; } } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java,v diff -u -r1.38 -r1.39 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java 16 Oct 2007 02:19:52 -0000 1.38 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java 16 Nov 2007 04:48:24 -0000 1.39 @@ -238,83 +238,7 @@ /***************************************************************************** * Constructors *****************************************************************************/ - public AuthoringActivityDTO(Long activityID, Integer activityUIID, - String description, String title, String helpText, Integer xcoord, - Integer ycoord, Long parentActivityID, Integer parentUIID, - Integer activityTypeId, Long groupingID, Integer groupingUIID, - Integer orderID, Boolean defineLater, Long learningDesignID, - Long learningLibraryID, Date createDateTime, Boolean runOffline, - String languageFile, - Integer maxOptions, Integer minOptions, - String optionsInstructions, String toolSignature, Long toolID, Long toolContentID, - Integer activityCategoryID, Integer gateActivityLevelID, - Boolean gateOpen, Long gateStartTimeOffset, Long gateEndTimeOffset, - Date gateStartDateTime, Date gateEndDateTime, - String libraryActivityUiImage, Long createGroupingID, - Integer createGroupingUIID, Long libraryActivityID, - Boolean applyGrouping,Integer groupingSupportType, - Integer groupingType,GroupingDTO groupingDTO, - Boolean readOnly, Boolean initialised, Boolean stopAfterActivity, - ArrayList inputActivities, Integer toolActivityUIID, Integer defaultActivityUIID, - Integer startXCoord, Integer startYCoord, Integer endXCoord, Integer endYCoord) { - super(); - this.activityID = activityID; - this.activityUIID = activityUIID; - this.description = description; - this.activityTitle = title; - this.helpText = helpText; - this.xCoord = xcoord; - this.yCoord = ycoord; - this.parentActivityID = parentActivityID; - this.parentUIID = parentUIID; - this.activityTypeID = activityTypeId; - this.groupingID = groupingID; - this.groupingUIID = groupingUIID; - this.orderID = orderID; - this.defineLater = defineLater; - this.learningDesignID = learningDesignID; - this.learningLibraryID = learningLibraryID; - this.createDateTime = createDateTime; - this.runOffline = runOffline; - this.languageFile = languageFile; - this.maxOptions = maxOptions; - this.minOptions = minOptions; - this.optionsInstructions = optionsInstructions; - this.toolSignature = toolSignature; - this.toolID = toolID; - this.toolContentID = toolContentID; - this.activityCategoryID = activityCategoryID; - this.gateActivityLevelID = gateActivityLevelID; - this.gateOpen = gateOpen; - this.gateStartTimeOffset = gateStartTimeOffset; - this.gateEndTimeOffset = gateEndTimeOffset; - this.gateStartDateTime = gateStartDateTime; - this.gateEndDateTime = gateEndDateTime; - this.libraryActivityUIImage = libraryActivityUiImage; - this.createGroupingID = createGroupingID; - this.createGroupingUIID = createGroupingUIID; - this.libraryActivityID = libraryActivityID; - this.applyGrouping = applyGrouping; - this.groupingSupportType = groupingSupportType; - this.groupingType = groupingType; - //this.groupingDTO = groupingDTO; - this.readOnly = readOnly; - this.initialised = initialised; - this.stopAfterActivity=stopAfterActivity; - this.toolActivityUIID=toolActivityUIID; - this.inputActivities=inputActivities; - // Complex Activity field - this.defaultActivityUIID = defaultActivityUIID; - // Branching Activity fields - this.startXCoord = startXCoord; - this.startYCoord = startYCoord; - this.endXCoord = endXCoord; - this.endYCoord = endYCoord; - - } public AuthoringActivityDTO(Activity activity, ArrayList branchMappings){ - processActivityType(activity, branchMappings); - this.activityID = activity.getActivityId(); this.activityUIID = activity.getActivityUIID(); this.description = activity.getDescription(); @@ -327,7 +251,7 @@ null; this.parentUIID = activity.getParentUIID(); this.activityTypeID = activity.getActivityTypeId(); - + this.groupingID = activity.getGrouping()!=null? activity.getGrouping().getGroupingId(): null; @@ -358,6 +282,7 @@ this.inputActivities = activity.getInputActivityUIIDs(); this.toolActivityUIID = activity.getToolInputActivityUIID(); + processActivityType(activity, branchMappings); } @@ -788,6 +713,7 @@ if(!activityTypeId.equals(WDDXTAGS.NUMERIC_NULL_VALUE_INTEGER)) this.activityTypeID = activityTypeId; } + /** * @param activityUIID The activityUIID to set. */ Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java,v diff -u -r1.77 -r1.78 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 12 Nov 2007 07:14:11 -0000 1.77 +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java 16 Nov 2007 04:48:24 -0000 1.78 @@ -593,18 +593,14 @@ else if(actDto.getActivityTypeID().equals(Activity.SCHEDULE_GATE_ACTIVITY_TYPE) || actDto.getActivityTypeID().equals(Activity.PERMISSION_GATE_ACTIVITY_TYPE) || actDto.getActivityTypeID().equals(Activity.SYNCH_GATE_ACTIVITY_TYPE)) att = new Attribute(IMS_ATTR_REF,IMS_PREFIX_ACTIVITY_REF + IMS_TAG_GATE + "-" + actDto.getActivityID()); - else if(actDto.getActivityTypeID() == Activity.SEQUENCE_ACTIVITY_TYPE - || actDto.getActivityTypeID() == Activity.PARALLEL_ACTIVITY_TYPE - || actDto.getActivityTypeID() == Activity.OPTIONS_ACTIVITY_TYPE) { - - if(actDto.getActivityTypeID().equals(Activity.OPTIONS_ACTIVITY_TYPE)) + else if (actDto.getActivityTypeID().equals(Activity.OPTIONS_ACTIVITY_TYPE) + || actDto.getActivityTypeID().equals(Activity.OPTIONS_WITH_SEQUENCES_TYPE)) att = new Attribute(IMS_ATTR_REF, IMS_PREFIX_COMPLEX_REF + IMS_TAG_OPTIONAL + "-" + actDto.getActivityID()); - else if(actDto.getActivityTypeID().equals(Activity.PARALLEL_ACTIVITY_TYPE)) + else if(actDto.getActivityTypeID().equals(Activity.PARALLEL_ACTIVITY_TYPE)) att = new Attribute(IMS_ATTR_REF, IMS_PREFIX_COMPLEX_REF + IMS_TAG_PARALLEL + "-" + actDto.getActivityID()); - else if(actDto.getActivityTypeID().equals(Activity.SEQUENCE_ACTIVITY_TYPE)) + else if(actDto.getActivityTypeID().equals(Activity.SEQUENCE_ACTIVITY_TYPE)) att = new Attribute(IMS_ATTR_REF, IMS_PREFIX_COMPLEX_REF + IMS_TAG_SEQUENCE + "-" + actDto.getActivityID()); - - } else + else att = new Attribute(IMS_ATTR_REF,IMS_PREFIX_ACTIVITY_REF + actDto.getToolSignature() + "-" + actDto.getToolContentID()); ref.setAttribute(att); @@ -2035,6 +2031,7 @@ case Activity.PARALLEL_ACTIVITY_TYPE: break; case Activity.OPTIONS_ACTIVITY_TYPE: + case Activity.OPTIONS_WITH_SEQUENCES_TYPE: ((OptionsActivity)act).setMaxNumberOfOptions(actDto.getMaxOptions()); ((OptionsActivity)act).setMinNumberOfOptions(actDto.getMinOptions()); ((OptionsActivity)act).setOptionsInstructions(actDto.getOptionsInstructions());