1 package org.argeo.eclipse.ui.jcr.lists;
2
3 import javax.jcr.Node;
4 import javax.jcr.RepositoryException;
5 import javax.jcr.query.Row;
6
7 import org.argeo.eclipse.ui.EclipseUiException;
8
9
10
11
12 public class SimpleJcrRowLabelProvider extends SimpleJcrNodeLabelProvider {
13 private static final long serialVersionUID = -3414654948197181740L;
14
15 final private String selectorName;
16
17
18
19
20
21 public SimpleJcrRowLabelProvider(String selectorName, String propertyName) {
22 super(propertyName);
23 this.selectorName = selectorName;
24 }
25
26
27
28
29
30 public SimpleJcrRowLabelProvider(String selectorName, String propertyName,
31 String dateFormatPattern, String numberFormatPattern) {
32 super(propertyName, dateFormatPattern, numberFormatPattern);
33 this.selectorName = selectorName;
34 }
35
36 @Override
37 public String getText(Object element) {
38 try {
39 Row currRow = (Row) element;
40 Node currNode = currRow.getNode(selectorName);
41 return super.getText(currNode);
42 } catch (RepositoryException re) {
43 throw new EclipseUiException("Unable to get Node " + selectorName
44 + " from row " + element, re);
45 }
46 }
47 }