Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Group.hbm.xml =================================================================== diff -u -r42ddbd4c509c956cc9f5328cea8d45d6e593e796 -rf22baff581dd04fa60acb409559b29d460f070b1 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Group.hbm.xml (.../Group.hbm.xml) (revision 42ddbd4c509c956cc9f5328cea8d45d6e593e796) +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Group.hbm.xml (.../Group.hbm.xml) (revision f22baff581dd04fa60acb409559b29d460f070b1) @@ -38,6 +38,19 @@ + + @hibernate.property + column="group_name" + + + + - - + + - - + + - - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - + When a lesson is started, the authored design is considered the orginial learning design - - + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + + + + + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - + + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + - - - + + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -2531,176 +2538,176 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -2709,242 +2716,242 @@
- - - +
+ + - - - - + + + + - - - + + + - + Unique signature for each version of a tool. <organisation><tool><version> - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - + Unique identifier for the tool. This should remain the same for every version of the tool. It will be used for the IMS LD import/export. - - - + + + - + Version of tool. Expected to be in format [major version.minor version] eg 1.2 - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + @@ -2953,156 +2960,156 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -3111,53 +3118,53 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + @@ -3166,53 +3173,53 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + @@ -3221,86 +3228,86 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + @@ -3309,78 +3316,78 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + @@ -3389,51 +3396,51 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + @@ -3442,51 +3449,51 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + @@ -3495,309 +3502,309 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- +
There will usually be 0 or 1 workspace for each tool in LAMS, so this should be a pretty small table. The main lookup is done on name, but given the small number of rows a complete table scan should be fine. A name index would probably be about the same size as the table anyway. - + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- +
Like lams_cr_workspace, there will usually be 0 or 1 workspace for each tool in LAMS, so this should be a pretty small table. The main lookup is done on name, but given the small number of rows a complete table scan should be fine. - + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + - - + + @@ -3806,80 +3813,80 @@
- +
Has a "dummy" id nv_id (node version id) which is unique for all node_id and version_id combinations. It is the node_id and version_id combination that is the "real" key for this table. - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + @@ -3888,72 +3895,72 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - - + + + + - - + + - - + + @@ -3962,104 +3969,104 @@
- +
A node can only belong to one parent - so each time a new version of a package is created, all the nodes are recreated. - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + @@ -4068,150 +4075,150 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + @@ -4220,170 +4227,170 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - + + - - + + - - + + - - + + - - + + @@ -4392,105 +4399,105 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - + +
- - - +
+ + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + @@ -4499,79 +4506,79 @@
- - - +
+ + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - + + + + + - - - + + + - - - - + + + + - - + + - - + + @@ -4580,47 +4587,47 @@
- +
All the lams_css_property values matching this lams_css_style make up the CSSStyleDeclaration for this style. It may be a "base" style for a theme, or it may be for a named visual element. Each style may have a subset of properties, such as "_tf" - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - + + - - + + Index: lams_common/db/sql/create_lams_11_tables.sql =================================================================== diff -u -r661b2423ae0cf4ff292bb6052434e14174858383 -rf22baff581dd04fa60acb409559b29d460f070b1 --- lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision 661b2423ae0cf4ff292bb6052434e14174858383) +++ lams_common/db/sql/create_lams_11_tables.sql (.../create_lams_11_tables.sql) (revision f22baff581dd04fa60acb409559b29d460f070b1) @@ -330,6 +330,7 @@ CREATE TABLE lams_group ( group_id BIGINT(20) NOT NULL AUTO_INCREMENT + , group_name VARCHAR(255) NOT NULL , grouping_id BIGINT(20) NOT NULL , order_id INT(6) NOT NULL DEFAULT 1 , PRIMARY KEY (group_id) Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ChosenGrouper.java =================================================================== diff -u -rb125be1bc92a6f11535ffa059b15a519c741b40e -rf22baff581dd04fa60acb409559b29d460f070b1 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ChosenGrouper.java (.../ChosenGrouper.java) (revision b125be1bc92a6f11535ffa059b15a519c741b40e) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ChosenGrouper.java (.../ChosenGrouper.java) (revision f22baff581dd04fa60acb409559b29d460f070b1) @@ -43,23 +43,23 @@ { /** - * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping, org.lamsfoundation.lams.usermanagement.User) + * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping,java.lang.String, org.lamsfoundation.lams.usermanagement.User) */ - public void doGrouping(Grouping chosenGrouping, User learner) + public void doGrouping(Grouping chosenGrouping, String groupName, User learner) { //convert the single user into a list. List learners = new ArrayList(); learners.add(learner); //delegate to do grouping for a list of learners. - doGrouping(chosenGrouping,learners); + doGrouping(chosenGrouping,groupName, learners); } /** - * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping, java.util.List) + * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping,java.lang.String, java.util.List) */ - public void doGrouping(Grouping chosenGrouping, List learners) + public void doGrouping(Grouping chosenGrouping,String groupName, List learners) { - chosenGrouping.getGroups().add(Group.createLearnerGroup(chosenGrouping, + chosenGrouping.getGroups().add(Group.createLearnerGroup(chosenGrouping,groupName, new HashSet(learners))); } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java =================================================================== diff -u -r55901923afea1cbd769d8daa05051aa050bb99b6 -rf22baff581dd04fa60acb409559b29d460f070b1 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java (.../Group.java) (revision 55901923afea1cbd769d8daa05051aa050bb99b6) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Group.java (.../Group.java) (revision f22baff581dd04fa60acb409559b29d460f070b1) @@ -26,6 +26,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; @@ -41,9 +42,12 @@ public class Group implements Serializable,Nullable,Comparable { public final static int STAFF_GROUP_ORDER_ID = 1; + public final static String NAME_OF_STAFF_GROUP = "Staff Group"; /** identifier field */ private Long groupId; + + private String groupName; /** persistent field */ private int orderId; @@ -62,8 +66,9 @@ //--------------------------------------------------------------------- /** full constructor */ - public Group(Long groupId, int orderId, Grouping grouping, Set users, Set toolSessions) { + public Group(Long groupId, String groupName, int orderId, Grouping grouping, Set users, Set toolSessions) { this.groupId = groupId; + this.groupName = groupName; this.orderId = orderId; this.grouping = grouping; this.users = users; @@ -78,9 +83,9 @@ * @param users the users in this group. * @return the new learner group */ - public static Group createLearnerGroup(Grouping grouping, Set users) + public static Group createLearnerGroup(Grouping grouping, String groupName, Set users) { - return new Group(null,grouping.getNextGroupOrderId(),grouping,users,new HashSet()); + return new Group(null,groupName,grouping.getNextGroupOrderId(),grouping,users,new HashSet()); } /** @@ -92,9 +97,9 @@ * @param toolSessions all tool sessions included in this group * @return the new learner group */ - public static Group createLearnerGroupWithToolSession(Grouping grouping, Set users,Set toolSessions) + public static Group createLearnerGroupWithToolSession(Grouping grouping, String groupName, Set users,Set toolSessions) { - return new Group(null,grouping.getNextGroupOrderId(),grouping,users,toolSessions); + return new Group(null,groupName,grouping.getNextGroupOrderId(),grouping,users,toolSessions); } /** @@ -104,9 +109,9 @@ * @param staffs the users in this group. * @return the new staff group. */ - public static Group createStaffGroup(Grouping grouping, Set staffs) + public static Group createStaffGroup(Grouping grouping, Set staffs) { - return new Group(null,STAFF_GROUP_ORDER_ID,grouping,staffs,new HashSet()); + return new Group(null,NAME_OF_STAFF_GROUP,STAFF_GROUP_ORDER_ID,grouping,staffs,new HashSet()); } /** default constructor */ @@ -126,8 +131,21 @@ public Long getGroupId() { return this.groupId; } + /** + * @hibernate.property + * column="group_name" + * + * @return + */ + public String getGroupName() { + return groupName; + } - public void setGroupId(Long groupId) { + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public void setGroupId(Long groupId) { this.groupId = groupId; } @@ -197,6 +215,7 @@ public String toString() { return new ToStringBuilder(this) .append("groupId", getGroupId()) + .append("groupName", getGroupName()) .toString(); } @@ -206,13 +225,15 @@ Group castOther = (Group) other; return new EqualsBuilder() .append(this.getGroupId(), castOther.getGroupId()) + .append(this.getGroupName(), castOther.getGroupName()) .append(this.getOrderId(), castOther.getOrderId()) .isEquals(); } public int hashCode() { return new HashCodeBuilder() .append(getGroupId()) + .append(getGroupName()) .append(getOrderId()) .toHashCode(); } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouper.java =================================================================== diff -u -rb125be1bc92a6f11535ffa059b15a519c741b40e -rf22baff581dd04fa60acb409559b29d460f070b1 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouper.java (.../Grouper.java) (revision b125be1bc92a6f11535ffa059b15a519c741b40e) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouper.java (.../Grouper.java) (revision f22baff581dd04fa60acb409559b29d460f070b1) @@ -43,15 +43,17 @@ /** * Do the grouping for a list of learners that the teacher requested. * @param grouping the grouping that is used to perform groups creation. + * @param name for this group * @param learners the list of learners that the teacher requested. */ - public void doGrouping(Grouping grouping, List learners); + public void doGrouping(Grouping grouping, String groupName, List learners); /** * Do the grouping for a single learner. * @param grouping the grouping that is used to perform groups creation. + * @param name for this group * @param learner the learner teacher want to add. */ - public void doGrouping(Grouping grouping, User learner); + public void doGrouping(Grouping grouping, String groupName, User learner); } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouping.java =================================================================== diff -u -r248ac2f8f3f720a0ccf53fbc2e6bf2f0e71e0c2a -rf22baff581dd04fa60acb409559b29d460f070b1 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouping.java (.../Grouping.java) (revision 248ac2f8f3f720a0ccf53fbc2e6bf2f0e71e0c2a) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Grouping.java (.../Grouping.java) (revision f22baff581dd04fa60acb409559b29d460f070b1) @@ -301,21 +301,42 @@ public abstract boolean isLearnerGroup(Group group); /** + * Create or update groups for this grouping with a list of new learners. Name of group + * will generate automatically. + * @param learners the list of learners need to be grouped. + */ + public void doGrouping(List learners) + { + doGrouping(null,learners); + } + + /** + * Create or updates groups for this grouping with a single new learner.Name of group + * will generate automatically. + * @param learner the new learner needs to be grouped. + */ + public void doGrouping(User learner) + { + doGrouping(null,learner); + } + /** * Create or update groups for this grouping with a list of new learners. + * @param name of this group. * @param learners the list of learners need to be grouped. */ - public void doGrouping(List learners) + public void doGrouping(String groupName,List learners) { - this.grouper.doGrouping(this,learners); + this.grouper.doGrouping(this,groupName,learners); } /** * Create or updates groups for this grouping with a single new learner. + * @param name of this group. * @param learner the new learner needs to be grouped. */ - public void doGrouping(User learner) + public void doGrouping(String groupName,User learner) { - this.grouper.doGrouping(this,learner); + this.grouper.doGrouping(this,groupName,learner); } /** Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/RandomGrouper.java =================================================================== diff -u -r35d5350252748108494c7cb4bfc2e7d5f2271cba -rf22baff581dd04fa60acb409559b29d460f070b1 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/RandomGrouper.java (.../RandomGrouper.java) (revision 35d5350252748108494c7cb4bfc2e7d5f2271cba) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/RandomGrouper.java (.../RandomGrouper.java) (revision f22baff581dd04fa60acb409559b29d460f070b1) @@ -58,27 +58,28 @@ */ public class RandomGrouper implements Grouper , Serializable { + private static final String GROUP_NAME_PREFIX = "Group "; //--------------------------------------------------------------------- // Grouping algorithm Implementation Method //--------------------------------------------------------------------- /** * Do the grouping for single new learner. - * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping, org.lamsfoundation.lams.usermanagement.User) + * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping, java.lang.String,org.lamsfoundation.lams.usermanagement.User) */ - public void doGrouping(Grouping randomGrouping, User learner) + public void doGrouping(Grouping randomGrouping,String groupName, User learner) { //convert the single user into a list. List learners = new ArrayList(); learners.add(learner); //delegate to do grouping for a list of learners. - doGrouping(randomGrouping,learners); + doGrouping(randomGrouping,groupName,learners); } /** * Do the grouping for a list of new learners. - * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping, java.util.List) + * @see org.lamsfoundation.lams.learningdesign.Grouper#doGrouping(org.lamsfoundation.lams.learningdesign.Grouping,java.lang.String, java.util.List) */ - public void doGrouping(Grouping randomGrouping, List learners) + public void doGrouping(Grouping randomGrouping, String groupName, List learners) { //calculate how many new groups needs to be created. int numOfGroupsTobeCreated =0; @@ -91,7 +92,7 @@ learners, false); //create new groups - createGroups((RandomGrouping)randomGrouping,numOfGroupsTobeCreated); + createGroups((RandomGrouping)randomGrouping, numOfGroupsTobeCreated); //join the new learners into these groups. joinGroups(randomGrouping, learners); } @@ -128,9 +129,11 @@ private void createGroups(RandomGrouping randomGrouping, int numOfGroupsTobeCreated) { + int size = randomGrouping.getGroups().size(); for(int i=0;i