package org.akaza.openclinica.domain.datamap; import java.util.Date; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OrderBy; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import org.akaza.openclinica.domain.DataMapDomainObject; import org.akaza.openclinica.domain.user.UserAccount; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Parameter; /** * DiscrepancyNote generated by hbm2java */ @Entity @Table(name = "discrepancy_note") @GenericGenerator(name = "id-generator", strategy = "native", parameters = { @Parameter(name = "sequence_name", value = "discrepancy_note_discrepancy_note_id_seq") }) @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class DiscrepancyNote extends DataMapDomainObject { /** * */ private static final long serialVersionUID = 1L; private int discrepancyNoteId; private UserAccount userAccountByOwnerId; private DiscrepancyNoteType discrepancyNoteType; private UserAccount userAccount; private Study study; private ResolutionStatus resolutionStatus; private String description; private String detailedNotes; private Date dateCreated; private Integer parentDnId; private String entityType; private List<DnStudyEventMap> dnStudyEventMaps; private List<DnEventCrfMap> dnEventCrfMaps ; private List<DnItemDataMap> dnItemDataMaps; private List<DnStudySubjectMap> dnStudySubjectMaps; private List<DnSubjectMap> dnSubjectMaps ; private DiscrepancyNote parentDiscrepancyNote; private List<DiscrepancyNote> childDiscrepancyNotes; public DiscrepancyNote() { } public DiscrepancyNote(int discrepancyNoteId) { this.discrepancyNoteId = discrepancyNoteId; } public DiscrepancyNote(int discrepancyNoteId, UserAccount userAccountByOwnerId, DiscrepancyNoteType discrepancyNoteType, UserAccount userAccount, Study study, ResolutionStatus resolutionStatus, String description, String detailedNotes, Date dateCreated, Integer parentDnId, String entityType, List<DnStudyEventMap> dnStudyEventMaps, List<DnEventCrfMap> dnEventCrfMaps, List<DnItemDataMap> dnItemDataMaps, List<DnStudySubjectMap> dnStudySubjectMaps, List<DnSubjectMap> dnSubjectMaps) { this.discrepancyNoteId = discrepancyNoteId; this.userAccountByOwnerId = userAccountByOwnerId; this.discrepancyNoteType = discrepancyNoteType; this.userAccount = userAccount; this.study = study; this.resolutionStatus = resolutionStatus; this.description = description; this.detailedNotes = detailedNotes; this.dateCreated = dateCreated; this.parentDnId = parentDnId; this.entityType = entityType; this.dnStudyEventMaps = dnStudyEventMaps; this.dnEventCrfMaps = dnEventCrfMaps; this.dnItemDataMaps = dnItemDataMaps; this.dnStudySubjectMaps = dnStudySubjectMaps; this.dnSubjectMaps = dnSubjectMaps; } @Id @Column(name = "discrepancy_note_id", unique = true, nullable = false) @GeneratedValue(generator = "id-generator") public int getDiscrepancyNoteId() { return this.discrepancyNoteId; } public void setDiscrepancyNoteId(int discrepancyNoteId) { this.discrepancyNoteId = discrepancyNoteId; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "owner_id") public UserAccount getUserAccountByOwnerId() { return this.userAccountByOwnerId; } public void setUserAccountByOwnerId(UserAccount userAccountByOwnerId) { this.userAccountByOwnerId = userAccountByOwnerId; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "discrepancy_note_type_id" ) public DiscrepancyNoteType getDiscrepancyNoteType() { return this.discrepancyNoteType; } public void setDiscrepancyNoteType(DiscrepancyNoteType discrepancyNoteType) { this.discrepancyNoteType = discrepancyNoteType; } @ManyToOne(fetch = FetchType.LAZY ) @JoinColumn(name = "assigned_user_id") public UserAccount getUserAccount() { return this.userAccount; } public void setUserAccount( UserAccount userAccount) { this.userAccount = userAccount; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "study_id") public Study getStudy() { return this.study; } public void setStudy(Study study) { this.study = study; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "resolution_status_id") public ResolutionStatus getResolutionStatus() { return this.resolutionStatus; } public void setResolutionStatus(ResolutionStatus resolutionStatus) { this.resolutionStatus = resolutionStatus; } @Column(name = "description") public String getDescription() { return this.description; } public void setDescription(String description) { this.description = description; } @Column(name = "detailed_notes", length = 1000) public String getDetailedNotes() { return this.detailedNotes; } public void setDetailedNotes(String detailedNotes) { this.detailedNotes = detailedNotes; } @Temporal(TemporalType.TIMESTAMP) @Column(name = "date_created", length = 8) public Date getDateCreated() { return this.dateCreated; } public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } /* @Column(name = "parent_dn_id") public Integer getParentDnId() { return this.parentDnId; } public void setParentDnId(Integer parentDnId) { this.parentDnId = parentDnId; } */ @Column(name = "entity_type", length = 30) public String getEntityType() { return this.entityType; } public void setEntityType(String entityType) { this.entityType = entityType; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_dn_id") public DiscrepancyNote getParentDiscrepancyNote(){ return this.parentDiscrepancyNote; } public void setParentDiscrepancyNote(DiscrepancyNote parentDiscrepancyNote){ this.parentDiscrepancyNote = parentDiscrepancyNote; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "parentDiscrepancyNote") @OrderBy("discrepancyNoteId") public List<DiscrepancyNote> getChildDiscrepancyNotes(){ return this.childDiscrepancyNotes; } public void setChildDiscrepancyNotes(List<DiscrepancyNote> childDiscrepancyNotes){ this.childDiscrepancyNotes = childDiscrepancyNotes; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "discrepancyNote") public List<DnStudyEventMap> getDnStudyEventMaps() { return this.dnStudyEventMaps; } public void setDnStudyEventMaps(List<DnStudyEventMap> dnStudyEventMaps) { this.dnStudyEventMaps = dnStudyEventMaps; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "discrepancyNote") public List<DnEventCrfMap> getDnEventCrfMaps() { return this.dnEventCrfMaps; } public void setDnEventCrfMaps(List<DnEventCrfMap> dnEventCrfMaps) { this.dnEventCrfMaps = dnEventCrfMaps; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "discrepancyNote") public List<DnItemDataMap> getDnItemDataMaps() { return this.dnItemDataMaps; } public void setDnItemDataMaps(List<DnItemDataMap> dnItemDataMaps) { this.dnItemDataMaps = dnItemDataMaps; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "discrepancyNote") public List<DnStudySubjectMap> getDnStudySubjectMaps() { return this.dnStudySubjectMaps; } public void setDnStudySubjectMaps(List<DnStudySubjectMap> dnStudySubjectMaps) { this.dnStudySubjectMaps = dnStudySubjectMaps; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "discrepancyNote") public List<DnSubjectMap> getDnSubjectMaps() { return this.dnSubjectMaps; } public void setDnSubjectMaps(List<DnSubjectMap> dnSubjectMaps) { this.dnSubjectMaps = dnSubjectMaps; } }