/**
* Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados.
*
* e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro
* dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do
* Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão.
*
* Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA;
* sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR.
* Veja a Licença Pública Geral Menor GNU para maiores detalhes.
*/
package br.gov.camara.edemocracia.portlets.wikilegis.ui.model;
import java.text.DateFormat;
import org.apache.wicket.model.LoadableDetachableModel;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portlet.messageboards.model.MBMessage;
import com.liferay.portlet.messageboards.service.MBMessageLocalServiceUtil;
/**
* @author robson
*
*/
public class ComentarioDisplayModel extends LoadableDetachableModel<ComentarioDisplay> {
private static final Log LOG = LogFactoryUtil.getLog(ComentarioDisplayModel.class);
/**
* Identificador da mensagem
*/
private final long messageId;
/**
* Formatador de data
*/
private final DateFormat df;
/**
* Monta um modelo baseando-se na mensagem
*
* @param message
* @throws SystemException
*/
public ComentarioDisplayModel(MBMessage message, DateFormat df) throws SystemException {
super(new ComentarioDisplay(message, df));
this.messageId = message.getMessageId();
this.df = df;
}
@Override
protected ComentarioDisplay load() {
try {
MBMessage message = MBMessageLocalServiceUtil.getMBMessage(messageId);
return new ComentarioDisplay(message, df);
} catch (PortalException e) {
LOG.info("Mensagem com identificador " + messageId + " não encontrada");
return null;
} catch (SystemException e) {
throw new RuntimeException(e);
}
}
}