package org.gcube.portlets.user.workspace.client.model; import java.io.Serializable; import java.util.Date; import java.util.List; import org.gcube.portlets.user.workspace.client.ConstantsExplorer; import org.gcube.portlets.widgets.workspacesharingwidget.shared.InfoContactModel; import com.extjs.gxt.ui.client.data.BaseModelData; /** * @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it * */ public class MessageModel extends BaseModelData implements Serializable { /** * */ private static final long serialVersionUID = 1L; public MessageModel() { } /** * USED IN OPEN MESSAGE * * @param id * id * @param subject * subject * @param sender * sender * @param date * date * @param text * text * @param attachs * attachs * @param listContactsToString * contacts * @param messageType * message type * @param isRead * is read */ public MessageModel(String id, String subject, InfoContactModel sender, Date date, String text, List attachs, List listContactsToString, String messageType, boolean isRead) { this(id, subject, sender, date, attachs.size(), isRead, messageType); setListContactsToString(listContactsToString); setListAttachments(attachs); setText(text); } /** * BASIC CONSTRUCTOR * * @param id * id * @param subject * subject * @param sender * sender * @param date * date * @param numAttachs * attachs num * @param isRead * is read * @param messageType * message type */ public MessageModel(String id, String subject, InfoContactModel sender, Date date, int numAttachs, boolean isRead, String messageType) { setId(id); setSubject(subject); setFromContact(sender); setDate(date); setFromLogin(sender.getLogin()); setNumAttachments(numAttachs); setRead("" + isRead); setMessageType(messageType); } /** * USED TO VIEW MESSAGE IN GRID * * * @param id * id * @param subject * subject * @param sender * sender * @param date * date * @param attachsNames * attachs names * @param messageType * message type * @param isRead * is read */ public MessageModel(String id, String subject, InfoContactModel sender, Date date, List attachsNames, String messageType, boolean isRead) { setId(id); setSubject(subject); setFromContact(sender); setDate(date); setFromLogin(sender.getLogin()); setNumAttachments(attachsNames.size()); setMessageType(messageType); setRead("" + isRead); // System.out.println("##################IN CONSTRUCTROR Attach size: " // + attachsNames.size()); setAttachmentsNames(attachsNames); // System.out.println("##########START MESSAGE: " + id); // // for(String mess: attachsNames){ // System.out.println("##################IN CONSTRUCTROR Attach: " + // mess); // } // // System.out.println("##########END MESSAGE: " + id); setAttachmentsNamesView(attachsNames); } private void setAttachmentsNamesView(List attachsNames) { if (attachsNames.size() == 0) { set(ConstantsExplorer.ATTACHS, ""); } else if (attachsNames.size() == 1) { set(ConstantsExplorer.ATTACHS, attachsNames.get(0)); } else if (attachsNames.size() > 1) set(ConstantsExplorer.ATTACHS, attachsNames.get(0) + " [+" + attachsNames.size() + "]"); } private void setMessageType(String messageType) { set(ConstantsExplorer.MESSAGETYPE, messageType); } private void setAttachmentsNames(List attachsNames) { set(ConstantsExplorer.LISTATTACHMENTSNAMES, attachsNames); } private void setListContactsToString(List listContactsToString) { set(ConstantsExplorer.LISTCONTACTSTOSTRING, listContactsToString); } private void setRead(String isRead) { set(ConstantsExplorer.ISREAD, isRead); } public String getIsRead() { return get(ConstantsExplorer.ISREAD); } private void setListContactsTo(List listContactsTo) { set(ConstantsExplorer.LISTCONTACTSTO, listContactsTo); } private void setListAttachments(List listAttachs) { set(ConstantsExplorer.LISTATTACHS, listAttachs); } private void setDate(Date date) { set(ConstantsExplorer.DATE, date); } private void setNumAttachments(int num) { set(ConstantsExplorer.NUMATTACHS, num); } public void setId(String id) { set(ConstantsExplorer.ID, id); } private void setText(String text) { set(ConstantsExplorer.TEXTMESS, text); } private void setFromContact(InfoContactModel contact) { set(ConstantsExplorer.FROM, contact); } private void setSubject(String subject) { set(ConstantsExplorer.SUBJECT, subject); } private void setFromLogin(String login) { set(ConstantsExplorer.FROMLOGIN, login); } public String getId() { return get(ConstantsExplorer.ID); } public String getSubject() { return get(ConstantsExplorer.SUBJECT); } public Date getDate() { return (Date) get(ConstantsExplorer.DATE); } public int getNumAttchments() { return (Integer) get(ConstantsExplorer.NUMATTACHS); } public InfoContactModel getFromContact() { return (InfoContactModel) get(ConstantsExplorer.FROM); } public String getFromLogin() { return get(ConstantsExplorer.FROMLOGIN); } public String getTextMessage() { return get(ConstantsExplorer.TEXTMESS); } public String getAttachmentsNamesView() { return get(ConstantsExplorer.ATTACHS); } public List getListContactsTo() { return get(ConstantsExplorer.LISTCONTACTSTO); } public List getListContactsToString() { return get(ConstantsExplorer.LISTCONTACTSTOSTRING); } public List getListAttachments() { return get(ConstantsExplorer.LISTATTACHS); } public String getMessageType() { return get(ConstantsExplorer.MESSAGETYPE); } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("MessageModel [getIsRead()="); builder.append(getIsRead()); builder.append(", getId()="); builder.append(getId()); builder.append(", getSubject()="); builder.append(getSubject()); builder.append(", getDate()="); builder.append(getDate()); builder.append(", getNumAttchments()="); builder.append(getNumAttchments()); builder.append(", getFromContact()="); builder.append(getFromContact()); builder.append(", getFromLogin()="); builder.append(getFromLogin()); builder.append(", getTextMessage()="); builder.append(getTextMessage()); builder.append(", getAttachmentsNamesView()="); builder.append(getAttachmentsNamesView()); builder.append(", getListContactsTo()="); builder.append(getListContactsTo()); builder.append(", getListContactsToString()="); builder.append(getListContactsToString()); builder.append(", getListAttachments()="); builder.append(getListAttachments()); builder.append(", getMessageType()="); builder.append(getMessageType()); builder.append("]"); return builder.toString(); } }