From ec7bb80cf36f9178a7cee73f42733a7f9af6b3dd Mon Sep 17 00:00:00 2001 From: David Caruana Date: Thu, 29 Oct 2009 18:00:30 +0000 Subject: [PATCH] Merged CMIS063 to HEAD 16809: CMIS 0.7 upgrade - checkpoint. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17241 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../webscripts/org/alfresco/paging.lib.atom.ftl | 6 ++++++ .../org/alfresco/repository/repository.get.atomsvc.ftl | 2 +- .../alfresco/repository/search/queries.post.atomfeed.ftl | 1 + .../alfresco/repository/search/query.get.atomfeed.ftl | 1 + .../alfresco/repository/store/children.get.atomfeed.ftl | 1 + .../repository/store/relationships.get.atomfeed.ftl | 1 + .../repository/store/typechildren.get.atomfeed.ftl | 1 + .../org/alfresco/repository/store/typedescendants.get.js | 9 ++++++++- .../alfresco/repo/web/scripts/content/ContentSet.java | 3 ++- 9 files changed, 22 insertions(+), 3 deletions(-) diff --git a/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl b/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl index 08e1f6dd0a..d856fa56e1 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/paging.lib.atom.ftl @@ -67,3 +67,9 @@ ${cursor.startRow} ${cursor.pageSize} [/#macro] + +[#macro cmis cursor] +[#-- NOTE: this macro requires the definition of xmlns:cmisra="http://docs.oasis-open.org/ns/cmis/restatom/200908/" in --] +[#-- the enclosing document --] +${cursor.totalRows} +[/#macro] diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl index 67bb88c2ab..0518d2a80b 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/repository.get.atomsvc.ftl @@ -3,7 +3,7 @@ [#import "/org/alfresco/cmis/links.lib.atom.ftl" as linksLib/] - + ${server.name} diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl index 521e9c6ba8..6554e0c3ef 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/search/queries.post.atomfeed.ftl @@ -16,6 +16,7 @@ [@pagingLib.linksredirect cursor "${queryUri}" "${queryArgs}" "${cmisconstants.MIMETYPE_FEED}"/] [/@feedLib.generic] [@pagingLib.opensearch cursor/] +[@pagingLib.cmis cursor/] [#assign rs = cmisresultset(resultset)] [#list rs.rows as row] diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl index 133ce388b5..7a55eadf30 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/search/query.get.atomfeed.ftl @@ -16,6 +16,7 @@ [@pagingLib.links cursor/] [/@feedLib.generic] [@pagingLib.opensearch cursor/] +[@pagingLib.cmis cursor/] [#assign rs = cmisresultset(resultset)] [#list rs.rows as row] diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl index 71be7da261..61e3acbdba 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/children.get.atomfeed.ftl @@ -22,6 +22,7 @@ [@pagingLib.links cursor/] [/@feedLib.node] [@pagingLib.opensearch cursor/] +[@pagingLib.cmis cursor/] [#list results as child] [#if child.isDocument] diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl index 39d477de36..8525f9dbd9 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/relationships.get.atomfeed.ftl @@ -17,6 +17,7 @@ [@pagingLib.links cursor/] [/@feedLib.node] [@pagingLib.opensearch cursor/] +[@pagingLib.cmis cursor/] [#list results as assoc] [@entryLib.assoc assoc=assoc propfilter=filter includeallowableactions=includeAllowableActions/] diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl index 0f289a54b1..49306f7d1d 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typechildren.get.atomfeed.ftl @@ -23,6 +23,7 @@ [@pagingLib.links cursor/] [/@feedLib.generic] [@pagingLib.opensearch cursor/] +[@pagingLib.cmis cursor/] [#list results as child] [@entryLib.typedef child includePropertyDefinitions/] diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js index 31fd5d3d00..da1cffe9cd 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/store/typedescendants.get.js @@ -29,7 +29,14 @@ script: // depth var depth = args[cmis.ARG_DEPTH]; - model.depth = (depth === null) ? 1 : parseInt(depth); + if (depth == 0) + { + status.code = 500; + status.message = "Depth cannot be 0"; + status.redirect = true; + break script; + } + model.depth = (depth === null) ? -1 : parseInt(depth); // handle property definitions var includePropertyDefinitions = args[cmis.ARG_INCLUDE_PROPERTY_DEFINITIONS]; diff --git a/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java b/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java index bb3209cd9b..4cbb018d46 100644 --- a/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java +++ b/source/java/org/alfresco/repo/web/scripts/content/ContentSet.java @@ -168,7 +168,8 @@ public class ContentSet extends AbstractWebScript ContentReader reader = contentService.getReader(nodeRef, propertyQName); if (reader != null) { - throw new WebScriptException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Content already exists."); + // error code as per CMIS specification + throw new WebScriptException(HttpServletResponse.SC_CONFLICT, "Content already exists."); } }