Package com.cedarsolutions.dao.domain

Examples of com.cedarsolutions.dao.domain.Pagination


public class PaginationUtilsTest {

    /** Empty iterator. */
    @Test public void testConstructor1() {
        List<String> list = new ArrayList<String>();
        Pagination pagination = new Pagination(5);
        FilteredResultIterator<String> iterator = buildFilteredResultsIteratorForList(list);
        PaginatedResults<String> results = PaginationUtils.createPaginatedResults(pagination, iterator);
        assertEquals(0, results.size());
    }
View Full Code Here


        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");

        Pagination pagination = new Pagination(5);
        FilteredResultIterator<String> iterator = buildFilteredResultsIteratorForList(list);
        PaginatedResults<String> results = PaginationUtils.createPaginatedResults(pagination, iterator);
        assertEquals(4, results.size());
        assertEquals("one", results.get(0));
        assertEquals("two", results.get(1));
View Full Code Here

        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");

        Pagination pagination = new Pagination(5);
        FilteredResultIterator<String> iterator = buildFilteredResultsIteratorForList(list);
        PaginatedResults<String> results = PaginationUtils.createPaginatedResults(pagination, iterator);
        assertEquals(5, results.size());
        assertEquals("one", results.get(0));
        assertEquals("two", results.get(1));
View Full Code Here

        list.add("four");
        list.add("five");
        list.add("six");
        list.add("seven");

        Pagination pagination = new Pagination(5);
        FilteredResultIterator<String> iterator = buildFilteredResultsIteratorForList(list);
        PaginatedResults<String> results = PaginationUtils.createPaginatedResults(pagination, iterator);
        assertEquals(5, results.size());
        assertEquals("one", results.get(0));
        assertEquals("two", results.get(1));
View Full Code Here

        assertNull(result);
    }

    /** Test pagination when filtering is not involved, for StringIdEntity. */
    @Test public void testPaginationNoFilteringString() {
        Pagination pagination;
        PaginatedResults<StringIdEntity> results;

        // These entities by default do not have values that get caught by the filter
        List<StringIdEntity> entities = createTestEntitiesString(19);
        StringIdEntityDao dao = createStringIdEntityDao();
        for (StringIdEntity entity : entities) {
            dao.insertTestEntity(entity);
        }

        // The fetch (with no pagination) retrieves everything
        results = dao.retrieveTestEntities();
        assertFound(results, "entity1", "entity2", "entity3", "entity4", "entity5",
                             "entity6", "entity7", "entity8", "entity9", "entity10",
                             "entity11", "entity12", "entity13", "entity14", "entity15",
                             "entity16", "entity17", "entity18", "entity19");
        assertNull(results.getPagination());

        // We'll set up pagination at 5 items per page, which will get us 4 pages
        pagination = new Pagination(5);
        assertPagination(pagination, 1, false, false, false, false, 0, 0);

        // The fetch retrieves page 1, and we know there are at least 2 pages
        results = dao.retrieveTestEntities(pagination);
        assertFound(results, "entity1", "entity2", "entity3", "entity4", "entity5");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, false, 2, 5);

        // page(5) doesn't exist yet, so we get the largest known page, page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, "entity6", "entity7", "entity8", "entity9", "entity10");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, false, 3, 10);

        // next() retrieves page 3, and we know there are at least 4 pages
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, "entity11", "entity12", "entity13", "entity14", "entity15");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 3, true, true, true, false, 4, 15);

        // next() retrieves page 4, and we now know that there are 4 pages total
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, "entity16", "entity17", "entity18", "entity19");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 19);

        // page(2) exists, so we get back to page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(2));
        assertFound(results, "entity6", "entity7", "entity8", "entity9", "entity10");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 19);

        // previous() brings us to page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, "entity1", "entity2", "entity3", "entity4", "entity5");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);

        // previous() again doesn't exist, so we get page 1 again
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, "entity1", "entity2", "entity3", "entity4", "entity5");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);

        // next() gets us page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, "entity6", "entity7", "entity8", "entity9", "entity10");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 19);

        // page(0) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(0));
        assertFound(results, "entity1", "entity2", "entity3", "entity4", "entity5");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);

        // page(5) doesn't exist, so we get the largest known page
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, "entity16", "entity17", "entity18", "entity19");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 19);

        // page(-1) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(-1));
        assertFound(results, "entity1", "entity2", "entity3", "entity4", "entity5");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);
    }
