Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/config/ConfigurationItem.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserActivity.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/gradebook/GradebookUserLesson.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/CompletedActivityProgress.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/CompletedActivityProgressArchive.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgress.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/lesson/LearnerProgressArchive.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/planner/PedagogicalPlannerActivityMetadata.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/themes/Theme.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/Tool.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag cbe532f585efe39250986f20d58cbef855115cf3 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/User.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/commonContext.xml =================================================================== diff -u -r47043f84205046a23497bf8c57060e2dcadf0c9a -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision 47043f84205046a23497bf8c57060e2dcadf0c9a) +++ lams_common/src/java/org/lamsfoundation/lams/commonContext.xml (.../commonContext.xml) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -24,11 +24,15 @@ + org.lamsfoundation.lams.config org.lamsfoundation.lams.contentrepository + org.lamsfoundation.lams.gradebook org.lamsfoundation.lams.learningdesign org.lamsfoundation.lams.lesson org.lamsfoundation.lams.logevent + org.lamsfoundation.lams.planner org.lamsfoundation.lams.policies + org.lamsfoundation.lams.themes org.lamsfoundation.lams.timezone org.lamsfoundation.lams.tool org.lamsfoundation.lams.usermanagement Index: lams_common/src/java/org/lamsfoundation/lams/config/ConfigurationItem.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/config/ConfigurationItem.java (.../ConfigurationItem.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/config/ConfigurationItem.java (.../ConfigurationItem.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -25,52 +25,43 @@ import java.io.Serializable; -/** - * - * - */ +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +@Entity +@Table(name = "lams_configuration") public class ConfigurationItem implements Serializable { + private static final long serialVersionUID = -2458856157870283305L; public static String STRING_FORMAT = "STRING"; public static String LONG_FORMAT = "LONG"; public static String BOOLEAN_FORMAT = "BOOLEAN"; - /** identifier field */ + @Id + @Column(name = "config_key") private String key; - /** persistent field */ + @Column(name = "config_value") private String value; - /** persistent field */ + @Column(name = "description_key") private String descriptionKey; - /** persistent field */ + @Column(name = "header_name") private String headerName; - /** persistent field */ + @Column private String format; - /** persistent field - defaults in db to false */ + /** defaults in db to false */ + @Column private Boolean required; - /** default constructor */ public ConfigurationItem() { } - /** full constructor */ - public ConfigurationItem(String key, String value, String descriptionKey, String headerName, String format, - Boolean required) { - this.key = key; - this.value = value; - this.descriptionKey = descriptionKey; - this.headerName = headerName; - this.format = format; - this.required = required; - } - - /** - * - */ public String getKey() { return this.key; } @@ -79,10 +70,6 @@ this.key = key; } - /** - * - * - */ public String getValue() { return this.value; } @@ -91,9 +78,6 @@ this.value = value; } - /** - * - */ public String getDescriptionKey() { return descriptionKey; } @@ -102,9 +86,6 @@ this.descriptionKey = descriptionKey; } - /** - * - */ public String getHeaderName() { return headerName; } @@ -113,9 +94,6 @@ this.headerName = headerName; } - /** - * - */ public String getFormat() { return format; } @@ -124,15 +102,11 @@ this.format = format; } - /** - * - */ public Boolean getRequired() { return required; } public void setRequired(Boolean required) { this.required = required; } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserActivity.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserActivity.java (.../GradebookUserActivity.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserActivity.java (.../GradebookUserActivity.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -20,27 +20,53 @@ * **************************************************************** */ - package org.lamsfoundation.lams.gradebook; import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + import org.lamsfoundation.lams.learningdesign.ToolActivity; import org.lamsfoundation.lams.usermanagement.User; /** * This class maps to one activity mark for a learner - * + * * @author lfoxton */ +@Entity +@Table(name = "lams_gradebook_user_activity") public class GradebookUserActivity { - + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private long uid; + + @ManyToOne + @JoinColumn(name = "activity_id") private ToolActivity activity; + + @ManyToOne + @JoinColumn(name = "user_id") private User learner; + + @Column private Double mark; + + @Column private String feedback; + + @Column(name = "marked_in_gradebook") private Boolean markedInGradebook; + + @Column(name = "update_date") private Date updateDate; public GradebookUserActivity() { @@ -55,9 +81,6 @@ updateDate = new Date(); } - /** - * - */ public long getUid() { return uid; } @@ -66,10 +89,6 @@ this.uid = uid; } - /** - * - * - */ public ToolActivity getActivity() { return activity; } @@ -78,10 +97,6 @@ this.activity = activity; } - /** - * - * - */ public User getLearner() { return learner; } @@ -90,9 +105,6 @@ this.learner = learner; } - /** - * - */ public Double getMark() { return mark; } @@ -101,9 +113,6 @@ this.mark = mark; } - /** - * - */ public String getFeedback() { return feedback; } @@ -112,9 +121,6 @@ this.feedback = feedback; } - /** - * - */ public Boolean getMarkedInGradebook() { return markedInGradebook; } @@ -123,15 +129,11 @@ this.markedInGradebook = markedInGradebook; } - /** - * - * @return - */ public Date getUpdateDate() { return updateDate; } public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserLesson.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserLesson.java (.../GradebookUserLesson.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_common/src/java/org/lamsfoundation/lams/gradebook/GradebookUserLesson.java (.../GradebookUserLesson.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -20,22 +20,45 @@ * **************************************************************** */ - package org.lamsfoundation.lams.gradebook; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.usermanagement.User; /** * This class maps to one learner's entire mark for a lesson - * + * * @author lfoxton */ +@Entity +@Table(name = "lams_gradebook_user_lesson") public class GradebookUserLesson { + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private long uid; + + @ManyToOne + @JoinColumn(name = "lesson_id") private Lesson lesson; + + @ManyToOne + @JoinColumn(name = "user_id") private User learner; + + @Column private Double mark; + + @Column private String feedback; public GradebookUserLesson() { @@ -46,9 +69,6 @@ this.learner = learner; } - /** - * - */ public long getUid() { return uid; } @@ -57,10 +77,6 @@ this.uid = uid; } - /** - * - * - */ public Lesson getLesson() { return lesson; } @@ -69,10 +85,6 @@ this.lesson = lesson; } - /** - * - * - */ public User getLearner() { return learner; } @@ -81,9 +93,6 @@ this.learner = learner; } - /** - * - */ public Double getMark() { return mark; } @@ -92,14 +101,11 @@ this.mark = mark; } - /** - * - */ public String getFeedback() { return feedback; } public void setFeedback(String feedback) { this.feedback = feedback; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/CompletedActivityProgress.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/lesson/CompletedActivityProgress.java (.../CompletedActivityProgress.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/CompletedActivityProgress.java (.../CompletedActivityProgress.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -20,58 +20,39 @@ * **************************************************************** */ - package org.lamsfoundation.lams.lesson; import java.io.Serializable; import java.util.Date; -import org.apache.commons.lang.builder.EqualsBuilder; -import org.apache.commons.lang.builder.HashCodeBuilder; -import org.lamsfoundation.lams.learningdesign.Activity; +import javax.persistence.Column; +import javax.persistence.Embeddable; /** * A class representing a finished activity for a user * * @author lfoxton * */ +@Embeddable public class CompletedActivityProgress implements Serializable { private static final long serialVersionUID = -6210497575761751861L; - LearnerProgress learnerProgress; - Activity activity; - Date startDate; - Date finishDate; + @Column(name = "start_date_time") + private Date startDate; + @Column(name = "completed_date_time") + private Date finishDate; + public CompletedActivityProgress() { } - public CompletedActivityProgress(LearnerProgress learnerProgress, Activity activity, Date startDate, - Date finishDate) { - this.learnerProgress = learnerProgress; - this.activity = activity; + public CompletedActivityProgress(Date startDate, Date finishDate) { this.startDate = startDate; this.finishDate = finishDate; } - public LearnerProgress getLearnerProgress() { - return learnerProgress; - } - - public void setLearnerProgress(LearnerProgress learnerProgress) { - this.learnerProgress = learnerProgress; - } - - public Activity getActivity() { - return activity; - } - - public void setActivity(Activity activity) { - this.activity = activity; - } - public Date getStartDate() { return startDate; } @@ -87,27 +68,4 @@ public void setFinishDate(Date finishDate) { this.finishDate = finishDate; } - - @Override - public boolean equals(Object other) { - if ((this == other)) { - return true; - } - if (!(other instanceof CompletedActivityProgress)) { - return false; - } - CompletedActivityProgress castOther = (CompletedActivityProgress) other; - - EqualsBuilder eq = new EqualsBuilder(); - eq.append(this.getActivity().getActivityId(), castOther.getActivity().getActivityId()); - eq.append(this.getLearnerProgress().getLearnerProgressId(), - castOther.getLearnerProgress().getLearnerProgressId()); - return eq.isEquals(); - } - - @Override - public int hashCode() { - return new HashCodeBuilder().append(this.getActivity().getActivityId().toString() - + this.getLearnerProgress().getLearnerProgressId().toString()).toHashCode(); - } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/CompletedActivityProgressArchive.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/lesson/CompletedActivityProgressArchive.java (.../CompletedActivityProgressArchive.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/CompletedActivityProgressArchive.java (.../CompletedActivityProgressArchive.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -25,44 +25,27 @@ import java.io.Serializable; import java.util.Date; -import org.apache.commons.lang.builder.EqualsBuilder; -import org.apache.commons.lang.builder.HashCodeBuilder; -import org.lamsfoundation.lams.learningdesign.Activity; +import javax.persistence.Column; +import javax.persistence.Embeddable; +@Embeddable public class CompletedActivityProgressArchive implements Serializable { + private static final long serialVersionUID = 4680807429883173462L; - LearnerProgress learnerProgress; - Activity activity; - Date startDate; - Date finishDate; + @Column(name = "start_date_time") + private Date startDate; + @Column(name = "completed_date_time") + private Date finishDate; + public CompletedActivityProgressArchive() { } - public CompletedActivityProgressArchive(LearnerProgress learnerProgress, Activity activity, Date startDate, - Date finishDate) { - this.learnerProgress = learnerProgress; - this.activity = activity; + public CompletedActivityProgressArchive(Date startDate, Date finishDate) { this.startDate = startDate; this.finishDate = finishDate; } - public LearnerProgress getLearnerProgress() { - return learnerProgress; - } - - public void setLearnerProgress(LearnerProgress learnerProgress) { - this.learnerProgress = learnerProgress; - } - - public Activity getActivity() { - return activity; - } - - public void setActivity(Activity activity) { - this.activity = activity; - } - public Date getStartDate() { return startDate; } @@ -78,27 +61,4 @@ public void setFinishDate(Date finishDate) { this.finishDate = finishDate; } - - @Override - public boolean equals(Object other) { - if ((this == other)) { - return true; - } - if (!(other instanceof CompletedActivityProgressArchive)) { - return false; - } - CompletedActivityProgressArchive castOther = (CompletedActivityProgressArchive) other; - - EqualsBuilder eq = new EqualsBuilder(); - eq.append(this.getActivity().getActivityId(), castOther.getActivity().getActivityId()); - eq.append(this.getLearnerProgress().getLearnerProgressId(), - castOther.getLearnerProgress().getLearnerProgressId()); - return eq.isEquals(); - } - - @Override - public int hashCode() { - return new HashCodeBuilder().append(this.getActivity().getActivityId().toString() - + this.getLearnerProgress().getLearnerProgressId().toString()).toHashCode(); - } } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgress.java (.../LearnerProgress.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -25,6 +25,7 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -33,6 +34,20 @@ import java.util.Set; import java.util.TreeMap; +import javax.persistence.CollectionTable; +import javax.persistence.Column; +import javax.persistence.ElementCollection; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.MapKeyJoinColumn; +import javax.persistence.Table; +import javax.persistence.Transient; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; @@ -59,9 +74,10 @@ * * @author Chris * @author Jacky Fang - * @version 1.1 * */ +@Entity +@Table(name = "lams_learner_progress") public class LearnerProgress implements Serializable { private static final long serialVersionUID = -7866830317967062822L; @@ -103,28 +119,43 @@ //--------------------------------------------------------------------- // attributes //--------------------------------------------------------------------- - /** Identifier field */ + @Id + @Column(name = "learner_progress_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long learnerProgressId; /** The User to whom this progress data belongs. */ + @ManyToOne + @JoinColumn(name = "user_id") private User user; /** The Lesson this progress data is for */ + @ManyToOne + @JoinColumn(name = "lesson_id") private Lesson lesson; /** Map of attempted activities with their start date */ - private Map attemptedActivities; + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "lams_progress_attempted", joinColumns = @JoinColumn(name = "learner_progress_id")) + @MapKeyJoinColumn(name = "activity_id") + @Column(name = "start_date_time") + private Map attemptedActivities = new HashMap(); /** * Set of completed activities that includes all completed activities before * current activity */ - private Map completedActivities; + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "lams_progress_completed", joinColumns = @JoinColumn(name = "learner_progress_id")) + @MapKeyJoinColumn(name = "activity_id") + private Map completedActivities = new HashMap(); /** * The activity that user just completed. The purpose of this activity is to * allow lams to remove unecessary frame for next activity. */ + @ManyToOne + @JoinColumn(name = "previous_activity_id") private Activity previousActivity; /** @@ -135,45 +166,56 @@ * not the leaf node. The main purpose of current activity is to restore the * progress states if the user exist without finishing the activity. */ + @ManyToOne + @JoinColumn(name = "current_activity_id") private Activity currentActivity; /** * The activity that progress engine is about to progress to. It could be * next activity following the transition or leaf activity within a complex * activity. */ + @ManyToOne + @JoinColumn(name = "next_activity_id") private Activity nextActivity; /** * Indicates is the User has completed this lesson. */ + @Column(name = "lesson_completed_flag") private Byte lessonComplete; /** * Indicates the learner progress is in a incomplete parallel activity or * not. */ + @Column(name = "waiting_flag") private byte parallelWaiting; /** * A list of completed activities ids before move on to next activity * following transition. This is created to help UI calculation what has * *just* been done. */ - private List currentCompletedActivitiesList; + @Transient + private List currentCompletedActivitiesList; /** Indicate whether the learning progress is restarting or not */ + @Column(name = "requires_restart_flag") private boolean restarting; + @Column(name = "start_date_time") private Date startDate; + + @Column(name = "finish_date_time") private Date finishDate; //--------------------------------------------------------------------- // Constructors //--------------------------------------------------------------------- /** default constructor */ public LearnerProgress() { - this.lessonComplete = new Byte(LESSON_NOT_COMPLETE); + this.lessonComplete = LESSON_NOT_COMPLETE; } /** @@ -197,16 +239,9 @@ this.lesson = lesson; this.attemptedActivities = attemptedActivities; this.completedActivities = completedActivities; - this.lessonComplete = new Byte(LESSON_NOT_COMPLETE); + this.lessonComplete = LESSON_NOT_COMPLETE; } - //--------------------------------------------------------------------- - // Getters and Setters - //--------------------------------------------------------------------- - /** - * - * - */ public Long getLearnerProgressId() { return this.learnerProgressId; } @@ -215,9 +250,6 @@ this.learnerProgressId = learnerProgressId; } - /** - * - */ public User getUser() { return this.user; } @@ -226,9 +258,6 @@ this.user = user; } - /** - * - */ public Lesson getLesson() { return this.lesson; } @@ -237,10 +266,6 @@ this.lesson = lesson; } - /** - * - * - */ public Map getAttemptedActivities() { return this.attemptedActivities; } @@ -249,16 +274,11 @@ this.attemptedActivities = attemptedActivities; } - /** - * - * - */ public Map getCompletedActivities() { return this.completedActivities; } public void setCompletedActivities(Map completedActivities) { - this.completedActivities = completedActivities; } @@ -284,21 +304,10 @@ return new HashCodeBuilder().append(getLearnerProgressId()).toHashCode(); } - /** - * Getter for property currentActivity. - * - * @return Value of property currentActivity. - */ public Activity getCurrentActivity() { return this.currentActivity; } - /** - * Setter for property currentActivity. - * - * @param currentActivity - * New value of property currentActivity. - */ public void setCurrentActivity(Activity currentActivity) { this.currentActivity = currentActivity; } @@ -370,9 +379,9 @@ if (activity.isComplexActivity()) { ComplexActivity complex = (ComplexActivity) activityDAO .getActivityByActivityId(activity.getActivityId(), ComplexActivity.class); - Iterator iter = complex.getActivities().iterator(); + Iterator iter = complex.getActivities().iterator(); while (iter.hasNext()) { - Activity child = (Activity) iter.next(); + Activity child = iter.next(); setProgressState(child, state, activityDAO); } } @@ -384,8 +393,7 @@ } else if (state == LearnerProgress.ACTIVITY_ATTEMPTED) { this.getAttemptedActivities().put(activity, new Date()); } else if (state == LearnerProgress.ACTIVITY_COMPLETED) { - this.getCompletedActivities().put(activity, - new CompletedActivityProgress(this, activity, activityStartDate, new Date())); + this.getCompletedActivities().put(activity, new CompletedActivityProgress(activityStartDate, new Date())); } } @@ -407,94 +415,49 @@ return lessonComplete; } - /** - * Setter for property lessonComplete. - * - * @param lessonComplete - * New value of property lessonComplete. - */ public void setLessonComplete(Byte lessonComplete) { this.lessonComplete = lessonComplete; } - /** - * Getter for property nextActivity. - * - * @return Value of property nextActivity. - */ public Activity getNextActivity() { return this.nextActivity; } - /** - * Setter for property nextActivity. - * - * @param nextActivity - * New value of property nextActivity. - */ public void setNextActivity(Activity nextActivity) { this.nextActivity = nextActivity; } - /** - * @return Returns the previousActivity. - */ public Activity getPreviousActivity() { return previousActivity; } - /** - * @param previousActivity - * The previousActivity to set. - */ public void setPreviousActivity(Activity previousActivity) { this.previousActivity = previousActivity; } - /** - * @return Returns the isParallelWaiting. - */ public byte getParallelWaiting() { return parallelWaiting; } - /** - * @param isParallelWaiting - * The isParallelWaiting to set. - */ public void setParallelWaiting(byte parallelWaiting) { this.parallelWaiting = parallelWaiting; } - /** - * @return Returns the currentCompletedActivitiesList. - */ - public List getCurrentCompletedActivitiesList() { + public List getCurrentCompletedActivitiesList() { return currentCompletedActivitiesList; } - /** - * @param completedActivitiesList - * The currentCompletedActivitiesList to set. - */ - public void setCurrentCompletedActivitiesList(List completedActivitiesList) { - this.currentCompletedActivitiesList = new LinkedList(); + public void setCurrentCompletedActivitiesList(List completedActivitiesList) { + this.currentCompletedActivitiesList = new LinkedList(); this.currentCompletedActivitiesList.addAll(completedActivitiesList); } - /** - * @return Returns the isRestarting. - */ public boolean isRestarting() { return restarting; } - /** - * @param isRestarting - * The isRestarting to set. - */ public void setRestarting(boolean restarting) { this.restarting = restarting; } @@ -531,14 +494,14 @@ * @param activities * the activities that is being used to create the array. */ - private Long[] createIdArrayFrom(Set activities) { + private Long[] createIdArrayFrom(Set activities) { if (activities == null) { throw new IllegalArgumentException("Fail to create id array" + " from null activity set"); } ArrayList activitiesIds = new ArrayList(); - for (Iterator i = activities.iterator(); i.hasNext();) { - Activity activity = (Activity) i.next(); + for (Iterator i = activities.iterator(); i.hasNext();) { + Activity activity = i.next(); activitiesIds.add(activity.getActivityId()); } @@ -590,4 +553,4 @@ public void setStartDate(Date startDate) { this.startDate = startDate; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgressArchive.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgressArchive.java (.../LearnerProgressArchive.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_common/src/java/org/lamsfoundation/lams/lesson/LearnerProgressArchive.java (.../LearnerProgressArchive.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -24,34 +24,66 @@ import java.io.Serializable; import java.util.Date; +import java.util.HashMap; import java.util.Map; +import javax.persistence.CollectionTable; +import javax.persistence.Column; +import javax.persistence.ElementCollection; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.MapKeyJoinColumn; +import javax.persistence.Table; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.usermanagement.User; +@Entity +@Table(name = "lams_learner_progress_archive") public class LearnerProgressArchive implements Serializable { - /** Identifier field */ + private static final long serialVersionUID = -6114747067804692585L; + + @Id + @Column(name = "learner_progress_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long learnerProgressId; /** The User to whom this progress data belongs. */ + @ManyToOne + @JoinColumn(name = "user_id") private User user; /** The Lesson this progress data is for */ + @ManyToOne + @JoinColumn(name = "lesson_id") private Lesson lesson; + @Column(name = "attempt_id") private Integer attemptId; /** Map of attempted activities with their start date */ - private Map attemptedActivities; + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "lams_progress_attempted_archive", joinColumns = @JoinColumn(name = "learner_progress_id")) + @MapKeyJoinColumn(name = "activity_id") + @Column(name = "start_date_time") + private Map attemptedActivities = new HashMap(); /** * Set of completed activities that includes all completed activities before * current activity */ - private Map completedActivities; + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "lams_progress_completed_archive", joinColumns = @JoinColumn(name = "learner_progress_id")) + @MapKeyJoinColumn(name = "activity_id") + private Map completedActivities = new HashMap(); /** * The current activity always present the activity with transition, which @@ -61,22 +93,25 @@ * not the leaf node. The main purpose of current activity is to restore the * progress states if the user exist without finishing the activity. */ + @ManyToOne + @JoinColumn(name = "current_activity_id") private Activity currentActivity; /** * Indicates is the User has completed this lesson. */ + @Column(name = "lesson_completed_flag") private Byte lessonComplete; + @Column(name = "start_date_time") private Date startDate; + + @Column(name = "finish_date_time") private Date finishDate; + @Column(name = "archive_date") private Date archiveDate; - //--------------------------------------------------------------------- - // Constructors - //--------------------------------------------------------------------- - /** default constructor */ public LearnerProgressArchive() { } @@ -95,9 +130,6 @@ this.archiveDate = archiveDate; } - //--------------------------------------------------------------------- - // Getters and Setters - //--------------------------------------------------------------------- public Long getLearnerProgressId() { return this.learnerProgressId; } @@ -195,22 +227,10 @@ || lessonComplete == LearnerProgress.LESSON_IN_DESIGN_COMPLETE; } - /** - * The "real" value for lessonComplete. - * - * @return LESSON_NOT_COMPLETE, LESSON_END_OF_DESIGN_COMPLETE, - * LESSON_IN_DESIGN_COMPLETE - */ public Byte getLessonComplete() { return lessonComplete; } - /** - * Setter for property lessonComplete. - * - * @param lessonComplete - * New value of property lessonComplete. - */ public void setLessonComplete(Byte lessonComplete) { this.lessonComplete = lessonComplete; } Index: lams_common/src/java/org/lamsfoundation/lams/planner/PedagogicalPlannerActivityMetadata.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/planner/PedagogicalPlannerActivityMetadata.java (.../PedagogicalPlannerActivityMetadata.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/planner/PedagogicalPlannerActivityMetadata.java (.../PedagogicalPlannerActivityMetadata.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -20,44 +20,61 @@ * **************************************************************** */ - package org.lamsfoundation.lams.planner; import java.io.Serializable; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.MapsId; +import javax.persistence.OneToOne; +import javax.persistence.Table; + import org.lamsfoundation.lams.learningdesign.ToolActivity; /** * Holds additional information about activities used in Pedagogical Planner only. * * @author Marcin Cieslak - * - * */ +@Entity +@Table(name = "lams_planner_activity_metadata") public class PedagogicalPlannerActivityMetadata implements Serializable, Cloneable { + private static final long serialVersionUID = -5435731085572035606L; + @Id + @Column(name = "activity_id") private Long id; + @OneToOne + @JoinColumn(name = "activity_id") + @MapsId private ToolActivity activity; /** * Tells whether the activity should be collapsed in Pedagogical Planner */ + @Column private Boolean collapsed; /** * Tells whether the activity should be expanded in Pedagogical Planner */ + @Column private Boolean expanded; /** - * HoTells whether the activity should be hidden in Pedagogical Planner + * Tells whether the activity should be hidden in Pedagogical Planner */ + @Column private Boolean hidden; /** * Hold editing advice for the activity. */ + @Column(name = "editing_advice") private String editingAdvice; @Override @@ -77,10 +94,6 @@ this.editingAdvice = source.editingAdvice; } - /** - * - * - */ public Long getId() { return id; } @@ -89,9 +102,6 @@ this.id = id; } - /** - * - */ public Boolean getCollapsed() { return collapsed; } @@ -100,9 +110,6 @@ this.collapsed = plannerCollapsed; } - /** - * - */ public Boolean getExpanded() { return expanded; } @@ -111,9 +118,6 @@ this.expanded = plannerExpanded; } - /** - * - */ public Boolean getHidden() { return hidden; } @@ -122,9 +126,6 @@ this.hidden = plannerHidden; } - /** - * - */ public String getEditingAdvice() { return editingAdvice; } @@ -133,10 +134,6 @@ this.editingAdvice = editingAdvice; } - /** - * - * @return - */ public ToolActivity getActivity() { return activity; } Index: lams_common/src/java/org/lamsfoundation/lams/themes/Theme.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/themes/Theme.java (.../Theme.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/themes/Theme.java (.../Theme.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -23,33 +23,41 @@ package org.lamsfoundation.lams.themes; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; + /** * @author lfoxton */ +@Entity +@Table(name = "lams_theme") public class Theme { - /** identifier field */ + @Id + @Column(name = "theme_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long themeId; - /** persistent field */ + @Column private String name; - /** nullable persistent field */ + @Column private String description; - /** persistent field */ + @Column(name = "image_directory") private String imageDirectory; - /** persistent field */ - private Integer type; - - /** non-persistent field */ + @Transient private Boolean currentDefaultTheme; - /** non-persistent field */ + @Transient private Boolean notEditable; - /** default constructor */ public Theme() { } @@ -85,14 +93,6 @@ this.imageDirectory = imageDirectory; } - public Integer getType() { - return type; - } - - public void setType(Integer type) { - this.type = type; - } - public Boolean getCurrentDefaultTheme() { return currentDefaultTheme; } @@ -108,4 +108,4 @@ public void setNotEditable(Boolean notEditable) { this.notEditable = notEditable; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java (.../Tool.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/tool/Tool.java (.../Tool.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -28,95 +28,112 @@ import java.util.HashSet; import java.util.Set; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.OneToMany; +import javax.persistence.Table; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.lamsfoundation.lams.integration.ExtServerToolAdapterMap; +import org.lamsfoundation.lams.learningdesign.ToolActivity; +@Entity +@Table(name = "lams_tool") public class Tool implements Serializable { + private static final long serialVersionUID = 626016857794096029L; - /** identifier field */ + @Id + @Column(name = "tool_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long toolId; - /** persistent field */ - private boolean supportsGrouping; - - /** persistent field */ + @Column(name = "learner_url") private String learnerUrl; - /** persistent field */ + @Column(name = "learner_preview_url") private String learnerPreviewUrl; - /** persistent field */ + @Column(name = "learner_progress_url") private String learnerProgressUrl; - /** nullable persistent field */ + @Column(name = "author_url") private String authorUrl; - /** persistent field */ + @Column(name = "monitor_url") private String monitorUrl; - /** persistent field */ + @Column(name = "pedagogical_planner_url") private String pedagogicalPlannerUrl; - /** persistent field */ + @Column(name = "help_url") private String helpUrl; - /** persistent field */ + @Column(name = "admin_url") private String adminUrl; - /** persistent field */ + @Column(name = "valid_flag") private boolean valid; - /** nullable persistent field */ + @Column(name = "default_tool_content_id") private long defaultToolContentId; - /** persistent field */ + @Column(name = "tool_signature") private String toolSignature; - /** persistent field */ + @Column(name = "tool_display_name") private String toolDisplayName; - /** nullable persistent field */ + @Column private String description; - /** persistent field */ + @Column(name = "service_name") private String serviceName; - /** persistent field */ + @Column(name = "create_date_time") private Date createDateTime; - /** persistent field */ - private Set activities; + @OneToMany(mappedBy = "tool") + private Set activities = new HashSet(); - /** persistent field */ - private Set mappedServers; + @OneToMany(fetch = FetchType.EAGER) + @JoinColumn(name = "tool_id") + private Set mappedServers = new HashSet(); - /** persistent field */ + @Column(name = "grouping_support_type_id") private Integer groupingSupportTypeId; - /** persistent field */ + @Column(name = "tool_identifier") private String toolIdentifier; - /** persistent field */ + @Column(name = "tool_version") private String toolVersion; - /** persistent field */ + @Column(name = "learning_library_id") private Long learningLibraryId; /** * Name of the file (including the package) that contains the text strings for this activity. e.g. * org.lamsfoundation.lams.tool.sbmt.SbmtResources.properties. */ + @Column(name = "language_file") private String languageFile; /** Does this tool produce output definitions / conditions */ + @Column(name = "supports_outputs") private Boolean supportsOutputs; /** * Null if not a tool adapter tool, otherwise this string maps to the external server which this tool adapter will * be used for */ + @Column(name = "ext_lms_id") private String extLmsId; /** @@ -125,60 +142,9 @@ public static final String I18N_DISPLAY_NAME = "tool.display.name"; public static final String I18N_DESCRIPTION = "tool.description"; - /** full constructor */ - public Tool(Long toolId, String learnerUrl, String learnerPreviewUrl, String learnerProgressUrl, String authorUrl, - String monitorUrl, String contributeUrl, String moderationUrl, boolean supportsGrouping, - long defaultToolContentId, String toolSignature, String toolDisplayName, String description, - String className, Set activities, Integer groupingSupportTypeId, Date createDateTime, String toolIdentifier, - String toolVersion, String languageFile, boolean supportsOutputs, String extLmsId) { - this.toolId = toolId; - this.learnerUrl = learnerUrl; - this.learnerPreviewUrl = learnerPreviewUrl; - this.learnerProgressUrl = learnerProgressUrl; - this.authorUrl = authorUrl; - this.monitorUrl = monitorUrl; - - this.supportsGrouping = supportsGrouping; - this.defaultToolContentId = defaultToolContentId; - this.toolSignature = toolSignature; - this.toolDisplayName = toolDisplayName; - this.description = description; - serviceName = className; - this.activities = activities; - this.groupingSupportTypeId = groupingSupportTypeId; - this.createDateTime = createDateTime; - this.toolIdentifier = toolIdentifier; - this.toolVersion = toolVersion; - this.languageFile = languageFile; - this.supportsOutputs = supportsOutputs; - this.extLmsId = extLmsId; - this.mappedServers = new HashSet(); - } - - /** default constructor */ public Tool() { } - /** minimal constructor */ - public Tool(Long toolId, String learnerUrl, String authorUrl, boolean supportsGrouping, long defaultToolContentId, - String toolSignature, String toolDisplayName, String className, Set activities, - Integer groupingSupportTypeId, Date createDateTime, String toolIdentifier, String toolVersion) { - this.toolId = toolId; - this.learnerUrl = learnerUrl; - this.authorUrl = authorUrl; - this.supportsGrouping = supportsGrouping; - this.defaultToolContentId = defaultToolContentId; - this.toolSignature = toolSignature; - this.toolDisplayName = toolDisplayName; - serviceName = className; - this.activities = activities; - this.groupingSupportTypeId = groupingSupportTypeId; - this.createDateTime = createDateTime; - this.toolIdentifier = toolIdentifier; - this.toolVersion = toolVersion; - this.mappedServers = new HashSet(); - } - public Long getToolId() { return toolId; } @@ -259,100 +225,58 @@ this.serviceName = serviceName; } - public Set getActivities() { + public Set getActivities() { return activities; } - public void setActivities(Set activities) { + public void setActivities(Set activities) { this.activities = activities; } - /** - * @return Returns the valid. - */ public boolean isValid() { return valid; } - /** - * @param valid - * The valid to set. - */ public void setValid(boolean valid) { this.valid = valid; } - /** - * @return Returns the groupingSupportTypeId. - */ public Integer getGroupingSupportTypeId() { return groupingSupportTypeId; } - /** - * @param groupingSupportTypeId - * The groupingSupportTypeId to set. - */ public void setGroupingSupportTypeId(Integer groupingSupportTypeId) { this.groupingSupportTypeId = groupingSupportTypeId; } - /** - * @return Returns the createDateTime. - */ public Date getCreateDateTime() { return createDateTime; } - /** - * @param createDateTime - * The createDateTime to set. - */ public void setCreateDateTime(Date createDateTime) { this.createDateTime = createDateTime; } - /** - * @return Returns the monitorUrl. - */ public String getMonitorUrl() { return monitorUrl; } - /** - * @param monitorUrl - * The monitorUrl to set. - */ public void setMonitorUrl(String monitorUrl) { this.monitorUrl = monitorUrl; } - /** - * @return Returns the helpUrl. - */ public String getHelpUrl() { return helpUrl; } - /** - * @param helpUrl - * The helpUrl to set. - */ public void setHelpUrl(String helpUrl) { this.helpUrl = helpUrl; } - /** - * @return Returns the helpUrl. - */ public String getAdminUrl() { return adminUrl; } - /** - * @param helpUrl - * The helpUrl to set. - */ public void setAdminUrl(String adminUrl) { this.adminUrl = adminUrl; } @@ -389,17 +313,10 @@ this.languageFile = languageFile; } - /** - * @return Returns the supportsOutputs. - */ public boolean getSupportsOutputs() { return supportsOutputs; } - /** - * @param supportsOutputs - * The supportsOutputs to set. - */ public void setSupportsOutputs(boolean supportsOutputs) { this.supportsOutputs = supportsOutputs; } @@ -435,8 +352,8 @@ } public IToolVO createBasicToolVO() { - IToolVO vo = new BasicToolVO(toolId, supportsGrouping, learnerUrl, learnerPreviewUrl, learnerProgressUrl, - authorUrl, monitorUrl, helpUrl, defaultToolContentId, learningLibraryId, toolSignature, toolDisplayName, description, + IToolVO vo = new BasicToolVO(toolId, learnerUrl, learnerPreviewUrl, learnerProgressUrl, authorUrl, monitorUrl, + helpUrl, defaultToolContentId, learningLibraryId, toolSignature, toolDisplayName, description, serviceName, createDateTime, groupingSupportTypeId, toolIdentifier, toolVersion, languageFile, extLmsId); return vo; @@ -457,4 +374,4 @@ public void setMappedServers(Set mappedServers) { this.mappedServers = mappedServers; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java =================================================================== diff -u -r47043f84205046a23497bf8c57060e2dcadf0c9a -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java (.../User.java) (revision 47043f84205046a23497bf8c57060e2dcadf0c9a) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/User.java (.../User.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -33,14 +33,14 @@ import javax.persistence.CascadeType; import javax.persistence.Column; +import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OneToOne; @@ -190,8 +190,9 @@ @Column(name = "first_login") private Boolean firstLogin; - @ManyToMany - @JoinTable(name = "lams_planner_recent_learning_designs", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "learning_design_id")) + @ElementCollection + @JoinTable(name = "lams_planner_recent_learning_designs", joinColumns = @JoinColumn(name = "user_id")) + @Column(name = "learning_design_id") @OrderBy("learning_design_id") private Set recentlyModifiedLearningDesigns = new LinkedHashSet(); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -220,7 +220,7 @@ public void setLogEventService(ILogEventService logEventService) { this.logEventService = logEventService; } - + public void setKumaliveService(IKumaliveService kumaliveService) { this.kumaliveService = kumaliveService; } @@ -368,7 +368,7 @@ if ((activity != null) && activity.isToolActivity()) { // make sure that the lesson corresponds to the activity LearningDesign learningDesign = activity.getLearningDesign(); - Lesson lesson = (Lesson) learningDesign.getLessons().iterator().next(); + Lesson lesson = learningDesign.getLessons().iterator().next(); lamsCoreToolService.createToolSession(learnerProgress.getUser(), (ToolActivity) activity, lesson); } } catch (RequiredGroupMissingException e) { @@ -437,7 +437,7 @@ @Override public List getStructuredActivityURLs(Long lessonId) { Lesson lesson = getLesson(lessonId); - User learner = (User) lesson.getAllLearners().iterator().next(); + User learner = lesson.getAllLearners().iterator().next(); LearnerProgress learnerProgress = new LearnerProgress(learner, lesson); ProgressBuilder builder = new ProgressBuilder(learnerProgress, activityDAO, activityMapping); @@ -971,7 +971,7 @@ // Work out the tool session appropriate for this user and branching activity. We expect there to be only one at // this point. ToolSession toolSession = null; - for (Activity inputActivity : (Set) branchingActivity.getInputActivities()) { + for (Activity inputActivity : branchingActivity.getInputActivities()) { toolSession = lamsCoreToolService.getToolSessionByLearner(learner, inputActivity); } @@ -1102,7 +1102,7 @@ // Work out the tool session appropriate for this user and gate activity. We expect there to be only one at // this point. ToolSession toolSession = null; - for (Activity inputActivity : (Set) conditionGate.getInputActivities()) { + for (Activity inputActivity : conditionGate.getInputActivities()) { toolSession = lamsCoreToolService.getToolSessionByLearner(learner, inputActivity); } @@ -1345,7 +1345,7 @@ if (learnerProgress != null) { int completedSubactivities = 0; - for (Activity subactivity : (Set) parentOptionsActivity.getActivities()) { + for (Activity subactivity : parentOptionsActivity.getActivities()) { if (LearnerProgress.ACTIVITY_COMPLETED == learnerProgress .getProgressState(subactivity)) { completedSubactivities++; @@ -1381,7 +1381,7 @@ // find lesson for given tool content ID ToolActivity activity = activityDAO.getToolActivityByToolContentId(toolContentId); LearningDesign learningDesign = activity.getLearningDesign(); - Lesson lesson = (Lesson) learningDesign.getLessons().iterator().next(); + Lesson lesson = learningDesign.getLessons().iterator().next(); Long lessonId = lesson.getLessonId(); // go through each user, find his user name and add a command for him @@ -1496,7 +1496,7 @@ cap.setFinishDate(results.getFinishDate()); } } else { - cap = new CompletedActivityProgress(learnerProgress, activity, + cap = new CompletedActivityProgress( startedDateFromAttempted != null ? startedDateFromAttempted : results.getStartDate(), results.getFinishDate()); } @@ -1599,7 +1599,7 @@ return status; } - + @Override public boolean isKumaliveDisabledForOrganisation(Integer organisationId) { Kumalive kumalive = kumaliveService.getKumaliveByOrganisation(organisationId); Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java =================================================================== diff -u -rf2ad75cef0c507a64877942631fee13efbc6ed50 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision f2ad75cef0c507a64877942631fee13efbc6ed50) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/controller/LearnerController.java (.../LearnerController.java) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -52,7 +52,6 @@ import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.monitoring.service.IMonitoringService; import org.lamsfoundation.lams.tool.ToolSession; -import org.lamsfoundation.lams.tool.service.ILamsCoreToolService; import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; @@ -231,8 +230,8 @@ Map attemptedActivities = new HashMap(learnerProgress.getAttemptedActivities()); Map completedActivities = new HashMap(); for (Entry entry : learnerProgress.getCompletedActivities().entrySet()) { - CompletedActivityProgressArchive activityArchive = new CompletedActivityProgressArchive(learnerProgress, - entry.getKey(), entry.getValue().getStartDate(), entry.getValue().getFinishDate()); + CompletedActivityProgressArchive activityArchive = new CompletedActivityProgressArchive( + entry.getValue().getStartDate(), entry.getValue().getFinishDate()); completedActivities.put(entry.getKey(), activityArchive); } Index: lams_tool_chat/web/pages/authoring/pedagogicalPlannerForm.jsp =================================================================== diff -u -raced7ba6c1e7c5a9a50d3f64d8cdd96dd7e76194 -rcbe532f585efe39250986f20d58cbef855115cf3 --- lams_tool_chat/web/pages/authoring/pedagogicalPlannerForm.jsp (.../pedagogicalPlannerForm.jsp) (revision aced7ba6c1e7c5a9a50d3f64d8cdd96dd7e76194) +++ lams_tool_chat/web/pages/authoring/pedagogicalPlannerForm.jsp (.../pedagogicalPlannerForm.jsp) (revision cbe532f585efe39250986f20d58cbef855115cf3) @@ -29,6 +29,6 @@ toolbarSet="CustomPedplanner" height="190px" width="${param.plannerCKEditorLongWidth}" displayExpanded="false"> - +