View Javadoc
1   package org.argeo.connect.ui.util;
2   
3   import javax.jcr.Node;
4   import javax.jcr.Property;
5   
6   import org.argeo.connect.ui.AppWorkbenchService;
7   import org.argeo.connect.util.ConnectUtils;
8   import org.argeo.eclipse.ui.jcr.lists.SimpleJcrNodeLabelProvider;
9   import org.eclipse.swt.graphics.Image;
10  
11  /**
12   * Add an icon to the results, using the AppWorkbenchService. It also clean the
13   * retrieved texts to be compliant with RAP
14   */
15  public class TitleIconHtmlLP extends SimpleJcrNodeLabelProvider {
16  	private static final long serialVersionUID = 6064779874148619776L;
17  
18  	private final AppWorkbenchService appWorkbenchService;
19  
20  	public TitleIconHtmlLP(AppWorkbenchService appWorkbenchService) {
21  		super(Property.JCR_TITLE);
22  		this.appWorkbenchService = appWorkbenchService;
23  	}
24  
25  	public TitleIconHtmlLP(AppWorkbenchService appWorkbenchService, String propertyName) {
26  		super(propertyName);
27  		this.appWorkbenchService = appWorkbenchService;
28  	}
29  
30  	@Override
31  	public String getText(Object element) {
32  		return ConnectUtils.replaceAmpersand(super.getText(element));
33  	}
34  
35  	@Override
36  	public Image getImage(Object element) {
37  		return appWorkbenchService.getIconForType(((Node) element));
38  	}
39  }