Merging BRANCHES/DEV/CMIS_10 to HEAD (phase 2 - currently up-to-date with branch):

18717: SAIL-166: Refactor CMIS to use shared services and resolve objectIds and error codes consistently
   18731: SAIL-169: CMIS REST versioning compliance
   18732: Fix failing change log test.
   18768: Add displayName and queryName attributes to rendered properties (in CMIS AtomPub binding).
   18775: Fix exception reporting when retrieving items that do not exist (in CMIS AtomPub binding).
   18784: Fix CMIS REST change logging
   18785: SAIL-174: CMIS Relationship lookup by association ID
   18812: SAIL-183: Support orderBy argument for getChildren and getCheckedOutDocs in CMIS REST and Web Service bindings
   18823: CMIS WS Bindings were moved to 1.0 cd07 schema.
   18838: Update to latest Chemistry TCK.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2010-02-25 15:02:44 +00:00
parent cfc0643817
commit fbd7aab3b1
71 changed files with 2811 additions and 1624 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2008 Alfresco Software Limited.
* Copyright (C) 2005-2010 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -33,6 +33,7 @@ import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import org.alfresco.cmis.CMISFilterNotValidException;
import org.alfresco.cmis.CMISRendition;
import org.alfresco.cmis.CMISRenditionKind;
import org.alfresco.cmis.CMISRenditionService;
@@ -73,9 +74,10 @@ public class CMISRenditionServiceImpl implements CMISRenditionService
private CustomRenditionsCache customRenditionsCache;
/**
* @throws CMISFilterNotValidException
* @see org.alfresco.cmis.CMISRenditionService#getRenditions(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
*/
public List<CMISRendition> getRenditions(NodeRef node, String renditionFilter)
public List<CMISRendition> getRenditions(NodeRef node, String renditionFilter) throws CMISFilterNotValidException
{
Collection<CMISRendition> result = null;
ThumbnailFilter thumbnailFilter = getThumbnailFilter(renditionFilter);
@@ -171,12 +173,21 @@ public class CMISRenditionServiceImpl implements CMISRenditionService
*
* @param renditionFilter rendition filter
* @return thumbnail filter
* @throws CMISFilterNotValidException
*/
private ThumbnailFilter getThumbnailFilter(String renditionFilter)
private ThumbnailFilter getThumbnailFilter(String renditionFilter) throws CMISFilterNotValidException
{
ThumbnailFilter result = null;
if (renditionFilter != null && !renditionFilter.equals(FILTER_NONE))
{
// Scan the filter for whitespace, which is disallowed by the spec
for (int i=0; i < renditionFilter.length(); i = renditionFilter.offsetByCodePoints(i, 1))
{
if (Character.isWhitespace(renditionFilter.codePointAt(i)))
{
throw new CMISFilterNotValidException(renditionFilter);
}
}
result = new ThumbnailFilter();
if (renditionFilter.equals(FILTER_WILDCARD))
{