new Observer<GotPersonalInformationResponseEvent>()
{
public void update(final GotPersonalInformationResponseEvent event)
{
widget.removeStyleName(StaticResourceBundle.INSTANCE.coreCss().eurekaConnectLoading());
PersonModelView entity = event.getResponse();
if (entity == null)
{
final AvatarWidget blankAvatar = new AvatarWidget(EntityType.PERSON, Size.Normal);
blankAvatar.addStyleName(StaticResourceBundle.INSTANCE.coreCss()
.eurekaConnectBadgeAvatar());
widget.add(blankAvatar);
final Label blankName = new Label(accountId);
blankName.addStyleName(StaticResourceBundle.INSTANCE.coreCss().eurekaConnectBadgeName());
widget.add(blankName);
}
else
{
Widget linkPanel = AvatarLinkPanel.create(entity, Size.Normal, false);
linkPanel.addStyleName(StaticResourceBundle.INSTANCE.coreCss().eurekaConnectBadgeAvatar());
widget.add(linkPanel);
String linkUrl = "/#"
+ Session.getInstance().generateUrl(
new CreateUrlRequest(Page.PEOPLE, entity.getAccountId()));
Anchor name = new Anchor(entity.getDisplayName(), linkUrl, "_BLANK");
name.addStyleName(StaticResourceBundle.INSTANCE.coreCss().eurekaConnectBadgeName());
Label title = new Label(entity.getTitle());
title.addStyleName(StaticResourceBundle.INSTANCE.coreCss().eurekaConnectBadgeTitle());
Label company = new Label(entity.getCompanyName());
company.addStyleName(StaticResourceBundle.INSTANCE.coreCss().eurekaConnectBadgeCompany());
widget.add(name);
widget.add(title);
widget.add(company);