Add versioning to JCR utilities.
[lgpl/argeo-commons.git] / org.argeo.eclipse.ui / src / org / argeo / eclipse / ui / jcr / VersionHistoryContentProvider.java
index 0ff7dce08ffd376d9bea29a7e7eb83811669ef59..32e5d30c18956e69c97ab1945b3fd18d4e923308 100644 (file)
@@ -1,14 +1,8 @@
 package org.argeo.eclipse.ui.jcr;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.jcr.RepositoryException;
-import javax.jcr.version.Version;
 import javax.jcr.version.VersionHistory;
-import javax.jcr.version.VersionIterator;
 
+import org.argeo.jcr.Jcr;
 import org.eclipse.jface.viewers.IStructuredContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 
@@ -26,17 +20,8 @@ public class VersionHistoryContentProvider implements IStructuredContentProvider
 
        @Override
        public Object[] getElements(Object inputElement) {
-               try {
-                       VersionHistory versionHistory = (VersionHistory) inputElement;
-                       List<Version> lst = new ArrayList<>();
-                       VersionIterator vit = versionHistory.getAllLinearVersions();
-                       while (vit.hasNext())
-                               lst.add(vit.nextVersion());
-                       Collections.reverse(lst);
-                       return lst.toArray();
-               } catch (RepositoryException e) {
-                       throw new IllegalStateException("Cannot list versions", e);
-               }
+               VersionHistory versionHistory = (VersionHistory) inputElement;
+               return Jcr.getLinearVersions(versionHistory).toArray();
        }
 
 }