From 681c9b6785e8a463f91c5b4bf4f956738a65c933 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Fri, 6 Aug 2010 14:24:02 +0000 Subject: [PATCH] Merged BRANCHES/DEV/V3.3-BUG-FIX to HEAD: 21646: ALF-3752: Getting Parent on a specific version throws exception 21655: Fix ALF-4006: Incorrect search result after renaming a folder 21634: Fix ALF-3822: Storing of datetime does not work git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@21662 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../org/alfresco/cmis/lib/modify.lib.js | 10 ++- config/cmis/cmisCustomModel.xml | 61 ------------------- .../repo/cmis/ws/DMNavigationServicePort.java | 6 +- .../repo/cmis/ws/utils/PropertyUtil.java | 6 ++ 4 files changed, 20 insertions(+), 63 deletions(-) delete mode 100644 config/cmis/cmisCustomModel.xml diff --git a/config/alfresco/templates/webscripts/org/alfresco/cmis/lib/modify.lib.js b/config/alfresco/templates/webscripts/org/alfresco/cmis/lib/modify.lib.js index f75e9a4109..be4a416ed6 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/cmis/lib/modify.lib.js +++ b/config/alfresco/templates/webscripts/org/alfresco/cmis/lib/modify.lib.js @@ -137,7 +137,15 @@ function updateNode(node, entry, exclude, validator) // update node values for (val in vals) { - node.properties[val] = vals[val]; + if (val == "{http://www.alfresco.org/model/content/1.0}name") + { + // force rename + node.setName(vals[val]); + } + else + { + node.properties[val] = vals[val]; + } updated = true; } diff --git a/config/cmis/cmisCustomModel.xml b/config/cmis/cmisCustomModel.xml deleted file mode 100644 index ccfd2e7231..0000000000 --- a/config/cmis/cmisCustomModel.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - CMIS Custom Model - Alfresco - 1.0 - - - - - - - - - - - - - - Custom Folder - cm:folder - - - Custom Folder Property (string) - d:text - - - - - - Custom Document - cm:content - - - Custom Document Property (string) - d:text - - - Custom Document Property (multi-valued boolean) - d:boolean - true - - - - - - false - false - - - cm:content - false - true - - - - - - - \ No newline at end of file diff --git a/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java index 725887d47d..0c959af0a0 100644 --- a/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java @@ -347,7 +347,11 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na List parents = new LinkedList(); for (ChildAssociationRef childParentAssociation : nodeService.getParentAssocs(objectId)) { - parents.add(childParentAssociation.getParentRef()); + NodeRef parentRef = childParentAssociation.getParentRef(); + if (!parentRef.equals(nodeService.getRootNode(parentRef.getStoreRef()))) + { + parents.add(parentRef); + } } return parents; } diff --git a/source/java/org/alfresco/repo/cmis/ws/utils/PropertyUtil.java b/source/java/org/alfresco/repo/cmis/ws/utils/PropertyUtil.java index fa1218f3f9..6677891d9d 100644 --- a/source/java/org/alfresco/repo/cmis/ws/utils/PropertyUtil.java +++ b/source/java/org/alfresco/repo/cmis/ws/utils/PropertyUtil.java @@ -208,6 +208,12 @@ public class PropertyUtil else if (cmisProperty instanceof CmisPropertyDateTime) { convertedValue = ((CmisPropertyDateTime) cmisProperty).getValue(); + List dates = new ArrayList(convertedValue.size()); + for (Object date : convertedValue) + { + dates.add(((XMLGregorianCalendar)date).toGregorianCalendar()); + } + convertedValue = dates; } else if (cmisProperty instanceof CmisPropertyDecimal) {