/** * 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; import br.gov.camara.edemocracia.portlets.chat.model.ChatRoom; 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.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; public class ChatPermissionChecker { private final boolean canJoin; private final boolean canSpy; private final boolean open; private final boolean canModerate; private static final Log LOG = LogFactoryUtil.getLog(ChatPermissionChecker.class); public ChatPermissionChecker(ChatRoom room) throws PortalException, SystemException { canSpy = canSpy(room); canModerate = canModerate(room); canJoin = canJoin(room); open = room.isOpen(); } public boolean isCanJoin() { return canJoin; } public boolean isCanSpy() { return canSpy; } public boolean isOpen() { return open; } public boolean isCanModerate() { return canModerate; } private boolean canSpy(ChatRoom room) { try { return ChatRoomServiceUtil.canSpy(room.getRoomId()); } catch (SystemException e) { LOG.error("Erro verificando Perfil do usuario", e); } catch (PortalException e) { LOG.error("Erro verificando Perfil do usuario", e); } return false; } private boolean canModerate(ChatRoom chatRoom) { try { return ChatRoomServiceUtil.canModerate(chatRoom.getRoomId()); } catch (SystemException e) { LOG.error("Erro verificando Perfil do usuario", e); } catch (PortalException e) { LOG.error("Erro verificando Perfil do usuario", e); } return false; } private boolean canJoin(ChatRoom chatRoom) { try { return ChatRoomServiceUtil.canJoin(chatRoom.getRoomId()); } catch (SystemException e) { LOG.error("Erro verificando Perfil do usuario", e); } catch (PortalException e) { LOG.error("Erro verificando Perfil do usuario", e); } return false; } }