1 package org.argeo.cms.ui.internal; 2 3 import java.util.ArrayList; 4 5 import javax.jcr.Node; 6 import javax.jcr.NodeIterator; 7 import javax.jcr.RepositoryException; 8 9 import org.argeo.cms.CmsException; 10 import org.eclipse.jface.viewers.ITreeContentProvider; 11 import org.eclipse.jface.viewers.Viewer; 12 13 @Deprecated 14 class JcrContentProvider implements ITreeContentProvider { 15 private static final long serialVersionUID = -1333678161322488674L; 16 17 @Override 18 public void dispose() { 19 } 20 21 @Override 22 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { 23 if (newInput == null) 24 return; 25 if (!(newInput instanceof Node)) 26 throw new CmsException("Input " + newInput + " must be a node"); 27 } 28 29 @Override 30 public Object[] getElements(Object inputElement) { 31 try { 32 Node node = (Node) inputElement; 33 ArrayList<Node> arr = new ArrayList<Node>(); 34 NodeIterator nit = node.getNodes(); 35 while (nit.hasNext()) { 36 arr.add(nit.nextNode()); 37 } 38 return arr.toArray(); 39 } catch (RepositoryException e) { 40 throw new CmsException("Cannot get elements", e); 41 } 42 } 43 44 @Override 45 public Object[] getChildren(Object parentElement) { 46 try { 47 Node node = (Node) parentElement; 48 ArrayList<Node> arr = new ArrayList<Node>(); 49 NodeIterator nit = node.getNodes(); 50 while (nit.hasNext()) { 51 arr.add(nit.nextNode()); 52 } 53 return arr.toArray(); 54 } catch (RepositoryException e) { 55 throw new CmsException("Cannot get elements", e); 56 } 57 } 58 59 @Override 60 public Object getParent(Object element) { 61 try { 62 Node node = (Node) element; 63 if (node.getName().equals("")) 64 return null; 65 else 66 return node.getParent(); 67 } catch (RepositoryException e) { 68 throw new CmsException("Cannot get elements", e); 69 } 70 } 71 72 @Override 73 public boolean hasChildren(Object element) { 74 try { 75 Node node = (Node) element; 76 return node.hasNodes(); 77 } catch (RepositoryException e) { 78 throw new CmsException("Cannot get elements", e); 79 } 80 } 81 }