From: <fg...@us...> - 2010-05-09 11:35:04
|
Revision: 2364 http://openutils.svn.sourceforge.net/openutils/?rev=2364&view=rev Author: fgiust Date: 2010-05-09 11:34:58 +0000 (Sun, 09 May 2010) Log Message: ----------- MEDIA-113 displays existing properties on the media control and gracefully handle removal of binary notedatas at save Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java trunk/openutils-mgnlmedia/src/main/resources/dialog/selectMedia.ftl Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java 2010-05-09 11:14:22 UTC (rev 2363) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/dialog/DialogSelectMedia.java 2010-05-09 11:34:58 UTC (rev 2364) @@ -200,7 +200,12 @@ if (nd != null && nd.getType() == PropertyType.BINARY) { - return new FileProperties(getStorageNode(), this.getName()).getProperty(FileProperties.PATH); + String url = new FileProperties(getStorageNode(), this.getName()).getProperty(FileProperties.PATH); + if (StringUtils.isBlank(url)) + { + return null; + } + return getRequest().getContextPath() + url; } if (media != null) Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java 2010-05-09 11:14:22 UTC (rev 2363) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/BaseTypeHandler.java 2010-05-09 11:34:58 UTC (rev 2364) @@ -105,9 +105,26 @@ { String uuid = request.getParameter(name); - NodeData nd = NodeDataUtil.getOrCreate(parentNode, name); - nd.setValue(uuid); + NodeData nd; + if (!parentNode.hasNodeData(name)) + { + nd = parentNode.createNodeData(name, uuid); + } + else + { + nd = parentNode.getNodeData(name); + if (nd.getType() == PropertyType.BINARY) + { + nd.delete(); + nd = parentNode.createNodeData(name, uuid); + } + else + { + nd.setValue(uuid); + } + } + return true; } Modified: trunk/openutils-mgnlmedia/src/main/resources/dialog/selectMedia.ftl =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/dialog/selectMedia.ftl 2010-05-09 11:14:22 UTC (rev 2363) +++ trunk/openutils-mgnlmedia/src/main/resources/dialog/selectMedia.ftl 2010-05-09 11:34:58 UTC (rev 2364) @@ -33,9 +33,15 @@ document.getElementById("dispRemBtn"+ name).style.display = "block"; document.getElementById("dispSel"+ name).style.display = "none"; + document.getElementById("dispRem"+ name + "Img").src = ""; document.getElementById("dispRem"+ name + "Img").src = thumbnailurl; + + // reset with in case of old binary values + document.getElementById("dispRem"+ name + "Img").style.width = "auto"; + document.getElementById("dispRem"+ name + "Img").style.height = "auto"; document.getElementById("dispRem"+ name + "Img").style.display = "inline"; document.getElementById("dispRem"+ name + "Txt").innerHTML = filename; + } // ]]> </script> @@ -79,7 +85,9 @@ title="Select media" style="height: 106px; width: 106px; display: table-cell; vertical-align: middle; text-align: center; color:#396101; text-decoration:none"> <span style="vertical-align: middle;"></span> - <img id="dispRem${name}Img" src="${thumbnailUrl!''}" style="text-align:center; border: none; vertical-align: middle; display:inline;" alt="" /> + <img id="dispRem${name}Img" src="${thumbnailUrl!''}" + style="text-align:center; border: none; vertical-align: middle; display:inline; [#if binaryfield?exists] width: 106px; height: 106px[/#if]" + alt="" /> <span id="dispSel${name}" style="text-align:center; display:${dispSel}; vertical-align: middle; color:#396101; text-decoration:none; cursor: pointer;height: 20px; width:102px">${msgs.get("media.select")}</span> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |