aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-26 11:25:42 +0000
committerMichael Williamson <mike@zwobble.org>2016-03-26 11:25:42 +0000
commit150bedb37750e80d598f7072f55ce7487e257216 (patch)
tree1bec7c401451bf22ce4183d198b700ce788f8b21 /src/main/java/org
parentca26450d5d410e8ffe55ca57660e73e8e339994c (diff)
Remove more usages of Guava collections
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java22
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java12
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/DefaultStyles.java5
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java13
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/util/MammothLists.java16
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/util/MammothSets.java23
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java10
10 files changed, 59 insertions, 54 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
index 26c32fb..4f45d95 100644
--- a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
+++ b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
@@ -1,8 +1,6 @@
package org.zwobble.mammoth.internal;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
import org.zwobble.mammoth.internal.documents.*;
import org.zwobble.mammoth.internal.html.Html;
import org.zwobble.mammoth.internal.html.HtmlNode;
@@ -12,10 +10,7 @@ import org.zwobble.mammoth.internal.styles.StyleMap;
import org.zwobble.mammoth.internal.util.MammothLists;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Base64;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import static org.zwobble.mammoth.internal.util.MammothLists.*;
import static org.zwobble.mammoth.internal.util.MammothMaps.map;
@@ -26,7 +21,7 @@ public class DocumentToHtml {
DocumentToHtml documentConverter = new DocumentToHtml(options);
return new InternalResult<>(
documentConverter.convertToHtml(document),
- documentConverter.warnings.build());
+ documentConverter.warnings);
}
private static List<Note> findNotes(Document document, Iterable<NoteReference> noteReferences) {
@@ -40,14 +35,14 @@ public class DocumentToHtml {
DocumentToHtml documentConverter = new DocumentToHtml(options);
return new InternalResult<>(
documentConverter.convertToHtml(element),
- documentConverter.warnings.build());
+ documentConverter.warnings);
}
private final String idPrefix;
private final boolean preserveEmptyParagraphs;
private final StyleMap styleMap;
private final List<NoteReference> noteReferences = new ArrayList<>();
- private final ImmutableSet.Builder<String> warnings = ImmutableSet.builder();
+ private final Set<String> warnings = new HashSet<>();
private DocumentToHtml(DocumentToHtmlOptions options) {
this.idPrefix = options.idPrefix();
@@ -72,14 +67,13 @@ public class DocumentToHtml {
private HtmlNode convertToHtml(Note note) {
String id = generateNoteHtmlId(note.getNoteType(), note.getId());
String referenceId = generateNoteRefHtmlId(note.getNoteType(), note.getId());
- ImmutableList.Builder<HtmlNode> children = ImmutableList.builder();
- children.addAll(convertToHtml(note.getBody()));
+ List<HtmlNode> noteBody = convertToHtml(note.getBody());
// TODO: we probably want this to collapse more eagerly than other collapsible elements
// -- for instance, any paragraph will probably do, regardless of attributes. (Possible other elements will do too.)
- children.add(Html.collapsibleElement("p", list(
+ HtmlNode backLink = Html.collapsibleElement("p", list(
Html.text(" "),
- Html.element("a", map("href", "#" + referenceId), list(Html.text("↑"))))));
- return Html.element("li", map("id", id), children.build());
+ Html.element("a", map("href", "#" + referenceId), list(Html.text("↑")))));
+ return Html.element("li", map("id", id), eagerConcat(noteBody, list(backLink)));
}
private List<HtmlNode> convertToHtml(List<DocumentElement> elements) {
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 c8cdc1c..d528622 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/BodyXmlReader.java
@@ -1,6 +1,5 @@
package org.zwobble.mammoth.internal.docx;
-import com.google.common.collect.ImmutableSet;
import org.zwobble.mammoth.internal.documents.*;
import org.zwobble.mammoth.internal.results.InternalResult;
import org.zwobble.mammoth.internal.util.InputStreamSupplier;
@@ -18,10 +17,11 @@ 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.MammothIterables.lazyFilter;
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 {
- private static final Set<String> IMAGE_TYPES_SUPPORTED_BY_BROWSERS = ImmutableSet.of(
+ private static final Set<String> IMAGE_TYPES_SUPPORTED_BY_BROWSERS = set(
"image/png", "image/gif", "image/jpeg", "image/svg+xml", "image/tiff");
private final Styles styles;
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 d61f323..24710c9 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/ReadResult.java
@@ -1,6 +1,5 @@
package org.zwobble.mammoth.internal.docx;
-import com.google.common.collect.ImmutableList;
import org.zwobble.mammoth.internal.documents.DocumentElement;
import org.zwobble.mammoth.internal.results.InternalResult;
@@ -68,21 +67,14 @@ public class ReadResult {
}
public ReadResult toExtra() {
- return new ReadResult(list(), concat(extra, elements), warnings);
+ return new ReadResult(list(), eagerConcat(extra, elements), warnings);
}
public ReadResult appendExtra() {
- return new ReadResult(concat(elements, extra), list(), warnings);
+ return new ReadResult(eagerConcat(elements, extra), list(), warnings);
}
public InternalResult<List<DocumentElement>> toResult() {
return new InternalResult<>(elements, warnings);
}
-
- private static <T> List<T> concat(List<T> first, List<T> second) {
- ImmutableList.Builder<T> builder = ImmutableList.builder();
- builder.addAll(first);
- builder.addAll(second);
- return builder.build();
- }
}
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 445d684..5be56ed 100644
--- a/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
+++ b/src/main/java/org/zwobble/mammoth/internal/results/InternalResult.java
@@ -1,6 +1,5 @@
package org.zwobble.mammoth.internal.results;
-import com.google.common.collect.ImmutableSet;
import org.zwobble.mammoth.Result;
import org.zwobble.mammoth.internal.documents.Style;
@@ -14,6 +13,7 @@ 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.MammothSets.toSet;
public class InternalResult<T> {
public static <T, R> InternalResult<List<R>> flatMap(Iterable<T> iterable, Function<T, InternalResult<R>> function) {
@@ -69,7 +69,7 @@ public class InternalResult<T> {
}
public Result<T> toResult() {
- Set<String> warnings = ImmutableSet.copyOf(this.warnings);
+ Set<String> warnings = toSet(this.warnings);
return new Result<T>() {
@Override
public T getValue() {
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/DefaultStyles.java b/src/main/java/org/zwobble/mammoth/internal/styles/DefaultStyles.java
index 8b9409d..9f1d63d 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/DefaultStyles.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/DefaultStyles.java
@@ -1,10 +1,11 @@
package org.zwobble.mammoth.internal.styles;
-import com.google.common.collect.ImmutableList;
import org.zwobble.mammoth.internal.styles.parsing.StyleMapParser;
+import static org.zwobble.mammoth.internal.util.MammothLists.list;
+
public class DefaultStyles {
- public static final StyleMap DEFAULT_STYLE_MAP = StyleMapParser.parseStyleMappings(ImmutableList.of(
+ public static final StyleMap DEFAULT_STYLE_MAP = StyleMapParser.parseStyleMappings(list(
"p.Heading1 => h1:fresh",
"p.Heading2 => h2:fresh",
"p.Heading3 => h3:fresh",
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
index 34a72ba..9935417 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
@@ -1,9 +1,10 @@
package org.zwobble.mammoth.internal.styles;
-import com.google.common.collect.ImmutableList;
import org.zwobble.mammoth.internal.documents.Paragraph;
import org.zwobble.mammoth.internal.documents.Run;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Optional;
public class StyleMapBuilder {
@@ -11,8 +12,8 @@ public class StyleMapBuilder {
private Optional<HtmlPath> strikethrough;
private Optional<HtmlPath> bold;
private Optional<HtmlPath> italic;
- private final ImmutableList.Builder<StyleMapping<Paragraph>> paragraphStyles = ImmutableList.builder();
- private final ImmutableList.Builder<StyleMapping<Run>> runStyles = ImmutableList.builder();
+ private final List<StyleMapping<Paragraph>> paragraphStyles = new ArrayList<>();
+ private final List<StyleMapping<Run>> runStyles = new ArrayList<>();
public StyleMapBuilder() {
this.bold = Optional.empty();
@@ -42,16 +43,16 @@ public class StyleMapBuilder {
}
public StyleMapBuilder mapParagraph(ParagraphMatcher matcher, HtmlPath path) {
- paragraphStyles.add(new StyleMapping<Paragraph>(matcher, path));
+ paragraphStyles.add(new StyleMapping<>(matcher, path));
return this;
}
public StyleMapBuilder mapRun(RunMatcher matcher, HtmlPath path) {
- runStyles.add(new StyleMapping<Run>(matcher, path));
+ runStyles.add(new StyleMapping<>(matcher, path));
return this;
}
public StyleMap build() {
- return new StyleMap(bold, italic, underline, strikethrough, paragraphStyles.build(), runStyles.build());
+ return new StyleMap(bold, italic, underline, strikethrough, paragraphStyles, runStyles);
}
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/util/MammothLists.java b/src/main/java/org/zwobble/mammoth/internal/util/MammothLists.java
index eb4dab9..09a45c7 100644
--- a/src/main/java/org/zwobble/mammoth/internal/util/MammothLists.java
+++ b/src/main/java/org/zwobble/mammoth/internal/util/MammothLists.java
@@ -1,8 +1,8 @@
package org.zwobble.mammoth.internal.util;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.Ordering;
+import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.function.Function;
@@ -10,23 +10,29 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
+import static java.util.Arrays.asList;
import static org.zwobble.mammoth.internal.util.MammothIterables.stream;
public class MammothLists {
public static <T> List<T> list() {
- return ImmutableList.of();
+ return Collections.emptyList();
}
public static <T> List<T> list(T value1) {
- return ImmutableList.of(value1);
+ return Collections.singletonList(value1);
}
public static <T> List<T> list(T value1, T value2) {
- return ImmutableList.of(value1, value2);
+ return asList(value1, value2);
}
public static <T> List<T> list(T value1, T value2, T value3) {
- return ImmutableList.of(value1, value2, value3);
+ return asList(value1, value2, value3);
+ }
+
+ @SafeVarargs
+ public static <T> List<T> list(T... values) {
+ return asList(values);
}
public static <T> List<T> cons(T head, Iterable<T> tail) {
diff --git a/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java b/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java
index 4ca3557..269331f 100644
--- a/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java
+++ b/src/main/java/org/zwobble/mammoth/internal/util/MammothMaps.java
@@ -7,11 +7,11 @@ import java.util.function.Function;
public class MammothMaps {
public static <K, V> Map<K, V> map() {
- return ImmutableMap.of();
+ return Collections.emptyMap();
}
public static <K, V> Map<K, V> map(K key1, V value1) {
- return ImmutableMap.of(key1, value1);
+ return Collections.singletonMap(key1, value1);
}
public static <K, V> Map<K, V> map(K key1, V value1, K key2, V value2) {
diff --git a/src/main/java/org/zwobble/mammoth/internal/util/MammothSets.java b/src/main/java/org/zwobble/mammoth/internal/util/MammothSets.java
index a9658ce..87f7bbe 100644
--- a/src/main/java/org/zwobble/mammoth/internal/util/MammothSets.java
+++ b/src/main/java/org/zwobble/mammoth/internal/util/MammothSets.java
@@ -1,15 +1,30 @@
package org.zwobble.mammoth.internal.util;
-import com.google.common.collect.ImmutableSet;
-
+import java.util.Collections;
+import java.util.HashSet;
import java.util.Set;
+import java.util.stream.Collectors;
+
+import static java.util.Arrays.asList;
+import static org.zwobble.mammoth.internal.util.MammothIterables.stream;
public class MammothSets {
public static <T> Set<T> set() {
- return ImmutableSet.of();
+ return Collections.emptySet();
}
public static <T> Set<T> set(T value1) {
- return ImmutableSet.of(value1);
+ return Collections.singleton(value1);
+ }
+
+ @SafeVarargs
+ public static <T> Set<T> set(T... values) {
+ HashSet<T> set = new HashSet<>();
+ set.addAll(asList(values));
+ return set;
+ }
+
+ public static <T> Set<T> toSet(Iterable<T> iterable) {
+ return stream(iterable).collect(Collectors.toSet());
}
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java b/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java
index ad6f8f3..e82b14e 100644
--- a/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java
+++ b/src/main/java/org/zwobble/mammoth/internal/xml/XmlElement.java
@@ -1,14 +1,11 @@
package org.zwobble.mammoth.internal.xml;
-import com.google.common.collect.ImmutableList;
-
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import static org.zwobble.mammoth.internal.util.MammothIterables.getFirst;
-import static org.zwobble.mammoth.internal.util.MammothIterables.lazyFilter;
-import static org.zwobble.mammoth.internal.util.MammothIterables.lazyMap;
+import static org.zwobble.mammoth.internal.util.MammothIterables.*;
+import static org.zwobble.mammoth.internal.util.MammothLists.toList;
import static org.zwobble.mammoth.internal.util.MammothMaps.lookup;
public class XmlElement implements XmlNode, XmlElementLike {
@@ -65,8 +62,7 @@ public class XmlElement implements XmlNode, XmlElementLike {
}
public XmlElementList findChildren(String name) {
- Iterable<XmlElement> filtered = findChildrenIterable(name);
- return new XmlElementList(ImmutableList.copyOf(filtered));
+ return new XmlElementList(toList(findChildrenIterable(name)));
}
public XmlElement findChild(String name) {