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());