/* * $Id$ * Created on Oct 24, 2005 * * Copyright (C) 2005 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package com.idega.block.process.message.presentation; import java.util.Collection; import java.util.Iterator; import com.idega.block.process.message.data.Message; import com.idega.presentation.IWContext; import com.idega.presentation.text.Link; import com.idega.presentation.text.ListItem; import com.idega.presentation.text.Lists; import com.idega.presentation.text.Text; public class UserMessagesList extends UserMessages { private int iMaxNumberOfLetters; protected void present(IWContext iwc) throws Exception { if (getMessageType() == null) { add(new Text("No code set...")); return; } if (!iwc.isLoggedOn()) { add(new Text("No user logged on...")); return; } if (getMaxNumberOfEntries() == -1) { setMaximumNumberOfEntries(5); } Lists list = new Lists(); list.setStyleClass("userMessagesList"); Collection cases = getMessages(iwc, 0, getMaxNumberOfEntries()); Iterator iter = cases.iterator(); while (iter.hasNext()) { Message message = (Message) iter.next(); String subject = message.getSubject() != null ? message.getSubject() : getResourceBundle().getLocalizedString("message.no_subject", "No subject"); if (this.iMaxNumberOfLetters > 0) { if (subject.length() > this.iMaxNumberOfLetters) { subject = subject.substring(0, this.iMaxNumberOfLetters) + "..."; } } Link link = new Link(new Text(subject)); link.addParameter(PARAMETER_MESSAGE_PK, message.getPrimaryKey().toString()); if (getViewerPage() != null) { link.setPage(getViewerPage()); } else { link.setWindowToOpen(MessageWindow.class); } ListItem item = new ListItem(); item.add(link); if (!getMessageBusiness().isMessageRead(message)) { item.setStyleClass("newMessage"); } list.add(item); } add(list); } public void setMaximumNumberOfLetters(int maxNumberOfLetters) { this.iMaxNumberOfLetters = maxNumberOfLetters; } }