]> source.dussan.org Git - poi.git/commitdiff
Try to make a few OPCPackage error messages more helpful, and slightly reform the...
authorNick Burch <nick@apache.org>
Mon, 11 Nov 2013 23:03:00 +0000 (23:03 +0000)
committerNick Burch <nick@apache.org>
Mon, 11 Nov 2013 23:03:00 +0000 (23:03 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1540877 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/openxml4j/opc/OPCPackage.java

index 5765b6dd3ce389d91bff030dae8bee62c552761e..676ccba7d09ee65d8aa3fa0b42fd4a71c8438765 100644 (file)
@@ -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);