Examples of OdfFileEntry


Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

      int embDocsNumber = embDocs.size();
      // the document "Object 1/
      Document embDoc = embDocs.get(0);
      String pathOfSecondInnerDoc = "Object in Object1/";
      embDoc.insertDocument(TextDocument.newTextDocument(), pathOfSecondInnerDoc);
      OdfFileEntry fileEntry = embDoc.getPackage().getFileEntry(embDoc.getDocumentPath() + pathOfSecondInnerDoc);
      Assert.assertNotNull(fileEntry);

      // get "Object 1/content.xml"
      OdfContentDom contentDom = embDoc.getContentDom();
      XPath xpath = contentDom.getXPath();
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

            //delete "./"
            if (refObjPath.startsWith("./")) {
              refObjPath = refObjPath.substring(2);
            }
            //check if the current document contains the same path
            OdfFileEntry fileEntry = getPackage().getFileEntry(refObjPath);
            if (fileEntry != null) {
              //it is a stream, such as image, binary file
              getPackage().remove(refObjPath);
            } else {
              //note: if refObjPath is a directory, it must end with '/'
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

          if (refObjPath.startsWith(prefix)) {
            refObjPath = refObjPath.substring(2);
            hasPrefix = true;
          }
          //check if the current document contains the same path
          OdfFileEntry fileEntry = getPackage().getFileEntry(refObjPath);
          //note: if refObjPath is a directory, it must end with '/'
          if (fileEntry == null) {
            fileEntry = getPackage().getFileEntry(refObjPath + "/");
          }
          String newObjPath = refObjPath;
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

    }
  }

  /** @returns the media type of the root document from the manifest.xml */
  private String getMediaTypeFromManifest() {
    OdfFileEntry rootDocumentEntry = mManifestEntries.get(SLASH);
    if (rootDocumentEntry != null) {
      return rootDocumentEntry.getMediaTypeString();
    } else {
      return null;
    }
  }
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

    }
    return mediaType;
  }

  private String getMediaTypeFromEntry(String internalPath) {
    OdfFileEntry entry = getFileEntry(internalPath);
    // if the document is not in the package, the return is NULL
    if (entry != null) {
      return entry.getMediaTypeString();
    } else {
      return null;
    }
  }
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

   *             - if the package could not be saved
   */
  private void save(OutputStream odfStream, String baseURL) {
    try {
      mBaseURI = baseURL;
      OdfFileEntry rootEntry = mManifestEntries.get(SLASH);
      if (rootEntry == null) {
        rootEntry = new OdfFileEntry(SLASH, mMediaType);
        mManifestEntries.put(SLASH, rootEntry);
      } else {
        rootEntry.setMediaTypeString(mMediaType);
      }
      ZipOutputStream zos = new ZipOutputStream(odfStream);

      // remove mediatype path and use it as first
      this.mManifestEntries.remove(OdfFile.MEDIA_TYPE.getPath());
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

      while (tok.hasMoreTokens()) {
        String directory = tok.nextToken();
        // it is a directory, if there are more token
        if (tok.hasMoreTokens()) {
          path = path + directory + SLASH;
          OdfFileEntry fileEntry = mManifestEntries.get(path);
          if (fileEntry == null) {
            mManifestEntries.put(path, new OdfFileEntry(path, null));
          }
        }
      }
    }
  }
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

    }else{
      documentDirectory = internalPath;
    }
    Set<String> entryNameList = entryMapToCopy.keySet();
    for (String entryName : entryNameList) {
      OdfFileEntry entry = entryMapToCopy.get(entryName);
      if (entry != null) {
        try {
          // if entry is a directory (e.g. an ODF document root)
          if (entryName.endsWith(SLASH)) {
            // insert directory
            if (entryName.equals(SLASH)) {
              insert((byte[]) null, documentDirectory, sourceDocument.getMediaTypeString());
            } else {
              insert((byte[]) null, documentDirectory + entry.getPath(), entry.getMediaTypeString());
            }
          } else {
            String packagePath = documentDirectory + entry.getPath();
            insert(sourceDocument.getPackage().getInputStream(entryName), packagePath, entry.getMediaTypeString());
          }
        } catch (Exception ex) {
          Logger.getLogger(OdfPackage.class.getName()).log(Level.SEVERE, null, ex);
        }
      }
    }
    //make sure the media type of embedded Document is right set.
    OdfFileEntry embedDocumentRootEntry = new OdfFileEntry(internalPath, sourceDocument.getMediaTypeString());
    mManifestEntries.put(internalPath, embedDocumentRootEntry);
    // the new document will be attached to its new package (it has been inserted to)
    sourceDocument.setPackage(this);
    cacheDocument(sourceDocument, internalPath);
  }
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

      if (entryName.startsWith(directory)) {
        String newEntryName = entryName.substring(directory.length());
        if (newEntryName.length() == 0) {
          continue;
        }
        OdfFileEntry srcFileEntry = allEntries.get(entryName);
        OdfFileEntry newFileEntry = new OdfFileEntry();
        newFileEntry.setEncryptionData(srcFileEntry.getEncryptionData());
        newFileEntry.setMediaTypeString(srcFileEntry.getMediaTypeString());
        newFileEntry.setPath(newEntryName);
        newFileEntry.setSize(srcFileEntry.getSize());
        subEntries.put(entryName, newFileEntry);
      }
    }
    return subEntries;
  }
View Full Code Here

Examples of org.odftoolkit.odfdom.pkg.manifest.OdfFileEntry

   * Adding a manifest:file-entry to be saved in manifest.xml.
   * In addition, sub directories will be added as well to the manifest.
   */
  private OdfFileEntry ensureFileEntryExistence(String internalPath) {
    // if it is NOT the resource "/META-INF/manifest.xml"
    OdfFileEntry fileEntry = null;
    if (!OdfPackage.OdfFile.MANIFEST.internalPath.equals(internalPath) ||
      !internalPath.equals(EMPTY_STRING)) {
      if (mManifestEntries == null) {
        mManifestEntries = new HashMap<String, OdfFileEntry>();
      }
      fileEntry = mManifestEntries.get(internalPath);
      // for every new file entry
      if (fileEntry == null) {
        fileEntry = new OdfFileEntry(internalPath);
        mManifestEntries.put(internalPath, fileEntry);
        // creates recursive file entries for all sub directories
        createSubEntries(internalPath);
      }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.