Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml
===================================================================
diff -u -r3fd86a5918d046985d4fb7053d30d208bc35f4f6 -rac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83
--- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision 3fd86a5918d046985d4fb7053d30d208bc35f4f6)
+++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Activity.hbm.xml (.../Activity.hbm.xml) (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -269,6 +269,11 @@
@hibernate.property column="options_instructions" length="65535"
+
+
+ @hibernate.class
+
+
Index: lams_common/db/sql/insert_types_data.sql
===================================================================
diff -u -r3fd86a5918d046985d4fb7053d30d208bc35f4f6 -rac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83
--- lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision 3fd86a5918d046985d4fb7053d30d208bc35f4f6)
+++ lams_common/db/sql/insert_types_data.sql (.../insert_types_data.sql) (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -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
===================================================================
diff -u -r07578aaa7f526c0c1b537c127cf5f88e0410d472 -rac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83
--- lams_common/db/sql/updatescripts/alter_21_branching.sql (.../alter_21_branching.sql) (revision 07578aaa7f526c0c1b537c127cf5f88e0410d472)
+++ lams_common/db/sql/updatescripts/alter_21_branching.sql (.../alter_21_branching.sql) (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -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
===================================================================
diff -u -r4bf4556646feb7431bf82f3eebc4c3353d5ae4f2 -rac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision 4bf4556646feb7431bf82f3eebc4c3353d5ae4f2)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -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
===================================================================
diff -u
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsWithSequencesActivity.java (revision 0)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/OptionsWithSequencesActivity.java (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -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$ */
+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
===================================================================
diff -u -r6e041b14d83c90f3f910fac33c7755fca1486b3e -rac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java (.../ActivityDAO.java) (revision 6e041b14d83c90f3f910fac33c7755fca1486b3e)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/ActivityDAO.java (.../ActivityDAO.java) (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -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
===================================================================
diff -u -r4bf4556646feb7431bf82f3eebc4c3353d5ae4f2 -rac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision 4bf4556646feb7431bf82f3eebc4c3353d5ae4f2)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dto/AuthoringActivityDTO.java (.../AuthoringActivityDTO.java) (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -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
===================================================================
diff -u -r8e575523eb6ec3117a7e444cf86c74874bc56b94 -rac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83
--- lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision 8e575523eb6ec3117a7e444cf86c74874bc56b94)
+++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/service/ExportToolContentService.java (.../ExportToolContentService.java) (revision ac99dd8a79daaa42b1e6cdbe9b1a5fd197107b83)
@@ -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());