/**
* 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.beans.admin.FileEntryDisplay;
import br.gov.camara.edemocracia.portlets.guiadiscussao.util.BibliotecaImagensUtil;
import com.liferay.faces.portal.context.LiferayFacesContext;
import com.liferay.faces.util.lang.StringPool;
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.kernel.repository.model.FileEntry;
import com.liferay.portlet.documentlibrary.service.DLAppServiceUtil;
import com.liferay.portlet.documentlibrary.util.DLUtil;
@FacesConverter(value = "imagemConverter")
public class ImagemConverter implements Converter {
private static final Log LOG = LogFactoryUtil.getLog(ImagemConverter.class);
@Override
public Object getAsObject(FacesContext facesContext,
UIComponent uiComponent, String string) {
long fileEntryId = Long.parseLong(string);
FileEntryDisplay fileEntryDisplay = null;
try {
if (fileEntryId != 0) {
FileEntry fileEntry = DLAppServiceUtil
.getFileEntry(fileEntryId);
String urlImagem = DLUtil.getPreviewURL(fileEntry, fileEntry
.getFileVersion(), LiferayFacesContext.getInstance()
.getThemeDisplay(), StringPool.BLANK, false, true);
fileEntryDisplay = new FileEntryDisplay(
fileEntry.getFileEntryId(), fileEntry.getTitle(),
urlImagem);
} else {
fileEntryDisplay = BibliotecaImagensUtil.getImagemPadrao();
}
} catch (SystemException e) {
LOG.error("Erro ao construir filedisplay na conversão.", e);
} catch (PortalException e) {
fileEntryDisplay = BibliotecaImagensUtil.getImagemPadrao();
}
return fileEntryDisplay;
}
@Override
public String getAsString(FacesContext facesContext,
UIComponent uiComponent, Object object) {
return object.toString();
}
}