chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ron Gavlin (JIRA)" <>
Subject [jira] [Commented] (CMIS-818) Navigation services should support Last-Modified/If-Modified-Since Headers
Date Mon, 21 Jul 2014 10:07:38 GMT


Ron Gavlin commented on CMIS-818:

Yes, this appears to be a effective, generalized means for addressing my specific requirement
as well as potentially many others. Thanks much!

FYI, it appears there is a typo in your patch. See the duplicate stopAfterService(service)
invocations in the getFolderTree() method of NavigationService below.

public List<CmisObjectInFolderContainerType> getFolderTree(String repositoryId, String
folderId, BigInteger depth,
            String filter, Boolean includeAllowableActions, EnumIncludeRelationships includeRelationships,
            String renditionFilter, Boolean includePathSegment, CmisExtensionType extension)
throws CmisException {
        CmisService service = null;
        CmisVersion cmisVersion = null;
        try {
            service = getService(wsContext, repositoryId);
            cmisVersion = getCmisVersion(wsContext);

            List<CmisObjectInFolderContainerType> result = new ArrayList<CmisObjectInFolderContainerType>();

            if (stopBeforeService(service)) {
                return null;

            if (stopAfterService(service)) {
                return null;

            List<ObjectInFolderContainer> serviceResult = service.getFolderTree(repositoryId,
folderId, depth, filter,
                    includeAllowableActions, convert(IncludeRelationships.class, includeRelationships),
                    renditionFilter, includePathSegment, convert(extension));

            if (stopAfterService(service)) {
                return null;

            if (serviceResult != null) {
                for (ObjectInFolderContainer container : serviceResult) {
                    result.add(convert(container, cmisVersion));

            return result;
        } catch (Exception e) {
            throw convertException(e);
        } finally {

Thanks again!

> Navigation services should support Last-Modified/If-Modified-Since Headers
> --------------------------------------------------------------------------
>                 Key: CMIS-818
>                 URL:
>             Project: Chemistry
>          Issue Type: Improvement
>          Components: opencmis-server
>    Affects Versions: OpenCMIS 0.11.0
>            Reporter: Ron Gavlin
>            Assignee: Florian Müller
> AtomPub and Browser navigation services including getChildren, getFolderTree, getDescendants,
and potentially the others should support Last-Modified/If-Modified-Since Headers.
> Some repositories have built-in caching mechanisms to track whether a folder tree has
been modified. Since many of the Navigation services often require significant server-side
resources, repositories with these built-in caching mechanisms should be able to leverage
them with OpenCMIS. Currently, the OpenCMIS NavigationService does not provide hooks to implement
such optimizations.

This message was sent by Atlassian JIRA

View raw message