Fixed NPE when retrieving core properties from a newly created workbook, see Bugzilla 47460
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@793291 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
db7502182e
commit
9424d59da3
@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
<changes>
|
<changes>
|
||||||
<release version="3.5-beta7" date="2009-??-??">
|
<release version="3.5-beta7" date="2009-??-??">
|
||||||
|
<action dev="POI-DEVELOPERS" type="fix">47460 - Fixed NPE when retrieving core properties from a newly created workbook</action>
|
||||||
<action dev="POI-DEVELOPERS" type="fix">47498 - Fixed HyperlinkRecord to properly handle URL monikers</action>
|
<action dev="POI-DEVELOPERS" type="fix">47498 - Fixed HyperlinkRecord to properly handle URL monikers</action>
|
||||||
<action dev="POI-DEVELOPERS" type="fix">47504 - Fixed XSSFWorkbook to read files with hyperlinks to document locations</action>
|
<action dev="POI-DEVELOPERS" type="fix">47504 - Fixed XSSFWorkbook to read files with hyperlinks to document locations</action>
|
||||||
<action dev="POI-DEVELOPERS" type="fix">47479 - Fix BoolErrRecord to tolerate incorrect format written by OOO</action>
|
<action dev="POI-DEVELOPERS" type="fix">47479 - Fix BoolErrRecord to tolerate incorrect format written by OOO</action>
|
||||||
|
@ -38,14 +38,7 @@ public class POIXMLProperties {
|
|||||||
this.pkg = docPackage;
|
this.pkg = docPackage;
|
||||||
|
|
||||||
// Core properties
|
// Core properties
|
||||||
PackageRelationshipCollection coreRel =
|
core = new CoreProperties((PackagePropertiesPart)pkg.getPackageProperties() );
|
||||||
pkg.getRelationshipsByType(POIXMLDocument.CORE_PROPERTIES_REL_TYPE);
|
|
||||||
if(coreRel.size() == 1) {
|
|
||||||
core = new CoreProperties( (PackagePropertiesPart)
|
|
||||||
pkg.getPart(coreRel.getRelationship(0)) );
|
|
||||||
} else {
|
|
||||||
throw new IllegalArgumentException("A document must always have core properties defined!");
|
|
||||||
}
|
|
||||||
|
|
||||||
// Extended properties
|
// Extended properties
|
||||||
PackageRelationshipCollection extRel =
|
PackageRelationshipCollection extRel =
|
||||||
|
@ -33,7 +33,9 @@ import org.apache.poi.openxml4j.opc.ContentTypes;
|
|||||||
import org.apache.poi.openxml4j.opc.OPCPackage;
|
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||||
import org.apache.poi.openxml4j.opc.PackagePart;
|
import org.apache.poi.openxml4j.opc.PackagePart;
|
||||||
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
|
||||||
|
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
|
||||||
import org.apache.poi.util.TempFile;
|
import org.apache.poi.util.TempFile;
|
||||||
|
import org.apache.poi.POIXMLProperties;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr;
|
||||||
@ -250,4 +252,27 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
|
|||||||
sheetId = (int)wb.createSheet().sheet.getSheetId();
|
sheetId = (int)wb.createSheet().sheet.getSheetId();
|
||||||
assertEquals(lastSheetId+1, sheetId);
|
assertEquals(lastSheetId+1, sheetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test setting of core properties such as Title and Author
|
||||||
|
*/
|
||||||
|
public void testWorkbookProperties() throws Exception {
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||||
|
POIXMLProperties props = workbook.getProperties();
|
||||||
|
assertNotNull(props);
|
||||||
|
|
||||||
|
PackagePropertiesPart opcProps = props.getCoreProperties().getUnderlyingProperties();
|
||||||
|
assertNotNull(opcProps);
|
||||||
|
|
||||||
|
opcProps.setTitleProperty("Testing Bugzilla #47460");
|
||||||
|
assertEquals("Apache POI", opcProps.getCreatorProperty().getValue());
|
||||||
|
opcProps.setCreatorProperty("poi-dev@poi.apache.org");
|
||||||
|
|
||||||
|
workbook = XSSFTestDataSamples.writeOutAndReadBack(workbook);
|
||||||
|
opcProps = workbook.getProperties().getCoreProperties().getUnderlyingProperties();
|
||||||
|
assertEquals("Testing Bugzilla #47460", opcProps.getTitleProperty().getValue());
|
||||||
|
assertEquals("poi-dev@poi.apache.org", opcProps.getCreatorProperty().getValue());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user