Skip to content

Commit 2a9f8e1

Browse files
fix: make comparator read psp name nullable PIDM-1391
1 parent a9f7b5b commit 2a9f8e1

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/main/java/it/gov/pagopa/afm/calculator/service/CalculatorService.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ public class CalculatorService {
3434
Comparator.comparing((it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer::getOnUs), Comparator.reverseOrder());
3535
private static final Comparator<it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer> byFeeComparator =
3636
Comparator.comparing(it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer::getActualPayerFee)
37-
.thenComparing(it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer::getPspBusinessName);
37+
.thenComparing(it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer::getPspBusinessName, Comparator.nullsLast(String::compareTo));
3838
private static final Comparator<it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer> byPspNameComparator =
39-
Comparator.comparing(it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer::getPspBusinessName)
39+
Comparator.comparing(it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer::getPspBusinessName, Comparator.nullsLast(String::compareTo))
4040
.thenComparing(it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer::getActualPayerFee);
4141
private static final Comparator<it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer> randomComparator =
4242
(t1, t2) -> Integer.compare(new SecureRandom().nextInt(3) - 1, 0);
@@ -241,6 +241,10 @@ private List<it.gov.pagopa.afm.calculator.model.calculatormulti.Transfer> calcul
241241
transfers.stream().filter(abiPredicate.and(onusPredicate)).collect(Collectors.toList());
242242
}
243243

244+
Collections.sort(transfers, onUsFirstComparator);
245+
246+
Collections.sort(transfers, byFeeComparator);
247+
244248
Collections.sort(transfers, getDynamicComparator(orderType, onUsFirst));
245249

246250
return transfers.stream().limit(limit).toList();

0 commit comments

Comments
 (0)