View Javadoc
1   package org.argeo.cms.e4.users;
2   
3   import org.argeo.cms.e4.CmsE4Utils;
4   import org.argeo.naming.LdapAttrs;
5   import org.eclipse.e4.ui.workbench.modeling.EPartService;
6   import org.eclipse.jface.viewers.DoubleClickEvent;
7   import org.eclipse.jface.viewers.IDoubleClickListener;
8   import org.eclipse.jface.viewers.IStructuredSelection;
9   import org.osgi.service.useradmin.Group;
10  import org.osgi.service.useradmin.User;
11  
12  /**
13   * Default double click listener for the various user tables, will open the
14   * clicked item in the editor
15   */
16  public class UserTableDefaultDClickListener implements IDoubleClickListener {
17  	private final EPartService partService;
18  
19  	public UserTableDefaultDClickListener(EPartService partService) {
20  		this.partService = partService;
21  	}
22  
23  	public void doubleClick(DoubleClickEvent evt) {
24  		if (evt.getSelection().isEmpty())
25  			return;
26  		Object obj = ((IStructuredSelection) evt.getSelection()).getFirstElement();
27  		User user = (User) obj;
28  
29  		String editorId = getEditorId(user);
30  		CmsE4Utils.openEditor(partService, editorId, LdapAttrs.uid.name(), user.getName());
31  	}
32  
33  	protected String getEditorId(User user) {
34  		if (user instanceof Group)
35  			return "org.argeo.cms.e4.partdescriptor.groupEditor";
36  		else
37  			return "org.argeo.cms.e4.partdescriptor.userEditor";
38  	}
39  }