You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by je...@apache.org on 2012/07/06 13:46:52 UTC

svn commit: r1358144 - /chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/NavigationServiceTest.java

Author: jens
Date: Fri Jul  6 11:46:52 2012
New Revision: 1358144

URL: http://svn.apache.org/viewvc?rev=1358144&view=rev
Log:
fix bug wrong numItems returned in getChildren when paging is used [CMIS-539]

Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/NavigationServiceTest.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/NavigationServiceTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/NavigationServiceTest.java?rev=1358144&r1=1358143&r2=1358144&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/NavigationServiceTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/NavigationServiceTest.java Fri Jul  6 11:46:52 2012
@@ -200,6 +200,60 @@ public class NavigationServiceTest exten
         log.info("... testGetFolderParent() finished.");
     }
 
+    @Test
+    public void testGetPaging() {
+        log.info("starting testGetPaging() ...");
+        // create a folder
+        String folderId = super.createFolder("PagingFolder", fRootFolderId, InMemoryFolderTypeDefinition
+                .getRootFolderType().getId());
+        
+        // create some documents
+        for (int i=0; i<10; i++) {
+            super.createDocument("File-" + i, folderId, "cmis:document", true);
+        }
+        log.info("test getting all objects with getChildren");
+        // get first page
+        BigInteger maxItems = BigInteger.valueOf(3);
+        BigInteger skipCount = BigInteger.valueOf(0);
+        ObjectInFolderList result = fNavSvc.getChildren(fRepositoryId, folderId, "*", null, false,
+                IncludeRelationships.NONE, null, true, maxItems, skipCount, null);
+        List<ObjectInFolderData> files = result.getObjects();
+        log.info(" found " + files.size() + " files in getChildren()");
+        for (ObjectInFolderData file : files) {
+            log.info("   found folder id " + file.getObject().getId() + " path segment " + file.getPathSegment());
+        }
+        assertEquals(3, files.size());
+        assertEquals(BigInteger.valueOf(10), result.getNumItems());
+
+        // get second page
+        maxItems = BigInteger.valueOf(3);
+        skipCount = BigInteger.valueOf(3);
+        result = fNavSvc.getChildren(fRepositoryId, folderId, "*", null, false,
+                IncludeRelationships.NONE, null, true, maxItems, skipCount, null);
+        files = result.getObjects();
+        log.info(" found " + files.size() + " files in getChildren()");
+        for (ObjectInFolderData file : files) {
+            log.info("   found folder id " + file.getObject().getId() + " path segment " + file.getPathSegment());
+        }
+        assertEquals(3, files.size());
+        assertEquals(BigInteger.valueOf(10), result.getNumItems());
+      
+        // get third page
+        maxItems = BigInteger.valueOf(3);
+        skipCount = BigInteger.valueOf(9);
+        result = fNavSvc.getChildren(fRepositoryId, folderId, "*", null, false,
+                IncludeRelationships.NONE, null, true, maxItems, skipCount, null);
+        files = result.getObjects();
+        log.info(" found " + files.size() + " files in getChildren()");
+        for (ObjectInFolderData file : files) {
+            log.info("   found folder id " + file.getObject().getId() + " path segment " + file.getPathSegment());
+        }
+        assertEquals(1, files.size());
+        assertEquals(BigInteger.valueOf(10), result.getNumItems());
+        log.info("... testGetPaging() finished.");
+        
+    }
+    
     private int getSizeOfDescendants(List<ObjectInFolderContainer> objs) {
         int sum = 0;
         if (null != objs) {