Package org.apache.poi.openxml4j.exceptions

Examples of org.apache.poi.openxml4j.exceptions.InvalidFormatException


        // Check Rule M4.1
        if (type.equals(PackageRelationshipTypes.CORE_PROPERTIES))
          if (!fCorePropertiesRelationship)
            fCorePropertiesRelationship = true;
          else
            throw new InvalidFormatException(
                "OPC Compliance error [M4.1]: there is more than one core properties relationship in the package !");

        /* End OPC Compliance */

        // TargetMode (default value "Internal")
        Attribute targetModeAttr = element
            .attribute(PackageRelationship.TARGET_MODE_ATTRIBUTE_NAME);
        TargetMode targetMode = TargetMode.INTERNAL;
        if (targetModeAttr != null) {
          targetMode = targetModeAttr.getValue().toLowerCase()
              .equals("internal") ? TargetMode.INTERNAL
              : TargetMode.EXTERNAL;
        }

        // Target converted in URI
        URI target;
        String value = "";
        try {
          value = element.attribute(
              PackageRelationship.TARGET_ATTRIBUTE_NAME)
              .getValue();

          if (value.indexOf("\\") != -1) {
            logger
                .info("target contains \\ therefore not a valid URI"
                    + value + " replaced by /");
            value = value.replaceAll("\\\\", "/");
            // word can save external relationship with a \ instead
            // of /
          }

          target = new URI(value);
        } catch (URISyntaxException e) {
          logger.error("Cannot convert " + value
              + " in a valid relationship URI-> ignored", e);
          continue;
        }
        addRelationship(target, targetMode, type, id);
      }
    } catch (Exception e) {
      logger.error(e);
      throw new InvalidFormatException(e.getMessage());
    }
  }
View Full Code Here


            ContentTypeManager.CONTENT_TYPES_PART_NAME)) {
          try {
            this.contentTypeManager = new ZipContentTypeManager(
                getZipArchive().getInputStream(entry), this);
          } catch (IOException e) {
            throw new InvalidFormatException(e.getMessage());
          }
          break;
        }
      }

      // At this point, we should have loaded the content type part
      if (this.contentTypeManager == null) {
        throw new InvalidFormatException(
            "Package should contain a content type part [M1.13]");
      }
     
      // Now create all the relationships
      // (Need to create relationships before other
      //  parts, otherwise we might create a part before
      //  its relationship exists, and then it won't tie up)
      entries = this.zipArchive.getEntries();
      while (entries.hasMoreElements()) {
        ZipEntry entry = (ZipEntry) entries.nextElement();
        PackagePartName partName = buildPartName(entry);
        if(partName == null) continue;
       
        // Only proceed for Relationships at this stage
        String contentType = contentTypeManager.getContentType(partName);
        if (contentType != null && contentType.equals(ContentTypes.RELATIONSHIPS_PART)) {
          try {
            partList.put(partName, new ZipPackagePart(this, entry,
              partName, contentType));
          } catch (InvalidOperationException e) {
            throw new InvalidFormatException(e.getMessage());
          }
        }
      }

      // Then we can go through all the other parts
      entries = this.zipArchive.getEntries();
      while (entries.hasMoreElements()) {
        ZipEntry entry = (ZipEntry) entries.nextElement();
        PackagePartName partName = buildPartName(entry);
        if(partName == null) continue;

        String contentType = contentTypeManager
            .getContentType(partName);
        if (contentType != null && contentType.equals(ContentTypes.RELATIONSHIPS_PART)) {
          // Already handled
        }
        else if (contentType != null) {
          try {
            partList.put(partName, new ZipPackagePart(this, entry,
                partName, contentType));
          } catch (InvalidOperationException e) {
            throw new InvalidFormatException(e.getMessage());
          }
        } else {
          throw new InvalidFormatException(
              "The part "
                  + partName.getURI().getPath()
                  + " does not have any content type ! Rule: Package require content types when retrieving a part from a package. [M.1.14]");
        }
      }
View Full Code Here

    else {
      SimpleDateFormat df = new SimpleDateFormat(
          "yyyy-MM-dd'T'HH:mm:ss'Z'");
      Date d = df.parse(s, new ParsePosition(0));
      if (d == null)
        throw new InvalidFormatException("Date not well formated");
      return new Nullable<Date>(d);
    }
  }
