diff options
author | Nick Burch <nick@apache.org> | 2013-11-11 23:03:00 +0000 |
---|---|---|
committer | Nick Burch <nick@apache.org> | 2013-11-11 23:03:00 +0000 |
commit | b22e5b830b113822031d3fb07496fd471052f2ce (patch) | |
tree | a4afecabc316807a5c09fc81b767d27a6ad88669 | |
parent | b524036bd43d59102fb8defe15d6adb3918ee5cc (diff) | |
download | poi-b22e5b830b113822031d3fb07496fd471052f2ce.tar.gz poi-b22e5b830b113822031d3fb07496fd471052f2ce.zip |
Try to make a few OPCPackage error messages more helpful, and slightly reform the configure code block to make it hopefully easier to read
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1540877 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java b/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java index 5765b6dd3c..676ccba7d0 100644 --- a/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java +++ b/src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java @@ -52,8 +52,8 @@ import org.apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMar import org.apache.poi.openxml4j.opc.internal.unmarshallers.PackagePropertiesUnmarshaller; import org.apache.poi.openxml4j.opc.internal.unmarshallers.UnmarshallContext; import org.apache.poi.openxml4j.util.Nullable; -import org.apache.poi.util.POILogger; import org.apache.poi.util.POILogFactory; +import org.apache.poi.util.POILogger; /** * Represents a container that can store multiple data objects. @@ -214,9 +214,12 @@ public abstract class OPCPackage implements RelationshipSource, Closeable { */ public static OPCPackage open(String path, PackageAccess access) throws InvalidFormatException { - if (path == null || "".equals(path.trim()) - || (new File(path).exists() && new File(path).isDirectory())) - throw new IllegalArgumentException("path"); + if (path == null || "".equals(path.trim())) + throw new IllegalArgumentException("'path' must be given"); + + File file = new File(path); + if (file.exists() && file.isDirectory()) + throw new IllegalArgumentException("path must not be a directory"); OPCPackage pack = new ZipPackage(path, access); if (pack.partList == null && access != PackageAccess.WRITE) { @@ -240,8 +243,10 @@ public abstract class OPCPackage implements RelationshipSource, Closeable { */ public static OPCPackage open(File file, PackageAccess access) throws InvalidFormatException { - if (file == null|| (file.exists() && file.isDirectory())) - throw new IllegalArgumentException("file"); + if (file == null) + throw new IllegalArgumentException("'file' must be given"); + if (file == null || (file.exists() && file.isDirectory())) + throw new IllegalArgumentException("file must not be a directory"); OPCPackage pack = new ZipPackage(file, access); if (pack.partList == null && access != PackageAccess.WRITE) { @@ -346,23 +351,21 @@ public abstract class OPCPackage implements RelationshipSource, Closeable { try { // Content type manager pkg.contentTypeManager = new ZipContentTypeManager(null, pkg); + // Add default content types for .xml and .rels - pkg.contentTypeManager - .addContentType( - PackagingURIHelper - .createPartName(PackagingURIHelper.PACKAGE_RELATIONSHIPS_ROOT_URI), - ContentTypes.RELATIONSHIPS_PART); - pkg.contentTypeManager - .addContentType(PackagingURIHelper - .createPartName("/default.xml"), - ContentTypes.PLAIN_OLD_XML); - - // Init some PackageBase properties + pkg.contentTypeManager.addContentType( + PackagingURIHelper.createPartName( + PackagingURIHelper.PACKAGE_RELATIONSHIPS_ROOT_URI), + ContentTypes.RELATIONSHIPS_PART); + pkg.contentTypeManager.addContentType( + PackagingURIHelper.createPartName("/default.xml"), + ContentTypes.PLAIN_OLD_XML); + + // Initialise some PackageBase properties pkg.packageProperties = new PackagePropertiesPart(pkg, PackagingURIHelper.CORE_PROPERTIES_PART_NAME); - pkg.packageProperties.setCreatorProperty("Generated by OpenXML4J"); - pkg.packageProperties.setCreatedProperty(new Nullable<Date>( - new Date())); + pkg.packageProperties.setCreatorProperty("Generated by Apache POI OpenXML4J"); + pkg.packageProperties.setCreatedProperty(new Nullable<Date>(new Date())); } catch (InvalidFormatException e) { // Should never happen throw new IllegalStateException(e); |