/**
* 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.chat.portlet.views;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import br.gov.camara.edemocracia.portlets.chat.model.ChatRoom;
import br.gov.camara.edemocracia.portlets.chat.model.ChatRoomMessage;
import br.gov.camara.edemocracia.portlets.chat.model.ChatRoomTwitter;
import br.gov.camara.edemocracia.portlets.chat.model.ChatRoomVideo;
import br.gov.camara.edemocracia.portlets.chat.model.impl.RoomStatus;
import br.gov.camara.edemocracia.portlets.chat.portlet.ChatPortletConstants;
import br.gov.camara.edemocracia.portlets.chat.portlet.ChatRoomView;
import br.gov.camara.edemocracia.portlets.chat.service.ChatRoomServiceUtil;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.servlet.SessionErrors;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portal.theme.ThemeDisplay;
/**
* @author robson
*
*/
public class HistoryView extends AbstractView {
@Override
public ChatRoomView processView(RenderRequest request, RenderResponse response) throws PortalException, SystemException {
ChatRoom room = getRoom(request);
ThemeDisplay td = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
if (room == null) {
return addRoomNotFoundMessage(request, td.getUser());
} else if (room.getStatus() != RoomStatus.Exported.getValue()) {
SessionErrors.add(request, "room-not-exported");
if (td.getUser().isDefaultUser())
return ChatRoomView.ERROR;
else
return ChatRoomView.LIST;
}
ChatRoomMessage[] messages = ChatRoomServiceUtil.getMessagesForExport(room.getRoomId());
request.setAttribute("messages", messages);
ChatRoomVideo chatRoomVideoRecorded = getChatRoomVideoRecorded(request);
request.setAttribute(ChatPortletConstants.VIDEO_RECORDED_ATTRIBUTE, chatRoomVideoRecorded);
ChatRoomTwitter chatRoomTwitter = getChatRoomTwitter(request);
request.setAttribute(ChatPortletConstants.TWITTER_ATTRIBUTE, chatRoomTwitter);
long usersCount = ChatRoomServiceUtil.getUserCount(room.getRoomId());
request.setAttribute(ChatPortletConstants.USERS_COUNT_ATTRIBUTE, usersCount);
return ChatRoomView.HISTORY;
}
}