Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java =================================================================== diff -u -r02df1b4f76fac80d72ff5583feddace3897844d9 -r1759a0009304ec57c0d9df6f461c61aa691548a9 --- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 02df1b4f76fac80d72ff5583feddace3897844d9) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 1759a0009304ec57c0d9df6f461c61aa691548a9) @@ -547,37 +547,19 @@ if (compProg != null) { Date end = compProg.getFinishDate(); - if (end != null && startDate != null) { - Long completedTime = end.getTime() - startDate.getTime(); - activitiesCompleted.add(new CompletedActivityDTO(activity, completedTime)); - } + Date start = compProg.getStartDate(); + if (end != null && start != null && startDate != null) { + Long completedTime = end.getTime() - startDate.getTime(); + Long startTime = start.getTime() - startDate.getTime(); + activitiesCompleted.add(new CompletedActivityDTO(activity, startTime, completedTime)); + } } } return (CompletedActivityDTO[]) activitiesCompleted .toArray(new CompletedActivityDTO[activitiesCompleted.size()]); } - - private CompletedActivityDTO[] createCompletedActivityArrayFrom(Map activities) { - if (activities == null) - throw new IllegalArgumentException("Fail to create id array" + " from null activity set"); - - ArrayList activitiesCompleted = new ArrayList(); - - for (Iterator i = activities.keySet().iterator(); i.hasNext();) { - Activity activity = (Activity) i.next(); - - Date completedDate = (Date) activities.get(activity); - if (completedDate != null && startDate != null) { - Long completedTime = ((Date) activities.get(activity)).getTime() - startDate.getTime(); - activitiesCompleted.add(new CompletedActivityDTO(activity, completedTime)); - } - } - - return (CompletedActivityDTO[]) activitiesCompleted - .toArray(new CompletedActivityDTO[activitiesCompleted.size()]); - } - + public Date getFinishDate() { return finishDate; } Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/CompletedActivityDTO.java =================================================================== diff -u -rfe6ab13df0c4d84b9e1bf45d8862efbd3b5c63ca -r1759a0009304ec57c0d9df6f461c61aa691548a9 --- lams_common/src/java/org/lamsfoundation/lams/lesson/dto/CompletedActivityDTO.java (.../CompletedActivityDTO.java) (revision fe6ab13df0c4d84b9e1bf45d8862efbd3b5c63ca) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/CompletedActivityDTO.java (.../CompletedActivityDTO.java) (revision 1759a0009304ec57c0d9df6f461c61aa691548a9) @@ -7,11 +7,13 @@ public Long completedActivityId; public String completedActivityTitle; + public Long startDateTime; public Long completedDateTime; - public CompletedActivityDTO(Activity completedActivity, Long completedDateTime) { + public CompletedActivityDTO(Activity completedActivity, Long startDateTime, Long completedDateTime) { this.completedActivityId = completedActivity.getActivityId(); this.completedActivityTitle = completedActivity.getTitle(); + this.startDateTime = startDateTime; this.completedDateTime = completedDateTime; } @@ -32,6 +34,14 @@ } /** + * @return Returns the startDateTime. + */ + public Long getStartDateTime() + { + return startDateTime; + } + + /** * @return Returns the completedDateTime. */ public Long getCompletedDateTime()