Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/GroupUser.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml,v diff -u -r1.38 -r1.39 --- lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml 9 Apr 2009 05:05:40 -0000 1.38 +++ lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/Lesson.hbm.xml 20 Apr 2009 00:10:02 -0000 1.39 @@ -61,6 +61,9 @@ + + Index: lams_common/db/sql/create_lams_11_tables.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/db/sql/create_lams_11_tables.sql,v diff -u -r1.138 -r1.139 --- lams_common/db/sql/create_lams_11_tables.sql 7 Apr 2009 05:23:52 -0000 1.138 +++ lams_common/db/sql/create_lams_11_tables.sql 20 Apr 2009 00:10:01 -0000 1.139 @@ -661,6 +661,7 @@ , learner_im_avail TINYINT(1) DEFAULT 0 , live_edit_enabled TINYINT(1) DEFAULT 0 , locked_for_edit TINYINT DEFAULT 0 + , marks_released TINYINT DEFAULT 0 , version INTEGER DEFAULT 1 , PRIMARY KEY (lesson_id) , INDEX (learning_design_id) Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/commonContext.xml,v diff -u -r1.79 -r1.80 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 9 Apr 2009 05:05:39 -0000 1.79 +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml 20 Apr 2009 00:10:01 -0000 1.80 @@ -42,7 +42,8 @@ classpath:org/lamsfoundation/lams/learningdesign/Activity.hbm.xml classpath:org/lamsfoundation/lams/learningdesign/BranchActivityEntry.hbm.xml classpath:org/lamsfoundation/lams/learningdesign/BranchCondition.hbm.xml - classpath:org/lamsfoundation/lams/learningdesign/Group.hbm.xml + classpath:org/lamsfoundation/lams/learningdesign/Group.hbm.xml + classpath:org/lamsfoundation/lams/learningdesign/GroupUser.hbm.xml classpath:org/lamsfoundation/lams/learningdesign/Grouping.hbm.xml classpath:org/lamsfoundation/lams/learningdesign/LearningDesign.hbm.xml classpath:org/lamsfoundation/lams/learningdesign/Competence.hbm.xml Index: lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0015_updateFrom22.sql =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0015_updateFrom22.sql,v diff -u -r1.14 -r1.15 --- lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0015_updateFrom22.sql 14 Apr 2009 06:49:19 -0000 1.14 +++ lams_common/src/java/org/lamsfoundation/lams/dbupdates/patch0015_updateFrom22.sql 20 Apr 2009 00:09:59 -0000 1.15 @@ -111,6 +111,9 @@ , PRIMARY KEY (uid) )TYPE=InnoDB; +-- LDEV-2207 ------------ Adding flag in lesson to release marks for gradebook +ALTER TABLE lams_lesson ADD COLUMN marks_released TINYINT DEFAULT 0; + ----------------------Put all sql statements above here------------------------- -- If there were no errors, commit and restore autocommit to on Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/IGradebookDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/IGradebookDAO.java,v diff -u -r1.1 -r1.2 --- lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/IGradebookDAO.java 9 Apr 2009 05:05:39 -0000 1.1 +++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/IGradebookDAO.java 20 Apr 2009 00:10:01 -0000 1.2 @@ -46,6 +46,10 @@ public long getAverageDurationForActivity(Long activityID); public Double getAverageMarkForActivity(Long activityID); + + public Double getAverageMarkForGroupedActivity(Long activityID, Long groupID); + + public long getAverageDurationForGroupedActivity(Long activityID, Long groupID); } Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java,v diff -u -r1.1 -r1.2 --- lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java 9 Apr 2009 05:05:40 -0000 1.1 +++ lams_common/src/java/org/lamsfoundation/lams/gradebook/dao/hibernate/GradebookDAO.java 20 Apr 2009 00:10:01 -0000 1.2 @@ -56,7 +56,13 @@ private static final String GET_AVERAGE_MARK_FOR_ACTIVTY = "select avg(gact.mark) from GradebookUserActivity gact where " + "gact.activity.activityId=:activityID"; + + private static final String GET_AVERAGE_MARK_FOR_GROUPED_ACTIVTY = "select avg(gact.mark) from GradebookUserActivity gact, GroupUser gu, Group grp where " + + "gact.activity.activityId=:activityID and grp.groupId=:groupID and gu.user=gact.learner and gu.group=grp"; + private static final String GET_AVERAGE_COMPLETION_TIME_GROUPED_ACTIVITY = "select compProg.finishDate, compProg.startDate from CompletedActivityProgress compProg, Activity act, Group grp, GroupUser gu where " + + "compProg.activity.activityId=:activityID and grp.groupId=:groupID and gu.user=compProg.learnerProgress.user and gu.group=grp"; + @SuppressWarnings("unchecked") public GradebookUserActivity getGradebookUserDataForActivity(Long activityID, Integer userID) { List result = getSession().createQuery(GET_GRADEBOOK_USER_ACTIVITY).setInteger("userID", userID.intValue()) @@ -185,8 +191,8 @@ @SuppressWarnings("unchecked") public Double getAverageMarkForActivity(Long activityID) { - List result = getSession().createQuery(GET_AVERAGE_MARK_FOR_ACTIVTY).setLong("activityID", activityID.longValue()) - .list(); + List result = getSession().createQuery(GET_AVERAGE_MARK_FOR_ACTIVTY).setLong("activityID", + activityID.longValue()).list(); if (result != null) { if (result.size() > 0) @@ -196,4 +202,49 @@ return 0.0; } + + @SuppressWarnings("unchecked") + public Double getAverageMarkForGroupedActivity(Long activityID, Long groupID) { + List result = getSession().createQuery(GET_AVERAGE_MARK_FOR_GROUPED_ACTIVTY).setLong("activityID", + activityID.longValue()).setLong("groupID", groupID.longValue()).list(); + + if (result != null) { + if (result.size() > 0) + return (Double) result.get(0); + } + + return 0.0; + } + + @SuppressWarnings("unchecked") + public long getAverageDurationForGroupedActivity(Long activityID, Long groupID) { + List result = (List) getSession().createQuery(GET_AVERAGE_COMPLETION_TIME_GROUPED_ACTIVITY) + .setLong("activityID", activityID.longValue()).setLong("groupID", groupID.longValue()).list(); + + if (result != null) { + if (result.size() > 0) { + + long sum = 0; + long count = 0; + for (Object[] dateObjs : result) { + if (dateObjs != null && dateObjs.length == 2) { + Date finishDate = (Date) dateObjs[0]; + Date startDate = (Date) dateObjs[1]; + + if (startDate != null && finishDate != null) { + + sum += finishDate.getTime() - startDate.getTime(); + count++; + } + } + } + + if (count > 0) { + return sum / count; + } + } + + } + return 0; + } } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java,v diff -u -r1.33 -r1.34 --- lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java 9 Apr 2009 05:05:40 -0000 1.33 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/Lesson.java 20 Apr 2009 00:10:01 -0000 1.34 @@ -139,6 +139,9 @@ /** Persistent field. Defaults to FALSE if not set to anything by a constructor parameter. */ private Boolean liveEditEnabled; + /** Persistent field. Defaults to FALSE if not set to anything by a constructor parameter. */ + private Boolean marksReleased; + //--------------------------------------------------------------------- // constructors //--------------------------------------------------------------------- @@ -620,4 +623,16 @@ public void setGradebookUserLessons(Set gradebookUserLessons) { this.gradebookUserLessons = gradebookUserLessons; } + + /** + * @hibernate.property type="java.lang.Boolean" column="marks_released" + * length="1" + */ + public Boolean getMarksReleased() { + return marksReleased; + } + + public void setMarksReleased(Boolean marksReleased) { + this.marksReleased = marksReleased; + } }