From 1b66929addbddc71872cb18766814874ee511e44 Mon Sep 17 00:00:00 2001 From: Sebastian Sieber Date: Tue, 3 Dec 2024 10:18:16 +0100 Subject: [PATCH] Remove leading whitespace from charge/allowance reason --- .../ZUGFeRD/TransactionCalculator.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java b/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java index 8740e157..9c2b30f3 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/TransactionCalculator.java @@ -4,7 +4,10 @@ import static java.math.BigDecimal.ZERO; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.Arrays; import java.util.HashMap; +import java.util.Objects; +import java.util.stream.Collectors; import java.util.stream.Stream; /*** @@ -91,17 +94,14 @@ public class TransactionCalculator implements IAbsoluteValueProvider { } private String getAllowanceChargeReasonForPercent(BigDecimal percent, IZUGFeRDAllowanceCharge[] charges) { - String res = " "; - if ((charges != null) && (charges.length > 0)) { - for (IZUGFeRDAllowanceCharge currentCharge : charges) { - if ((percent == null) || (currentCharge.getTaxPercent().compareTo(percent) == 0) - && currentCharge.getReason() != null) { - res += currentCharge.getReason() + " "; - } - } + if (charges == null) { + return ""; } - res = res.substring(0, res.length() - 1); - return res; + return Arrays.stream(charges) + .filter(currentCharge -> (percent == null || currentCharge.getTaxPercent().compareTo(percent) == 0)) + .map(IZUGFeRDAllowanceCharge::getReason) + .filter(Objects::nonNull) + .collect(Collectors.joining(" ")); } /***