use of org.olat.modules.webFeed.Feed in project openolat by klemens.
the class FeedManagerImpl method deleteFeedImage.
@Override
public Feed deleteFeedImage(Feed feed) {
String saveFileName = null;
feedFileStorage.deleteFeedMedia(feed);
Feed reloadedFeed = feedDAO.loadFeed(feed.getKey());
if (reloadedFeed != null) {
reloadedFeed.setImageName(saveFileName);
reloadedFeed = feedDAO.updateFeed(reloadedFeed);
}
return reloadedFeed;
}
use of org.olat.modules.webFeed.Feed in project openolat by klemens.
the class FeedManagerImpl method importFeedFromXML.
@Override
public void importFeedFromXML(OLATResource ores, boolean removeIdentityKeys) {
Feed feedFromXml = feedFileStorage.loadFeedFromXML(ores);
if (feedFromXml == null)
return;
// Check if the feed already exits or create it. The feed exists
// possibly, if a previous migration from an XML feed was not
// successful.
Feed feed = feedDAO.loadFeed(ores);
if (feed == null) {
feedFromXml.setResourceableId(ores.getResourceableId());
// Use the display name instead of the username
if (!removeIdentityKeys && feedFromXml.getAuthor() != null) {
String authorName = UserManager.getInstance().getUserDisplayName(feedFromXml.getAuthor());
if (authorName != null) {
feedFromXml.setAuthor(authorName);
}
}
feed = feedDAO.createFeed(feedFromXml);
log.info("Feed imported " + "(" + ores.getResourceableTypeName() + "): " + ores.getResourceableId());
}
List<Item> itemsFromXml = feedFileStorage.loadItemsFromXML(ores);
itemsFromXml = fixFeedVersionIssues(feedFromXml, itemsFromXml);
for (Item itemFromXml : itemsFromXml) {
// Check if the item already exits or create it.
Item item = itemDAO.loadItemByGuid(feed.getKey(), itemFromXml.getGuid());
if (item == null) {
if (removeIdentityKeys) {
itemFromXml.setAuthorKey(null);
itemFromXml.setModifierKey(null);
} else {
// Check if the identity exists
if (itemFromXml.getAuthorKey() != null && securityManager.loadIdentityShortByKey(itemFromXml.getAuthorKey()) == null) {
itemFromXml.setAuthorKey(null);
}
if (itemFromXml.getModifierKey() != null && securityManager.loadIdentityShortByKey(itemFromXml.getModifierKey()) == null) {
itemFromXml.setModifierKey(null);
}
}
itemDAO.createItem(feed, itemFromXml);
log.info("Item imported: " + itemFromXml.getGuid());
}
feedFileStorage.deleteItemXML(itemFromXml);
}
if (feed.isExternal()) {
saveExternalItems(feed);
saveExternalFeed(feed);
}
feedFileStorage.deleteFeedXML(feed);
}
use of org.olat.modules.webFeed.Feed in project openolat by klemens.
the class FeedManagerImpl method deleteFeed.
@Override
public void deleteFeed(OLATResourceable ores) {
// delete the container on the file system
fileResourceManager.deleteFileResource(ores);
// delete comments and ratings
CommentAndRatingService commentAndRatingService = CoreSpringFactory.getImpl(CommentAndRatingService.class);
commentAndRatingService.deleteAllIgnoringSubPath(ores);
// delete the feed and all items from the database
Feed feed = feedDAO.loadFeed(ores);
itemDAO.removeItems(feed);
feedDAO.removeFeedForResourceable(ores);
resourceManager.deleteOLATResourceable(ores);
feed = null;
}
use of org.olat.modules.webFeed.Feed in project openolat by klemens.
the class LiveBlogArtefactHandler method getContent.
@Override
protected void getContent(AbstractArtefact artefact, StringBuilder sb, SearchResourceContext context, EPFrontendManager ePFManager) {
String businessPath = artefact.getBusinessPath();
if (StringHelper.containsNonWhitespace(businessPath)) {
manager = FeedManager.getInstance();
String oresId = businessPath.substring(LIVEBLOG.length(), businessPath.length() - 1);
OLATResourceable ores = OresHelper.createOLATResourceableInstance(BlogFileResource.TYPE_NAME, Long.parseLong(oresId));
Feed feed = manager.loadFeed(ores);
List<Item> publishedItems = manager.loadPublishedItems(feed);
for (Item item : publishedItems) {
OlatDocument itemDoc = new FeedItemDocument(item, context);
String content = itemDoc.getContent();
sb.append(content);
}
}
}
use of org.olat.modules.webFeed.Feed in project openolat by klemens.
the class BlogHandler method onDescriptionChanged.
@Override
public void onDescriptionChanged(RepositoryEntry entry) {
Feed feed = FeedManager.getInstance().updateFeedWithRepositoryEntry(entry);
DBFactory.getInstance().commitAndCloseSession();
CoordinatorManager.getInstance().getCoordinator().getEventBus().fireEventToListenersOf(new FeedChangedEvent(feed.getKey()), feed);
}
Aggregations