From ece492107eec650a62e4185b87d1b79696db9c19 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Wed, 7 Mar 2012 16:34:00 +0000 Subject: [PATCH] Use ISO8601 dates, not Date.toString, when building the json git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@34473 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/repo/jscript/ScriptNode.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/repo/jscript/ScriptNode.java b/source/java/org/alfresco/repo/jscript/ScriptNode.java index 1be6efa773..3e023b8eb1 100644 --- a/source/java/org/alfresco/repo/jscript/ScriptNode.java +++ b/source/java/org/alfresco/repo/jscript/ScriptNode.java @@ -30,6 +30,7 @@ import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; @@ -97,6 +98,7 @@ 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.apache.commons.logging.Log; @@ -3153,8 +3155,26 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider json.put("type", typeString); json.put("mimetype", this.getMimetype()); - // add properties + // Fetch all properties Map nodeProperties = this.nodeService.getProperties(this.nodeRef); + + // Do any special conversion steps that are needed + for (QName longQName : nodeProperties.keySet()) + { + Serializable value = nodeProperties.get(longQName); + + if (value instanceof Date) + { + value = ISO8601DateFormat.format((Date)value); + nodeProperties.put(longQName, value); + } + if (value instanceof NodeRef) + { + value = ((NodeRef)value).toString(); + nodeProperties.put(longQName, value); + } + } + if (useShortQNames) { Map nodePropertiesShortQNames