From fb3e8b9fc4f2a87898e2c4899822624a6dd06245 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Tue, 5 Jan 2016 07:37:17 +1300 Subject: [PATCH] #511 - PagedList getTotalRowCount() includes soft deleted rows in its count --- .../server/querydefn/DefaultOrmQuery.java | 3 +++ .../avaje/tests/draftable/LinkQueryPublishTest.java | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java index ca801d039..86f94831d 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java +++ b/src/main/java/com/avaje/ebeaninternal/server/querydefn/DefaultOrmQuery.java @@ -529,6 +529,9 @@ public class DefaultOrmQuery implements SpiQuery { if (detail != null) { copy.detail = detail.copy(); } + if (temporalMode == TemporalMode.DRAFT) { + copy.temporalMode = TemporalMode.DRAFT; + } copy.firstRow = firstRow; copy.maxRows = maxRows; diff --git a/src/test/java/com/avaje/tests/draftable/LinkQueryPublishTest.java b/src/test/java/com/avaje/tests/draftable/LinkQueryPublishTest.java index 79b6e557b..9afd5c209 100644 --- a/src/test/java/com/avaje/tests/draftable/LinkQueryPublishTest.java +++ b/src/test/java/com/avaje/tests/draftable/LinkQueryPublishTest.java @@ -2,6 +2,7 @@ package com.avaje.tests.draftable; import com.avaje.ebean.Ebean; import com.avaje.ebean.EbeanServer; +import com.avaje.ebean.PagedList; import com.avaje.ebean.Query; import com.avaje.tests.model.draftable.Link; import org.junit.Test; @@ -32,6 +33,15 @@ public class LinkQueryPublishTest { ids.add(link2.getId()); ids.add(link3.getId()); + PagedList pagedList = + server.find(Link.class).asDraft() + .where().idIn(ids) + .setMaxRows(10) + .findPagedList(); + + assertThat(pagedList.getTotalRowCount()).isEqualTo(3); + + Query pubQuery = server.find(Link.class) .where().idIn(ids) .order().asc("id");