194 lines
4.1 KiB
Java
194 lines
4.1 KiB
Java
package org.gcube.portal.databook.shared;
|
|
|
|
import com.datastax.oss.driver.api.core.cql.Row;
|
|
|
|
import java.io.Serializable;
|
|
import java.util.Date;
|
|
import java.util.Objects;
|
|
|
|
import static org.gcube.portal.databook.server.Schema.*;
|
|
import static org.gcube.portal.databook.server.Schema.THUMBNAIL_URL;
|
|
|
|
/**
|
|
*
|
|
* @author Massimiliano Assante, ISTI-CNR
|
|
* @version 0.1 July 2012
|
|
*
|
|
*/
|
|
@SuppressWarnings("serial")
|
|
public class Comment implements Serializable, Comparable<Comment> {
|
|
|
|
private String key;
|
|
private String userid;
|
|
private Date time;
|
|
private String postid;
|
|
private String text;
|
|
private String fullName;
|
|
private String thumbnailURL;
|
|
private boolean isEdit; // false default
|
|
private Date lastEditTime; // null default
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public Comment() {
|
|
super();
|
|
}
|
|
/**
|
|
*
|
|
* @param key
|
|
* @param userid
|
|
* @param time
|
|
* @param postid
|
|
* @param text
|
|
* @param fullName
|
|
* @param thumbnailURL
|
|
*/
|
|
public Comment(String key, String userid, Date time, String postid,
|
|
String text, String fullName, String thumbnailURL) {
|
|
super();
|
|
this.key = key;
|
|
this.userid = userid;
|
|
this.time = time;
|
|
this.postid = postid;
|
|
this.text = text;
|
|
this.fullName = fullName;
|
|
this.thumbnailURL = thumbnailURL;
|
|
this.isEdit = false;
|
|
this.lastEditTime = null;
|
|
|
|
}
|
|
|
|
/**
|
|
* Constructor for edited comment
|
|
* @param key
|
|
* @param userid
|
|
* @param time
|
|
* @param postid
|
|
* @param text
|
|
* @param fullName
|
|
* @param thumbnailURL
|
|
* @param isEdit
|
|
* @param editDate
|
|
*/
|
|
public Comment(String key, String userid, Date time, String postid,
|
|
String text, String fullName, String thumbnailURL, boolean isEdit, Date editDate) {
|
|
super();
|
|
this.key = key;
|
|
this.userid = userid;
|
|
this.time = time;
|
|
this.postid = postid;
|
|
this.text = text;
|
|
this.fullName = fullName;
|
|
this.thumbnailURL = thumbnailURL;
|
|
this.isEdit = isEdit;
|
|
this.lastEditTime = editDate;
|
|
}
|
|
|
|
public Comment(Row record) {
|
|
super();
|
|
this.key = Objects.requireNonNull(record.getUuid(COMMENT_ID)).toString();
|
|
this.userid = record.getString(USER_ID);
|
|
this.time = Date.from(Objects.requireNonNull(record.getInstant(TIMESTAMP)));
|
|
this.postid = Objects.requireNonNull(record.getUuid(POST_ID)).toString();
|
|
this.fullName = record.getString(FULL_NAME);
|
|
this.thumbnailURL = record.getString(THUMBNAIL_URL);
|
|
this.text = record.getString(COMMENT);
|
|
this.isEdit = !record.isNull(IS_EDIT) && record.getBoolean(IS_EDIT);
|
|
this.lastEditTime = record.isNull(LAST_EDIT_TIME)? null : Date.from(Objects.requireNonNull(record.getInstant(LAST_EDIT_TIME)));
|
|
}
|
|
/**
|
|
*
|
|
* @return the text
|
|
*/
|
|
public String getText() {
|
|
return text;
|
|
}
|
|
/**
|
|
*
|
|
* @param text text to add as string
|
|
*/
|
|
public void setText(String text) {
|
|
this.text = text;
|
|
}
|
|
/**
|
|
*
|
|
* @return the uuid
|
|
*/
|
|
public String getKey() {
|
|
return key;
|
|
}
|
|
|
|
public void setKey(String key) {
|
|
this.key = key;
|
|
}
|
|
|
|
public String getUserid() {
|
|
return userid;
|
|
}
|
|
|
|
public void setUserid(String userid) {
|
|
this.userid = userid;
|
|
}
|
|
|
|
public Date getTime() {
|
|
return time;
|
|
}
|
|
|
|
public void setTime(Date time) {
|
|
this.time = time;
|
|
}
|
|
|
|
public String getpostid() {
|
|
return postid;
|
|
}
|
|
|
|
public void setpostid(String postid) {
|
|
this.postid = postid;
|
|
}
|
|
|
|
public String getFullName() {
|
|
return fullName;
|
|
}
|
|
|
|
public void setFullName(String fullName) {
|
|
this.fullName = fullName;
|
|
}
|
|
|
|
public String getThumbnailURL() {
|
|
return thumbnailURL;
|
|
}
|
|
|
|
public void setThumbnailURL(String thumbnailURL) {
|
|
this.thumbnailURL = thumbnailURL;
|
|
}
|
|
|
|
public boolean isEdit() {
|
|
return isEdit;
|
|
}
|
|
public void setEdit(boolean isEdit) {
|
|
this.isEdit = isEdit;
|
|
}
|
|
public Date getLastEditTime() {
|
|
return lastEditTime;
|
|
}
|
|
public void setLastEditTime(Date lastEditTime) {
|
|
this.lastEditTime = lastEditTime;
|
|
}
|
|
public int compareTo(Comment toCompare) {
|
|
if (this.time.after(toCompare.getTime()))
|
|
return 1;
|
|
if (this.time.before(toCompare.getTime()))
|
|
return -1;
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "Comment [key=" + key + ", userid=" + userid + ", time=" + time
|
|
+ ", postid=" + postid + ", text=" + text + ", fullName="
|
|
+ fullName + ", thumbnailURL=" + thumbnailURL + ", isEdit="
|
|
+ isEdit + ", lastEditTime=" + lastEditTime + "]";
|
|
}
|
|
}
|