From 24156d198f6ca43d1733cd4fa89e80249f6a1c6d Mon Sep 17 00:00:00 2001 From: uhensler <none@none> Date: Mon, 17 Jul 2017 11:05:59 +0200 Subject: [PATCH] OO-2898: Do not use cached thumbnail if it blog/podcast image has changed --- .../org/olat/modules/webFeed/manager/FeedFileStorge.java | 8 ++++++++ .../org/olat/modules/webFeed/ui/FeedMainController.java | 2 ++ .../org/olat/modules/webFeed/ui/blog/_content/info.html | 2 +- .../olat/modules/webFeed/ui/podcast/_content/info.html | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java b/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java index beec88e168d..724e79ea02e 100644 --- a/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java +++ b/src/main/java/org/olat/modules/webFeed/manager/FeedFileStorge.java @@ -27,6 +27,8 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import org.olat.core.commons.modules.bc.meta.MetaInfo; +import org.olat.core.commons.modules.bc.meta.tagged.MetaTagged; import org.olat.core.commons.modules.bc.vfs.OlatRootFolderImpl; import org.olat.core.commons.services.image.ImageService; import org.olat.core.gui.components.form.flexible.elements.FileElement; @@ -502,6 +504,12 @@ public class FeedFileStorge { if (feedMediaContainer != null) { for (VFSItem fileItem : feedMediaContainer.getItems()) { if (!fileItem.getName().startsWith(".")) { + if(fileItem instanceof MetaTagged) { + MetaInfo info = ((MetaTagged)fileItem).getMetaInfo(); + if(info != null) { + info.clearThumbnails(); + } + } fileItem.delete(); } } diff --git a/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java b/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java index 03b817ad339..e10335c2702 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/FeedMainController.java @@ -19,6 +19,7 @@ */ package org.olat.modules.webFeed.ui; +import java.time.ZonedDateTime; import java.util.List; import org.olat.core.commons.services.notifications.PublisherData; @@ -355,6 +356,7 @@ public class FeedMainController extends BasicController implements Activateable2 FeedChangedEvent fce = (FeedChangedEvent) event; if (fce.getFeedKey().equals(feed.getKey())) { feed = feedManager.loadFeed(feed); + vcInfo.contextPut("supressCache", "&" + ZonedDateTime.now().toInstant().toEpochMilli()); vcInfo.contextPut("feed", feed); vcInfo.setDirty(true); } diff --git a/src/main/java/org/olat/modules/webFeed/ui/blog/_content/info.html b/src/main/java/org/olat/modules/webFeed/ui/blog/_content/info.html index e6d8de54c0b..4b9a9f5c33b 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/blog/_content/info.html +++ b/src/main/java/org/olat/modules/webFeed/ui/blog/_content/info.html @@ -7,7 +7,7 @@ $r.escapeHtml($!feed.getTitle()) </h2> #if ($helper.getImageUrl($feed) && $helper.getImageUrl($feed) != "") - <img class="o_media" src="$helper.getImageUrl($feed)?thumbnail=180x121" alt="Blog Image" /> + <img class="o_media" src="$helper.getImageUrl($feed)?thumbnail=180x121{$!supressCache}" alt="Blog Image" /> #end <div class="o_block"> #if ($!feed.getAuthor()) diff --git a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/info.html b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/info.html index 0f06006e04d..71d0fa39c67 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/info.html +++ b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/info.html @@ -7,7 +7,7 @@ $r.escapeHtml($!feed.getTitle()) </h2> #if ($helper.getImageUrl($feed) && $helper.getImageUrl($feed) != "") - <img class="o_media" src="$helper.getImageUrl($feed)?thumbnail=180x121" alt="Podcast Icon" /> + <img class="o_media" src="$helper.getImageUrl($feed)?thumbnail=180x121{$!supressCache}" alt="Podcast Icon" /> #end <div class="o_block"> #if ($!feed.getAuthor()) -- GitLab