diff --git a/build.xml b/build.xml
index b2ed09d96d..f2d71a1cef 100644
--- a/build.xml
+++ b/build.xml
@@ -1753,16 +1753,23 @@ under the License.
+
+
+
+
+
+
+
-
-
-
+
+
+
@@ -1770,15 +1777,17 @@ under the License.
-
+
-
+
+
+
+
+
-
-
diff --git a/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java b/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java
index eb80d9286f..069aef0ebe 100644
--- a/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java
+++ b/src/examples/src/org/apache/poi/examples/ss/ExcelComparator.java
@@ -24,6 +24,7 @@ import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
+import java.util.Objects;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.Cell;
@@ -477,7 +478,7 @@ public class ExcelComparator {
String col1 = getCellFillBackground(loc1);
String col2 = getCellFillBackground(loc2);
- if (!col1.equals(col2)) {
+ if (!Objects.equals(col1, col2)) {
addMessage(loc1, loc2, "Cell Fill Color does not Match ::", col1, col2);
}
}
diff --git a/src/multimodule/ooxml-full/java9/module-info.java b/src/multimodule/ooxml-full/java9/module-info.java
index 4587ea5e5d..4600c9082a 100644
--- a/src/multimodule/ooxml-full/java9/module-info.java
+++ b/src/multimodule/ooxml-full/java9/module-info.java
@@ -21,6 +21,9 @@ open module org.apache.poi.ooxml.schemas {
// see https://bugs.openjdk.java.net/browse/JDK-8240847
requires transitive org.apache.xmlbeans;
requires java.xml;
+
+ exports org.apache.poi.schemas.ooxml.system.ooxml;
+
exports com.microsoft.schemas.compatibility;
exports com.microsoft.schemas.office.excel;
exports com.microsoft.schemas.office.office;
diff --git a/src/multimodule/ooxml-lite/java9/module-info.class b/src/multimodule/ooxml-lite/java9/module-info.class
index f6cd8ef67d..5a1a8d9258 100644
Binary files a/src/multimodule/ooxml-lite/java9/module-info.class and b/src/multimodule/ooxml-lite/java9/module-info.class differ
diff --git a/src/multimodule/ooxml-lite/java9/module-info.java b/src/multimodule/ooxml-lite/java9/module-info.java
index 1b22147d88..2559d369d8 100644
--- a/src/multimodule/ooxml-lite/java9/module-info.java
+++ b/src/multimodule/ooxml-lite/java9/module-info.java
@@ -23,6 +23,8 @@ open module org.apache.poi.ooxml.schemas {
requires java.xml;
+
+
exports com.microsoft.schemas.compatibility;
exports com.microsoft.schemas.office.excel;
exports com.microsoft.schemas.office.office;
@@ -40,6 +42,7 @@ open module org.apache.poi.ooxml.schemas {
exports org.openxmlformats.schemas.officeDocument.x2006.customProperties;
exports org.openxmlformats.schemas.officeDocument.x2006.docPropsVTypes;
exports org.openxmlformats.schemas.officeDocument.x2006.extendedProperties;
+ exports org.openxmlformats.schemas.officeDocument.x2006.math;
exports org.openxmlformats.schemas.officeDocument.x2006.relationships;
exports org.openxmlformats.schemas.officeDocument.x2006.sharedTypes;
exports org.openxmlformats.schemas.presentationml.x2006.main;
diff --git a/src/ooxml/testcases/org/apache/poi/extractor/ooxml/TestExtractorFactory.java b/src/ooxml/testcases/org/apache/poi/extractor/ooxml/TestExtractorFactory.java
index 9715e49e80..6ea3b2132e 100644
--- a/src/ooxml/testcases/org/apache/poi/extractor/ooxml/TestExtractorFactory.java
+++ b/src/ooxml/testcases/org/apache/poi/extractor/ooxml/TestExtractorFactory.java
@@ -81,6 +81,7 @@ public class TestExtractorFactory {
private static final POIDataSamples slTests = POIDataSamples.getSlideShowInstance();
private static final File ppt = getFileAndCheck(slTests, "SampleShow.ppt");
private static final File pptx = getFileAndCheck(slTests, "SampleShow.pptx");
+ private static final File ppt97 = getFileAndCheck(slTests, "bug56240.ppt");
private static final File txt = getFileAndCheck(slTests, "SampleShow.txt");
private static final POIDataSamples olTests = POIDataSamples.getHSMFInstance();
@@ -126,6 +127,7 @@ public class TestExtractorFactory {
Arguments.of("Word 6", doc6, "Word6Extractor", 20),
Arguments.of("Word 95", doc95, "Word6Extractor", 120),
Arguments.of("PowerPoint", ppt, "SlideShowExtractor", 120),
+ Arguments.of("PowerPoint 97 Dual", ppt97, "SlideShowExtractor", 120),
Arguments.of("Visio", vsd, "VisioTextExtractor", 50),
Arguments.of("Publisher", pub, "PublisherTextExtractor", 50),
Arguments.of("Outlook msg", msg, "OutlookTextExtractor", 50)
diff --git a/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java b/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
index dfc09b2f7e..40904fe718 100644
--- a/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
+++ b/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java
@@ -100,7 +100,7 @@ public class OLE2ScratchpadExtractorFactory implements ExtractorProvider {
}
}
- if (poifsDir.hasEntry(HSLFSlideShow.POWERPOINT_DOCUMENT)) {
+ if (poifsDir.hasEntry(HSLFSlideShow.POWERPOINT_DOCUMENT) || poifsDir.hasEntry(HSLFSlideShow.PP97_DOCUMENT)) {
return new SlideShowExtractor<>((HSLFSlideShow)SlideShowFactory.create(poifsDir));
}
diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
index 63e9b69101..9e8d255798 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
@@ -78,6 +78,7 @@ public final class HSLFSlideShow extends POIDocument implements SlideShow