View Full Code Here

        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);
    }

    /** Test pagination when filtering is not involved, for StringIdEntity. */
    @Test public void testPaginationWithFilteringString() {
        Pagination pagination;
        PaginatedResults<StringIdEntity> results;

        // These entities by default do not have values that get caught by the filter
        // I'm going to pick a few of them and change them so the filter catches them.
        List<StringIdEntity> entities = createTestEntitiesString(19);
        entities.get(1).setId("entity2X");
        entities.get(9).setId("entity10X");
        entities.get(17).setId("entity18X");

        StringIdEntityDao dao = createStringIdEntityDao();
        for (StringIdEntity entity : entities) {
            dao.insertTestEntity(entity);
        }

        // We'll set up pagination at 5 items per page, which will get us 4 pages
        pagination = new Pagination(5);
        assertPagination(pagination, 1, false, false, false, false, 0, 0);

        // The fetch retrieves page 1, and we know there are at least 2 pages
        results = dao.retrieveTestEntities(pagination);
        assertFound(results, "entity1", "entity3", "entity4", "entity5", "entity6");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, false, 2, 5);

        // page(5) doesn't exist yet, so we get the largest known page, page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, "entity7", "entity8", "entity9", "entity11", "entity12");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, false, 3, 10);

        // next() retrieves page 3, and we know there are at least 4 pages
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, "entity13", "entity14", "entity15", "entity16", "entity17");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 3, true, true, true, false, 4, 15);

        // next() retrieves page 4, and we now know that there are 4 pages total
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, "entity19");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 16);

        // page(2) exists, so we get back to page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(2));
        assertFound(results, "entity7", "entity8", "entity9", "entity11", "entity12");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 16);

        // previous() brings us to page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, "entity1", "entity3", "entity4", "entity5", "entity6");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);

        // previous() again doesn't exist, so we get page 1 again
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, "entity1", "entity3", "entity4", "entity5", "entity6");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);

        // next() gets us page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, "entity7", "entity8", "entity9", "entity11", "entity12");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 16);

        // page(0) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(0));
        assertFound(results, "entity1", "entity3", "entity4", "entity5", "entity6");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);

        // page(5) doesn't exist, so we get the largest known page
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, "entity19");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 16);

        // page(-1) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(-1));
        assertFound(results, "entity1", "entity3", "entity4", "entity5", "entity6");
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);
    }
View Full Code Here

    }


    /** Test pagination when filtering is not involved, for IntegerIdEntity. */
    @Test public void testPaginationNoFilteringInteger() {
        Pagination pagination;
        PaginatedResults<IntegerIdEntity> results;

        // These entities by default do not have values that get caught by the filter
        List<IntegerIdEntity> entities = createTestEntitiesInteger(19);
        IntegerIdEntityDao dao = createIntegerIdEntityDao();
        for (IntegerIdEntity entity : entities) {
            dao.insertTestEntity(entity);
        }

        // The fetch (with no pagination) retrieves everything
        results = dao.retrieveTestEntities();
        assertFound(results, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19);
        assertNull(results.getPagination());

        // We'll set up pagination at 5 items per page, which will get us 4 pages
        pagination = new Pagination(5);
        assertPagination(pagination, 1, false, false, false, false, 0, 0);

        // The fetch retrieves page 1, and we know there are at least 2 pages
        results = dao.retrieveTestEntities(pagination);
        assertFound(results, 1, 2, 3, 4, 5);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, false, 2, 5);

        // page(5) doesn't exist yet, so we get the largest known page, page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, 6, 7, 8, 9, 10);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, false, 3, 10);

        // next() retrieves page 3, and we know there are at least 4 pages
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, 11, 12, 13, 14, 15);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 3, true, true, true, false, 4, 15);

        // next() retrieves page 4, and we now know that there are 4 pages total
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, 16, 17, 18, 19);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 19);

        // page(2) exists, so we get back to page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(2));
        assertFound(results, 6, 7, 8, 9, 10);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 19);

        // previous() brings us to page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, 1, 2, 3, 4, 5);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);

        // previous() again doesn't exist, so we get page 1 again
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, 1, 2, 3, 4, 5);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);

        // next() gets us page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, 6, 7, 8, 9, 10);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 19);

        // page(0) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(0));
        assertFound(results, 1, 2, 3, 4, 5);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);

        // page(5) doesn't exist, so we get the largest known page
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, 16, 17, 18, 19);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 19);

        // page(-1) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(-1));
        assertFound(results, 1, 2, 3, 4, 5);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);
    }
