From: <die...@us...> - 2010-02-26 09:01:49
|
Revision: 2062 http://openutils.svn.sourceforge.net/openutils/?rev=2062&view=rev Author: diego_schivo Date: 2010-02-26 09:01:42 +0000 (Fri, 26 Feb 2010) Log Message: ----------- MEDIA-105 warn logs fixing NPE exceptions Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java 2010-02-24 22:43:45 UTC (rev 2061) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java 2010-02-26 09:01:42 UTC (rev 2062) @@ -31,11 +31,14 @@ import javax.servlet.http.HttpServletResponse; import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule; +import net.sourceforge.openutils.mgnlmedia.media.pages.MediaFolderViewPage; import net.sourceforge.openutils.mgnlmedia.media.pages.MessagesTemplatedMVCHandler; import net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl; import net.sourceforge.openutils.mgnlmedia.playlist.PlaylistConstants; import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -44,6 +47,11 @@ public class PlaylistView extends MessagesTemplatedMVCHandler { + /** + * Logger. + */ + private Logger log = LoggerFactory.getLogger(PlaylistView.class); + private String path; private PlaylistBean playlist; @@ -105,26 +113,44 @@ if (StringUtils.isNotBlank(path)) { Content node = ContentUtil.getContent(PlaylistConstants.REPO, path); - playlist = new PlaylistBean(); - playlist.setHandle(node.getHandle()); - playlist.setTitle(NodeDataUtil.getString(node, "title")); - playlist.setDescription(NodeDataUtil.getString(node, "description")); - List<PlaylistEntryBean> entries = new ArrayList<PlaylistEntryBean>(); - for (Content subNode : node.getChildren(PlaylistConstants.PLAYLIST_ENTRY)) + if (node != null) { - String mediaUUID = NodeDataUtil.getString(subNode, "media"); - Content media = ContentUtil.getContentByUUID(MediaModule.REPO, mediaUUID); - PlaylistEntryBean entry = new PlaylistEntryBean(); - entry.setHandle(subNode.getHandle()); - entry.setMedia(media.getUUID()); - entry.setThumbnail(MediaEl.thumbnail(media)); - entry.setType(NodeDataUtil.getString(media, "type")); - entry.setTitle(MediaEl.title(media)); - entry.setDescription(MediaEl.desc(media)); - entry.setTags(StringUtils.join(MediaEl.tags(media), ", ")); - entries.add(entry); + playlist = new PlaylistBean(); + playlist.setHandle(node.getHandle()); + playlist.setTitle(NodeDataUtil.getString(node, "title")); + playlist.setDescription(NodeDataUtil.getString(node, "description")); + List<PlaylistEntryBean> entries = new ArrayList<PlaylistEntryBean>(); + for (Content subNode : node.getChildren(PlaylistConstants.PLAYLIST_ENTRY)) + { + String mediaUUID = NodeDataUtil.getString(subNode, "media"); + Content media = ContentUtil.getContentByUUID(MediaModule.REPO, mediaUUID); + if (media != null) + { + PlaylistEntryBean entry = new PlaylistEntryBean(); + entry.setHandle(subNode.getHandle()); + entry.setMedia(media.getUUID()); + entry.setThumbnail(MediaEl.thumbnail(media)); + entry.setType(NodeDataUtil.getString(media, "type")); + entry.setTitle(MediaEl.title(media)); + entry.setDescription(MediaEl.desc(media)); + entry.setTags(StringUtils.join(MediaEl.tags(media), ", ")); + entries.add(entry); + } + else + { + log.warn( + "Node {} referenced by entry {} of playlist {} does not exist in media repository", + new Object[]{ + mediaUUID, subNode.getName(), playlist.getHandle() + }); + } + } + playlist.setEntries(entries); } - playlist.setEntries(entries); + else + { + log.warn("Node {} does not exist in playlist repository", path); + } } return super.show(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |