/** * 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.beans.admin.list; import java.util.Arrays; import java.util.Collections; import java.util.List; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import br.gov.camara.edemocracia.portlets.chat.CantRemoveOpenedChatRoom; import br.gov.camara.edemocracia.portlets.chat.model.ChatRoom; import br.gov.camara.edemocracia.portlets.chat.model.impl.RoomOpenPolicy; import br.gov.camara.edemocracia.portlets.chat.model.impl.RoomStatus; import br.gov.camara.edemocracia.portlets.chat.service.ChatRoomServiceUtil; import com.liferay.faces.portal.context.LiferayFacesContext; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; /** * Listagem das salas de bate-papo * * @author p_7339 * */ @ManagedBean(name = "listaSalas") @RequestScoped public class ListaSalasBean { /** * Lista as salas do site atual * * @return */ public List<ChatRoom> getSalas() { try { ChatRoom[] rooms = ChatRoomServiceUtil.findAllInGroup(LiferayFacesContext.getInstance().getScopeGroupId()); return Collections.unmodifiableList(Arrays.asList(rooms)); } catch (SystemException e) { return Collections.emptyList(); } } /** * Remove a sala especificada * * @param roomId * @return */ public Object remove(long roomId) { try { ChatRoom room = ChatRoomServiceUtil.getRoom(roomId); if (room != null) { try { ChatRoomServiceUtil.deleteChatRoom(room.getRoomId()); LiferayFacesContext.getInstance().addGlobalInfoMessage("room-delete-success"); } catch (CantRemoveOpenedChatRoom e) { LiferayFacesContext.getInstance().addGlobalErrorMessage("room-cant-delete-open-room"); } } else { LiferayFacesContext.getInstance().addGlobalErrorMessage("room-cant-find"); } } catch (PortalException e) { LiferayFacesContext.getInstance().addGlobalErrorMessage("room-cant-find"); } catch (SystemException e) { throw new RuntimeException(e); } return null; } /** * Status da sala * * @param roomStatusId * @return */ public String getNomeStatus(int roomStatusId) { RoomStatus status = RoomStatus.withValue(roomStatusId); return status.getMsg(); } /** * Política de abertura da sala * * @param openPolicyId * @return */ public String getNomePoliticaAbertura(int openPolicyId) { RoomOpenPolicy policy = RoomOpenPolicy.withValue(openPolicyId); return policy.getMsg(); } }