+/*
+ * (C) 2015 EDF
+ */
+package com.edf.gde.entities;
+
+import com.edf.gde.transferables.ChunkTO;
+import java.io.Serializable;
+import javax.persistence.Basic;
+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.SequenceGenerator;
+import javax.persistence.Table;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * This is a lighter version of the Chunk class to enable easy management of "Chunk".
+ * The "data" field is removed.
+ *
+ */
+@Entity(name = "ChunkInfo")
+@Table(name = "chunk")
+@XmlRootElement
+@NamedQueries({
+ @NamedQuery(name = "ChunkInfo.findAll", query = "SELECT c FROM ChunkInfo c"),
+ @NamedQuery(name = "ChunkInfo.findById", query = "SELECT c FROM ChunkInfo c WHERE c.id = :id"),
+ @NamedQuery(name = "ChunkInfo.findByFileId", query = "SELECT c FROM ChunkInfo c WHERE c.fileId = :fileId")
+})
+public class ChunkInfo implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @Id
+ @Basic(optional = false)
+ @NotNull
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_GEN_SEQUENCE")
+ @SequenceGenerator(name = "SEQ_GEN_SEQUENCE", allocationSize = 50)
+ @Column(name = "id")
+ private long id;
+ @Column(name = "file_id", nullable = false)
+ private long fileId;
+ @Column(name = "rank")
+ private long rank;
+ @Size(max = 255)
+ @Column(name = "checksum")
+ private String checksum;
+ @Column(name = "size")
+ private long size;
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long id) {
+ this.id = id;
+ }
+
+ public long getFileId() {
+ return fileId;
+ }
+
+ public void setFileId(long fileId) {
+ this.fileId = fileId;
+ }
+
+ public long getRank() {
+ return rank;
+ }
+
+ public void setRank(long rank) {
+ this.rank = rank;
+ }
+
+ public String getChecksum() {
+ return checksum;
+ }
+
+ public void setChecksum(String checksum) {
+ this.checksum = checksum;
+ }
+
+ public long getSize() {
+ return size;
+ }
+
+ public void setSize(long size) {
+ this.size = size;
+ }
+
+ public static ChunkInfo fromChunkTO(ChunkTO cto) {
+ ChunkInfo c = new ChunkInfo();
+ c.checksum = cto.getChecksum();
+ c.fileId = cto.getFileId();
+ c.id = cto.getId();
+ c.rank = cto.getRank();
+ c.size = cto.getSize();
+ return c;
+ }
+
+ public ChunkTO toChunkTO() {
+ ChunkTO cto = new ChunkTO();
+ cto.setChecksum(this.checksum);
+ cto.setFileId(this.fileId);
+ cto.setId(this.id);
+ cto.setRank(this.rank);
+ cto.setSize(this.size);
+ return cto;
+ }
+
+}