Index: lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java =================================================================== diff -u -rfd2cfad55c7c517931f69334ce644d509ec28140 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision fd2cfad55c7c517931f69334ce644d509ec28140) +++ lams_central/src/java/org/lamsfoundation/lams/authoring/service/AuthoringService.java (.../AuthoringService.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -61,6 +61,7 @@ import org.lamsfoundation.lams.learningdesign.GroupingActivity; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.LearningDesignAccess; +import org.lamsfoundation.lams.learningdesign.LearningDesignAccess.LearningDesignAccessPrimaryKey; import org.lamsfoundation.lams.learningdesign.License; import org.lamsfoundation.lams.learningdesign.SequenceActivity; import org.lamsfoundation.lams.learningdesign.ToolActivity; @@ -397,7 +398,7 @@ throw new LearningDesignException("There are no lessons attached to the design."); } - for (Lesson lesson : (Set) design.getLessons()) { + for (Lesson lesson : design.getLessons()) { lesson.setLockedForEdit(true); if (design.getEditOverrideUser() == null || design.getEditOverrideLock() == null @@ -411,7 +412,6 @@ } } - // lock Learning Design design.setEditOverrideLock(true); design.setEditOverrideUser(user); @@ -490,7 +490,7 @@ design = removeTempSystemGate(lastReadOnlyActivity.getActivityId(), design.getLearningDesignId()); } - for (Lesson lesson : (Set) design.getLessons()) { + for (Lesson lesson : design.getLessons()) { lesson.setLockedForEdit(false); String message = messageService.getMessage("audit.live.edit.end", new Object[] { design.getTitle(), @@ -729,7 +729,7 @@ throws MonitoringServiceException { Date now = new Date(); - for (Activity activity : (Set) design.getActivities()) { + for (Activity activity : design.getActivities()) { if (!activity.isInitialised()) { // this is a new activity - need to set up the content, do any // scheduling, etc @@ -1336,14 +1336,14 @@ if (existingLearningDesign == null) { // check the user has given it a unique name in this folder, and make it unique if needed String title = JsonUtil.optString(ldJSON, AuthoringJsonTags.TITLE); - if ( title != null ) { + if (title != null) { title = learningDesignService.getUniqueNameForLearningDesign(title, workspaceFolderID); } else { title = messageService.getMessage("authoring.fla.page.ld.title"); } ldJSON.put(AuthoringJsonTags.TITLE, title); } - + IObjectExtractor extractor = (IObjectExtractor) beanFactory .getBean(IObjectExtractor.OBJECT_EXTRACTOR_SPRING_BEANNAME); LearningDesign design = extractor.extractSaveLearningDesign(ldJSON, existingLearningDesign, workspaceFolder, @@ -1556,8 +1556,7 @@ @Override public void storeLearningDesignAccess(Long learningDesignId, Integer userId) { LearningDesignAccess access = new LearningDesignAccess(); - access.setLearningDesignId(learningDesignId); - access.setUserId(userId); + access.setId(new LearningDesignAccessPrimaryKey(learningDesignId, userId)); access.setAccessDate(new Date()); learningDesignDAO.insertOrUpdate(access); } Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/ActivityEvaluation.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/Competence.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/CompetenceMapping.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 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? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesignAccess.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningDesignAnnotation.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningLibrary.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/LearningLibraryGroup.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/learningdesign/License.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/SystemTool.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/tool/ToolContent.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/AuthenticationMethod.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/AuthenticationMethodType.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/FavoriteOrganisation.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/ForgotPasswordRequest.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Organisation.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/OrganisationGroup.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/OrganisationGrouping.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/OrganisationState.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/OrganisationType.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Privilege.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/Role.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/RolePrivilege.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/SupportedLocale.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/UserOrganisation.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 refers to a dead (removed) revision in file `lams_common/conf/hibernate/mappings/org/lamsfoundation/lams/usermanagement/UserOrganisationRole.hbm.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/ActivityEvaluation.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/ActivityEvaluation.java (.../ActivityEvaluation.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/ActivityEvaluation.java (.../ActivityEvaluation.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -22,17 +22,37 @@ package org.lamsfoundation.lams.learningdesign; +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; + /** * This is a POJO bean object for an evaluation criteria for a given activity. * This object exists at the learning design level. Ie it can be designed, * copied and exported in author. * * @author lfoxton */ +@Entity +@Table(name = "lams_activity_evaluation") public class ActivityEvaluation { + @Id + @Column(name = "activity_id") private Long activityId; + + @OneToOne + @JoinColumn(name = "activity_id") + @MapsId private ToolActivity activity; + + @Column(name = "tool_output_definition") private String toolOutputDefinition; + + @Column private Integer weight; public Long getActivityId() { Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Competence.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Competence.java (.../Competence.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Competence.java (.../Competence.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -1,23 +1,36 @@ package org.lamsfoundation.lams.learningdesign; -/** - * - * - */ +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; + +@Entity +@Table(name = "lams_competence") public class Competence { + @Id + @Column(name = "competence_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long competenceId; + + @ManyToOne + @JoinColumn(name = "learning_design_id") private LearningDesign learningDesign; + + @Column private String title; + + @Column private String description; public Competence() { } - /** - * - * - */ public Long getCompetenceId() { return this.competenceId; } @@ -26,9 +39,6 @@ this.competenceId = competenceId; } - /** - * - */ public String getTitle() { return title; } @@ -37,9 +47,6 @@ this.title = title; } - /** - * - */ public String getDescription() { return description; } @@ -48,11 +55,6 @@ this.description = description; } - /** - * - * - * - */ public org.lamsfoundation.lams.learningdesign.LearningDesign getLearningDesign() { return this.learningDesign; } @@ -67,4 +69,4 @@ newCompetence.setDescription(originalCompetence.getDescription()); return newCompetence; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/CompetenceMapping.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/CompetenceMapping.java (.../CompetenceMapping.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/CompetenceMapping.java (.../CompetenceMapping.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -1,31 +1,31 @@ package org.lamsfoundation.lams.learningdesign; -/** - * - * - */ +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; + +@Entity +@Table(name = "lams_competence_mapping") public class CompetenceMapping { + @Id + @Column(name = "competence_mapping_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long competenceMappingId; + + @ManyToOne + @JoinColumn(name = "competence_id") private Competence competence; + + @ManyToOne + @JoinColumn(name = "activity_id") private ToolActivity toolActivity; - public CompetenceMapping(Long competenceMappingId, Competence competence, ToolActivity toolActivity) { - super(); - this.competenceMappingId = competenceMappingId; - this.competence = competence; - this.toolActivity = toolActivity; - } - - public CompetenceMapping() { - super(); - // TODO Auto-generated constructor stub - } - - /** - * - * - */ public Long getCompetenceMappingId() { return competenceMappingId; } @@ -34,11 +34,6 @@ this.competenceMappingId = competenceMappingId; } - /** - * - * - * - */ public Competence getCompetence() { return competence; } @@ -47,16 +42,11 @@ this.competence = competence; } - /** - * - * - * - */ public ToolActivity getToolActivity() { return this.toolActivity; } public void setToolActivity(ToolActivity toolActivity) { this.toolActivity = toolActivity; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupUser.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupUser.java (.../GroupUser.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupUser.java (.../GroupUser.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -20,37 +20,68 @@ * **************************************************************** */ - package org.lamsfoundation.lams.learningdesign; import java.io.Serializable; import java.util.Date; +import javax.persistence.Column; +import javax.persistence.Embeddable; +import javax.persistence.EmbeddedId; +import javax.persistence.Entity; +import javax.persistence.ManyToOne; +import javax.persistence.MapsId; +import javax.persistence.Table; + import org.lamsfoundation.lams.usermanagement.User; /** * A persistence bean for group/user mappings * * @author lfoxton - * - * */ -public class GroupUser implements Serializable { +@Entity +@Table(name = "lams_user_group") +public class GroupUser implements Serializable { private static final long serialVersionUID = 4680781848791310422L; + @Embeddable + public static class GroupUserPrimaryKey implements Serializable { + private static final long serialVersionUID = 8580193558720639292L; + + @Column(name = "group_id") + private Long groupId; + + @Column(name = "user_id") + private Integer userId; + + public GroupUserPrimaryKey() { + } + + public GroupUserPrimaryKey(Long groupId, Integer userId) { + this.groupId = groupId; + this.userId = userId; + } + } + + @EmbeddedId + private GroupUserPrimaryKey id; + + @ManyToOne + @MapsId("groupId") private Group group; + + @ManyToOne + @MapsId("userId") private User user; + + @Column(name = "scheduled_lesson_end_date") private Date scheduledLessonEndDate; public GroupUser() { } - /** - * - * - * - */ public Group getGroup() { return group; } @@ -59,11 +90,6 @@ this.group = group; } - /** - * - * - * - */ public User getUser() { return user; } @@ -72,19 +98,10 @@ this.user = user; } - /** - * - * - * @return Returns the scheduledLessonEndDate. - */ public Date getScheduledLessonEndDate() { return scheduledLessonEndDate; } - /** - * @param scheduledLessonEndDate - * The scheduledLessonEndDate to set. - */ public void setScheduledLessonEndDate(Date scheduledLessonEndDate) { this.scheduledLessonEndDate = scheduledLessonEndDate; } @@ -134,5 +151,4 @@ } return true; } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesignAccess.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesignAccess.java (.../LearningDesignAccess.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesignAccess.java (.../LearningDesignAccess.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -20,44 +20,74 @@ * **************************************************************** */ - package org.lamsfoundation.lams.learningdesign; import java.io.Serializable; import java.util.Date; -import org.apache.commons.lang.builder.HashCodeBuilder; +import javax.persistence.Column; +import javax.persistence.Embeddable; +import javax.persistence.EmbeddedId; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; /** * Marks when an user used (opened, saved etc.) a learning design the last time. * * @author Marcin Cieslak * */ +@Entity +@Table(name = "lams_learning_design_access") public class LearningDesignAccess implements Serializable { + private static final long serialVersionUID = -5315312828344350729L; - Long learningDesignId; - Integer userId; - Date accessDate; + @Embeddable + public static class LearningDesignAccessPrimaryKey implements Serializable { + private static final long serialVersionUID = 7198235946869480320L; - // non-persistent fields + @Column(name = "learning_design_id") + private Long learningDesignId; + + @Column(name = "user_id") + private Integer userId; + + public LearningDesignAccessPrimaryKey() { + } + + public LearningDesignAccessPrimaryKey(Long learningDesignId, Integer userId) { + this.learningDesignId = learningDesignId; + this.userId = userId; + } + } + + @EmbeddedId + private LearningDesignAccessPrimaryKey id; + + @Column(name = "access_date") + private Date accessDate; + + @Transient String title; + + @Transient Integer workspaceFolderId; - public Long getLearningDesignId() { - return learningDesignId; + public LearningDesignAccessPrimaryKey getId() { + return id; } - public void setLearningDesignId(Long learningDesignId) { - this.learningDesignId = learningDesignId; + public void setId(LearningDesignAccessPrimaryKey id) { + this.id = id; } - public Integer getUserId() { - return userId; + public Long getLearningDesignId() { + return id.learningDesignId; } - public void setUserId(Integer userId) { - this.userId = userId; + public Integer getUserId() { + return id.userId; } public Date getAccessDate() { @@ -83,38 +113,4 @@ public void setWorkspaceFolderId(Integer workspaceFolderId) { this.workspaceFolderId = workspaceFolderId; } - - @Override - public int hashCode() { - return new HashCodeBuilder().append(learningDesignId).append(userId).toHashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - LearningDesignAccess other = (LearningDesignAccess) obj; - if (learningDesignId == null) { - if (other.learningDesignId != null) { - return false; - } - } else if (!learningDesignId.equals(other.learningDesignId)) { - return false; - } - if (userId == null) { - if (other.userId != null) { - return false; - } - } else if (!userId.equals(other.userId)) { - return false; - } - return true; - } } \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesignAnnotation.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesignAnnotation.java (.../LearningDesignAnnotation.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningDesignAnnotation.java (.../LearningDesignAnnotation.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -25,24 +25,55 @@ import java.io.Serializable; +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 org.apache.commons.lang.builder.HashCodeBuilder; /** * Stores decoration elements (labels and regions) on Learning Design canvas. * * @author Marcin Cieslak */ +@Entity +@Table(name = "lams_learning_design_annotation") public class LearningDesignAnnotation implements Serializable { + private static final long serialVersionUID = -4668970425938347783L; + @Id + @Column + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long uid; + + @Column(name = "ui_id") private Integer annotationUIID; + + @Column(name = "learning_design_id") private Long learningDesignId; + + @Column private String title; + + @Column private Integer xcoord; + + @Column private Integer ycoord; + + @Column(name = "end_xcoord") private Integer endXcoord; + + @Column(name = "end_ycoord") private Integer endYcoord; + + @Column private String color; + + @Column private Short size; public Long getUid() { Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibrary.java =================================================================== diff -u -r671c0123933f9264962a7a2a9aba940ded111d57 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibrary.java (.../LearningLibrary.java) (revision 671c0123933f9264962a7a2a9aba940ded111d57) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibrary.java (.../LearningLibrary.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -25,58 +25,54 @@ import java.io.Serializable; import java.util.Date; +import java.util.HashSet; import java.util.Set; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +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; /** * @author Manpreet Minhas */ +@Entity +@Table(name = "lams_learning_library") public class LearningLibrary implements Serializable { + private static final long serialVersionUID = -6055089410863321036L; - /** identifier field */ + @Id + @Column(name = "learning_library_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long learningLibraryId; - /** nullable persistent field */ + @Column private String description; - /** nullable persistent field */ + @Column private String title; - /** persistent field */ + @Column(name = "create_date_time") private Date createDateTime; - /** persistent field */ - private Set activities; + @OneToMany(mappedBy = "learningLibrary") + private Set activities = new HashSet(); - /** persistent field */ + @Column(name = "valid_flag") private Boolean validLibrary; - /* If the values for createDateTime is null, it will default to the current datetime */ - /** full constructor */ - public LearningLibrary(Long learningLibraryId, String description, String title, Date createDateTime, - Set activities) { - this.learningLibraryId = learningLibraryId; - this.description = description; - this.title = title; - this.createDateTime = createDateTime != null ? createDateTime : new Date(); - this.activities = activities; - } - /** default constructor */ public LearningLibrary() { this.createDateTime = new Date(); } - /** minimal constructor */ - public LearningLibrary(Long learningLibraryId, Date createDateTime, Set activities) { - this.learningLibraryId = learningLibraryId; - this.createDateTime = createDateTime != null ? createDateTime : new Date(); - this.activities = activities; - } - public Long getLearningLibraryId() { return this.learningLibraryId; } @@ -109,11 +105,11 @@ this.createDateTime = createDateTime != null ? createDateTime : new Date(); } - public Set getActivities() { + public Set getActivities() { return this.activities; } - public void setActivities(Set activities) { + public void setActivities(Set activities) { this.activities = activities; } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibraryGroup.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibraryGroup.java (.../LearningLibraryGroup.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/LearningLibraryGroup.java (.../LearningLibraryGroup.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,25 +24,42 @@ package org.lamsfoundation.lams.learningdesign; import java.io.Serializable; +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.JoinTable; +import javax.persistence.ManyToMany; +import javax.persistence.Table; + import org.apache.commons.lang.builder.HashCodeBuilder; /** * Represents a tool (learning library) group for use in Authoring. - * - * */ +@Entity +@Table(name = "lams_learning_library_group") public class LearningLibraryGroup implements Serializable { + private static final long serialVersionUID = 2740078417925199829L; + + @Id + @Column(name = "group_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long groupId; + @Column private String name; - private Set learningLibraries; + @ManyToMany(fetch = FetchType.EAGER) + @JoinTable(name = "lams_learning_library_to_group", joinColumns = @JoinColumn(name = "group_id"), inverseJoinColumns = @JoinColumn(name = "learning_library_id")) + private Set learningLibraries = new HashSet(); - /** - * - */ public Long getGroupId() { return groupId; } @@ -51,9 +68,6 @@ this.groupId = groupId; } - /** - * - */ public String getName() { return this.name; } @@ -62,12 +76,6 @@ this.name = name; } - /** - * - * - * - * - */ public Set getLearningLibraries() { return learningLibraries; } Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/License.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/License.java (.../License.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/License.java (.../License.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -25,42 +25,48 @@ import java.io.Serializable; +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 org.apache.commons.lang.StringUtils; import org.lamsfoundation.lams.learningdesign.dto.LicenseDTO; /** * @author Manpreet Minhas */ +@Entity +@Table(name = "lams_license") public class License implements Serializable { + private static final long serialVersionUID = 1410976014177869871L; - /** persistent field */ + @Id + @Column(name = "license_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long licenseID; - /** persistent field */ + + @Column private String name; - /** persistent field */ + + @Column private String code; - /** persistent field */ + + @Column private String url; - /** persistent field */ + + @Column(name = "default_flag") private Boolean defaultLicense; - /** persistent field */ + + @Column(name = "picture_url") private String pictureURL; - /** default constructor */ public License() { } - /** full constructor */ - public License(Long licenseID, String name, String code, String url, Boolean defaultLicense, String pictureURL) { - this.licenseID = licenseID; - this.name = name; - this.code = code; - this.url = url; - this.defaultLicense = defaultLicense; - this.pictureURL = pictureURL; - } - /** * Get the standard DTO version of the license. Need the current serverURL * (e.g. http://localhost:8080/lams) @@ -128,13 +134,13 @@ * are checked, with the name fields having any leading or trailing spaces stripped * before comparison. If both licenseID fields are null, then they are assumed to be * different licenses. - * + * * This is to be used when importing designs, to see if licenses match. If the id and * name fields match, then the imported design is linked to the license record. If * they don't match, the design should be attached to the "Other" license. - * + * * The user selects the license based on the name, hence we have chosen to check the name. - * + * * @param otherLicense * @return true if they are the same type of license */ @@ -146,4 +152,4 @@ } return false; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/LearningDesignDAO.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/LearningDesignDAO.java (.../LearningDesignDAO.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/dao/hibernate/LearningDesignDAO.java (.../LearningDesignDAO.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -27,7 +27,7 @@ import java.util.List; import java.util.Map; -import org.hibernate.Query; +import org.hibernate.query.Query; import org.lamsfoundation.lams.dao.hibernate.LAMSBaseDAO; import org.lamsfoundation.lams.learningdesign.LearningDesign; import org.lamsfoundation.lams.learningdesign.LearningDesignAccess; @@ -53,7 +53,7 @@ + " where workspace_folder_id=? AND title like ? AND removed=0"; private static final String ACCESS_BY_USER = "from " + LearningDesignAccess.class.getName() - + " as a where a.userId = ? order by a.accessDate desc"; + + " as a where a.id.userId = ? order by a.accessDate desc"; /* * @see @@ -67,7 +67,7 @@ /** * (non-Javadoc) - * + * * @see org.lamsfoundation.lams.learningdesign.dao.ILearningDesignDAO#getAllValidLearningDesignsInFolder(java.lang.Integer) */ @Override @@ -77,7 +77,7 @@ /** * (non-Javadoc) - * + * * @see org.lamsfoundation.lams.learningdesign.dao.ILearningDesignDAO#getAllLearningDesignsInFolder(java.lang.Integer) */ @Override @@ -87,7 +87,7 @@ /** * (non-Javadoc) - * + * * @see getLearningDesignsByOriginalDesign#getLearningDesignsByParent(java.lang.Long) */ @Override @@ -98,7 +98,7 @@ /** * (non-Javadoc) - * + * * @see org.lamsfoundation.lams.learningdesign.dao.ILearningDesignDAO#getLearningDesignTitlesByWorkspaceFolder(java.lang.Integer) */ @Override Index: lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java (.../SystemTool.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/tool/SystemTool.java (.../SystemTool.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -26,6 +26,13 @@ import java.io.Serializable; 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.Table; + import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; @@ -34,58 +41,63 @@ * Represents the URLs for the internal functionality such as grouping and gates. Eventually these will become * "pluggable" tools, so that we can have other types of grouping/gates, without making changes to the core. */ +@Entity +@Table(name = "lams_system_tool") public class SystemTool implements Serializable { + private static final long serialVersionUID = 8804420928455093751L; /* System Tool IDs */ - public static final Long GROUPING = new Long(1); - public static final Long SYNC_GATE = new Long(2); - public static final Long SCHEDULE_GATE = new Long(3); - public static final Long PERMISSION_GATE = new Long(4); - public static final Long SYSTEM_GATE = new Long(5); - public static final Long TEACHER_CHOSEN_BRANCHING = new Long(6); - public static final Long GROUP_BASED_BRANCHING = new Long(7); - public static final Long TOOL_BASED_BRANCHING = new Long(8); - public static final Long SEQUENCE = new Long(9); - public static final Long CONDITION_GATE = new Long(10); - public static final Long FLOATING_ACTIVITIES = new Long(11); + public static final Long GROUPING = 1L; + public static final Long SYNC_GATE = 2L; + public static final Long SCHEDULE_GATE = 3L; + public static final Long PERMISSION_GATE = 4L; + public static final Long SYSTEM_GATE = 5L; + public static final Long TEACHER_CHOSEN_BRANCHING = 6L; + public static final Long GROUP_BASED_BRANCHING = 7L; + public static final Long TOOL_BASED_BRANCHING = 8L; + public static final Long SEQUENCE = 9L; + public static final Long CONDITION_GATE = 10L; + public static final Long FLOATING_ACTIVITIES = 11L; - /** identifier field */ + @Id + @Column(name = "system_tool_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long systemToolId; - /** persistent field - the type of activity */ + @Column(name = "learning_activity_type_id") private Integer activityTypeId; - /** persistent field */ + @Column(name = "tool_display_name") private String toolDisplayName; - /** nullable persistent field */ + @Column private String description; - /** 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; - /** persistent field */ + @Column(name = "monitor_url") private String monitorUrl; - /** persistent field */ + @Column(name = "contribute_url") private String contributeUrl; - /** persistent field */ + @Column(name = "help_url") private String helpUrl; - /** persistent field */ + @Column(name = "admin_url") private String adminUrl; - /** persistent field */ + @Column(name = "pedagogical_planner_url") private String pedagogicalPlannerUrl; - /** persistent field */ + @Column(name = "create_date_time") private Date createDateTime; /** @@ -94,26 +106,6 @@ public static final String I18N_DISPLAY_NAME = "tool.display.name"; public static final String I18N_DESCRIPTION = "tool.description"; - /** full constructor */ - public SystemTool(Long systemToolId, Integer activityTypeId, String displayName, String description, - String learnerUrl, String learnerPreviewUrl, String learnerProgressUrl, String monitorUrl, - String contributeUrl, String helpUrl, Date createDateTime) { - this.systemToolId = systemToolId; - this.activityTypeId = activityTypeId; - toolDisplayName = displayName; - this.description = description; - - this.learnerUrl = learnerUrl; - this.learnerPreviewUrl = learnerPreviewUrl; - this.learnerProgressUrl = learnerProgressUrl; - this.monitorUrl = monitorUrl; - this.contributeUrl = contributeUrl; - this.helpUrl = helpUrl; - - this.createDateTime = createDateTime; - } - - /** default constructor */ public SystemTool() { } @@ -173,32 +165,18 @@ this.learnerProgressUrl = learnerProgressUrl; } - /** - * @return Returns the helpUrl. - */ public String getAdminUrl() { return adminUrl; } - /** - * @param helpUrl - * The helpUrl to set. - */ public void setAdminUrl(String adminUrl) { this.adminUrl = adminUrl; } - /** - * @return Returns the createDateTime. - */ public Date getCreateDateTime() { return createDateTime; } - /** - * @param createDateTime - * The createDateTime to set. - */ public void setCreateDateTime(Date createDateTime) { this.createDateTime = createDateTime; } @@ -211,47 +189,26 @@ return (contributeURL != null) && (contributeURL.trim().length() > 0); } - /** - * @return Returns the contributeUrl. - */ public String getContributeUrl() { return contributeUrl; } - /** - * @param contributeUrl - * The contributUrl to set. - */ public void setContributeUrl(String contributeUrl) { this.contributeUrl = contributeUrl; } - /** - * @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; } @@ -286,5 +243,4 @@ public void setPedagogicalPlannerUrl(String pedagogicalPlannerUrl) { this.pedagogicalPlannerUrl = pedagogicalPlannerUrl; } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/tool/ToolContent.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/tool/ToolContent.java (.../ToolContent.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/tool/ToolContent.java (.../ToolContent.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,51 +24,46 @@ package org.lamsfoundation.lams.tool; import java.io.Serializable; -import java.util.HashSet; -import java.util.Set; +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.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; -/** - * - * - * -*/ +@Entity +@Table(name = "lams_tool_content") public class ToolContent implements Serializable { + private static final long serialVersionUID = 6950566115143688408L; - /** identifier field */ + @Id + @Column(name = "tool_content_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long toolContentId; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "tool_id") private Tool tool; - /** persistent field */ - private Set activities; - public ToolContent(Tool tool) { - this(null, tool, new HashSet()); + this(null, tool); } - /** full constructor */ - public ToolContent(Long toolContentId, Tool tool, Set activities) { + public ToolContent(Long toolContentId, Tool tool) { this.toolContentId = toolContentId; this.tool = tool; - this.activities = activities; } - /** default constructor */ public ToolContent() { } - /** - * - * - * - * - * - */ public Long getToolContentId() { return this.toolContentId; } @@ -77,10 +72,6 @@ this.toolContentId = toolContentId; } - /** - * - * - */ public Tool getTool() { return this.tool; } @@ -89,25 +80,6 @@ this.tool = tool; } - /** - * - * - * - * - * - * - * - * - * - */ - public Set getActivities() { - return this.activities; - } - - public void setActivities(Set activities) { - this.activities = activities; - } - @Override public String toString() { return new ToStringBuilder(this).append("toolContentId", getToolContentId()).toString(); @@ -129,5 +101,4 @@ public int hashCode() { return new HashCodeBuilder().append(getToolContentId()).toHashCode(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/AuthenticationMethod.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/AuthenticationMethod.java (.../AuthenticationMethod.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/AuthenticationMethod.java (.../AuthenticationMethod.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,40 +24,47 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; +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.ManyToOne; +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; -@SuppressWarnings("serial") +@Entity +@Table(name = "lams_authentication_method") public class AuthenticationMethod implements Serializable { + private static final long serialVersionUID = -43956990418742273L; public static final Integer DB = 1; public static final Integer LDAP = 3; - /** identifier field */ + @Id + @Column(name = "authentication_method_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer authenticationMethodId; - /** persistent field */ + @Column(name = "authentication_method_name") private String authenticationMethodName; - /** persistent field */ + @ManyToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "authentication_method_type_id") private AuthenticationMethodType authenticationMethodType; - /** persistent field */ - private Set users; + @OneToMany(mappedBy = "authenticationMethod") + private Set users = new HashSet(); - private boolean enabled = true; - - /** full constructor */ - public AuthenticationMethod(String authenticationMethodName, AuthenticationMethodType authenticationMethodType, - Set users) { - this.authenticationMethodName = authenticationMethodName; - this.authenticationMethodType = authenticationMethodType; - this.users = users; - } - /** default constructor */ public AuthenticationMethod() { } @@ -86,29 +93,14 @@ this.authenticationMethodType = AuthenticationMethodType; } - public Set getUsers() { + public Set getUsers() { return this.users; } - public void setUsers(Set users) { + public void setUsers(Set users) { this.users = users; } - /** - * @return Returns the enabled. - */ - public boolean isEnabled() { - return enabled; - } - - /** - * @param enabled - * The enabled to set. - */ - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - @Override public String toString() { return new ToStringBuilder(this).append("authenticationMethodId", getAuthenticationMethodId()).toString(); @@ -128,5 +120,4 @@ public int hashCode() { return new HashCodeBuilder().append(getAuthenticationMethodId()).toHashCode(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/AuthenticationMethodType.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/AuthenticationMethodType.java (.../AuthenticationMethodType.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/AuthenticationMethodType.java (.../AuthenticationMethodType.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,34 +24,35 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; -import java.util.Set; +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 org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; +@Entity +@Table(name = "lams_auth_method_type") public class AuthenticationMethodType implements Serializable { + private static final long serialVersionUID = 1220342429769830966L; public static final String LAMS = "LAMS"; public static final String WEB_AUTH = "WEB_AUTH"; public static final String LDAP = "LDAP"; - /** identifier field */ + @Id + @Column(name = "authentication_method_type_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer authenticationMethodTypeId; - /** persistent field */ + @Column private String description; - /** persistent field */ - private Set authenticationMethods; - - /** full constructor */ - public AuthenticationMethodType(String description, Set authenticationMethods) { - this.description = description; - this.authenticationMethods = authenticationMethods; - } - - /** default constructor */ public AuthenticationMethodType() { } @@ -71,14 +72,6 @@ this.description = description; } - public Set getAuthenticationMethods() { - return this.authenticationMethods; - } - - public void setAuthenticationMethods(Set authenticationMethods) { - this.authenticationMethods = authenticationMethods; - } - @Override public String toString() { return new ToStringBuilder(this).append("authenticationMethodTypeId", getAuthenticationMethodTypeId()) @@ -99,5 +92,4 @@ public int hashCode() { return new HashCodeBuilder().append(getAuthenticationMethodTypeId()).toHashCode(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/FavoriteOrganisation.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/FavoriteOrganisation.java (.../FavoriteOrganisation.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/FavoriteOrganisation.java (.../FavoriteOrganisation.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -25,28 +25,42 @@ import java.io.Serializable; +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.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; +@Entity +@Table(name = "lams_favorite_organisation") public class FavoriteOrganisation implements Serializable { + private static final long serialVersionUID = 6320034459017328098L; - /** identifier field */ + @Id + @Column(name = "favorite_organisation_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer favoriteOrganisationId; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "user_id") private User user; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "organisation_id") private Organisation organisation; - /** full constructor */ public FavoriteOrganisation(User user, Organisation organisation) { this.user = user; this.organisation = organisation; } - /** default constructor */ public FavoriteOrganisation() { } @@ -85,12 +99,12 @@ return false; } FavoriteOrganisation castOther = (FavoriteOrganisation) other; - return new EqualsBuilder().append(this.getFavoriteOrganisationId(), castOther.getFavoriteOrganisationId()).isEquals(); + return new EqualsBuilder().append(this.getFavoriteOrganisationId(), castOther.getFavoriteOrganisationId()) + .isEquals(); } @Override public int hashCode() { return new HashCodeBuilder().append(getFavoriteOrganisationId()).toHashCode(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/ForgotPasswordRequest.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/ForgotPasswordRequest.java (.../ForgotPasswordRequest.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/ForgotPasswordRequest.java (.../ForgotPasswordRequest.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -3,37 +3,36 @@ import java.io.Serializable; 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.Table; + /** - * - * - * - * * @author lfoxton - * */ + +@Entity +@Table(name = "lams_password_request") public class ForgotPasswordRequest implements Serializable { - /** identifier field */ + private static final long serialVersionUID = -7140792259303426167L; + + @Id + @Column(name = "request_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer requestId; - /** identifier field */ + @Column(name = "user_id") private Integer userId; - /** persistent field */ + @Column(name = "request_key") private String requestKey; - /** persistent field */ + @Column(name = "request_date") private Date requestDate; - /** Full Constructor */ - public ForgotPasswordRequest(Integer requestId, Integer userId, String requestKey, Date requestDate) { - super(); - this.requestId = requestId; - this.userId = userId; - this.requestKey = requestKey; - this.requestDate = requestDate; - } - - /** default constructor */ public ForgotPasswordRequest() { } @@ -68,4 +67,4 @@ public void setRequestDate(Date requestDate) { this.requestDate = requestDate; } -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Organisation.java (.../Organisation.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -25,87 +25,112 @@ import java.io.Serializable; import java.util.Date; +import java.util.HashSet; import java.util.Set; +import javax.persistence.CascadeType; +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.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.hibernate.annotations.LazyCollection; +import org.hibernate.annotations.LazyCollectionOption; +import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTO; -public class Organisation implements Serializable, Comparable { +@Entity +@Table(name = "lams_organisation") +public class Organisation implements Serializable, Comparable { private static final long serialVersionUID = -6742443056151585129L; - /** identifier field */ + @Id + @Column(name = "organisation_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer organisationId; - /** nullable persistent field */ + @Column private String name; - /** nullable persistent field */ + @Column private String code; - /** nullable persistent field */ + @Column private String description; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "parent_organisation_id") private Organisation parentOrganisation; - /** persistent field */ + @Column(name = "create_date") private Date createDate; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "created_by") private User createdBy; - /** persistent field */ - private Set workspaceFolders; + @OneToMany(mappedBy = "organisationID", cascade = CascadeType.ALL, orphanRemoval = true) + private Set workspaceFolders = new HashSet(); - /** persistent field */ + @ManyToOne + @JoinColumn(name = "organisation_type_id") private OrganisationType organisationType; - /** persistent field */ - private Set userOrganisations; + @OneToMany(mappedBy = "organisation", cascade = CascadeType.ALL, orphanRemoval = true) + private Set userOrganisations = new HashSet(); - /** persistent field */ - private Set childOrganisations; + @OneToMany(mappedBy = "parentOrganisation", cascade = CascadeType.ALL, orphanRemoval = true) + private Set childOrganisations = new HashSet(); - /** persistent field */ - private Set lessons; + @OneToMany(mappedBy = "organisation", cascade = CascadeType.ALL, orphanRemoval = true) + @LazyCollection(LazyCollectionOption.EXTRA) + private Set lessons = new HashSet(); + @ManyToOne + @JoinColumn(name = "organisation_state_id") private OrganisationState organisationState; - /** persistent field */ + @Column(name = "admin_add_new_users") private Boolean courseAdminCanAddNewUsers; - /** persistent field */ + @Column(name = "admin_browse_all_users") private Boolean courseAdminCanBrowseAllUsers; - /** persistent field */ + @Column(name = "admin_change_status") private Boolean courseAdminCanChangeStatusOfCourse; - /** persistent field */ + @Column(name = "admin_create_guest") private Boolean courseAdminCanCreateGuestAccounts; - /** persistent field */ + @Column(name = "enable_course_notifications") private Boolean enableCourseNotifications; - /** persistent field */ + @Column(name = "enable_learner_gradebook") private Boolean enableGradebookForLearners; - /** persistent field */ + @Column(name = "enable_single_activity_lessons") private Boolean enableSingleActivityLessons; - /** persistent field */ + @Column(name = "enable_live_edit") private Boolean enableLiveEdit; - /** persistent field */ + @Column(name = "enable_kumalive") private Boolean enableKumalive; - /** persistent field */ + @Column(name = "archived_date") private Date archivedDate; + @Column(name = "ordered_lesson_ids") private String orderedLessonIds; - /** default constructor */ public Organisation() { this.courseAdminCanAddNewUsers = Boolean.FALSE; this.courseAdminCanBrowseAllUsers = Boolean.FALSE; @@ -212,27 +237,27 @@ this.organisationType = organisationType; } - public Set getUserOrganisations() { + public Set getUserOrganisations() { return this.userOrganisations; } - public void setUserOrganisations(Set userOrganisations) { + public void setUserOrganisations(Set userOrganisations) { this.userOrganisations = userOrganisations; } - public Set getChildOrganisations() { + public Set getChildOrganisations() { return childOrganisations; } - public void setChildOrganisations(Set childOrganisations) { + public void setChildOrganisations(Set childOrganisations) { this.childOrganisations = childOrganisations; } - public Set getLessons() { + public Set getLessons() { return this.lessons; } - public void setLessons(Set lessons) { + public void setLessons(Set lessons) { this.lessons = lessons; } @@ -308,8 +333,8 @@ } @Override - public int compareTo(Object o) { - return name.compareToIgnoreCase(((Organisation) o).getName()); + public int compareTo(Organisation o) { + return name.compareToIgnoreCase(o.getName()); } public Date getArchivedDate() { Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGroup.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGroup.java (.../OrganisationGroup.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGroup.java (.../OrganisationGroup.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,39 +24,49 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; +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.JoinTable; +import javax.persistence.ManyToMany; +import javax.persistence.Table; + import org.apache.commons.lang.builder.CompareToBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; /** * This is a course-level group of learners. */ +@Entity +@Table(name = "lams_organisation_group") public class OrganisationGroup implements Serializable, Comparable { + private static final long serialVersionUID = 397854186770141054L; - /** identifier field */ + @Id + @Column(name = "group_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long groupId; - /** persistent field */ + @Column(name = "grouping_id") private Long groupingId; - /** nullable persistent field */ + @Column private String name; - /** persistent field */ - private Set users; + @ManyToMany(fetch = FetchType.EAGER) + @JoinTable(name = "lams_user_organisation_group", joinColumns = @JoinColumn(name = "group_id"), inverseJoinColumns = @JoinColumn(name = "user_id")) + private Set users = new HashSet(); public OrganisationGroup() { } - public OrganisationGroup(Long groupingId, String name) { - this.groupingId = groupingId; - this.name = name; - } - - /** - * - */ public Long getGroupId() { return groupId; } @@ -65,9 +75,6 @@ this.groupId = groupId; } - /** - * - */ public Long getGroupingId() { return this.groupingId; } @@ -76,9 +83,6 @@ this.groupingId = organisationId; } - /** - * - */ public String getName() { return this.name; } @@ -87,11 +91,6 @@ this.name = name; } - /** - * - * - * - */ public Set getUsers() { return users; } Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGrouping.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGrouping.java (.../OrganisationGrouping.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationGrouping.java (.../OrganisationGrouping.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,27 +24,42 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; +import java.util.HashSet; import java.util.Set; +import javax.persistence.CascadeType; +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.OneToMany; +import javax.persistence.Table; + import org.apache.commons.lang.builder.HashCodeBuilder; /** * This is a course-level group of groups of learners, i.e. a grouping. - * - * */ +@Entity +@Table(name = "lams_organisation_grouping") public class OrganisationGrouping implements Serializable { + private static final long serialVersionUID = -7641875911260975245L; - /** identifier field */ + @Id + @Column(name = "grouping_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long groupingId; - /** persistent field */ + @Column(name = "organisation_id") private Integer organisationId; - /** nullable persistent field */ + @Column private String name; - private Set groups; + @OneToMany(mappedBy = "groupingId", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true) + private Set groups = new HashSet(); public OrganisationGrouping() { } @@ -54,9 +69,6 @@ this.name = name; } - /** - * - */ public Long getGroupingId() { return groupingId; } @@ -65,9 +77,6 @@ this.groupingId = groupId; } - /** - * - */ public Integer getOrganisationId() { return this.organisationId; } @@ -76,9 +85,6 @@ this.organisationId = organisationId; } - /** - * - */ public String getName() { return this.name; } @@ -87,11 +93,6 @@ this.name = name; } - /** - * - * - * - */ public Set getGroups() { return groups; } Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationState.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationState.java (.../OrganisationState.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationState.java (.../OrganisationState.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -1,41 +1,37 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; -import java.util.Set; +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 org.apache.commons.lang.builder.ToStringBuilder; +@Entity +@Table(name = "lams_organisation_state") public class OrganisationState implements Serializable { + private static final long serialVersionUID = -294038064014685720L; public static final Integer ACTIVE = 1; public static final Integer HIDDEN = 2; public static final Integer ARCHIVED = 3; public static final Integer REMOVED = 4; - /** identifier field */ + @Id + @Column(name = "organisation_state_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer organisationStateId; - /** nullable persistent field */ + @Column private String description; - /** persistent field */ - private Set Organisations; - - /** full constructor */ - public OrganisationState(String description, Set Organisations) { - this.description = description; - this.Organisations = Organisations; - } - - /** default constructor */ public OrganisationState() { } - /** minimal constructor */ - public OrganisationState(Set Organisations) { - this.Organisations = Organisations; - } - public Integer getOrganisationStateId() { return this.organisationStateId; } @@ -52,18 +48,9 @@ this.description = description; } - public Set getOrganisations() { - return this.Organisations; - } - - public void setOrganisations(Set Organisations) { - this.Organisations = Organisations; - } - @Override public String toString() { return new ToStringBuilder(this).append("organisationStateId", getOrganisationStateId()) .append("description", getDescription()).toString(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationType.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationType.java (.../OrganisationType.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/OrganisationType.java (.../OrganisationType.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,13 +24,22 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; -import java.util.Set; +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 org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; +@Entity +@Table(name = "lams_organisation_type") public class OrganisationType implements Serializable { + private static final long serialVersionUID = -2973910780832221475L; public static final Integer ROOT_TYPE = 1; public static final Integer COURSE_TYPE = 2; @@ -40,26 +49,17 @@ public static final String COURSE_DESCRIPTION = "COURSE ORGANISATION"; public static final String CLASS_DESCRIPTION = "CLASS ORGANISATION"; - /** identifier field */ + @Id + @Column(name = "organisation_type_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer organisationTypeId; - /** persistent field */ + @Column private String name; - /** persistent field */ + @Column private String description; - /** persistent field */ - private Set organisations; - - /** full constructor */ - public OrganisationType(String name, String description, Set organisations) { - this.name = name; - this.description = description; - this.organisations = organisations; - } - - /** default constructor */ public OrganisationType() { } @@ -87,14 +87,6 @@ this.description = description; } - public Set getOrganisations() { - return this.organisations; - } - - public void setOrganisations(Set organisations) { - this.organisations = organisations; - } - @Override public String toString() { return new ToStringBuilder(this).append("organisationTypeId", getOrganisationTypeId()).toString(); @@ -113,5 +105,4 @@ public int hashCode() { return new HashCodeBuilder().append(getOrganisationTypeId()).toHashCode(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Privilege.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Privilege.java (.../Privilege.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Privilege.java (.../Privilege.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -1,41 +1,36 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; -import java.util.Set; +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 org.apache.commons.lang.builder.ToStringBuilder; +@Entity +@Table(name = "lams_privilege") public class Privilege implements Serializable { - /** identifier field */ + private static final long serialVersionUID = 5237905825598226845L; + + @Id + @Column(name = "privilege_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long privilegeId; - /** persistent field */ + @Column private String code; - /** nullable persistent field */ + @Column private String description; - /** persistent field */ - private Set rolePrivileges; - - /** full constructor */ - public Privilege(String code, String description, Set rolePrivileges) { - this.code = code; - this.description = description; - this.rolePrivileges = rolePrivileges; - } - - /** default constructor */ public Privilege() { } - /** minimal constructor */ - public Privilege(String code, Set rolePrivileges) { - this.code = code; - this.rolePrivileges = rolePrivileges; - } - public Long getPrivilegeId() { return this.privilegeId; } @@ -60,17 +55,8 @@ this.description = description; } - public Set getRolePrivileges() { - return this.rolePrivileges; - } - - public void setRolePrivileges(Set rolePrivileges) { - this.rolePrivileges = rolePrivileges; - } - @Override public String toString() { return new ToStringBuilder(this).append("privilegeId", getPrivilegeId()).toString(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/Role.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/Role.java (.../Role.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/Role.java (.../Role.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -24,13 +24,22 @@ package org.lamsfoundation.lams.usermanagement; import java.io.Serializable; -import java.util.Set; +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 org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; -public class Role implements Serializable, Comparable { +@Entity +@Table(name = "lams_role") +public class Role implements Serializable, Comparable { + private static final long serialVersionUID = 6113480344101675560L; public static final String LEARNER = "LEARNER"; @@ -45,45 +54,33 @@ public static final String SYSADMIN = "SYSADMIN";// for future use /** - * Added by Manpreet Minhas *********************** final static variables indicating the various roles available + * Added by Manpreet Minhas + * final static variables indicating the various roles available * for a given user ar per the database. New roles may be added/deleted in the near future * ************************************************************/ - public static final Integer ROLE_SYSADMIN = new Integer(1); - public static final Integer ROLE_GROUP_MANAGER = new Integer(2); - public static final Integer ROLE_AUTHOR = new Integer(3); - public static final Integer ROLE_MONITOR = new Integer(4); - public static final Integer ROLE_LEARNER = new Integer(5); - public static final Integer ROLE_GROUP_ADMIN = new Integer(6); + public static final Integer ROLE_SYSADMIN = 1; + public static final Integer ROLE_GROUP_MANAGER = 2; + public static final Integer ROLE_AUTHOR = 3; + public static final Integer ROLE_MONITOR = 4; + public static final Integer ROLE_LEARNER = 5; + public static final Integer ROLE_GROUP_ADMIN = 6; /***********************************************************/ - /** identifier field */ + @Id + @Column(name = "role_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer roleId; - /** persistent field */ + @Column private String name; - /** nullable persistent field */ + @Column private String description; - /** persistent field */ - private Set rolePrivileges; - - /** full constructor */ - public Role(String name, String description) { - this.name = name; - this.description = description; - } - - /** default constructor */ public Role() { } - /** minimal constructor */ - public Role(String name, Set userOrganisationRoles) { - this.name = name; - } - public Integer getRoleId() { return this.roleId; } @@ -108,14 +105,6 @@ this.description = description; } - public Set getRolePrivileges() { - return rolePrivileges; - } - - public void setRolePrivileges(Set rolePrivileges) { - this.rolePrivileges = rolePrivileges; - } - @Override public String toString() { return new ToStringBuilder(this).append("roleId", getRoleId()).toString(); @@ -131,9 +120,8 @@ } @Override - public int compareTo(Object role) { - Role r = (Role) role; - return name.compareTo(r.getName()); + public int compareTo(Role role) { + return name.compareTo(role.getName()); } @Override Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/RolePrivilege.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/RolePrivilege.java (.../RolePrivilege.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/RolePrivilege.java (.../RolePrivilege.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -2,26 +2,35 @@ import java.io.Serializable; +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.apache.commons.lang.builder.ToStringBuilder; +@Entity +@Table(name = "lams_role_privilege") public class RolePrivilege implements Serializable { + private static final long serialVersionUID = -8812038010815801094L; - /** identifier field */ + @Id + @Column(name = "rp_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Long rpId; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "privilege_id") private Privilege privilege; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "role_id") private Role role; - /** full constructor */ - public RolePrivilege(Privilege privilege, Role role) { - this.privilege = privilege; - this.role = role; - } - - /** default constructor */ public RolePrivilege() { } @@ -53,5 +62,4 @@ public String toString() { return new ToStringBuilder(this).append("rpId", getRpId()).toString(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/SupportedLocale.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/SupportedLocale.java (.../SupportedLocale.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/SupportedLocale.java (.../SupportedLocale.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -2,47 +2,44 @@ import java.io.Serializable; +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 org.apache.commons.lang.builder.ToStringBuilder; -public class SupportedLocale implements Serializable, Comparable { +@Entity +@Table(name = "lams_supported_locale") +public class SupportedLocale implements Serializable, Comparable { - /** - * - */ private static final long serialVersionUID = 4096710015819299886L; - /** identifier field */ + @Id + @Column(name = "locale_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer localeId; - /** persistent field */ + @Column(name = "language_iso_code") private String languageIsoCode; - /** persistent field */ + @Column(name = "country_iso_code") private String countryIsoCode; - /** persistent field */ + @Column private String description; - /** persistent field */ + @Column private String direction; - /** persistent field */ + @Column(name = "fckeditor_code") private String fckLanguageMapping; - /** full constructor */ - public SupportedLocale(String languageIsoCode, String countryIsoCode, String description, String direction, - String fckLanguageMapping) { - this.languageIsoCode = languageIsoCode; - this.countryIsoCode = countryIsoCode; - this.description = description; - this.direction = direction; - this.fckLanguageMapping = fckLanguageMapping; - } - - /** default constructor */ public SupportedLocale() { } - + /** * Return locale name in the format xx_XX, where xx - language ISO code and XX - country ISO code */ @@ -99,8 +96,7 @@ } @Override - public int compareTo(Object o) { - SupportedLocale locale = (SupportedLocale) o; + public int compareTo(SupportedLocale locale) { return description.compareTo(locale.getDescription()); } @@ -111,5 +107,4 @@ public void setFckLanguageMapping(String fckLanguageMapping) { this.fckLanguageMapping = fckLanguageMapping; } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/UserOrganisation.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/UserOrganisation.java (.../UserOrganisation.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/UserOrganisation.java (.../UserOrganisation.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -27,38 +27,53 @@ import java.util.HashSet; import java.util.Set; +import javax.persistence.CascadeType; +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.NamedNativeQuery; +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; +@Entity +@Table(name = "lams_user_organisation") +@NamedNativeQuery(resultClass = UserOrganisation.class, name = "userOrganisationsNotById", query = "SELECT userOrganisation.*" + + " FROM lams_user_organisation AS userOrganisation" + + " JOIN lams_organisation AS o ON userOrganisation.user_id = :userId" + + " AND userOrganisation.organisation_id != :orgId AND o.parent_organisation_id != :orgId" + + " AND o.organisation_id = userOrganisation.organisation_id") public class UserOrganisation implements Serializable { + private static final long serialVersionUID = 4859079742960814389L; - /** identifier field */ + @Id + @Column(name = "user_organisation_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer userOrganisationId; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "user_id") private User user; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "organisation_id") private Organisation organisation; - /** persistent field */ - private Set userOrganisationRoles; + @OneToMany(mappedBy = "userOrganisation", cascade = CascadeType.ALL, orphanRemoval = true) + private Set userOrganisationRoles = new HashSet(); - /** full constructor */ - public UserOrganisation(User user, Organisation organisation, Set userOrganisationRoles) { - this.user = user; - this.organisation = organisation; - this.userOrganisationRoles = userOrganisationRoles; - } - - /** minimal constructor */ public UserOrganisation(User user, Organisation organisation) { this.user = user; this.organisation = organisation; } - /** default constructor */ public UserOrganisation() { } @@ -119,5 +134,4 @@ public int hashCode() { return new HashCodeBuilder().append(getUserOrganisationId()).toHashCode(); } - -} +} \ No newline at end of file Index: lams_common/src/java/org/lamsfoundation/lams/usermanagement/UserOrganisationRole.java =================================================================== diff -u -r7475d08afc280b5e2e5ddf04e8bf35e3166aaf80 -raaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5 --- lams_common/src/java/org/lamsfoundation/lams/usermanagement/UserOrganisationRole.java (.../UserOrganisationRole.java) (revision 7475d08afc280b5e2e5ddf04e8bf35e3166aaf80) +++ lams_common/src/java/org/lamsfoundation/lams/usermanagement/UserOrganisationRole.java (.../UserOrganisationRole.java) (revision aaa9a8f28fa1b2a222690dbb3a2d7647efb30cd5) @@ -25,28 +25,42 @@ import java.io.Serializable; +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.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; +@Entity +@Table(name = "lams_user_organisation_role") public class UserOrganisationRole implements Serializable { + private static final long serialVersionUID = 4324592319764806434L; - /** identifier field */ + @Id + @Column(name = "user_organisation_role_id") + @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer userOrganisationRoleId; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "user_organisation_id") private UserOrganisation userOrganisation; - /** persistent field */ + @ManyToOne + @JoinColumn(name = "role_id") private Role role; - /** full constructor */ public UserOrganisationRole(UserOrganisation userOrganisation, Role role) { this.userOrganisation = userOrganisation; this.role = role; } - /** default constructor */ public UserOrganisationRole() { } @@ -102,5 +116,4 @@ public int hashCode() { return new HashCodeBuilder().append(getUserOrganisationRoleId()).toHashCode(); } - -} +} \ No newline at end of file