/**
* 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.guiadiscussao.beans.components;
import java.io.Serializable;
import java.util.List;
import javax.faces.component.FacesComponent;
import javax.faces.component.UINamingContainer;
import javax.faces.model.SelectItem;
import com.liferay.faces.portal.context.LiferayFacesContext;
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.portal.model.Layout;
import com.liferay.portal.service.LayoutServiceUtil;
@FacesComponent(value="linkPainel")
public class LinkPainel extends UINamingContainer implements Serializable {
private static final long serialVersionUID = 8643619054400898594L;
private List<Layout> paginasComunidade;
private static final Log LOG = LogFactoryUtil.getLog(LinkPainel.class);
public LinkPainel() {
// recuperando as páginas da comunidade
Long groupId = LiferayFacesContext.getInstance().getScopeGroupId();
try {
this.paginasComunidade = LayoutServiceUtil.getLayouts(
groupId.intValue(), false);
} catch (SystemException e) {
LiferayFacesContext.getInstance().addGlobalErrorMessage(
"Erro ao recuperar páginas da comunidade");
throw new RuntimeException(e);
} catch (PortalException e) {
LiferayFacesContext.getInstance().addGlobalErrorMessage(
"pagina-comunidade-nao-encontrada");
LOG.error("Erro ao recuperar páginas da comunidade", e);
}
}
public SelectItem[] getLinkExternoValues() {
return new SelectItem[] {
new SelectItem(Boolean.FALSE, "Comunidade"),
new SelectItem(Boolean.TRUE, "Externo")};
}
public List<Layout> getPaginasComunidade() {
return paginasComunidade;
}
}