aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-26 09:36:21 +0000
committerMichael Williamson <mike@zwobble.org>2016-03-26 09:36:21 +0000
commit2445646383faa91dded81c273c05ead2fd71e433 (patch)
tree4304636742959c239510024b7a5dcd6f0a463491 /src/main
parent300d110d93e9aa8ed91d060cedae47231106c31c (diff)
Ensure single iteration over results Iterable in concat
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java2
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java b/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
index 95b886f..65cd3b0 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
@@ -12,11 +12,13 @@ import static org.zwobble.mammoth.internal.util.MammothIterables.lazyConcat;
import static org.zwobble.mammoth.internal.util.MammothIterables.lazyFlatMap;
import static org.zwobble.mammoth.internal.util.MammothLists.eagerFlatMap;
import static org.zwobble.mammoth.internal.util.MammothLists.list;
+import static org.zwobble.mammoth.internal.util.MammothLists.toList;
public class ReadResult {
public static final ReadResult EMPTY_SUCCESS = success(list());
public static ReadResult concat(Iterable<ReadResult> results) {
+ results = toList(results);
return new ReadResult(
eagerFlatMap(results, result -> result.elements),
eagerFlatMap(results, result -> result.extra),
diff --git a/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
index 35c195d..b4c3791 100644
--- a/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
@@ -14,9 +14,11 @@ import static org.zwobble.mammoth.internal.util.MammothIterables.lazyConcat;
import static org.zwobble.mammoth.internal.util.MammothIterables.lazyFlatMap;
import static org.zwobble.mammoth.internal.util.MammothLists.eagerMap;
import static org.zwobble.mammoth.internal.util.MammothLists.list;
+import static org.zwobble.mammoth.internal.util.MammothLists.toList;
public class InternalResult<T> {
public static <T> InternalResult<List<T>> concat(Iterable<InternalResult<T>> results) {
+ results = toList(results);
return new InternalResult<>(
eagerMap(results, result -> result.value),
lazyFlatMap(results, result -> result.warnings));