From 2eb8c41181858246f762b7fe629eb6336a7da19c Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Mon, 28 Jul 2008 23:32:13 +0000 Subject: [PATCH] New openxml4j version, and new save/reload test git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@680564 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 4 ++-- src/ooxml/java/org/apache/poi/POIXMLDocument.java | 4 ++++ .../org/apache/poi/xssf/usermodel/TestXSSFBugs.java | 11 ++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/build.xml b/build.xml index a16a66026..dab532f48 100644 --- a/build.xml +++ b/build.xml @@ -135,8 +135,8 @@ under the License. - - + + diff --git a/src/ooxml/java/org/apache/poi/POIXMLDocument.java b/src/ooxml/java/org/apache/poi/POIXMLDocument.java index f9f543d7b..3fb718f6c 100644 --- a/src/ooxml/java/org/apache/poi/POIXMLDocument.java +++ b/src/ooxml/java/org/apache/poi/POIXMLDocument.java @@ -75,6 +75,10 @@ public abstract class POIXMLDocument { // Get core part this.corePart = this.pkg.getPart(coreDocRelationship); + // Verify it's there + if(corePart == null) { + throw new IllegalArgumentException("No core part found for this document! Nothing with " + coreDocRelationship.getRelationshipType() + " present as a relation."); + } } catch (OpenXML4JException e) { throw new IOException(e.toString()); } diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java index 642b723a5..045f42cb0 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java @@ -20,14 +20,13 @@ package org.apache.poi.xssf.usermodel; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileOutputStream; + +import junit.framework.TestCase; import org.openxml4j.opc.Package; import org.openxml4j.opc.PackagePart; import org.openxml4j.opc.PackagingURIHelper; -import junit.framework.TestCase; - public class TestXSSFBugs extends TestCase { private String getFilePath(String file) { File xml = new File( @@ -71,6 +70,12 @@ public class TestXSSFBugs extends TestCase { assertFalse(wb.getNameAt(2).getCTName().isSetLocalSheetId()); assertEquals("SheetC!$A$1", wb.getNameAt(2).getReference()); assertEquals("SheetC", wb.getNameAt(2).getSheetName()); + + // Save and re-load, still there + Package nPkg = saveAndOpen(wb); + XSSFWorkbook nwb = new XSSFWorkbook(nPkg); + assertEquals(3, nwb.getNumberOfNames()); + assertEquals("SheetA!$A$1", nwb.getNameAt(0).getReference()); } /**