Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java,v diff -u -r1.22 -r1.23 --- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java 12 Feb 2009 00:22:51 -0000 1.22 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java 12 Mar 2009 01:30:52 -0000 1.23 @@ -28,6 +28,8 @@ import org.lamsfoundation.lams.learningdesign.ComplexActivity; import org.lamsfoundation.lams.learningdesign.dao.IActivityDAO; import org.lamsfoundation.lams.lesson.dto.LearnerProgressDTO; +import org.lamsfoundation.lams.lesson.dto.LearnerProgressCompletedDTO; +import org.lamsfoundation.lams.lesson.dto.CompletedActivityDTO; import java.io.Serializable; import java.util.ArrayList; @@ -494,6 +496,21 @@ isComplete()); } + public LearnerProgressCompletedDTO getLearnerProgressCompletedData() + { + return new LearnerProgressCompletedDTO(this.lesson.getLessonId(), + this.lesson.getLessonName(), + this.user.getLogin(), + this.user.getLastName(), + this.user.getFirstName(), + this.user.getUserId(), + this.createCompletedActivityArrayFrom(this.completedActivities), + isComplete(), + this.lesson.getStartDateTime().getTime(), + this.startDate.getTime()); + + } + //--------------------------------------------------------------------- // Helper methods //--------------------------------------------------------------------- @@ -518,6 +535,25 @@ return (Long [])activitiesIds.toArray(new Long[activitiesIds.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(); + 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/ProgressCompletedActivity.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/Attic/ProgressCompletedActivity.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/ProgressCompletedActivity.java 12 Mar 2009 01:30:52 -0000 1.1 @@ -0,0 +1,79 @@ +/**************************************************************** + * 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: ProgressCompletedActivity.java,v 1.1 2009/03/12 01:30:52 mseaton Exp $$ */ +package org.lamsfoundation.lams.lesson; + +import org.lamsfoundation.lams.learningdesign.Activity; + +import java.util.Date; +import java.io.Serializable; + +/** + * @author mseaton + */ +public class ProgressCompletedActivity implements Serializable { + + /** Identifier field */ + private Long learnerProgressId; + private Integer completedActivityId; + private Date completedDateTime; + + /** default constructor */ + public ProgressCompletedActivity() + { } + + /** + * Chain constructor to create new learner progress with minimum data. + * @param user the learner. + */ + public ProgressCompletedActivity(Long learnerProgressId, Integer completedActivityId, Date completedDateTime) + { + this.learnerProgressId = learnerProgressId; + this.completedActivityId = completedActivityId; + this.completedDateTime = completedDateTime; + } + + public Long getLearnerProgressId() { + return this.learnerProgressId; + } + + public void setLearnerProgressId(Long learnerProgressId) { + this.learnerProgressId = learnerProgressId; + } + + public Integer getCompletedActivityId() { + return this.completedActivityId; + } + + public void setCompletedActivityId(Integer completedActivityId) { + this.completedActivityId = completedActivityId; + } + + public Date getCompletedDateTime() { + return completedDateTime; + } + + public void setCompletedDateTime(Date completedDateTime) { + this.completedDateTime = completedDateTime; + } +} Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/CompletedActivityDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/dto/CompletedActivityDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/CompletedActivityDTO.java 12 Mar 2009 01:30:52 -0000 1.1 @@ -0,0 +1,41 @@ +package org.lamsfoundation.lams.lesson.dto; + +import java.util.Date; +import org.lamsfoundation.lams.learningdesign.Activity; + +public class CompletedActivityDTO { + + public Long completedActivityId; + public String completedActivityTitle; + public Long completedDateTime; + + public CompletedActivityDTO(Activity completedActivity, Long completedDateTime) { + this.completedActivityId = completedActivity.getActivityId(); + this.completedActivityTitle = completedActivity.getTitle(); + this.completedDateTime = completedDateTime; + } + + /** + * @return Returns the completedActivityId. + */ + public Long getCompletedActivityId() + { + return completedActivityId; + } + + /** + * @return Returns the completedActivityTitle. + */ + public String getCompletedActivityTitle() + { + return completedActivityTitle; + } + + /** + * @return Returns the completedDateTime. + */ + public Long getCompletedDateTime() + { + return completedDateTime; + } +} Index: lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LearnerProgressCompletedDTO.java =================================================================== RCS file: /usr/local/cvsroot/lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LearnerProgressCompletedDTO.java,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ lams_common/src/java/org/lamsfoundation/lams/lesson/dto/LearnerProgressCompletedDTO.java 12 Mar 2009 01:30:52 -0000 1.1 @@ -0,0 +1,130 @@ +/*************************************************************************** + * 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: LearnerProgressCompletedDTO.java,v 1.1 2009/03/12 01:30:52 mseaton Exp $$ */ +package org.lamsfoundation.lams.lesson.dto; + + +/** + * The data transfer object for remoting data communication. + * @author Jacky Fang + * @since 2005-3-11 + * @version 1.1 + * + */ +public class LearnerProgressCompletedDTO +{ + + private Long lessonId; + private String lessonName; + private String userName; + private String lastName; + private String firstName; + private Integer learnerId; + private CompletedActivityDTO [] completedActivities; + private Boolean lessonComplete; + + private Long lessonStartTime; + private Long learnerStartTime; + + + /** + * Full constructor + */ + public LearnerProgressCompletedDTO(Long lessonId, + String lessonName, + String userName, + String lastName, + String firstName, + Integer learnerId, + CompletedActivityDTO[] completedActivities, + Boolean lessonComplete, + Long lessonStartTime, + Long learnerStartTime) + { + this.lessonId = lessonId; + this.lessonName = lessonName; + this.userName = userName; + this.lastName = lastName; + this.firstName = firstName; + this.learnerId = learnerId; + this.completedActivities = completedActivities; + this.lessonComplete = lessonComplete; + this.lessonStartTime = lessonStartTime; + this.learnerStartTime = learnerStartTime; + } + + /** + * @return Returns the learnerId. + */ + public Integer getLearnerId() + { + return learnerId; + } + /** + * @return Returns the lessonId. + */ + public Long getLessonId() + { + return lessonId; + } + /** + * @return Returns the lessonName. + */ + public String getLessonName() + { + return lessonName; + } + /** + * @return Returns the userName. + */ + public String getUserName() + { + return userName; + } + + /** + * @return Returns the completedActivities. + */ + public CompletedActivityDTO[] getCompletedActivities() + { + return completedActivities; + } + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public Boolean getLessonComplete() { + return lessonComplete; + } + + public Long getLessonStartTime() { + return lessonStartTime; + } + + public Long getLearnerStartTime() { + return learnerStartTime; + } +}