diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtils.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtils.java index 9250b138a..3bf00a36a 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtils.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtils.java @@ -28,7 +28,7 @@ public enum PaginationUtils { public Page exchange(Pagination paging) { int limit = paging.getPageSize(); - int from = paging.getPageSize() * (paging.getPageNum() - 1); + int from = paging.getPageSize() * ((paging.getPageNum() == 0 ? 1 : paging.getPageNum()) - 1); return new Page(from, limit); } diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/test/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtilsTestCase.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/test/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtilsTestCase.java index 782d5ff1c..324e30f7f 100644 --- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/test/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtilsTestCase.java +++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/test/java/org/apache/skywalking/apm/collector/ui/utils/PaginationUtilsTestCase.java @@ -37,6 +37,13 @@ public class PaginationUtilsTestCase { Assert.assertEquals(0, page.getFrom()); Assert.assertEquals(10, page.getLimit()); + pagination = new Pagination(); + pagination.setPageSize(10); + + page = PaginationUtils.INSTANCE.exchange(pagination); + Assert.assertEquals(0, page.getFrom()); + Assert.assertEquals(10, page.getLimit()); + pagination = new Pagination(); pagination.setPageSize(10); pagination.setPageNum(2);