Skip to content

Commit a4eed6c

Browse files
committed
Refactor to restore coverage
1 parent 552c4b9 commit a4eed6c

File tree

3 files changed

+12
-28
lines changed

3 files changed

+12
-28
lines changed

src/main/java/org/mybatis/dynamic/sql/select/LimitAndOffsetPagingModel.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.mybatis.dynamic.sql.select;
1717

18+
import java.util.Objects;
1819
import java.util.Optional;
1920

2021
public class LimitAndOffsetPagingModel implements PagingModel {
@@ -23,12 +24,12 @@ public class LimitAndOffsetPagingModel implements PagingModel {
2324
private Long offset;
2425

2526
private LimitAndOffsetPagingModel(Builder builder) {
26-
this.limit = builder.limit;
27+
this.limit = Objects.requireNonNull(builder.limit);
2728
this.offset = builder.offset;
2829
}
2930

30-
public Optional<Long> limit() {
31-
return Optional.ofNullable(limit);
31+
public Long limit() {
32+
return limit;
3233
}
3334

3435
public Optional<Long> offset() {

src/main/java/org/mybatis/dynamic/sql/select/SelectDSL.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public FetchFirstFinisher fetchFirst(long fetchFirstRows) {
166166

167167
@Override
168168
public R build() {
169-
SelectDSL.this.pagingModel = new LimitAndOffsetPagingModel.Builder()
169+
SelectDSL.this.pagingModel = new FetchFirstPagingModel.Builder()
170170
.withOffset(offset)
171171
.build();
172172
return SelectDSL.this.build();

src/main/java/org/mybatis/dynamic/sql/select/render/LimitAndOffsetPagingModelRenderer.java

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,38 +34,21 @@ public LimitAndOffsetPagingModelRenderer(RenderingStrategy renderingStrategy,
3434
}
3535

3636
public Optional<FragmentAndParameters> render() {
37-
return pagingModel.limit()
38-
.map(this::renderWithLimit)
39-
.orElseGet(this::renderOffsetOnly);
40-
}
41-
42-
private Optional<FragmentAndParameters> renderWithLimit(Long limit) {
4337
return pagingModel.offset()
44-
.map(o -> renderLimitAndOffset(limit, o))
45-
.orElseGet(() -> renderLimitOnly(limit));
46-
}
47-
48-
private Optional<FragmentAndParameters> renderOffsetOnly() {
49-
return pagingModel.offset().flatMap(this::renderOffsetOnly);
50-
}
51-
52-
private Optional<FragmentAndParameters> renderOffsetOnly(Long offset) {
53-
return FragmentAndParameters
54-
.withFragment("offset " + renderPlaceholder(OFFSET_PARAMETER)) //$NON-NLS-1$
55-
.withParameter(OFFSET_PARAMETER, offset)
56-
.buildOptional();
38+
.map(this::renderLimitAndOffset)
39+
.orElseGet(this::renderLimitOnly);
5740
}
58-
59-
private Optional<FragmentAndParameters> renderLimitOnly(Long limit) {
41+
42+
private Optional<FragmentAndParameters> renderLimitOnly() {
6043
return FragmentAndParameters.withFragment("limit " + renderPlaceholder(LIMIT_PARAMETER)) //$NON-NLS-1$
61-
.withParameter(LIMIT_PARAMETER, limit)
44+
.withParameter(LIMIT_PARAMETER, pagingModel.limit())
6245
.buildOptional();
6346
}
6447

65-
private Optional<FragmentAndParameters> renderLimitAndOffset(Long limit, Long offset) {
48+
private Optional<FragmentAndParameters> renderLimitAndOffset(Long offset) {
6649
return FragmentAndParameters.withFragment("limit " + renderPlaceholder(LIMIT_PARAMETER) //$NON-NLS-1$
6750
+ " offset " + renderPlaceholder(OFFSET_PARAMETER)) //$NON-NLS-1$
68-
.withParameter(LIMIT_PARAMETER, limit)
51+
.withParameter(LIMIT_PARAMETER, pagingModel.limit())
6952
.withParameter(OFFSET_PARAMETER, offset)
7053
.buildOptional();
7154
}

0 commit comments

Comments
 (0)