aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2013-11-11 23:03:00 +0000
committerNick Burch <nick@apache.org>2013-11-11 23:03:00 +0000
commitb22e5b830b113822031d3fb07496fd471052f2ce (patch)
treea4afecabc316807a5c09fc81b767d27a6ad88669
parentb524036bd43d59102fb8defe15d6adb3918ee5cc (diff)
downloadpoi-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.java43
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);