Skip to content

Commit f2d3c04

Browse files
test(pagination): sonarcube refactor
1 parent fce74d6 commit f2d3c04

9 files changed

Lines changed: 91 additions & 87 deletions

File tree

src/main/java/io/apimatic/core/types/pagination/PageWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
public class PageWrapper<I, P> implements ApiResponseType<P> {
1010

11-
public static <I, P> PageWrapper<I, P> Create(
11+
public static <I, P> PageWrapper<I, P> create(
1212
Response response, P page, List<I> items) {
1313
return new PageWrapper<I, P>(response.getStatusCode(), response.getHeaders(), page, items);
1414
}

src/main/java/io/apimatic/core/types/pagination/PaginatedData.java

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@
1313
import io.apimatic.core.types.CoreApiException;
1414
import io.apimatic.coreinterfaces.http.response.Response;
1515

16-
public class PaginatedData<I, P, Res, ExceptionType extends CoreApiException> {
16+
public class PaginatedData<I, P, R, E extends CoreApiException> {
1717

18-
private final ApiCall<Res, ExceptionType> firstApiCall;
19-
private final Function<PageWrapper<I, Res>, P> pageCreator;
20-
private final Function<Res, List<I>> itemsCreator;
18+
private final ApiCall<R, E> firstApiCall;
19+
private final Function<PageWrapper<I, R>, P> pageCreator;
20+
private final Function<R, List<I>> itemsCreator;
2121
private final PaginationStrategy[] strategies;
2222

2323
private int itemIndex = 0;
24-
private final List<CheckedSupplier<I, ExceptionType>> items = new ArrayList<>();
25-
private CheckedSupplier<P, ExceptionType> page = null;
26-
private ApiCall<Res, ExceptionType> apiCall;
24+
private final List<CheckedSupplier<I, E>> items = new ArrayList<>();
25+
private CheckedSupplier<P, E> page = null;
26+
private ApiCall<R, E> apiCall;
2727
private boolean dataClosed = false;
2828

29-
public PaginatedData(final ApiCall<Res, ExceptionType> apiCall,
30-
final Function<PageWrapper<I, Res>, P> pageCreator,
31-
final Function<Res, List<I>> itemsCreator,
29+
public PaginatedData(final ApiCall<R, E> apiCall,
30+
final Function<PageWrapper<I, R>, P> pageCreator,
31+
final Function<R, List<I>> itemsCreator,
3232
final PaginationStrategy... strategies) {
3333
this.firstApiCall = apiCall;
3434
this.pageCreator = pageCreator;
@@ -58,16 +58,17 @@ public int getPageSize() {
5858
return items.size();
5959
}
6060

61-
public <T> List<T> getItems(Function<CheckedSupplier<I, ExceptionType>, T> itemCreator) {
62-
List<T> items = new ArrayList<>();
63-
for (CheckedSupplier<I,ExceptionType> i : this.items) {
64-
items.add(itemCreator.apply(i));
61+
public <T> List<T> getItems(Function<CheckedSupplier<I, E>, T> itemCreator) {
62+
List<T> createdItems = new ArrayList<>();
63+
for (CheckedSupplier<I, E> i : this.items) {
64+
createdItems.add(itemCreator.apply(i));
6565
}
66-
67-
return items;
66+
67+
return createdItems;
6868
}
6969

70-
public <T> T getPage(Function<CheckedSupplier<P, ExceptionType>, T> pageSupplier) {
70+
71+
public <T> T getPage(Function<CheckedSupplier<P, E>, T> pageSupplier) {
7172
if (page == null) {
7273
return null;
7374
}
@@ -78,8 +79,8 @@ public <T> T getPage(Function<CheckedSupplier<P, ExceptionType>, T> pageSupplier
7879
/**
7980
* @return An Iterator of items of type T
8081
*/
81-
public <T> Iterator<T> items(Function<CheckedSupplier<I, ExceptionType>, T> itemSupplier) {
82-
PaginatedData<I, P, Res, ExceptionType> paginatedData = new PaginatedData<>(
82+
public <T> Iterator<T> items(Function<CheckedSupplier<I, E>, T> itemSupplier) {
83+
PaginatedData<I, P, R, E> paginatedData = new PaginatedData<>(
8384
firstApiCall, pageCreator, itemsCreator, strategies);
8485

8586
return new Iterator<T>() {
@@ -106,8 +107,8 @@ public T next() {
106107
/**
107108
* @return An Iterator of pages of type T
108109
*/
109-
public <T> Iterator<T> pages(Function<CheckedSupplier<P, ExceptionType>, T> pageSupplier) {
110-
PaginatedData<I, P, Res, ExceptionType> paginatedData = new PaginatedData<>(
110+
public <T> Iterator<T> pages(Function<CheckedSupplier<P, E>, T> pageSupplier) {
111+
PaginatedData<I, P, R, E> paginatedData = new PaginatedData<>(
111112
firstApiCall, pageCreator, itemsCreator, strategies);
112113

113114
return new Iterator<T>() {
@@ -126,10 +127,11 @@ public T next() {
126127
throw new NoSuchElementException("No more pages available.");
127128
}
128129

129-
T page = pageSupplier.apply(paginatedData.page);
130+
T currentPage = pageSupplier.apply(paginatedData.page);
130131
paginatedData.page = null;
131-
return page;
132+
return currentPage;
132133
}
134+
133135
};
134136
}
135137

@@ -142,7 +144,7 @@ public CompletableFuture<Boolean> fetchNextPageAsync() {
142144
HttpRequest.Builder requestBuilder = strategy.apply(this);
143145
if (requestBuilder == null) continue;
144146

145-
ApiCall<Res, ExceptionType> newApiCall = this.apiCall.toBuilder()
147+
ApiCall<R, E> newApiCall = this.apiCall.toBuilder()
146148
.requestBuilder(requestBuilder)
147149
.build();
148150

@@ -167,11 +169,11 @@ private boolean fetchNextPage() {
167169
}
168170

169171
try {
170-
ApiCall<Res, ExceptionType> apiCall = this.apiCall.toBuilder()
172+
ApiCall<R, E> nextApiCall = this.apiCall.toBuilder()
171173
.requestBuilder(requestBuilder).build();
172-
Res pageUnWrapped = apiCall.execute();
174+
R pageUnWrapped = nextApiCall.execute();
173175

174-
return updateWith(apiCall, pageUnWrapped, strategy);
176+
return updateWith(nextApiCall, pageUnWrapped, strategy);
175177
} catch (IOException | CoreApiException exp) {
176178
return updateAsFailed(exp);
177179
}
@@ -180,22 +182,22 @@ private boolean fetchNextPage() {
180182
return false;
181183
}
182184

183-
private boolean updateWith(ApiCall<Res, ExceptionType> apiCall, Res pageUnWrapped, PaginationStrategy strategy) {
185+
private boolean updateWith(ApiCall<R, E> apiCall, R pageUnWrapped, PaginationStrategy strategy) {
184186
itemIndex = 0;
185187
this.items.clear();
186188
this.page = null;
187-
189+
188190
if (pageUnWrapped == null) {
189191
return false;
190192
}
191193

192194
List<I> itemsUnWrapped = itemsCreator.apply(pageUnWrapped);
193-
if (itemsUnWrapped == null || itemsUnWrapped.size() == 0) {
195+
if (itemsUnWrapped == null || itemsUnWrapped.isEmpty()) { // 🔥 Fixed here
194196
return false;
195197
}
196198

197199
this.apiCall = apiCall;
198-
PageWrapper<I, Res> pageWrapper = PageWrapper.Create(apiCall.getResponse(), pageUnWrapped, itemsUnWrapped);
200+
PageWrapper<I, R> pageWrapper = PageWrapper.create(apiCall.getResponse(), pageUnWrapped, itemsUnWrapped);
199201
strategy.addMetaData(pageWrapper);
200202
this.page = CheckedSupplier.Create(pageCreator.apply(pageWrapper));
201203
itemsUnWrapped.forEach(i -> items.add(CheckedSupplier.Create(i)));

src/main/java/io/apimatic/core/utilities/CoreHelper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1788,8 +1788,9 @@ private static JsonValue toJsonValue(Object obj) {
17881788
return Json.createValue((Double) obj);
17891789
}
17901790
if (obj instanceof Boolean) {
1791-
return (Boolean) obj ? JsonValue.TRUE : JsonValue.FALSE;
1791+
return Boolean.TRUE.equals(obj) ? JsonValue.TRUE : JsonValue.FALSE; // ✅ Safe & compliant
17921792
}
17931793
return null;
17941794
}
1795+
17951796
}

src/test/java/apimatic/core/RequestBuilderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ public void testCloneBodyParam() throws IOException {
167167
when(coreHttpRequest.getBody()).thenReturn("bodyValue");
168168

169169
// verify
170-
assertEquals(coreHttpRequest.getBody(), "bodyValue");
170+
assertEquals("bodyValue", coreHttpRequest.getBody());
171171
}
172172

173173

src/test/java/apimatic/core/type/pagination/CursorPaginationTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void testWithValidCursor() {
5858
Builder requestBuilder = cursor.apply(paginatedData);
5959
assertNotNull(requestBuilder);
6060

61-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
61+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
6262
cursor.addMetaData(pageWrapper);
6363
assertEquals("xyz123", pageWrapper.getCursorInput());
6464
}
@@ -82,7 +82,7 @@ public void testWithValidCursorAndDifferentTypeA() {
8282
Builder requestBuilder = cursor.apply(paginatedData);
8383
assertNotNull(requestBuilder);
8484

85-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
85+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
8686
cursor.addMetaData(pageWrapper);
8787
assertEquals("123", pageWrapper.getCursorInput());
8888
}
@@ -107,7 +107,7 @@ public void testWithValidCursorAndDifferentType() {
107107
Builder requestBuilder = cursor.apply(paginatedData);
108108
assertNotNull(requestBuilder);
109109

110-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
110+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
111111
cursor.addMetaData(pageWrapper);
112112
assertEquals("123", pageWrapper.getCursorInput());
113113
}
@@ -149,7 +149,7 @@ public void testWithValidCursorFromResponseBody() {
149149
Builder requestBuilder = cursor.apply(paginatedData);
150150
assertNotNull(requestBuilder);
151151

152-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
152+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
153153
cursor.addMetaData(pageWrapper);
154154
assertEquals("123", pageWrapper.getCursorInput());
155155
}

src/test/java/apimatic/core/type/pagination/LinkPaginationTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public void testValidLink() {
6161
Builder requestBuilder = link.apply(paginatedData);
6262
assertNotNull(requestBuilder);
6363

64-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
64+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
6565
link.addMetaData(pageWrapper);
6666
assertEquals(NEXT_URL_SINGLE, pageWrapper.getNextLinkInput());
6767
}
@@ -85,7 +85,7 @@ public void testValidLinkWithAdditionalParams() {
8585
Builder requestBuilder = link.apply(paginatedData);
8686
assertNotNull(requestBuilder);
8787

88-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
88+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
8989
link.addMetaData(pageWrapper);
9090
assertEquals(NEXT_URL_SINGLE, pageWrapper.getNextLinkInput());
9191
}
@@ -106,7 +106,7 @@ public void testValidLinkFromHeader() {
106106

107107
assertNotNull(requestBuilder);
108108

109-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
109+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
110110
link.addMetaData(pageWrapper);
111111
assertEquals(NEXT_URL_SINGLE, pageWrapper.getNextLinkInput());
112112
}
@@ -314,7 +314,7 @@ public void testMultipleQueryParams() {
314314
Builder nextBuilder = link.apply(paginatedData);
315315
assertNotNull(nextBuilder);
316316

317-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
317+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
318318
link.addMetaData(pageWrapper);
319319
assertEquals(NEXT_URL_MULTIPLE, pageWrapper.getNextLinkInput());
320320
}
@@ -334,7 +334,7 @@ public void testEncodedQueryParams() {
334334
Builder builder = link.apply(paginatedData);
335335
assertNotNull(builder);
336336

337-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
337+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
338338
link.addMetaData(pageWrapper);
339339
assertEquals(NEXT_URL_ENCODED, pageWrapper.getNextLinkInput());
340340
}

src/test/java/apimatic/core/type/pagination/OffsetPaginationTest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public void testValidOffsetHeader() {
6969
Builder requestBuilder = offset.apply(paginatedData);
7070
assertNotNull(requestBuilder);
7171

72-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
72+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
7373
offset.addMetaData(pageWrapper);
7474
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
7575
}
@@ -142,7 +142,7 @@ public void testValidOffsetWithBodySerializer() {
142142
OffsetPagination offset = new OffsetPagination("$request.body");
143143
HttpRequest.Builder requestBuilder = offset.apply(paginatedData);
144144
assertNotNull(requestBuilder);
145-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
145+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
146146
offset.addMetaData(pageWrapper);
147147
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
148148
}
@@ -163,7 +163,7 @@ public void testValidOffsetSingleBodyParamIntType() {
163163
HttpRequest.Builder requestBuilder = offset.apply(paginatedData);
164164
assertNotNull(requestBuilder);
165165

166-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
166+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
167167
offset.addMetaData(pageWrapper);
168168
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
169169
}
@@ -184,7 +184,7 @@ public void testValidOffsetSingleBodyParamStringType() {
184184
HttpRequest.Builder requestBuilder = offset.apply(paginatedData);
185185
assertNotNull(requestBuilder);
186186

187-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
187+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
188188
offset.addMetaData(pageWrapper);
189189
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
190190
}
@@ -207,7 +207,7 @@ public void testValidOffsetSingleBodyParam() {
207207
HttpRequest.Builder requestBuilder = offset.apply(paginatedData);
208208
assertNotNull(requestBuilder);
209209

210-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
210+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
211211
offset.addMetaData(pageWrapper);
212212
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
213213
}
@@ -229,7 +229,7 @@ public void testValidOffsetMultipleBodyParams() {
229229
HttpRequest.Builder requestBuilder = offset.apply(paginatedData);
230230
assertNotNull(requestBuilder);
231231

232-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
232+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
233233
offset.addMetaData(pageWrapper);
234234
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
235235
}
@@ -250,7 +250,7 @@ public void testValidOffsetTemplate() {
250250
Builder requestBuilder = offset.apply(paginatedData);
251251
assertNotNull(requestBuilder);
252252

253-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
253+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
254254
offset.addMetaData(pageWrapper);
255255
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
256256
}
@@ -271,7 +271,7 @@ public void testValidOffset() {
271271
Builder requestBuilder = offset.apply(paginatedData);
272272
assertNotNull(requestBuilder);
273273

274-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
274+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
275275
offset.addMetaData(pageWrapper);
276276
assertEquals(OFFSET_PLUS_PAGE, pageWrapper.getOffsetInput());
277277
}
@@ -297,7 +297,7 @@ public void testValidOffsetAsInnerField() {
297297
Builder requestBuilder = offset.apply(paginatedData);
298298
assertNotNull(requestBuilder);
299299

300-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
300+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
301301
offset.addMetaData(pageWrapper);
302302
assertEquals(OFFSET_VAL_PLUS_ONE, pageWrapper.getOffsetInput());
303303
}
@@ -318,7 +318,7 @@ public void testValidStringOffset() {
318318
Builder requestBuilder = offset.apply(paginatedData);
319319
assertNotNull(requestBuilder);
320320

321-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
321+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
322322
offset.addMetaData(pageWrapper);
323323
assertEquals(OFFSET_STRING_PLUS_PAGE, pageWrapper.getOffsetInput());
324324
}
@@ -338,7 +338,7 @@ public void testInvalidStringOffset() {
338338
Builder requestBuilder = offset.apply(paginatedData);
339339
assertNotNull(requestBuilder);
340340

341-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(mock(Response.class), null, null);
341+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(mock(Response.class), null, null);
342342
offset.addMetaData(pageWrapper);
343343
assertEquals(INVALID_OFFSET_RESULT, pageWrapper.getOffsetInput());
344344
}
@@ -354,7 +354,7 @@ public void testMissingOffset() {
354354

355355
Builder requestBuilder = offset.apply(paginatedData);
356356
assertNotNull(requestBuilder);
357-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(mock(Response.class), null, null);
357+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(mock(Response.class), null, null);
358358
offset.addMetaData(pageWrapper);
359359
assertEquals(INVALID_OFFSET_RESULT, pageWrapper.getOffsetInput());
360360
}
@@ -374,7 +374,7 @@ public void testNullOffset() {
374374
Builder requestBuilder = offset.apply(paginatedData);
375375
assertNotNull(requestBuilder);
376376

377-
PageWrapper<?, ?> pageWrapper = PageWrapper.Create(response, null, null);
377+
PageWrapper<?, ?> pageWrapper = PageWrapper.create(response, null, null);
378378
offset.addMetaData(pageWrapper);
379379
assertEquals(INVALID_OFFSET_RESULT, pageWrapper.getOffsetInput());
380380
}

0 commit comments

Comments
 (0)