/**
* 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.converter;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import br.gov.camara.edemocracia.portlets.guiadiscussao.model.Acao;
import br.gov.camara.edemocracia.portlets.guiadiscussao.service.AcaoLocalServiceUtil;
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;
@FacesConverter(value="acaoConverter")
public class AcaoConverter implements Converter {
private static final Log LOG = LogFactoryUtil.getLog(AcaoConverter.class);
@Override
public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String str) {
Acao acao = null;
try {
acao = AcaoLocalServiceUtil.getAcao(Long.parseLong(str));
} catch (NumberFormatException e) {
LiferayFacesContext.getInstance().addGlobalErrorMessage(
"Erro ao converter ações");
LOG.error("Erro no conversor de ações. Erro ao converter String para long", e);
} catch (PortalException e) {
LiferayFacesContext.getInstance().addGlobalErrorMessage(
"acao-nao-encontrada");
LOG.error("Erro no conversor de ações. Ação não encontrada", e);
} catch (SystemException e) {
throw new RuntimeException(e);
}
return acao;
}
@Override
public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object obj) {
return obj.toString();
}
}