X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=mythtv%2Fmonitor%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fmythtv%2FRecording.java;h=c3ad6286bba908ebce369910479ecd212099ec72;hb=0cd2d53496b3819d5f8cccb38400481e2faeda03;hp=ca0ab1cb93ed0b7e6276e60dcadc55b5e5e94841;hpb=244c2406bd9ae23fd4d8dfb07eda03e8bcf95bb3;p=utils diff --git a/mythtv/monitor/src/main/java/org/wamblee/mythtv/Recording.java b/mythtv/monitor/src/main/java/org/wamblee/mythtv/Recording.java index ca0ab1cb..c3ad6286 100644 --- a/mythtv/monitor/src/main/java/org/wamblee/mythtv/Recording.java +++ b/mythtv/monitor/src/main/java/org/wamblee/mythtv/Recording.java @@ -20,6 +20,7 @@ import java.io.Serializable; import java.util.Date; import javax.persistence.Column; +import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.IdClass; @@ -27,87 +28,125 @@ import javax.persistence.JoinColumn; import javax.persistence.JoinColumns; import javax.persistence.ManyToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; +import javax.persistence.Transient; /** * + * + * @author Erik Brakkee */ @Entity @Table(name="recorded") -//@IdClass(RecordingPk.class) public class Recording implements Serializable { + + private RecordingPk _id; - //@Id - @ManyToOne(targetEntity=Channel.class) - @JoinColumn(name="chanid") - private Channel _channel; - @Id - @Column(name="starttime") - private Date _starttime; - - @Column(name="basename") private String _basename; - @Column(name="progstart") private Date _progstart; - @Column(name="title") private String _title; - - @Column(name="subtitle") + private String _subtitle; - @Column(name="filesize") private long _filesize; protected Recording() { // Empty } - + /** - * @return the channel + * @return the id */ - public Channel getChannel() { - return _channel; + @EmbeddedId + public RecordingPk getId() { + return _id; } - + + /** + * @param aId the id to set + */ + public void setId(RecordingPk aId) { + _id = aId; + } + /** * @return the basename */ + @Column(name="basename") public String getBasename() { return _basename; } - + /** - * @return the progstart + * @param aBasename the basename to set */ - public Date getStartTime() { - return _starttime; + public void setBasename(String aBasename) { + _basename = aBasename; } /** * @return the progstart */ + @Column(name="progstart") + @Temporal(TemporalType.TIMESTAMP) public Date getProgstart() { return _progstart; } + /** + * @param aProgstart the progstart to set + */ + public void setProgstart(Date aProgstart) { + _progstart = aProgstart; + } + + @Transient + public Channel getChannel() { + return _id.getChannel(); + } + + @Transient + public Date getStarttime() { + return _id.getStartTime(); + } + /** * @return the title */ + @Column(name="title") public String getTitle() { return _title; } + + /** + * @param aTitle the title to set + */ + public void setTitle(String aTitle) { + _title = aTitle; + } /** * @return the subtitle */ + @Column(name="subtitle") public String getSubtitle() { return _subtitle; } + /** + * @param aSubtitle the subtitle to set + */ + public void setSubtitle(String aSubtitle) { + _subtitle = aSubtitle; + } + /** * @return the filesize */ + @Column(name="filesize") public long getFilesize() { return _filesize; } @@ -121,7 +160,7 @@ public class Recording implements Serializable { */ @Override public String toString() { - return "Recording(" + _channel + "," + _basename + "," + _progstart + "," + _title + "," + _subtitle + ")"; + return "Recording(" + _id + "," + _basename + "," + _progstart + "," + _title + "," + _subtitle + ")"; } /* (non-Javadoc) @@ -133,7 +172,7 @@ public class Recording implements Serializable { return false; } Recording recording = (Recording)aObj; - return _channel.equals(recording._channel) && _starttime.equals(recording._starttime); + return _id.equals(recording._id); } /* (non-Javadoc) @@ -141,7 +180,7 @@ public class Recording implements Serializable { */ @Override public int hashCode() { - return _channel.hashCode()*10 + ((int)_starttime.getTime() %10); + return _id.hashCode(); } }