package com.github.windbender.domain; import java.io.Serializable; 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.Table; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; @Entity @Table(name="user_project") public class UserProject implements Serializable{ @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name = "id", nullable=false) Long id; @JsonIgnore @ManyToOne(fetch=FetchType.EAGER) @JoinColumn(name="user_id") User user; transient Integer idForUser; transient Integer idForProject; @JsonProperty public Integer getIdForProject() { return idForProject; } @JsonProperty public void setIdForProject(Integer idForProject) { this.idForProject = idForProject; } @JsonProperty public void setIdForUser(Integer i) { this.idForUser = i; } @JsonProperty public Integer getIdForUser() { return idForUser; } @JsonProperty public Integer getUserId() { return user.getId(); } @JsonProperty public String getUsername() { return user.getUsername(); } @JsonProperty public String getUserEmail() { return user.getEmail(); } @JsonIgnore @ManyToOne(fetch=FetchType.EAGER) @JoinColumn(name="project_id") Project project; @Column(name="canReport", nullable=false) private Boolean canReport = true; @Column(name="canCategorize", nullable=false) private Boolean canCategorize = true; @Column(name="canUpload", nullable=false) private Boolean canUpload = true; @Column(name="canAdmin", nullable=false) private Boolean canAdmin = false; public Boolean getCanReport() { return canReport; } public void setCanReport(Boolean canReport) { this.canReport = canReport; } public Boolean getCanCategorize() { return canCategorize; } public void setCanCategorize(Boolean canCategorize) { this.canCategorize = canCategorize; } public Boolean getCanUpload() { return canUpload; } public void setCanUpload(Boolean canUpload) { this.canUpload = canUpload; } public Boolean getCanAdmin() { return canAdmin; } public void setCanAdmin(Boolean canAdmin) { this.canAdmin = canAdmin; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Project getProject() { return project; } public void setProject(Project project) { this.project = project; } }