|
From: <luc...@us...> - 2013-09-25 17:22:58
|
Revision: 4342
http://openutils.svn.sourceforge.net/openutils/?rev=4342&view=rev
Author: lucaboati
Date: 2013-09-25 17:22:52 +0000 (Wed, 25 Sep 2013)
Log Message:
-----------
remove deprecations, content to node, simplemedia back to work!
Modified Paths:
--------------
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/LayerDialogMVC.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBeanBuilder.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaSearchPage.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/MediaCustomSaveHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/AddExtensionToType.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/ConditionallySubscribeMediaRepositoriesTask.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/RenameThumbToImageTask.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseVideoTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/DocumentTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ImageTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/MediaWithPreviewImageTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/SwfTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/VideoTypeHandler.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/uri/MediaURI2RepositoryMapping.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/IcoUtils.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtils.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/JpegUtils.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/utils/MediaLoadUtils.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/dialog/PlaylistEntryDialogMVC.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/DefaultPlaylistTrackExtensionContributor.java
magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/playlist/pages/PlaylistView.java
magnoliamodules/trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/repotests/MediaTests.java
magnoliamodules/trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/utils/FileNodeData.java
magnoliamodules/trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/utils/ImageUtilsTest.java
Added Paths:
-----------
magnoliamodules/trunk/openutils-mgnlmedia/src/test/java/net/sourceforge/openutils/mgnlmedia/media/utils/FileNode.java
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -21,7 +21,6 @@
import info.magnolia.cms.beans.runtime.FileProperties;
import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.cms.core.NodeData;
import info.magnolia.cms.i18n.Messages;
import info.magnolia.cms.i18n.MessagesUtil;
@@ -33,9 +32,11 @@
import java.util.Map;
import javax.jcr.ItemNotFoundException;
+import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -121,7 +122,7 @@
@Override
protected void addToParameters(Map<String, Object> parameters)
{
- Content media = null;
+ Node media = null;
NodeData nd = null;
if (getStorageNode() != null)
@@ -139,8 +140,8 @@
{
try
{
- HierarchyManager hm = MgnlContext.getHierarchyManager(MediaModule.REPO);
- media = hm.getContentByUUID(this.getValue());
+ Session hm = MgnlContext.getJCRSession(MediaModule.REPO);
+ media = hm.getNodeByIdentifier(this.getValue());
}
catch (ItemNotFoundException ex)
{
@@ -156,8 +157,16 @@
parameters.put("thumbnailUrl", this.getThumbnailUrl(media, nd));
parameters.put("msgs", this.getMessages());
parameters.put("filename", this.getFilename(media, nd));
- parameters.put("handle", media != null ? media.getHandle() : null);
+ try
+ {
+ parameters.put("handle", media != null ? media.getPath() : null);
+ }
+ catch (RepositoryException e)
+ {
+ log.error("RepositoryException {}", e);
+ }
+
if ("true".equals(this.getConfigValue("resizing")))
{
parameters.put("width", this.getWidth());
@@ -185,12 +194,12 @@
* @return media content
* @throws RepositoryException exception retrieving media
*/
- protected Content getMedia() throws RepositoryException
+ protected Node getMedia() throws RepositoryException
{
if (this.getValue() != null && this.getValue().length() > 0)
{
- HierarchyManager hm = MgnlContext.getHierarchyManager(MediaModule.REPO);
- return hm.getContentByUUID(this.getValue());
+ Session hm = MgnlContext.getJCRSession(MediaModule.REPO);
+ return hm.getNodeByIdentifier(this.getValue());
}
return null;
}
@@ -201,7 +210,7 @@
* @param nd
* @return thumbnail url
*/
- public String getThumbnailUrl(Content media, NodeData nd)
+ public String getThumbnailUrl(Node media, NodeData nd)
{
if (nd != null && nd.getType() == PropertyType.BINARY)
@@ -252,7 +261,7 @@
* @param media2
* @return filename
*/
- public String getFilename(Content media, NodeData nd)
+ public String getFilename(Node media, NodeData nd)
{
if (nd != null && nd.getType() == PropertyType.BINARY)
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/LayerDialogMVC.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/LayerDialogMVC.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/LayerDialogMVC.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -150,7 +150,7 @@
// TODO rename dei nodi in base al filename?
- return MediaConfigurationManager.getInstance().getTypes().get(type).getHandler().onPostSave(node);
+ return MediaConfigurationManager.getInstance().getTypes().get(type).getHandler().onPostSave(node.getJCRNode());
}
/**
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaAdvancedSearchPage.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -19,7 +19,6 @@
package net.sourceforge.openutils.mgnlmedia.media.pages;
-
import info.magnolia.context.MgnlContext;
import info.magnolia.freemarker.FreemarkerUtil;
@@ -227,7 +226,7 @@
{
try
{
- return MgnlContext.getHierarchyManager(MediaModule.REPO).getContentByUUID(from.getUUID());
+ return MgnlContext.getJCRSession(MediaModule.REPO).getNodeByIdentifier(from.getUUID());
}
catch (RepositoryException e)
{
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBeanBuilder.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBeanBuilder.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBeanBuilder.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -22,7 +22,9 @@
import info.magnolia.cms.beans.config.URI2RepositoryManager;
import info.magnolia.cms.exchange.ActivationManagerFactory;
import info.magnolia.cms.security.Permission;
-import info.magnolia.cms.util.NodeDataUtil;
+import info.magnolia.jcr.util.MetaDataUtil;
+import info.magnolia.jcr.util.NodeUtil;
+import info.magnolia.jcr.util.PropertyUtil;
import info.magnolia.repository.RepositoryConstants;
import java.util.List;
@@ -62,44 +64,44 @@
public MediaBean apply(Node media)
{
- String mediatype = media.getNodeData("type").getString();
+ String mediatype = PropertyUtil.getString(media, "type");
MediaTypeConfiguration mtc = MediaConfigurationManager.getInstance().getTypes().get(mediatype);
-
- if (mtc == null)
- {
- log.warn("Skipping media {} with invalid media type \"{}\"", media.getHandle(), mediatype);
- return null;
- }
-
MediaBean mb = new MediaBean();
- mb.setContent(media);
- mb.setMetaData(media.getMetaData());
- mb.setHandle(media.getHandle());
- mb.setName(NodeDataUtil.getString(media, MediaTypeHandler.METADATA_NAME));
- mb.setFilename(mtc.getHandler().getFilename(media));
- // backward compatibility
- if (StringUtils.isEmpty(mb.getName()) && !StringUtils.isEmpty(mb.getFilename()))
+ try
{
- int p = StringUtils.lastIndexOf(mb.getFilename(), '/');
- mb.setName(p != -1 ? mb.getFilename().substring(p + 1) : mb.getFilename());
- }
- mb.setTitle(mtc.getHandler().getTitle(media));
- mb.setThumbnailUrl(mtc.getHandler().getThumbnailUrl(media));
- mb.setPreviewUrl(mtc.getHandler().getPreviewUrl(media));
- mb.setDescription(mtc.getHandler().getDescription(media));
- mb.setDialog(mtc.getDialog());
- mb.setUuid(media.getUUID());
- mb.setType(mediatype);
- mb.setIcon(mtc.getMenuIcon());
+ if (mtc == null)
+ {
+ log.warn("Skipping media {} with invalid media type \"{}\"", media.getPath(), mediatype);
+ return null;
+ }
- try
- {
- mb.setWritable(media.getParent().isGranted(Permission.WRITE));
+ mb.setContent(media);
+ mb.setMetaData(MetaDataUtil.getMetaData(media));
+ mb.setHandle(media.getPath());
+ mb.setName(PropertyUtil.getString(media, MediaTypeHandler.METADATA_NAME));
+ mb.setFilename(mtc.getHandler().getFilename(media));
+ // backward compatibility
+ if (StringUtils.isEmpty(mb.getName()) && !StringUtils.isEmpty(mb.getFilename()))
+ {
+ int p = StringUtils.lastIndexOf(mb.getFilename(), '/');
+ mb.setName(p != -1 ? mb.getFilename().substring(p + 1) : mb.getFilename());
+ }
+ mb.setTitle(mtc.getHandler().getTitle(media));
+ mb.setThumbnailUrl(mtc.getHandler().getThumbnailUrl(media));
+ mb.setPreviewUrl(mtc.getHandler().getPreviewUrl(media));
+ mb.setDescription(mtc.getHandler().getDescription(media));
+ mb.setDialog(mtc.getDialog());
+ mb.setUuid(media.getIdentifier());
+ mb.setType(mediatype);
+ mb.setIcon(mtc.getMenuIcon());
+
+ mb.setWritable(NodeUtil.isGranted(media.getParent(), Permission.SET));
mb.setCanPublish(!MediaEl.module().isSingleinstance()
&& mb.isWritable()
&& ActivationManagerFactory.getActivationManager().hasAnyActiveSubscriber());
- Map<String, List<String>> workspacePaths = MediaUsedInManager.getInstance().getUsedInPaths(media.getUUID());
+ Map<String, List<String>> workspacePaths = MediaUsedInManager.getInstance().getUsedInPaths(
+ media.getIdentifier());
mb.getUsedInWebPages().addAll(workspacePaths.get(RepositoryConstants.WEBSITE));
for (Map.Entry<String, List<String>> entry : workspacePaths.entrySet())
{
@@ -115,11 +117,9 @@
{
log.error("Exception caught", ex);
}
-
mb.setMediaInfo(mtc.getHandler().getMediaInfo(media));
mb.setExternal(mtc.getHandler().isExternal(media));
return mb;
}
-
}
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaBrowserPage.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -20,12 +20,13 @@
package net.sourceforge.openutils.mgnlmedia.media.pages;
import info.magnolia.cms.beans.runtime.Document;
-import info.magnolia.cms.core.HierarchyManager;
+import info.magnolia.cms.core.MgnlNodeType;
import info.magnolia.cms.i18n.Messages;
import info.magnolia.cms.util.AlertUtil;
-import info.magnolia.cms.util.ContentUtil;
-import info.magnolia.cms.util.NodeDataUtil;
import info.magnolia.context.MgnlContext;
+import info.magnolia.jcr.util.NodeUtil;
+import info.magnolia.jcr.util.PropertyUtil;
+import it.openutils.mgnlutils.api.NodeUtilsExt;
import java.io.File;
import java.io.FileOutputStream;
@@ -40,6 +41,7 @@
import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -113,12 +115,12 @@
super.init();
if (StringUtils.isNotBlank(actMedia))
{
- HierarchyManager mgr = MgnlContext.getHierarchyManager(MediaModule.REPO);
try
{
- Node media = mgr.getContentByUUID(actMedia);
- openPath = media.getParent().getHandle();
- actMediaHandle = media.getHandle();
+ Session mgr = MgnlContext.getJCRSession(MediaModule.REPO);
+ Node media = mgr.getNodeByIdentifier(actMedia);
+ openPath = media.getParent().getPath();
+ actMediaHandle = media.getPath();
}
catch (RepositoryException ex)
{
@@ -127,16 +129,18 @@
}
if (!StringUtils.isEmpty(playlistHandle))
{
- Node playlistContent = ContentUtil.getContent(PlaylistConstants.REPO, playlistHandle);
+ Node playlistContent = NodeUtilsExt.getNodeByIdOrPath(PlaylistConstants.REPO, playlistHandle);
try
{
- if (playlistContent.hasContent("search"))
+ if (playlistContent.hasNode("search"))
{
List<String> params = new ArrayList<String>();
- for (Node content : playlistContent.getContent("search").getChildren())
+ Node search = playlistContent.getNode("search");
+ Iterable<Node> nodes = NodeUtil.getNodes(search, MgnlNodeType.NT_CONTENTNODE);
+ for (Node content : nodes)
{
- String paramName = NodeDataUtil.getString(content, "name");
- String paramValue = NodeDataUtil.getString(content, "value");
+ String paramName = PropertyUtil.getString(content, "name");
+ String paramValue = PropertyUtil.getString(content, "value");
params.add(paramName + "=" + paramValue);
}
playlistSearch = StringUtils.join(params, '&');
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaFolderViewPage.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -19,6 +19,7 @@
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;
@@ -26,7 +27,6 @@
import info.magnolia.cms.exchange.ExchangeException;
import info.magnolia.cms.security.Permission;
import info.magnolia.cms.util.AlertUtil;
-import info.magnolia.cms.util.ContentUtil;
import info.magnolia.commands.CommandsManager;
import info.magnolia.context.Context;
import info.magnolia.context.MgnlContext;
@@ -65,7 +65,6 @@
import org.apache.commons.lang.StringUtils;
import com.google.common.collect.Iterators;
-import com.sun.xml.internal.ws.util.MetadataUtil;
/**
@@ -226,7 +225,8 @@
{
return null;
}
- writable = folder.isGranted(Permission.WRITE);
+
+ writable = NodeUtil.isGranted(folder, Permission.SET);
canPublish = writable && ActivationManagerFactory.getActivationManager().hasAnyActiveSubscriber();
MediaModule module = MediaEl.module();
Integer itemsPerPage = module.getFolderViewPageSizes().get(pagesizeSelector);
@@ -417,11 +417,11 @@
// copy
hm.copyTo(source, goTo);
}
- Node newContent = hm.getNode(destination);
+ Content newContent = hm.getContent(destination);
try
{
- MetaDataUtil.updateMetaData(newContent);
- MetaDataUtil.getMetaData(newContent).setUnActivated();
+ MetaDataUtil.updateMetaData(newContent.getJCRNode());
+ MetaDataUtil.getMetaData(newContent.getJCRNode()).setUnActivated();
}
catch (Exception e)
{
@@ -431,7 +431,7 @@
}
}
newContent.save();
- return newContent;
+ return newContent.getJCRNode();
}
/**
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaSearchPage.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaSearchPage.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/pages/MediaSearchPage.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -19,17 +19,16 @@
package net.sourceforge.openutils.mgnlmedia.media.pages;
-
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.context.MgnlContext;
+import info.magnolia.jcr.util.NodeUtil;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
import java.util.Map;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -93,12 +92,14 @@
mtc.add(entry.getValue());
}
- HierarchyManager mgr = MgnlContext.getHierarchyManager(MediaModule.REPO);
try
{
- Collection<Node> contents = mgr.getRoot().getChildren(MediaConfigurationManager.FOLDER);
+ Session session = MgnlContext.getJCRSession(MediaModule.REPO);
+ Iterable<Node> nodes = NodeUtil.getNodes(
+ session.getRootNode(),
+ MediaConfigurationManager.FOLDER.getSystemName());
List<String> tmpPaths = new ArrayList<String>();
- for (Node c : contents)
+ for (Node c : nodes)
{
tmpPaths.add(c.getName());
}
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/MediaCustomSaveHandler.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/MediaCustomSaveHandler.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/save/MediaCustomSaveHandler.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -21,15 +21,16 @@
import info.magnolia.cms.beans.runtime.MultipartForm;
import info.magnolia.cms.core.Content;
-import info.magnolia.cms.core.HierarchyManager;
import info.magnolia.cms.security.AccessDeniedException;
import info.magnolia.cms.util.NodeDataUtil;
import info.magnolia.context.MgnlContext;
import info.magnolia.module.admininterface.FieldSaveHandler;
import javax.jcr.ItemNotFoundException;
+import javax.jcr.Node;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import javax.servlet.http.HttpServletRequest;
import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager;
@@ -83,19 +84,19 @@
else
{
- HierarchyManager hm = MgnlContext.getHierarchyManager(MediaModule.REPO);
+ Session hm = MgnlContext.getJCRSession(MediaModule.REPO);
try
{
- Content media = hm.getContentByUUID(value);
+ Node media = hm.getNodeByIdentifier(value);
MediaTypeConfiguration mtc = MediaConfigurationManager
.getInstance()
.getMediaTypeConfigurationFromMedia(media);
mtc.getHandler().onSavingPropertyMedia(
media,
- parentNode,
- configNode,
+ parentNode.getJCRNode(),
+ configNode.getJCRNode(),
name,
request,
form,
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/AddExtensionToType.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/AddExtensionToType.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/AddExtensionToType.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -19,15 +19,18 @@
package net.sourceforge.openutils.mgnlmedia.media.setup;
-
-import info.magnolia.cms.core.HierarchyManager;
+import info.magnolia.jcr.util.PropertyUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractRepositoryTask;
import info.magnolia.module.delta.TaskExecutionException;
-import info.magnolia.repository.RepositoryConstants;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.ValueFormatException;
+import javax.jcr.lock.LockException;
+import javax.jcr.nodetype.ConstraintViolationException;
+import javax.jcr.version.VersionException;
import org.apache.commons.lang.StringUtils;
@@ -67,17 +70,13 @@
protected void doExecute(InstallContext ctx) throws RepositoryException, TaskExecutionException
{
- final HierarchyManager hm = ctx.getHierarchyManager(RepositoryConstants.CONFIG);
+ final Session hm = ctx.getConfigJCRSession();
String nodePath = "/modules/media/mediatypes/" + this.mediatype;
try
{
- final Node mediatypenode = hm.getContent(nodePath);
- String extensions = mediatypenode.getNodeData("extensions").getString();
- if (!StringUtils.contains(extensions, this.extension))
- {
- mediatypenode.setNodeData("extensions", extensions + "," + this.extension);
- }
+ final Node mediatypenode = hm.getNode(nodePath);
+ setExtensions(mediatypenode);
}
catch (RepositoryException e)
{
@@ -86,12 +85,8 @@
try
{
- final Node mediatypenode = hm.getContent(control);
- String extensions = mediatypenode.getNodeData("extensions").getString();
- if (!StringUtils.contains(extensions, this.extension))
- {
- mediatypenode.setNodeData("extensions", extensions + "," + this.extension);
- }
+ final Node mediatypenode = hm.getNode(control);
+ setExtensions(mediatypenode);
}
catch (RepositoryException e)
{
@@ -100,4 +95,22 @@
}
+ /**
+ * @param mediatypenode
+ * @throws ValueFormatException
+ * @throws VersionException
+ * @throws LockException
+ * @throws ConstraintViolationException
+ * @throws RepositoryException
+ */
+ private void setExtensions(final Node mediatypenode) throws ValueFormatException, VersionException, LockException,
+ ConstraintViolationException, RepositoryException
+ {
+ String extensions = PropertyUtil.getString(mediatypenode, "extensions");
+ if (!StringUtils.contains(extensions, this.extension))
+ {
+ mediatypenode.setProperty("extensions", extensions + "," + this.extension);
+ }
+ }
+
}
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/ConditionallySubscribeMediaRepositoriesTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/ConditionallySubscribeMediaRepositoriesTask.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/ConditionallySubscribeMediaRepositoriesTask.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -19,12 +19,14 @@
package net.sourceforge.openutils.mgnlmedia.media.setup;
-
import info.magnolia.cms.core.ItemType;
+import info.magnolia.cms.core.MgnlNodeType;
import info.magnolia.cms.exchange.ActivationManager;
import info.magnolia.cms.exchange.ActivationManagerFactory;
import info.magnolia.cms.exchange.Subscriber;
import info.magnolia.cms.util.ContentUtil;
+import info.magnolia.context.MgnlContext;
+import info.magnolia.jcr.util.PropertyUtil;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractTask;
import info.magnolia.module.delta.TaskExecutionException;
@@ -60,27 +62,34 @@
// check for the sigleinstance flag directly in jcr, the module is not started yet
boolean singleinstance = false;
- Node moduleConfigNode = ContentUtil.getContent(RepositoryConstants.CONFIG, "/modules/media/config");
- if (moduleConfigNode != null)
+ try
{
- singleinstance = moduleConfigNode.getNodeData("singleinstance").getBoolean();
- }
- if (singleinstance)
- {
- return;
- }
+ Node moduleConfigNode = ctx.getConfigJCRSession().getNode("/modules/media/config");
+ if (moduleConfigNode != null)
+ {
+ singleinstance = PropertyUtil.getBoolean(moduleConfigNode, "singleinstance", false);
+ }
+ if (singleinstance)
+ {
+ return;
+ }
- final ModuleDefinition def = ctx.getCurrentModuleDefinition();
+ final ModuleDefinition def = ctx.getCurrentModuleDefinition();
- Collection<RepositoryDefinition> repositories = def.getRepositories();
- for (RepositoryDefinition repDef : repositories)
- {
- List<String> workspaces = repDef.getWorkspaces();
- for (final String workspace : workspaces)
+ Collection<RepositoryDefinition> repositories = def.getRepositories();
+ for (RepositoryDefinition repDef : repositories)
{
- subscribeRepository(workspace);
+ List<String> workspaces = repDef.getWorkspaces();
+ for (final String workspace : workspaces)
+ {
+ subscribeRepository(workspace);
+ }
}
}
+ catch (RepositoryException re)
+ {
+ throw new TaskExecutionException("wasn't able to config singleinstance", re);
+ }
}
@@ -96,16 +105,15 @@
{
if (!subscriber.isSubscribed("/", repository))
{
- Node subscriptionsNode = ContentUtil.getContent(RepositoryConstants.CONFIG, sManager.getConfigPath()
- + "/"
- + subscriber.getName()
- + "/subscriptions");
try
{
- Node newSubscription = subscriptionsNode.createContent(repository, ItemType.CONTENTNODE);
- newSubscription.createNodeData("toURI").setValue("/");
- newSubscription.createNodeData("repository").setValue(repository);
- newSubscription.createNodeData("fromURI").setValue("/");
+ Node subscriptionsNode = MgnlContext.getJCRSession(RepositoryConstants.CONFIG).getNode(
+ sManager.getConfigPath() + "/" + subscriber.getName() + "/subscriptions");
+
+ Node newSubscription = subscriptionsNode.addNode(repository, MgnlNodeType.NT_CONTENTNODE);
+ newSubscription.setProperty("toURI", "/");
+ newSubscription.setProperty("repository", repository);
+ newSubscription.setProperty("fromURI", "/");
// subscriptionsNode.save();
}
catch (RepositoryException re)
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/RenameThumbToImageTask.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/RenameThumbToImageTask.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/setup/RenameThumbToImageTask.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -21,20 +21,28 @@
import info.magnolia.cms.beans.runtime.FileProperties;
import info.magnolia.cms.core.HierarchyManager;
-import info.magnolia.cms.core.NodeData;
import info.magnolia.cms.core.search.Query;
import info.magnolia.cms.core.search.QueryManager;
import info.magnolia.cms.core.search.QueryResult;
import info.magnolia.module.InstallContext;
import info.magnolia.module.delta.AbstractTask;
import info.magnolia.module.delta.TaskExecutionException;
+import it.openutils.mgnlutils.api.NodeUtilsExt;
import java.util.Collection;
+import javax.jcr.Binary;
import javax.jcr.Node;
+import javax.jcr.Property;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResult;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.AdvancedResultItem;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.Criteria;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.JCRCriteriaFactory;
+import net.sourceforge.openutils.mgnlcriteria.jcr.query.criterion.Order;
import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager;
import net.sourceforge.openutils.mgnlmedia.media.lifecycle.MediaModule;
@@ -60,43 +68,57 @@
@SuppressWarnings("unchecked")
public void execute(InstallContext installContext) throws TaskExecutionException
{
- HierarchyManager hm = installContext.getHierarchyManager(MediaModule.REPO);
- QueryManager mgr = hm.getQueryManager();
try
{
- Query query = mgr.createQuery("//*", Query.XPATH);
- QueryResult result = query.execute();
- Collection<Node> medias = result.getContent(MediaConfigurationManager.MEDIA.getSystemName());
- for (Node node : medias)
+ // [LB] FIXME
+ Session hm = installContext.getJCRSession(MediaModule.REPO);
+ Criteria criteria = JCRCriteriaFactory
+ .createCriteria()
+ .setWorkspace(MediaConfigurationManager.MEDIA.getSystemName())
+ .setBasePath("//*")
+ // .add(Restrictions.eq("jcr:primaryType", "mgnl:contentNode"))
+ .addOrder(Order.desc("@jcr:score"));
+ AdvancedResult result = criteria.execute();
+ for (AdvancedResultItem node : result.getItems())
{
- if (node.hasNodeData("thumbnail"))
+ if (node.hasProperty("thumbnail"))
{
- NodeData thumbnail = node.getNodeData("thumbnail");
+ Property thumbnail = node.getProperty("thumbnail");
if (thumbnail.getType() == PropertyType.BINARY)
{
- NodeData image = node.createNodeData("image", PropertyType.BINARY);
- image.setValue(thumbnail.getStream());
-
- image.setAttribute(
+ // [LB] FIXME
+ NodeUtilsExt.setAttribute(
+ thumbnail,
+ "image",
FileProperties.PROPERTY_EXTENSION,
- thumbnail.getAttribute(FileProperties.PROPERTY_EXTENSION));
- image.setAttribute(
+ NodeUtilsExt.getAttribute(thumbnail, FileProperties.PROPERTY_EXTENSION));
+ NodeUtilsExt.setAttribute(
+ thumbnail,
+ "image",
FileProperties.PROPERTY_FILENAME,
- thumbnail.getAttribute(FileProperties.PROPERTY_FILENAME));
- image.setAttribute(
+ NodeUtilsExt.getAttribute(thumbnail, FileProperties.PROPERTY_FILENAME));
+ NodeUtilsExt.setAttribute(
+ thumbnail,
+ "image",
FileProperties.PROPERTY_CONTENTTYPE,
- thumbnail.getAttribute(FileProperties.PROPERTY_CONTENTTYPE));
- image.setAttribute(
+ NodeUtilsExt.getAttribute(thumbnail, FileProperties.PROPERTY_CONTENTTYPE));
+ NodeUtilsExt.setAttribute(
+ thumbnail,
+ "image",
FileProperties.PROPERTY_LASTMODIFIED,
- thumbnail.getAttribute(FileProperties.PROPERTY_LASTMODIFIED));
- image.setAttribute(
+ NodeUtilsExt.getAttribute(thumbnail, FileProperties.PROPERTY_LASTMODIFIED));
+ NodeUtilsExt.setAttribute(
+ thumbnail,
+ "image",
FileProperties.PROPERTY_WIDTH,
- thumbnail.getAttribute(FileProperties.PROPERTY_WIDTH));
- image.setAttribute(
+ NodeUtilsExt.getAttribute(thumbnail, FileProperties.PROPERTY_WIDTH));
+ NodeUtilsExt.setAttribute(
+ thumbnail,
+ "image",
FileProperties.PROPERTY_HEIGHT,
- thumbnail.getAttribute(FileProperties.PROPERTY_HEIGHT));
+ NodeUtilsExt.getAttribute(thumbnail, FileProperties.PROPERTY_HEIGHT));
- thumbnail.delete();
+ thumbnail.remove();
}
}
}
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tags/el/MediaEl.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -20,13 +20,18 @@
package net.sourceforge.openutils.mgnlmedia.media.tags.el;
import info.magnolia.cms.beans.runtime.FileProperties;
+import info.magnolia.cms.core.Content;
+import info.magnolia.cms.core.DefaultContent;
import info.magnolia.cms.core.NodeData;
+import info.magnolia.cms.i18n.I18nContentWrapper;
+import info.magnolia.cms.util.ContentUtil;
+import info.magnolia.cms.util.NodeMapWrapper;
import info.magnolia.context.MgnlContext;
import info.magnolia.jcr.util.ContentMap;
import info.magnolia.jcr.util.PropertyUtil;
-import info.magnolia.jcr.wrapper.NodeWrapperFactory;
import info.magnolia.module.ModuleRegistry;
import info.magnolia.objectfactory.Components;
+import it.openutils.mgnlutils.api.NodeUtilsExt;
import java.awt.Point;
import java.util.ArrayList;
@@ -37,11 +42,10 @@
import java.util.Map;
import javax.jcr.Node;
-import javax.jcr.PathNotFoundException;
+import javax.jcr.Property;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
import javax.jcr.Value;
-import javax.jcr.ValueFormatException;
import javax.jcr.query.InvalidQueryException;
import javax.servlet.http.HttpServletRequest;
@@ -113,7 +117,27 @@
if (node != null)
{
- return Components.getComponent(NodeWrapperFactory.class).wrapNode(node);
+ // return Components.getComponent(NodeWrapperFactory.class).wrapNode(node);
+ // GRAVE: Servlet.service() for servlet default threw exception
+ // info.magnolia.objectfactory.NoSuchComponentException: No component configuration for type
+ // [info.magnolia.jcr.wrapper.NodeWrapperFactory] found. Please add a configuration to your module
+ // descriptor.
+ Content currentpage = null;
+
+ if (MgnlContext.isWebContext())
+ {
+ currentpage = MgnlContext.getAggregationState().getMainContent();
+ }
+
+ if (currentpage == null)
+ {
+ currentpage = new DefaultContent(node);
+ }
+
+ Content content = new NodeMapWrapper(
+ new I18nContentWrapper(new DefaultContent(node)),
+ currentpage.getHandle());
+ return content.getJCRNode();
}
return null;
@@ -198,7 +222,7 @@
List<String> res = new ArrayList<String>();
- Node resolutions = getResolutionsNode(media);
+ Content resolutions = ContentUtil.asContent(getResolutionsNode(media));
Collection<NodeData> nodeDataCollection = resolutions.getNodeDataCollection();
@@ -237,32 +261,34 @@
return null;
}
- // MEDIA-90 may be simply a url
- if (media.getNodeData(BaseTypeHandler.ORGINAL_NODEDATA_NAME).getType() == PropertyType.BINARY)
+ try
{
- FileProperties prop = new FileProperties(media, BaseTypeHandler.ORGINAL_NODEDATA_NAME);
- Integer width = NumberUtils.toInt(prop.getProperty(FileProperties.PROPERTY_WIDTH));
- Integer height = NumberUtils.toInt(prop.getProperty(FileProperties.PROPERTY_HEIGHT));
- Point size = ImageUtils.parseForSize(resolution);
- if (width == size.x && height == size.y)
+ // MEDIA-90 may be simply a url
+ if (media.getProperty(BaseTypeHandler.ORGINAL_NODEDATA_NAME).getType() == PropertyType.BINARY)
{
- return appendBaseUrl(mcm.getURIMappingPrefix() + prop.getProperty(FileProperties.PATH));
+ FileProperties prop = new FileProperties(
+ ContentUtil.asContent(media),
+ BaseTypeHandler.ORGINAL_NODEDATA_NAME);
+ Integer width = NumberUtils.toInt(prop.getProperty(FileProperties.PROPERTY_WIDTH));
+ Integer height = NumberUtils.toInt(prop.getProperty(FileProperties.PROPERTY_HEIGHT));
+ Point size = ImageUtils.parseForSize(resolution);
+ if (width == size.x && height == size.y)
+ {
+ return appendBaseUrl(mcm.getURIMappingPrefix() + prop.getProperty(FileProperties.PATH));
+ }
}
- }
- if (!ImageUtils.checkOrCreateResolution(media, resolution, null, module().isLazyResolutionCreation()))
- {
- return null;
- }
+ if (!ImageUtils.checkOrCreateResolution(media, resolution, null, module().isLazyResolutionCreation()))
+ {
+ return null;
+ }
- Node resolutions = getResolutionsNode(media);
-
- try
- {
+ Node resolutions = getResolutionsNode(media);
String resString = "res-" + ImageUtils.getResolutionPath(resolution);
- if (resolutions != null && resolutions.hasNodeData(resString))
+ if (resolutions != null && resolutions.hasProperty(resString))
{
- String resPath = new FileProperties(resolutions, resString).getProperty(FileProperties.PATH);
+ String resPath = new FileProperties(ContentUtil.asContent(resolutions), resString)
+ .getProperty(FileProperties.PATH);
return appendBaseUrl(mcm.getURIMappingPrefix() + resPath);
@@ -289,10 +315,10 @@
if (media != null)
{
- NodeData res = null;
+ Property res = null;
if ("original".equals(resolution))
{
- res = media.getNodeData("original");
+ res = PropertyUtil.getPropertyOrNull(media, "original");
}
else
{
@@ -301,9 +327,9 @@
{
try
{
- if (resolutions.hasNodeData(ImageUtils.getResolutionPath("res-" + resolution)))
+ if (resolutions.hasProperty(ImageUtils.getResolutionPath("res-" + resolution)))
{
- res = resolutions.getNodeData(ImageUtils.getResolutionPath("res-" + resolution));
+ res = resolutions.getProperty(ImageUtils.getResolutionPath("res-" + resolution));
}
}
catch (RepositoryException e)
@@ -316,18 +342,21 @@
if (res != null)
{
return new int[]{
- NumberUtils.toInt(res.getAttribute(FileProperties.PROPERTY_WIDTH)),
- NumberUtils.toInt(res.getAttribute(FileProperties.PROPERTY_HEIGHT)) };
+ NumberUtils.toInt(NodeUtilsExt.getAttribute(res, FileProperties.PROPERTY_WIDTH)),
+ NumberUtils.toInt(NodeUtilsExt.getAttribute(res, FileProperties.PROPERTY_HEIGHT)) };
}
else
{
// MEDIA-231
- res = media.getNodeData("original");
- Point size = ImageUtils.parseForSize(resolution);
- if (NumberUtils.toInt(res.getAttribute(FileProperties.PROPERTY_WIDTH)) == size.x
- && NumberUtils.toInt(res.getAttribute(FileProperties.PROPERTY_HEIGHT)) == size.y)
+ res = PropertyUtil.getPropertyOrNull(media, "original");
+ if (res != null)
{
- return new int[]{size.x, size.y };
+ Point size = ImageUtils.parseForSize(resolution);
+ if (NumberUtils.toInt(NodeUtilsExt.getAttribute(res, FileProperties.PROPERTY_WIDTH)) == size.x
+ && NumberUtils.toInt(NodeUtilsExt.getAttribute(res, FileProperties.PROPERTY_HEIGHT)) == size.y)
+ {
+ return new int[]{size.x, size.y };
+ }
}
}
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -25,7 +25,7 @@
import info.magnolia.cms.core.NodeData;
import info.magnolia.cms.i18n.I18nContentSupportFactory;
import info.magnolia.cms.security.AccessDeniedException;
-import info.magnolia.cms.util.NodeDataUtil;
+import info.magnolia.cms.util.ContentUtil;
import info.magnolia.jcr.util.MetaDataUtil;
import info.magnolia.jcr.util.NodeUtil;
import info.magnolia.jcr.util.PropertyUtil;
@@ -39,8 +39,12 @@
import java.util.Map;
import javax.jcr.Node;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.Property;
import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
+import javax.jcr.ValueFormatException;
+import javax.jcr.nodetype.NodeType;
import javax.servlet.http.HttpServletRequest;
import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager;
@@ -78,7 +82,14 @@
*/
public void init(Node typeDefinitionNode)
{
- type = typeDefinitionNode.getName();
+ try
+ {
+ type = typeDefinitionNode.getName();
+ }
+ catch (RepositoryException e)
+ {
+ // do nothing
+ }
}
/**
@@ -103,19 +114,19 @@
{
String uuid = request.getParameter(name);
- NodeData nd;
+ Property nd;
- if (!parentNode.hasNodeData(name))
+ if (!parentNode.hasProperty(name))
{
- nd = parentNode.createNodeData(name, uuid);
+ nd = parentNode.setProperty(name, uuid);
}
else
{
- nd = parentNode.getNodeData(name);
+ nd = parentNode.getProperty(name);
if (nd.getType() == PropertyType.BINARY)
{
- nd.delete();
- nd = parentNode.createNodeData(name, uuid);
+ nd.remove();
+ nd = parentNode.setProperty(name, uuid);
}
else
{
@@ -134,7 +145,7 @@
{
Document doc = new Document(f, type + extension);
doc.setExtention(extension);
- SaveHandlerImpl.saveDocument(media, doc, ORGINAL_NODEDATA_NAME, cleanFileName, null);
+ SaveHandlerImpl.saveDocument(ContentUtil.asContent(media), doc, ORGINAL_NODEDATA_NAME, cleanFileName, null);
this.onPostSave(media);
}
@@ -152,13 +163,15 @@
name = StringUtils.lowerCase(name);
if (!StringUtils.equals(name, PropertyUtil.getString(media, METADATA_NAME)))
{
- NodeDataUtil.getOrCreateAndSet(media, METADATA_NAME, name);
+ media.setProperty(METADATA_NAME, name);
media.save();
}
if (media.hasNode("resolutions"))
{
- Collection<NodeData> nodedatas = media.getNode("resolutions").getNodeDataCollection();
+ Collection<NodeData> nodedatas = ContentUtil
+ .asContent(media.getNode("resolutions"))
+ .getNodeDataCollection();
for (NodeData nd : nodedatas)
{
nd.delete();
@@ -185,16 +198,27 @@
* @param media media
* @return default nodedata
*/
- protected NodeData getOriginalFileNodeData(Node media)
+ protected Node getOriginalFileNodeData(Node media)
{
- return media.getNodeData(ORGINAL_NODEDATA_NAME);
+ try
+ {
+ return media.getNode(ORGINAL_NODEDATA_NAME);
+ }
+ catch (PathNotFoundException e)
+ {
+ return null;
+ }
+ catch (RepositoryException e)
+ {
+ return null;
+ }
}
public boolean isExternal(Node media)
{
try
{
- return !media.hasNodeData(ORGINAL_NODEDATA_NAME);
+ return !media.hasProperty(ORGINAL_NODEDATA_NAME);
}
catch (RepositoryException e)
{
@@ -208,7 +232,7 @@
*/
public String getExtension(Node media)
{
- return getOriginalFileNodeData(media).getAttribute(FileProperties.PROPERTY_EXTENSION);
+ return PropertyUtil.getString(getOriginalFileNodeData(media), FileProperties.PROPERTY_EXTENSION);
}
/**
@@ -216,7 +240,7 @@
*/
public String getFilename(Node media)
{
- return getOriginalFileNodeData(media).getAttribute(FileProperties.PROPERTY_FILENAME);
+ return PropertyUtil.getString(getOriginalFileNodeData(media), FileProperties.PROPERTY_FILENAME);
}
/**
@@ -271,7 +295,18 @@
*/
public String getTitle(Node media)
{
- return I18nContentSupportFactory.getI18nSupport().getNodeData(media, "title").getString();
+ try
+ {
+ return I18nContentSupportFactory.getI18nSupport().getProperty(media, "title").getString();
+ }
+ catch (ValueFormatException e)
+ {
+ return StringUtils.EMPTY;
+ }
+ catch (RepositoryException e)
+ {
+ return StringUtils.EMPTY;
+ }
}
/**
@@ -279,7 +314,18 @@
*/
public String getTags(Node media)
{
- return I18nContentSupportFactory.getI18nSupport().getNodeData(media, "tags").getString();
+ try
+ {
+ return I18nContentSupportFactory.getI18nSupport().getProperty(media, "tags").getString();
+ }
+ catch (ValueFormatException e)
+ {
+ return StringUtils.EMPTY;
+ }
+ catch (RepositoryException e)
+ {
+ return StringUtils.EMPTY;
+ }
}
/**
@@ -287,7 +333,18 @@
*/
public String getDescription(Node media)
{
- return I18nContentSupportFactory.getI18nSupport().getNodeData(media, "description").getString();
+ try
+ {
+ return I18nContentSupportFactory.getI18nSupport().getProperty(media, "description").getString();
+ }
+ catch (ValueFormatException e)
+ {
+ return StringUtils.EMPTY;
+ }
+ catch (RepositoryException e)
+ {
+ return StringUtils.EMPTY;
+ }
}
/**
@@ -295,7 +352,18 @@
*/
public String getAbstract(Node media)
{
- return I18nContentSupportFactory.getI18nSupport().getNodeData(media, "abstract").getString();
+ try
+ {
+ return I18nContentSupportFactory.getI18nSupport().getProperty(media, "abstract").getString();
+ }
+ catch (ValueFormatException e)
+ {
+ return StringUtils.EMPTY;
+ }
+ catch (RepositoryException e)
+ {
+ return StringUtils.EMPTY;
+ }
}
/**
@@ -306,44 +374,52 @@
Map<String, String> info = new LinkedHashMap<String, String>();
- NodeData originalFileNodeData = getOriginalFileNodeData(media);
- if (originalFileNodeData.getType() == PropertyType.BINARY)
+ try
{
+ Node originalFileNodeData = getOriginalFileNodeData(media);
- FileProperties fp = new FileProperties(media, ORGINAL_NODEDATA_NAME);
+ if (NodeUtil.isNodeType(originalFileNodeData, NodeType.NT_RESOURCE))
+ {
- String extension = fp.getProperty(FileProperties.PROPERTY_EXTENSION);
- info.put(METADATA_EXTENSION, extension);
+ FileProperties fp = new FileProperties(ContentUtil.asContent(media), ORGINAL_NODEDATA_NAME);
- String size = StringUtils.EMPTY;
+ String extension = fp.getProperty(FileProperties.PROPERTY_EXTENSION);
+ info.put(METADATA_EXTENSION, extension);
- try
- {
- size = fp.getProperty(FileProperties.PROPERTY_SIZE);
- }
- catch (NumberFormatException nfe)
- {
- // just ignore, no file size info
- }
- info.put(METADATA_SIZE, size);
+ String size = StringUtils.EMPTY;
- int width = NumberUtils.toInt(fp.getProperty(FileProperties.PROPERTY_WIDTH));
- if (width > 0)
- {
- info.put(METADATA_WIDTH, Integer.toString(width));
+ try
+ {
+ size = fp.getProperty(FileProperties.PROPERTY_SIZE);
+ }
+ catch (NumberFormatException nfe)
+ {
+ // just ignore, no file size info
+ }
+ info.put(METADATA_SIZE, size);
+
+ int width = NumberUtils.toInt(fp.getProperty(FileProperties.PROPERTY_WIDTH));
+ if (width > 0)
+ {
+ info.put(METADATA_WIDTH, Integer.toString(width));
+ }
+
+ int height = NumberUtils.toInt(fp.getProperty(FileProperties.PROPERTY_HEIGHT));
+ if (height > 0)
+ {
+ info.put(METADATA_HEIGHT, Integer.toString(height));
+ }
}
- int height = NumberUtils.toInt(fp.getProperty(FileProperties.PROPERTY_HEIGHT));
- if (height > 0)
+ Collection<NodeData> propertyList = ContentUtil.asContent(media).getNodeDataCollection("media_*");
+ for (NodeData property : propertyList)
{
- info.put(METADATA_HEIGHT, Integer.toString(height));
+ addToInfo(media, info, property.getName());
}
}
-
- Collection<NodeData> propertyList = media.getNodeDataCollection("media_*");
- for (NodeData property : propertyList)
+ catch (Exception e)
{
- addToInfo(media, info, property.getName());
+ // TODO: handle exception
}
return info;
@@ -357,27 +433,42 @@
*/
protected void addToInfo(Node media, Map<String, String> info, String key)
{
- NodeData data = media.getNodeData(key);
+ try
+ {
+ Property data = media.getProperty(key);
- String string = null;
- if (data.getType() == PropertyType.LONG || data.getType() == PropertyType.DOUBLE)
- {
- int numeric = (int) data.getLong();
- if (numeric > 0)
+ String string = null;
+ if (data.getType() == PropertyType.LONG || data.getType() == PropertyType.DOUBLE)
{
- string = String.valueOf(numeric);
+ int numeric = (int) data.getLong();
+
+ if (numeric > 0)
+ {
+ string = String.valueOf(numeric);
+ }
}
+ else
+ {
+ string = data.getString();
+ }
+
+ if (StringUtils.isNotEmpty(string))
+ {
+ info.put(key, string);
+ }
}
- else
+ catch (ValueFormatException e)
{
- string = data.getString();
+ // do nothing
}
-
- if (StringUtils.isNotEmpty(string))
+ catch (PathNotFoundException e)
{
- info.put(key, string);
+ // do nothing
}
-
+ catch (RepositoryException e)
+ {
+ // do nothing
+ }
}
/**
Modified: magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseVideoTypeHandler.java
===================================================================
--- magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseVideoTypeHandler.java 2013-09-24 17:06:28 UTC (rev 4341)
+++ magnoliamodules/trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseVideoTypeHandler.java 2013-09-25 17:22:52 UTC (rev 4342)
@@ -19,11 +19,12 @@
package net.sourceforge.openutils.mgnlmedia.media.types.impl;
-import info.magnolia.cms.util.NodeDataUtil;
-
import java.util.Map;
import javax.jcr.Node;
+import javax.jcr.PathNotFoundException;
+import javax.jcr.RepositoryException;
+import javax.jcr.ValueFormatException;
import net.sourceforge.openutils.mgnlmedia.media.utils.MediaMetadataFormatUtils;
import net.sourceforge.openutils.mgnlmedia.media.utils.VideoMedataUtils.VideoMetaData;
@@ -58,7 +59,7 @@
catch (Throwable e)
{
log.warn("Error parsing video file "
- + getOriginalFileNodeData(media).getHandle()
+ + getOriginalFileNodeData(media).getPath()
+ " "
+ e.getClass().getName()
+ " "
@@ -68,11 +69,11 @@
if (flvMetaData != null)
{
- NodeDataUtil.g...
[truncated message content] |