/** * 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.dashboard.beans; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import br.gov.camara.edemocracia.portlets.dashboard.Recurso; import br.gov.camara.edemocracia.portlets.dashboard.dto.Configuracao; import br.gov.camara.edemocracia.portlets.dashboard.dto.RecursoDTO; import br.gov.camara.edemocracia.portlets.dashboard.manager.ConfiguracaoManager; import br.gov.camara.edemocracia.portlets.dashboard.service.DashboardLocalServiceUtil; import com.liferay.faces.portal.context.LiferayFacesContext; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.json.JSONException; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.util.portlet.PortletProps; @ViewScoped @ManagedBean public class InitBean implements Serializable { private static final long serialVersionUID = 6111144509335400635L; private static final Log _log = LogFactoryUtil.getLog(InitBean.class); private List<RecursoDTO> dados; private Configuracao config = null; private boolean configurarPortlet; private Recurso recurso; @PostConstruct() private void init(){ carregarConfiguracao(); if (config == null ) { configurarPortlet = true; return; } else { recurso = Recurso.withValue(config.getRecurso()); } carregarDados(); } private void carregarConfiguracao() { try { config = ConfiguracaoManager.getConfiguracao(); } catch (JSONException e) { mostrarMensagemDeErro("Erro ao recuperar dados."); _log.error("Erro ao recuperar dados.",e); } } private void carregarDados() { if (config != null) { long companyId = LiferayFacesContext.getInstance().getCompanyId(); String portletInstanceId = LiferayFacesContext.getInstance().getPortletInstanceId(); try { dados = DashboardLocalServiceUtil.getRecursosComMaiorParticipacao(companyId, config, portletInstanceId, recurso); } catch (SystemException e) { dados = new ArrayList<RecursoDTO>(); mostrarMensagemDeErro("Erro ao recuperar dados."); _log.error("Erro ao recuperar dados.",e); } } } public String getTituloDoPortlet(){ Recurso recursoSelecionado = Recurso.withValue(config.getRecurso()); String titulo = PortletProps.get("titulo." + recursoSelecionado.toString().toLowerCase()); return titulo; } public boolean getConfigurarPortlet() { return configurarPortlet; } public List<RecursoDTO> getDados() { return dados; } private void mostrarMensagemDeErro(String mensagem) { LiferayFacesContext.getInstance().addGlobalErrorMessage(mensagem); } public Configuracao getConfig() { return config; } public Recurso getRecurso() { return recurso; } }