View Javadoc
1   package org.argeo.eclipse.ui.jcr;
2   
3   import javax.jcr.Node;
4   import javax.jcr.Property;
5   import javax.jcr.RepositoryException;
6   import javax.jcr.version.Version;
7   
8   import org.eclipse.jface.viewers.ColumnLabelProvider;
9   import org.eclipse.swt.graphics.Image;
10  
11  /** Simplifies writing JCR-based column label provider. */
12  public class VersionColumnLabelProvider extends ColumnLabelProvider {
13  	private static final long serialVersionUID = -6117690082313161159L;
14  
15  	protected String getVersionText(Version version) throws RepositoryException {
16  		return super.getText(version);
17  	}
18  
19  	protected String getVersionToolTipText(Version version) throws RepositoryException {
20  		return super.getToolTipText(version);
21  	}
22  
23  	protected Image getVersionImage(Version version) throws RepositoryException {
24  		return super.getImage(version);
25  	}
26  
27  	protected String getUserName(Version version) throws RepositoryException {
28  		Node node = version.getFrozenNode();
29  		if(node.hasProperty(Property.JCR_LAST_MODIFIED_BY))
30  			return node.getProperty(Property.JCR_LAST_MODIFIED_BY).getString();
31  		if(node.hasProperty(Property.JCR_CREATED_BY))
32  			return node.getProperty(Property.JCR_CREATED_BY).getString();
33  		return null;
34  	}
35  	
36  //	protected String getActivityTitle(Version version) throws RepositoryException {
37  //		Node activity = getActivity(version);
38  //		if (activity == null)
39  //			return null;
40  //		if (activity.hasProperty("jcr:activityTitle"))
41  //			return activity.getProperty("jcr:activityTitle").getString();
42  //		else
43  //			return activity.getName();
44  //	}
45  //
46  //	protected Node getActivity(Version version) throws RepositoryException {
47  //		if (version.hasProperty(Property.JCR_ACTIVITY)) {
48  //			return version.getProperty(Property.JCR_ACTIVITY).getNode();
49  //		} else
50  //			return null;
51  //	}
52  
53  	@Override
54  	public String getText(Object element) {
55  		try {
56  			return getVersionText((Version) element);
57  		} catch (RepositoryException e) {
58  			throw new RuntimeException("Runtime repository exception when accessing " + element, e);
59  		}
60  	}
61  
62  	@Override
63  	public Image getImage(Object element) {
64  		try {
65  			return getVersionImage((Version) element);
66  		} catch (RepositoryException e) {
67  			throw new RuntimeException("Runtime repository exception when accessing " + element, e);
68  		}
69  	}
70  
71  	@Override
72  	public String getToolTipText(Object element) {
73  		try {
74  			return getVersionToolTipText((Version) element);
75  		} catch (RepositoryException e) {
76  			throw new RuntimeException("Runtime repository exception when accessing " + element, e);
77  		}
78  	}
79  
80  }