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