View Full Code Here

        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 19);
    }

    /** Test pagination when filtering is not involved, for IntegerIdEntity. */
    @Test public void testPaginationWithFilteringInteger() {
        Pagination pagination;
        PaginatedResults<IntegerIdEntity> results;

        // These entities by default do not have values that get caught by the filter
        // I'm going to pick a few of them and change them so the filter catches them.
        List<IntegerIdEntity> entities = createTestEntitiesInteger(19);
        entities.get(1).setId(101);
        entities.get(9).setId(109);
        entities.get(17).setId(117);

        IntegerIdEntityDao dao = createIntegerIdEntityDao();
        for (IntegerIdEntity entity : entities) {
            dao.insertTestEntity(entity);
        }

        // We'll set up pagination at 5 items per page, which will get us 4 pages
        pagination = new Pagination(5);
        assertPagination(pagination, 1, false, false, false, false, 0, 0);

        // The fetch retrieves page 1, and we know there are at least 2 pages
        results = dao.retrieveTestEntities(pagination);
        assertFound(results, 1, 3, 4, 5, 6);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, false, 2, 5);

        // page(5) doesn't exist yet, so we get the largest known page, page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, 7, 8, 9, 11, 12);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, false, 3, 10);

        // next() retrieves page 3, and we know there are at least 4 pages
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, 13, 14, 15, 16, 17);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 3, true, true, true, false, 4, 15);

        // next() retrieves page 4, and we now know that there are 4 pages total
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, 19);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 16);

        // page(2) exists, so we get back to page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(2));
        assertFound(results, 7, 8, 9, 11, 12);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 16);

        // previous() brings us to page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, 1, 3, 4, 5, 6);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);

        // previous() again doesn't exist, so we get page 1 again
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.previous());
        assertFound(results, 1, 3, 4, 5, 6);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);

        // next() gets us page 2
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.next());
        assertFound(results, 7, 8, 9, 11, 12);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 2, true, true, true, true, 4, 16);

        // page(0) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(0));
        assertFound(results, 1, 3, 4, 5, 6);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);

        // page(5) doesn't exist, so we get the largest known page
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(5));
        assertFound(results, 19);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 4, true, true, false, true, 4, 16);

        // page(-1) doesn't exist, so we get page 1
        pagination = results.getPagination();
        results = dao.retrieveTestEntities(pagination.page(-1));
        assertFound(results, 1, 3, 4, 5, 6);
        assertNotSame(pagination, results.getPagination());
        assertPagination(results.getPagination(), 1, true, false, true, true, 4, 16);
    }
View Full Code Here

    /** Test clear() when a display is set. */
    @Test public void testClearWithDisplay() {
        IBackendDataRenderer<String, String> renderer = createRenderer();
        BackendDataSource<String, String> dataSource = new DataSource(renderer);
        Pagination pagination = dataSource.getPagination();
        dataSource.clear();
        assertNotSame(pagination, dataSource.getPagination());
        assertEquals(new Pagination(renderer.getPageSize()), dataSource.getPagination());
        verify(renderer.getDisplay()).setVisibleRangeAndClearData(new Range(0, renderer.getPageSize()), true);
    }
View Full Code Here

    }

    /** Test applyResults(), with no selection model. */
    @SuppressWarnings("unchecked")
    @Test public void testApplyResultsNoSelectionModel() {
        Pagination pagination = mock(Pagination.class);
        when(pagination.getTotalRows()).thenReturn(57);
        when(pagination.isTotalFinalized()).thenReturn(false);

        PaginatedResults<String> results = (PaginatedResults<String>) mock(PaginatedResults.class);
        when(results.getPagination()).thenReturn(pagination);

        IBackendDataRenderer<String, String> renderer = createRenderer();
View Full Code Here

TOP

Related Classes of com.cedarsolutions.dao.domain.Pagination

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.