diff --git a/config/alfresco/public-services-security-context.xml b/config/alfresco/public-services-security-context.xml
index 381e051021..7b547be177 100644
--- a/config/alfresco/public-services-security-context.xml
+++ b/config/alfresco/public-services-security-context.xml
@@ -431,6 +431,7 @@
org.alfresco.service.cmr.model.FileFolderService.create=ACL_NODE.0.sys:base.CreateChildren
org.alfresco.service.cmr.model.FileFolderService.delete=ACL_NODE.0.sys:base.DeleteNode
org.alfresco.service.cmr.model.FileFolderService.getNamePath=ACL_NODE.1.sys:base.ReadProperties
+ org.alfresco.service.cmr.model.FileFolderService.getNameOnlyPath=ACL_NODE.1.sys:base.ReadProperties
org.alfresco.service.cmr.model.FileFolderService.resolveNamePath=ACL_ALLOW,AFTER_ACL_NODE.sys:base.ReadProperties
org.alfresco.service.cmr.model.FileFolderService.getFileInfo=ACL_NODE.0.sys:base.ReadProperties
org.alfresco.service.cmr.model.FileFolderService.getReader=ACL_NODE.0.sys:base.ReadContent
diff --git a/config/alfresco/script-services-context.xml b/config/alfresco/script-services-context.xml
index 3667b6df9d..48d24af0c4 100644
--- a/config/alfresco/script-services-context.xml
+++ b/config/alfresco/script-services-context.xml
@@ -256,8 +256,9 @@
-
+
+
@@ -266,7 +267,7 @@
cm:workingCopyOwner
cm:lockOwner
cm:owner
- qshare:sharedBy
+ qshare:sharedBy
diff --git a/source/java/org/alfresco/repo/jscript/ScriptNode.java b/source/java/org/alfresco/repo/jscript/ScriptNode.java
index 13a7171874..e15e4ac513 100644
--- a/source/java/org/alfresco/repo/jscript/ScriptNode.java
+++ b/source/java/org/alfresco/repo/jscript/ScriptNode.java
@@ -103,11 +103,11 @@ import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.namespace.RegexQNamePattern;
import org.alfresco.util.FileFilterMode;
+import org.alfresco.util.FileFilterMode.Client;
import org.alfresco.util.GUID;
import org.alfresco.util.ISO8601DateFormat;
import org.alfresco.util.ISO9075;
import org.alfresco.util.Pair;
-import org.alfresco.util.FileFilterMode.Client;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONException;
@@ -956,9 +956,9 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider
this.properties = new ContentAwareScriptableQNameMap(this, this.services);
Map props = null;
- if (nodeInfo != null)
+ if (this.nodeInfo != null)
{
- props = nodeInfo.getProperties();
+ props = this.nodeInfo.getProperties();
}
else
{
@@ -1334,7 +1334,7 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider
{
if (getIsContainer() || getIsDocument())
{
- List paths = this.services.getFileFolderService().getNamePath(null, getNodeRef());
+ List paths = this.services.getFileFolderService().getNameOnlyPath(null, getNodeRef());
// build up the webdav url
StringBuilder path = new StringBuilder(128);
@@ -1344,7 +1344,7 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider
for (int i=1; i.
*/
package org.alfresco.repo.jscript.app;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -18,7 +34,7 @@ import org.alfresco.service.cmr.lock.LockService;
import org.alfresco.service.cmr.lock.LockStatus;
import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
-import org.alfresco.service.cmr.repository.ContentReader;
+import org.alfresco.service.cmr.repository.ContentData;
import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -42,6 +58,7 @@ import org.springframework.extensions.surf.util.URLEncoder;
* JSON Conversion Component
*
* @author Roy Wetherall
+ * @author Kevin Roast
*/
public class JSONConversionComponent
{
@@ -52,11 +69,21 @@ public class JSONConversionComponent
private static Log logger = LogFactory.getLog(JSONConversionComponent.class);
/** Registered decorators */
- protected Map propertyDecorators = new HashMap(3);
-
+ protected Map propertyDecorators = new HashMap(8);
+
/** User permissions */
protected String[] userPermissions;
+ /** Thread local cache of namespace prefixes for long QName to short prefix name conversions */
+ protected static ThreadLocal