package persistency.entities; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; /** * Entity implementation class for Entity: Session * */ @Entity @NamedQueries({ @NamedQuery(name = "allSessionsSQL", query = "SELECT e FROM Session e"), @NamedQuery(name = "getSessionById", query = "SELECT e FROM Session e WHERE e.id = :id") }) public class Session implements Serializable { @Override public String toString() { return "Session [id=" + id + ", Name=" + name + "]"; } @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; private String name; @Column(length = 10000) private String description; private String secretWord; @Transient private boolean isSelected = false; private String track; @Temporal(TemporalType.DATE) private Date dateOn; private int startTime; private int duration; private String room; private List<String> tags = new ArrayList<String>(); @Transient private String searchTerms; private String startTimeString; @Transient private int userRating = 0; @Transient private int sessionRating = 0; private int totalRating = 0; private int timesRated = 0; @OneToMany private List<Speaker> speakers; private int views = 0; private static final long serialVersionUID = 1L; public Session() { super(); } public int getId() { return this.id; } public void setId(int id) { this.id = id; } public String getName() { return this.name; } public void setName(String Name) { this.name = Name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public List<Speaker> getSpeakers() { return speakers; } public void setSpeakers(List<Speaker> speakers) { this.speakers = speakers; } public int getStartTime() { return startTime; } public void setStartTime(int startTime) { this.startTime = startTime; } public int getDuration() { return duration; } public void setDuration(int duration) { this.duration = duration; } public String getRoom() { return room; } public String getSearchTerms() { if (this.searchTerms == null) { StringBuffer result = new StringBuffer(); // Add name result.append(this.getName()); result.append(" "); // Add all presentors for (Speaker presentor : this.getSpeakers()) { result.append(presentor.getName()); result.append(" "); } List<String> tags2 = getTags(); if (tags2 != null) { for (String string : tags2) { result.append(string); result.append(" "); } } // Add room name result.append(this.getRoom()); this.searchTerms = result.toString(); } return this.searchTerms; } public void setRoom(String room) { this.room = room; } public List<String> getTags() { return tags; } public void setTags(List<String> tags) { this.tags = tags; } public boolean isSelected() { return isSelected; } public void setSelected(boolean isSelected) { this.isSelected = isSelected; } @Override public boolean equals(Object obj) { if (Session.class.isInstance(obj)) { Session newSession = (Session) obj; return getId() == newSession.getId(); } return super.equals(obj); } public int getViews() { return views; } public void setViews(int views) { this.views = views; } public int getUserRating() { return userRating; } public void setUserRating(int userRating) { this.userRating = userRating; } public int getSessionRating() { return sessionRating; } public void setSessionRating(int sessionRating) { this.sessionRating = sessionRating; } public int getTotalRating() { return totalRating; } public void setTotalRating(int totalRating) { this.totalRating = totalRating; } public int getTimesRating() { return timesRated; } public void setTimesRating(int timesRating) { this.timesRated = timesRating; } public void addToTotalRating(int rate) { this.totalRating += rate; timesRated++; } public String getSecretWord() { return secretWord; } public void setSecretWord(String secretWord) { this.secretWord = secretWord; } public String getStartTimeString() { return startTimeString; } public void setStartTimeString(String startTimeString) { this.startTimeString = startTimeString; } public String getTrack() { return track; } public void setTrack(String track) { this.track = track; } public Date getDate() { return dateOn; } public void setDate(Date date) { this.dateOn = date; } }