View Full Code Here

    return new ZipPartMarshaller().marshall(this, os);
  }

  @Override
  public boolean load(InputStream ios) throws InvalidFormatException {
    throw new InvalidFormatException("Method not implemented");
  }
View Full Code Here

      PackagePart[] parts = this.getPartsImpl();
      this.partList = new PackagePartCollection();
      for (PackagePart part : parts) {
        if (partList.containsKey(part.partName))
          throw new InvalidFormatException(
              "A part with the name '"
                  + part.partName
                  + "' already exist : Packages shall not contain equivalent part names and package implementers shall neither create nor recognize packages with equivalent part names. [M1.12]");

        // Check OPC compliance rule M4.1
        if (part.getContentType().equals(
            ContentTypes.CORE_PROPERTIES_PART)) {
          if (!hasCorePropertiesPart)
            hasCorePropertiesPart = true;
          else
            throw new InvalidFormatException(
                "OPC Compliance error [M4.1]: there is more than one core properties relationship in the package !");
        }

        PartUnmarshaller partUnmarshaller = partUnmarshallers
            .get(part.contentType);

        if (partUnmarshaller != null) {
          UnmarshallContext context = new UnmarshallContext(this,
              part.partName);
          try {
            PackagePart unmarshallPart = partUnmarshaller
                .unmarshall(context, part.getInputStream());
            partList.put(unmarshallPart.partName, unmarshallPart);

            // Core properties case
            if (unmarshallPart instanceof PackagePropertiesPart)
              this.packageProperties = (PackagePropertiesPart) unmarshallPart;
          } catch (IOException ioe) {
            logger.warn("Unmarshall operation : IOException for "
                + part.partName);
            continue;
          } catch (InvalidOperationException invoe) {
            throw new InvalidFormatException(invoe.getMessage());
          }
        } else {
          try {
            partList.put(part.partName, part);
          } catch (InvalidOperationException e) {
            throw new InvalidFormatException(e.getMessage());
          }
        }
      }
    }
    return new ArrayList<PackagePart>(partList.values());
View Full Code Here

    // Conversion en US-ASCII
    String contentTypeASCII = null;
    try {
      contentTypeASCII = new String(contentType.getBytes(), "US-ASCII");
    } catch (UnsupportedEncodingException e) {
      throw new InvalidFormatException(
          "The specified content type is not an ASCII value.");
    }

    Matcher mMediaType = patternMediaType.matcher(contentTypeASCII);
    if (!mMediaType.matches())
      throw new InvalidFormatException(
          "The specified content type '"
              + contentType
              + "' is not compliant with RFC 2616: malformed content type.");

    // Type/subtype
View Full Code Here

    this.defaultContentType = new TreeMap<String, String>();
    if (in != null) {
      try {
        parseContentTypesFile(in);
      } catch (InvalidFormatException e) {
        throw new InvalidFormatException(
            "Can't read content types part !");
      }
    }
  }
View Full Code Here

        String contentType = element.attribute(
            CONTENT_TYPE_ATTRIBUTE_NAME).getValue();
        addOverrideContentType(partName, contentType);
      }
    } catch (URISyntaxException urie) {
      throw new InvalidFormatException(urie.getMessage());
    } catch (DocumentException e) {
      throw new InvalidFormatException(e.getMessage());
    }
  }
View Full Code Here

      throws InvalidFormatException {
    URI partNameURI;
    try {
      partNameURI = new URI(partName);
    } catch (URISyntaxException e) {
      throw new InvalidFormatException(e.getMessage());
    }
    return createPartName(partNameURI);
  }
View Full Code Here

    URI newPartNameURI;
    try {
      newPartNameURI = resolvePartUri(
          relativePart.getPartName().getURI(), new URI(partName));
    } catch (URISyntaxException e) {
      throw new InvalidFormatException(e.getMessage());
    }
    return createPartName(newPartNameURI);
  }
View Full Code Here

TOP

Related Classes of org.apache.poi.openxml4j.exceptions.InvalidFormatException

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.