1 package org
.argeo
.slc
.client
.ui
.providers
;
4 import javax
.jcr
.Property
;
5 import javax
.jcr
.RepositoryException
;
6 import javax
.jcr
.nodetype
.NodeType
;
8 import org
.argeo
.eclipse
.ui
.TreeParent
;
9 import org
.argeo
.slc
.SlcException
;
10 import org
.argeo
.slc
.client
.ui
.SlcImages
;
11 import org
.argeo
.slc
.client
.ui
.SlcUiConstants
;
12 import org
.argeo
.slc
.client
.ui
.model
.ResultParent
;
13 import org
.argeo
.slc
.client
.ui
.model
.SingleResultNode
;
14 import org
.eclipse
.jface
.viewers
.LabelProvider
;
15 import org
.eclipse
.swt
.graphics
.Image
;
17 /** Basic label provider for a tree of result */
18 public class ResultTreeLabelProvider
extends LabelProvider
{
19 // private final static Log log = LogFactory
20 // .getLog(ResultTreeLabelProvider.class);
23 public String
getText(Object element
) {
24 if (element
instanceof SingleResultNode
) {
25 Node node
= ((SingleResultNode
) element
).getNode();
27 if (node
.isNodeType(NodeType
.MIX_TITLE
))
28 return node
.getProperty(Property
.JCR_TITLE
).getString();
29 } catch (RepositoryException e
) {
30 throw new SlcException("Unexpected error while getting "
31 + "custom result label", e
);
34 return ((TreeParent
) element
).getName();
37 public Image
getImage(Object obj
) {
38 if (obj
instanceof SingleResultNode
) {
39 // FIXME add realtime modification of process icon (SCHEDULED,
40 // RUNNING, COMPLETED...)
41 // Node resultNode = ((SingleResultNode) obj).getNode();
42 // int status = SlcJcrUtils.aggregateTestStatus(resultNode);
43 return SlcImages
.PROCESS_COMPLETED
;
44 } else if (obj
instanceof ResultParent
) {
45 ResultParent rParent
= (ResultParent
) obj
;
46 if (SlcUiConstants
.DEFAULT_MY_RESULTS_FOLDER_LABEL
.equals(rParent
48 return SlcImages
.MY_RESULTS_FOLDER
;
50 return SlcImages
.FOLDER
;