package com.github.andlyticsproject.model; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Locale; // XXX this is a bit of a kludge... public class Comment extends Statistic { private boolean isReply = false; // used for replies // looks like this: 'gp:AOqpTOGnebkY.....' private String uniqueId; private String title; // this is either the translated text, or the same as originalText, // depending on display language (current locale) private String text; private String originalTitle; // text in original language private String originalText; // language of the original comment private String language; private Date originalCommentDate; private int rating; private String user; private String appVersion; private String device; private Comment reply; public Comment() { } public Comment(boolean isReply) { this.isReply = isReply; } public String getUniqueId() { return uniqueId; } public void setUniqueId(String uniqueId) { this.uniqueId = uniqueId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getOriginalTitle() { return originalTitle; } public void setOriginalTitle(String originalTitle) { this.originalTitle = originalTitle; } public String getOriginalText() { return originalText; } public void setOriginalText(String originalText) { this.originalText = originalText; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } /** * Date of the original comment that this reply refers to * Only valid for replies * * @return */ public Date getOriginalCommentDate() { return originalCommentDate; } public void setOriginalCommentDate(Date date) { this.originalCommentDate = date; } public int getRating() { return rating; } public void setRating(int rating) { this.rating = rating; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public void setAppVersion(String appVersion) { this.appVersion = appVersion; } public String getAppVersion() { return appVersion; } public void setDevice(String device) { this.device = device; } public String getDevice() { return device; } public Comment getReply() { return reply; } public void setReply(Comment reply) { this.reply = reply; } public boolean isReply() { return isReply; } public static List<Comment> expandReplies(List<Comment> result) { List<Comment> withReplies = new ArrayList<Comment>(); for (Comment comment : result) { withReplies.add(comment); if (comment.getReply() != null) { withReplies.add(comment.getReply()); } } return withReplies; } public boolean isTranslated() { return language != null && !language.contains(Locale.getDefault().getLanguage()); } }