diff options
| author | Michael Williamson <mike@zwobble.org> | 2019-03-17 21:32:31 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2019-03-17 21:32:31 +0000 |
| commit | 4d078c3842a40d723f79a5896250ad522ebd083a (patch) | |
| tree | 9c7155f238ef382f194da655a737e75bdb5cdedf /src | |
| parent | a9efb5601c128b83f5f759a837fd989e108dc61f (diff) | |
Pass styles into readNumberingXmlElement
Diffstat (limited to 'src')
3 files changed, 13 insertions, 8 deletions
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<String, Numbering.AbstractNum> abstractNums = readAbstractNums(element.findChildren("w:abstractNum")); Map<String, Numbering.Num> 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); + } } |
