View Javadoc
1   package org.argeo.connect.ui.util;
2   
3   import static org.argeo.eclipse.ui.EclipseUiUtils.notEmpty;
4   
5   import javax.jcr.Node;
6   
7   import org.argeo.connect.UserAdminService;
8   import org.argeo.connect.util.ConnectJcrUtils;
9   import org.argeo.eclipse.ui.jcr.lists.SimpleJcrNodeLabelProvider;
10  
11  /**
12   * Returns the assigned to display name given a row that contains a Task
13   * selector
14   */
15  public class UserNameLP extends SimpleJcrNodeLabelProvider {
16  	private static final long serialVersionUID = 1L;
17  
18  	private String selectorName;
19  	private UserAdminService userAdminService;
20  
21  	public UserNameLP(UserAdminService userAdminService, String selectorName, String propertyName) {
22  		super(propertyName);
23  		if (notEmpty(selectorName))
24  			this.selectorName = selectorName;
25  		this.userAdminService = userAdminService;
26  	}
27  
28  	@Override
29  	public String getText(Object element) {
30  		Node currNode = ConnectJcrUtils.getNodeFromElement(element, selectorName);
31  		String userId = super.getText(currNode);
32  		String userName = null;
33  		if (notEmpty(userId))
34  			userName = userAdminService.getUserDisplayName(userId);
35  		if (notEmpty(userName) && !userName.equals(userId))
36  			return userName + " (" + userId + ")";
37  		else
38  			return userId;
39  	}
40  }