]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui/src/org/argeo/eclipse/ui/jcr/QueryTableContentProvider.java
SDK system based on Makefiles
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / eclipse / ui / jcr / QueryTableContentProvider.java
1 package org.argeo.eclipse.ui.jcr;
2
3 import javax.jcr.NodeIterator;
4 import javax.jcr.RepositoryException;
5 import javax.jcr.query.Query;
6
7 import org.argeo.jcr.JcrException;
8 import org.argeo.jcr.JcrUtils;
9 import org.eclipse.jface.viewers.IStructuredContentProvider;
10 import org.eclipse.jface.viewers.Viewer;
11
12 /** Content provider based on a JCR {@link Query}. */
13 public class QueryTableContentProvider implements IStructuredContentProvider {
14 private static final long serialVersionUID = 760371460907204722L;
15
16 @Override
17 public void dispose() {
18 }
19
20 @Override
21 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
22 }
23
24 @Override
25 public Object[] getElements(Object inputElement) {
26 Query query = (Query) inputElement;
27 try {
28 NodeIterator nit = query.execute().getNodes();
29 return JcrUtils.nodeIteratorToList(nit).toArray();
30 } catch (RepositoryException e) {
31 throw new JcrException(e);
32 }
33 }
34
35 }