X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=mythtv%2Fmonitor%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fmythtv%2FRecording.java;h=da7220de36fa58427899eb84501e58ba32fcb844;hb=bf4a315eb93a73f42247b84379e62e86a78c10bb;hp=ca0ab1cb93ed0b7e6276e60dcadc55b5e5e94841;hpb=5ac55ba349fd3c81d3d04e23528a609134db209a;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..da7220de 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,36 +28,27 @@ 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; /** * */ @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() { @@ -66,48 +58,100 @@ public class Recording implements Serializable { /** * @return the channel */ - public Channel getChannel() { - return _channel; + //@Id + //@ManyToOne(targetEntity=Channel.class) + //@JoinColumn(name="chanid") + + /** + * @return the id + */ + @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 +165,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 +177,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 +185,7 @@ public class Recording implements Serializable { */ @Override public int hashCode() { - return _channel.hashCode()*10 + ((int)_starttime.getTime() %10); + return _id.hashCode(); } }