From: <die...@us...> - 2011-02-07 15:05:21
|
Revision: 3306 http://openutils.svn.sourceforge.net/openutils/?rev=3306&view=rev Author: diego_schivo Date: 2011-02-07 15:05:15 +0000 (Mon, 07 Feb 2011) Log Message: ----------- MEDIA-214 saveAsPlaylist method Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java 2011-02-07 14:49:29 UTC (rev 3305) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java 2011-02-07 15:05:15 UTC (rev 3306) @@ -20,14 +20,22 @@ package net.sourceforge.openutils.mgnlmedia.media.pages; import info.magnolia.cms.core.Content; +import info.magnolia.cms.core.HierarchyManager; +import info.magnolia.cms.core.ItemType; +import info.magnolia.cms.core.Path; +import info.magnolia.cms.util.NodeDataUtil; import info.magnolia.context.MgnlContext; import info.magnolia.freemarker.FreemarkerUtil; +import java.util.Enumeration; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; +import javax.jcr.PropertyType; import javax.jcr.RepositoryException; +import javax.jcr.Value; +import javax.jcr.ValueFactory; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -37,6 +45,7 @@ import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaTypeConfiguration; import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule; import net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl; +import net.sourceforge.openutils.mgnlmedia.playlist.PlaylistConstants; import net.sourceforge.openutils.mgnlmedia.playlist.pages.PlaylistView; import org.apache.commons.lang.StringUtils; @@ -236,4 +245,38 @@ }); } + public String saveAsPlaylist() + { + try + { + HierarchyManager hm = MgnlContext.getSystemContext().getHierarchyManager(PlaylistConstants.REPO); + ValueFactory valueFactory = hm.getWorkspace().getSession().getValueFactory(); + + Content playlistNode = hm.createContent("/samples", "hello", PlaylistConstants.PLAYLIST.getSystemName()); + Content requestNode = playlistNode.createContent("request", ItemType.CONTENTNODE); + for (Enumeration paramNames = request.getParameterNames(); paramNames.hasMoreElements();) + { + String paramName = (String) paramNames.nextElement(); + String[] paramValues = request.getParameterValues(paramName); + + Content paramNode = requestNode.createContent( + Path.getUniqueLabel(requestNode, "0"), + ItemType.CONTENTNODE); + paramNode.setNodeData("name", paramName); + Value[] jcrValues = new Value[paramValues.length]; + for (int i = 0; i < paramValues.length; i++) + { + jcrValues[i] = NodeDataUtil.createValue(paramValues[i], PropertyType.STRING, valueFactory); + } + paramNode.setNodeData("value", jcrValues); + } + playlistNode.getParent().save(); + } + catch (RepositoryException e) + { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return show(); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |