package br.mp.mprj.portal.portlet.gestaomensagens.asset;

import java.util.Locale;

import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import br.mp.mprj.portal.portlet.gestaomensagens.service.model.Mensagem;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.service.UserLocalServiceUtil;
import com.liferay.portlet.asset.model.BaseAssetRenderer;

public class MensagemAssetRenderer extends BaseAssetRenderer {

	private Mensagem mensagem;
	
	public MensagemAssetRenderer(Mensagem mensagem) {
		this.mensagem = mensagem;
	}
	
	@Override
	public String getClassName() {
		return Mensagem.class.getName();
	}

	@Override
	public long getClassPK() {
		return mensagem.getMensagemId();
	}

	@Override
	public long getGroupId() {
		return mensagem.getGroupId();
	}

	@Override
	public String getSummary(Locale locale) {
		return mensagem.getConteudo();
	}

	@Override
	public String getTitle(Locale locale) {
		return mensagem.getAssunto();
	}

	@Override
	public long getUserId() {
		return mensagem.getUserIdCriador();
	}

	@Override
	public String getUserName() {
		String userName = null;
		try {
			userName = UserLocalServiceUtil.getUser(mensagem.getUserIdCriador())
					.getFullName();
		} catch (PortalException e) {
			e.printStackTrace();
		} catch (SystemException e) {
			e.printStackTrace();
			return userName;
		}
		return userName;
	}

	@Override
	public String getUuid() {
		return mensagem.getUuid();
	}

	@Override
	public String render(RenderRequest renderRequest,
			RenderResponse renderResponse, String template) throws Exception {
		if (template.equals(TEMPLATE_FULL_CONTENT)) {
			renderRequest.setAttribute("mensagem", mensagem);
			return "/admin/mensagem/mensagem.jsp";
		} else {
			return null;
		}
	}

}
