/** * 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.wikilegis.ui.components; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.html.WebComponent; import org.apache.wicket.model.IModel; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.util.PortalUtil; /** * @author rpdmiranda * */ public class UserImage extends WebComponent { private static final long serialVersionUID = 1L; public UserImage(String id, IModel<?> model) { super(id, model); } public UserImage(String id) { super(id); } /** * Obtem o identificador do usuário */ protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); checkComponentTag(tag, "img"); Object obj = getDefaultModelObject(); long imageId = 0l; if (obj != null) { long userId; if (obj instanceof Number) userId = ((Number) obj).longValue(); else { try { userId = Long.parseLong(getDefaultModelObjectAsString(obj)); } catch (NumberFormatException e) { userId = 0l; } } if (userId > 0l) { try { imageId = UserLocalServiceUtil.getUser(userId).getPortraitId(); } catch (PortalException e) { } catch (SystemException e) { } } } String url = PortalUtil.getPathImage() + "/user_portrait?img_id=" + imageId; tag.put("src", url); } }