From 56dad2617a86aeb83cf4f7f56519af621979851d Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 24 Feb 2016 21:56:31 +0000 Subject: Use Set instead of List for warnings --- .../zwobble/mammoth/internal/docx/BodyXmlReader.java | 4 ++-- .../org/zwobble/mammoth/internal/docx/ReadResult.java | 18 +++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'src/main/java/org/zwobble/mammoth/internal/docx') diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java index 0edc7a7..9951cbc 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java @@ -18,7 +18,7 @@ import static com.google.common.collect.Iterables.filter; import static com.google.common.collect.Iterables.transform; import static org.zwobble.mammoth.internal.docx.ReadResult.EMPTY_SUCCESS; import static org.zwobble.mammoth.internal.docx.ReadResult.success; -import static org.zwobble.mammoth.internal.util.MammothLists.list; +import static org.zwobble.mammoth.internal.util.MammothSets.set; import static org.zwobble.mammoth.internal.util.MammothStrings.trimLeft; public class BodyXmlReader { @@ -213,7 +213,7 @@ public class BodyXmlReader { } else { return new InternalResult<>( Optional.of(new Style(styleId, Optional.empty())), - list(styleType + " style with ID " + styleId + " was referenced but not defined in the document")); + set(styleType + " style with ID " + styleId + " was referenced but not defined in the document")); } } 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 b390649..8f3053d 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java @@ -1,14 +1,18 @@ package org.zwobble.mammoth.internal.docx; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Sets; import org.zwobble.mammoth.internal.documents.DocumentElement; import org.zwobble.mammoth.internal.results.InternalResult; import java.util.List; +import java.util.Set; import java.util.function.BiFunction; import java.util.function.Function; import static org.zwobble.mammoth.internal.util.MammothLists.list; +import static org.zwobble.mammoth.internal.util.MammothSets.set; public class ReadResult { public static final ReadResult EMPTY_SUCCESS = success(list()); @@ -16,7 +20,7 @@ public class ReadResult { public static ReadResult concat(Iterable results) { ImmutableList.Builder elements = ImmutableList.builder(); ImmutableList.Builder extra = ImmutableList.builder(); - ImmutableList.Builder warnings = ImmutableList.builder(); + ImmutableSet.Builder warnings = ImmutableSet.builder(); for (ReadResult result : results) { elements.addAll(result.elements); extra.addAll(result.extra); @@ -33,7 +37,7 @@ public class ReadResult { return new ReadResult( list(function.apply(first.getValue(), second.elements)), second.extra, - concat(first.getWarnings(), second.warnings)); + Sets.union(first.getWarnings(), second.warnings).immutableCopy()); } public static ReadResult success(DocumentElement element) { @@ -41,22 +45,22 @@ public class ReadResult { } public static ReadResult success(List elements) { - return new ReadResult(elements, list(), list()); + return new ReadResult(elements, list(), set()); } public static ReadResult emptyWithWarning(String warning) { - return new ReadResult(list(), list(), list(warning)); + return new ReadResult(list(), list(), set(warning)); } public static ReadResult withWarning(DocumentElement element, String warning) { - return new ReadResult(list(element), list(), list(warning)); + return new ReadResult(list(element), list(), set(warning)); } private final List elements; private final List extra; - private final List warnings; + private final Set warnings; - public ReadResult(List elements, List extra, List warnings) { + public ReadResult(List elements, List extra, Set warnings) { this.elements = elements; this.extra = extra; this.warnings = warnings; -- cgit v1.2.3