/** * Copyright (C) 2012 KRM Associates, Inc. healtheme@krminc.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.krminc.phr.domain.carenotebook; import com.krminc.phr.web.HealthSummary; import java.io.Serializable; import java.math.BigInteger; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import javax.persistence.*; import javax.xml.bind.annotation.XmlRootElement; /** * * @author cmccall */ @Entity @Table(name = "carenotebook_meeting", catalog = "phr", schema = "") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Meeting.findAll", query = "SELECT m FROM Meeting m"), @NamedQuery(name = "Meeting.findByMeetingId", query = "SELECT m FROM Meeting m WHERE m.meetingId = :meetingId"), @NamedQuery(name = "Meeting.findByMeetingDate", query = "SELECT m FROM Meeting m WHERE m.meetingDate = :meetingDate"), @NamedQuery(name = "Meeting.findByMeetingPurpose", query = "SELECT m FROM Meeting m WHERE m.meetingPurpose = :meetingPurpose"), @NamedQuery(name = "Meeting.findByMeetingIssues", query = "SELECT m FROM Meeting m WHERE m.meetingIssues = :meetingIssues"), @NamedQuery(name = "Meeting.findByMeetingResponses", query = "SELECT m FROM Meeting m WHERE m.meetingResponses = :meetingResponses"), @NamedQuery(name = "Meeting.findByMeetingOutcome", query = "SELECT m FROM Meeting m WHERE m.meetingOutcome = :meetingOutcome"), @NamedQuery(name = "Meeting.findByMeetingSteps", query = "SELECT m FROM Meeting m WHERE m.meetingSteps = :meetingSteps"), @NamedQuery(name = "Meeting.findByMeetingRemember", query = "SELECT m FROM Meeting m WHERE m.meetingRemember = :meetingRemember"), @NamedQuery(name = "Meeting.findByNextMeetingDate", query = "SELECT m FROM Meeting m WHERE m.nextMeetingDate = :nextMeetingDate"), @NamedQuery(name = "Meeting.findByHealthRecordId", query = "SELECT m FROM Meeting m WHERE m.healthRecordId = :healthRecordId"), @NamedQuery(name = "Meeting.findByDataSourceId", query = "SELECT m FROM Meeting m WHERE m.dataSourceId = :dataSourceId"), @NamedQuery(name = "Meeting.findByCareDocumentId", query = "SELECT m FROM Meeting m WHERE m.careDocumentId = :careDocumentId"), @NamedQuery(name = "Meeting.findBySourceId", query = "SELECT m FROM Meeting m WHERE m.sourceId = :sourceId"), @NamedQuery(name = "Meeting.findByDateAdded", query = "SELECT m FROM Meeting m WHERE m.dateAdded = :dateAdded"), @NamedQuery(name = "Meeting.findByComments", query = "SELECT m FROM Meeting m WHERE m.comments = :comments"), @NamedQuery(name = "Meeting.findByPrimaryKeyForRecord", query = "SELECT d FROM Meeting d WHERE d.meetingId = :meetingId AND d.healthRecordId = :healthRecordId"), @NamedQuery(name = "Meeting.findByMask", query = "SELECT m FROM Meeting m WHERE m.mask = :mask")}) public class Meeting extends HealthSummary implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "meeting_id", nullable = false) private Long meetingId; @Column(name = "meeting_date") @Temporal(TemporalType.DATE) private Date meetingDate; @Column(name = "meeting_purpose", length = 200) private String meetingPurpose; @Column(name = "meeting_issues", length = 3000) private String meetingIssues; @Column(name = "meeting_responses", length = 3000) private String meetingResponses; @Column(name = "meeting_outcome", length = 3000) private String meetingOutcome; @Column(name = "meeting_steps", length = 3000) private String meetingSteps; @Column(name = "meeting_remember", length = 3000) private String meetingRemember; @Column(name = "next_meeting_date") @Temporal(TemporalType.DATE) private Date nextMeetingDate; @Basic(optional = false) @Column(name = "rec_id", nullable = false) private long healthRecordId; @Basic(optional = false) @Column(name = "data_source_id", nullable = false) private long dataSourceId; @Column(name = "care_document_id") private BigInteger careDocumentId; @Column(name = "source_id") private BigInteger sourceId; @Basic(optional = false) @Column(name = "date_added", nullable = false) @Temporal(TemporalType.TIMESTAMP) private Date dateAdded; @Column(name = "comments", length = 512) private String comments; @Column(name = "mask", length = 50) private String mask; public Meeting() { } public Meeting(Long healthRecordId) { super(healthRecordId); this.healthRecordId = healthRecordId; } public Long getMeetingId() { return meetingId; } /** needed to map existing entities by carenotebook form processor **/ public void setMeetingId(String meetingId){ this.meetingId = Long.parseLong(meetingId); } // public void setMeetingId(Long meetingId) { // this.meetingId = meetingId; // } public Date getMeetingDate() { return meetingDate; } public void setMeetingDate(String meetingDate) throws ParseException { DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); this.meetingDate = df.parse(meetingDate); } public void setMeetingDate(Date meetingDate) { this.meetingDate = meetingDate; } public String getMeetingPurpose() { return meetingPurpose; } public void setMeetingPurpose(String meetingPurpose) { this.meetingPurpose = meetingPurpose; } public String getMeetingIssues() { return meetingIssues; } public void setMeetingIssues(String meetingIssues) { this.meetingIssues = meetingIssues; } public String getMeetingResponses() { return meetingResponses; } public void setMeetingResponses(String meetingResponses) { this.meetingResponses = meetingResponses; } public String getMeetingOutcome() { return meetingOutcome; } public void setMeetingOutcome(String meetingOutcome) { this.meetingOutcome = meetingOutcome; } public String getMeetingSteps() { return meetingSteps; } public void setMeetingSteps(String meetingSteps) { this.meetingSteps = meetingSteps; } public String getMeetingRemember() { return meetingRemember; } public void setMeetingRemember(String meetingRemember) { this.meetingRemember = meetingRemember; } public Date getNextMeetingDate() { return nextMeetingDate; } public void setNextMeetingDate(String nextMeetingDate) throws ParseException { DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); this.nextMeetingDate = df.parse(nextMeetingDate); } public void setNextMeetingDate(Date nextMeetingDate) { this.nextMeetingDate = nextMeetingDate; } @Override public Long getHealthRecordId() { return healthRecordId; } public long getDataSourceId() { return dataSourceId; } public void setDataSourceId(long dataSourceId) { this.dataSourceId = dataSourceId; } public BigInteger getCareDocumentId() { return careDocumentId; } public void setCareDocumentId(BigInteger careDocumentId) { this.careDocumentId = careDocumentId; } public BigInteger getSourceId() { return sourceId; } public void setSourceId(BigInteger sourceId) { this.sourceId = sourceId; } public Date getDateAdded() { return dateAdded; } public void setDateAdded(Date dateAdded) { this.dateAdded = dateAdded; } public String getComments() { return comments; } public void setComments(String comments) { this.comments = comments; } public String getMask() { return mask; } public void setMask(String mask) { this.mask = mask; } @Override public int hashCode() { int hash = 0; hash += ( meetingId != null ? meetingId.hashCode() : 0 ); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!( object instanceof Meeting )) { return false; } Meeting other = (Meeting) object; if (( this.meetingId == null && other.meetingId != null ) || ( this.meetingId != null && !this.meetingId.equals(other.meetingId) )) { return false; } return true; } @Override public String toString() { return "com.krminc.phr.domain.carenotebook.Meeting[ meetingId=" + meetingId + " ]"; } }