From 4d078c3842a40d723f79a5896250ad522ebd083a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 17 Mar 2019 21:32:31 +0000 Subject: Pass styles into readNumberingXmlElement --- .../org/zwobble/mammoth/internal/docx/DocumentReader.java | 6 +++--- .../org/zwobble/mammoth/internal/docx/NumberingXml.java | 2 +- .../org/zwobble/mammoth/tests/docx/NumberingXmlTests.java | 13 +++++++++---- 3 files changed, 13 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java index bb7dd38..1955e55 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/DocumentReader.java @@ -26,7 +26,7 @@ public class DocumentReader { PartPaths partPaths = findPartPaths(zipFile); Styles styles = readStyles(zipFile, partPaths); - Numbering numbering = readNumbering(zipFile, partPaths); + Numbering numbering = readNumbering(zipFile, partPaths, styles); ContentTypes contentTypes = readContentTypes(zipFile); FileReader fileReader = new PathRelativeFileReader(path); PartWithBodyReader partReader = new PartWithBodyReader(zipFile, contentTypes, fileReader, numbering, styles); @@ -212,9 +212,9 @@ public class DocumentReader { .orElse(Styles.EMPTY); } - private static Numbering readNumbering(Archive file, PartPaths partPaths) { + private static Numbering readNumbering(Archive file, PartPaths partPaths, Styles styles) { return tryParseOfficeXml(file, partPaths.getNumbering()) - .map(NumberingXml::readNumberingXmlElement) + .map((XmlElement element) -> NumberingXml.readNumberingXmlElement(element, styles)) .orElse(Numbering.EMPTY); } diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java b/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java index 0ab12b4..6b5372f 100644 --- a/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java +++ b/src/main/java/org/zwobble/mammoth/internal/docx/NumberingXml.java @@ -11,7 +11,7 @@ import static org.zwobble.mammoth.internal.util.Maps.entry; import static org.zwobble.mammoth.internal.util.Maps.toMap; public class NumberingXml { - public static Numbering readNumberingXmlElement(XmlElement element) { + public static Numbering readNumberingXmlElement(XmlElement element, Styles styles) { Map abstractNums = readAbstractNums(element.findChildren("w:abstractNum")); Map nums = readNums(element.findChildren("w:num")); return new Numbering(abstractNums, nums); diff --git a/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java b/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java index 12158a4..cbea693 100644 --- a/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/docx/NumberingXmlTests.java @@ -2,6 +2,7 @@ package org.zwobble.mammoth.tests.docx; import org.junit.jupiter.api.Test; import org.zwobble.mammoth.internal.docx.Numbering; +import org.zwobble.mammoth.internal.docx.Styles; import org.zwobble.mammoth.internal.xml.XmlElement; import java.util.Optional; @@ -24,26 +25,30 @@ public class NumberingXmlTests { @Test public void findLevelReturnsNoneIfNumWithIdCannotBeFound() { - Numbering numbering = readNumberingXmlElement(element("w:numbering")); + Numbering numbering = readNumbering(element("w:numbering")); assertEquals(Optional.empty(), numbering.findLevel("47", "0")); } @Test public void levelIncludesLevelIndex() { - Numbering numbering = readNumberingXmlElement(SAMPLE_NUMBERING_XML); + Numbering numbering = readNumbering(SAMPLE_NUMBERING_XML); assertEquals("0", numbering.findLevel("47", "0").get().getLevelIndex()); assertEquals("1", numbering.findLevel("47", "1").get().getLevelIndex()); } @Test public void listIsNotOrderedIfFormattedAsBullet() { - Numbering numbering = readNumberingXmlElement(SAMPLE_NUMBERING_XML); + Numbering numbering = readNumbering(SAMPLE_NUMBERING_XML); assertEquals(false, numbering.findLevel("47", "0").get().isOrdered()); } @Test public void listIsOrderedIfFormattedAsDecimal() { - Numbering numbering = readNumberingXmlElement(SAMPLE_NUMBERING_XML); + Numbering numbering = readNumbering(SAMPLE_NUMBERING_XML); assertEquals(true, numbering.findLevel("47", "1").get().isOrdered()); } + + private Numbering readNumbering(XmlElement element) { + return readNumberingXmlElement(element, Styles.EMPTY); + } } -- cgit v1.2.3