Package org.olat.core.util.vfs

Examples of org.olat.core.util.vfs.VFSContainer


          // Set the file properties to the item and store the file
          setEnclosure(file, item, reloadedFeed);

          // Write the item.xml file
          VFSContainer itemContainer = createItemContainer(feed, item);
          VFSLeaf itemFile = itemContainer.createChildLeaf(ITEM_FILE_NAME);
          XStreamHelper.writeObject(xstream, itemFile, item);

          // finally add the item to the feed
          reloadedFeed.add(item);
          reloadedFeed.setLastModified(item.getLastModified());
View Full Code Here


        }
      }
    }
    // Write the feed file. (Items are saved when adding them.)
    feed.sortItems();
    VFSContainer container = getFeedContainer(feed);
    VFSLeaf leaf = (VFSLeaf) container.resolve(FEED_FILE_NAME);
    XStreamHelper.writeObject(xstream, leaf, feed);
    initFeedCache().update(feed.getResourceableId().toString(), feed);
    enrichRepositoryEntryByFeedInformation(feed);
  }
View Full Code Here

      if (whenTheFeedWasLastModified != null && entry.getLastModified().before(whenTheFeedWasLastModified)) {
        // feed is newer than repository entry, update repository entry
        entry.setDisplayname(feed.getTitle());
        entry.setDescription(feed.getDescription());
        // Update the image
        VFSContainer repoHome = new LocalFolderImpl(new File(FolderConfig.getCanonicalRoot() + FolderConfig.getRepositoryHome()));
        String imageFilename = RepositoryEntryImageController.getImageFilename(entry);
        VFSItem oldEntryImage = repoHome.resolve(imageFilename);
        if (oldEntryImage != null) {
          // Delete the old File
          oldEntryImage.delete();
        }
        // Copy the feed image to the repository home folder unless it was
        // deleted.
        String feedImage = feed.getImageName();
        if (feedImage != null) {
          VFSItem newImage = getFeedMediaContainer(feed).resolve(feedImage);
          repoHome.copyFrom(newImage);
          VFSItem newEntryImage = repoHome.resolve(feed.getImageName());
          newEntryImage.rename(imageFilename);
        }
      }
    }
  }
View Full Code Here

  /**
   * @see org.olat.modules.webFeed.managers.FeedManager#getFeedContainer(org.olat.core.id.OLATResourceable)
   */
  public VFSContainer getFeedContainer(OLATResourceable ores) {
    VFSContainer feedDir = null;

    if (ores != null) {
      VFSContainer resourceDir = getResourceContainer(ores);
      String feedDirName = getFeedKind(ores);
      feedDir = (VFSContainer) resourceDir.resolve(feedDirName);
      if (feedDir == null) {
        // If the folder does not exist create it.
        feedDir = resourceDir.createChildContainer(feedDirName);
      }
    }
    return feedDir;
  }
View Full Code Here

   * @param item
   * @param feed
   */
  public void setEnclosure(FileElement file, Item item, Feed feed) {
    if (file != null) {
      VFSContainer itemMediaContainer = (VFSContainer) getItemContainer(item, feed).resolve(MEDIA_DIR);

      // Empty the container and write the new media file (called 'enclosure' in
      // rss)
      for (VFSItem fileItem : itemMediaContainer.getItems()) {
        if (!fileItem.getName().startsWith(".")) {
          fileItem.delete();
        }
      }
      File uploadedFile = file.getUploadFile();

      String saveFileName = getSaveFileName(file.getUploadFileName());

      File renamed = new File(uploadedFile.getParent() + "/" + saveFileName);
      uploadedFile.renameTo(renamed);
      VFSLeaf mediaFile = new LocalFileImpl(renamed);
      itemMediaContainer.copyFrom(mediaFile);

      // Update the enclosure
      Enclosure enclosure = new Enclosure();
      enclosure.setFileName(saveFileName);
      enclosure.setLength(renamed.length());
View Full Code Here

  /**
   * @see org.olat.modules.webFeed.managers.FeedManager#getItemMediaContainer(org.olat.modules.webFeed.models.Item,
   *      org.olat.modules.webFeed.models.Feed)
   */
  public VFSContainer getItemMediaContainer(Item item, Feed feed) {
    VFSContainer itemMediaContainer = null;
    VFSContainer itemContainer = getItemContainer(item, feed);
    if (itemContainer != null) {
      itemMediaContainer = (VFSContainer) itemContainer.resolve(MEDIA_DIR);
    }
   
    return itemMediaContainer;
  }
View Full Code Here

  /**
   * @see org.olat.modules.webFeed.managers.FeedManager#getItemMediaContainer(org.olat.modules.webFeed.models.Item,
   *      org.olat.modules.webFeed.models.Feed)
   */
  public File getItemEnclosureFile(Item item, Feed feed) {
    VFSContainer mediaDir = getItemMediaContainer(item, feed);
    Enclosure enclosure = item.getEnclosure();
    File file = null;
    if (mediaDir != null && enclosure != null) {
      VFSLeaf mediaFile = (VFSLeaf) mediaDir.resolve(enclosure.getFileName());
      if (mediaFile != null && mediaFile instanceof LocalFileImpl) {
        file = ((LocalFileImpl) mediaFile).getBasefile();
      }
    }
    return file;
View Full Code Here

   *
   * @param feed
   * @return The container of all items
   */
  private VFSContainer getItemsContainer(OLATResourceable feed) {
    VFSContainer items = null;
    VFSContainer feedContainer = getFeedContainer(feed);
    // If feed container is null we're in trouble
    items = (VFSContainer) feedContainer.resolve(ITEMS_DIR);
    if (items == null) {
      items = feedContainer.createChildContainer(ITEMS_DIR);
    }
    return items;
  }
View Full Code Here

   *
   * @param feed
   * @return The feed media container
   */
  public VFSContainer getFeedMediaContainer(OLATResourceable feed) {
    VFSContainer media = null;
    VFSContainer feedContainer = getFeedContainer(feed);
    // If feed container is null we're in trouble
    media = (VFSContainer) feedContainer.resolve(MEDIA_DIR);
    if (media == null) {
      media = feedContainer.createChildContainer(MEDIA_DIR);
    }
    return media;
  }
View Full Code Here

 
  /**
   * @see org.olat.modules.webFeed.managers.FeedManager#getFeedArchive(org.olat.core.id.OLATResourceable)
   */
  public VFSLeaf getFeedArchive(final OLATResourceable resource) {
    final VFSContainer rootContainer, feedContainer;
    rootContainer = getResourceContainer(resource);
    feedContainer = getFeedContainer(resource);
   
    //prepare fallback for author if needed
    final Feed feed = getFeedLigth(resource, true);
    if(feed.isInternal()) {
      CoordinatorManager.getCoordinator().getSyncer().doInSync(feed, new SyncerCallback<Boolean>() {
        public Boolean execute() { 
          for(Item item : getItems(feed)) {
            if(!item.isAuthorFallbackSet()) {
              //get used authorKey first
              String author = item.getAuthor();
              if(StringHelper.containsNonWhitespace(author)) {
                //set author fallback
                item.setAuthor(author);
                //update item.xml
                VFSContainer itemContainer = getItemContainer(item, feed);
                if(itemContainer != null) {
                  VFSLeaf itemFile = (VFSLeaf)itemContainer.resolve(ITEM_FILE_NAME);
                  XStreamHelper.writeObject(xstream, itemFile, item);
                }
              }
            }
          }
View Full Code Here

TOP

Related Classes of org.olat.core.util.vfs.VFSContainer

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.