All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opencms.cmis.CmsCmisService Maven / Gradle / Ivy

Go to download

OpenCms is an enterprise-ready, easy to use website content management system based on Java and XML technology. Offering a complete set of features, OpenCms helps content managers worldwide to create and maintain beautiful websites fast and efficiently.

There is a newer version: 18.0
Show newest version
/*
 * This library is part of OpenCms -
 * the Open Source Content Management System
 *
 * Copyright (C) Alkacon Software (http://www.alkacon.com)
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * For further information about Alkacon Software, please see the
 * company website: http://www.alkacon.com
 *
 * For further information about OpenCms, please see the
 * project website: http://www.opencms.org
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

package org.opencms.cmis;

import org.opencms.main.OpenCms;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;

import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
import org.apache.chemistry.opencmis.commons.data.ObjectData;
import org.apache.chemistry.opencmis.commons.data.ObjectInFolderContainer;
import org.apache.chemistry.opencmis.commons.data.ObjectInFolderList;
import org.apache.chemistry.opencmis.commons.data.ObjectList;
import org.apache.chemistry.opencmis.commons.data.ObjectParentData;
import org.apache.chemistry.opencmis.commons.data.Properties;
import org.apache.chemistry.opencmis.commons.data.RenditionData;
import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
import org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService;
import org.apache.chemistry.opencmis.commons.server.CallContext;
import org.apache.chemistry.opencmis.commons.server.ObjectInfo;
import org.apache.chemistry.opencmis.commons.spi.Holder;

/**
 * The CMIS service class for OpenCms repositories.

* * Typically, a new instance of this class will be created for every CMIS service request. This class delegates the * actual work to an implementation of the {@link I_CmsCmisRepository} class.

*/ public class CmsCmisService extends AbstractCmisService { /** The call context. */ protected CallContext m_callContext; /** * Creates a new CMIS service instance.

* * @param context the CMIS call context */ public CmsCmisService(CallContext context) { m_callContext = context; } /** * @param repositoryId * @param objectId * @param folderId * @param allVersions * @param extension * @see org.apache.chemistry.opencmis.commons.spi.MultiFilingService#addObjectToFolder(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void addObjectToFolder( String repositoryId, String objectId, String folderId, Boolean allVersions, ExtensionsData extension) { getRepository(repositoryId).addObjectToFolder(makeContext(), objectId, folderId, allVersions.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#applyPolicy(java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void applyPolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension) { getRepository(repositoryId).applyPolicy(makeContext(), policyId, objectId); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#createDocument(java.lang.String, org.apache.chemistry.opencmis.commons.data.Properties, java.lang.String, org.apache.chemistry.opencmis.commons.data.ContentStream, org.apache.chemistry.opencmis.commons.enums.VersioningState, java.util.List, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public String createDocument( String repositoryId, Properties properties, String folderId, ContentStream contentStream, VersioningState versioningState, List policies, Acl addAces, Acl removeAces, ExtensionsData extension) { return getRepository(repositoryId).createDocument( makeContext(), properties, folderId, contentStream, versioningState, policies, addAces, removeAces); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#createDocumentFromSource(java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.Properties, java.lang.String, org.apache.chemistry.opencmis.commons.enums.VersioningState, java.util.List, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public String createDocumentFromSource( String repositoryId, String sourceId, Properties properties, String folderId, VersioningState versioningState, List policies, Acl addAces, Acl removeAces, ExtensionsData extension) { return getRepository(repositoryId).createDocumentFromSource( makeContext(), sourceId, properties, folderId, versioningState, policies, addAces, removeAces); } /** * @see org.apache.chemistry.opencmis.commons.spi.ObjectService#createFolder(java.lang.String, org.apache.chemistry.opencmis.commons.data.Properties, java.lang.String, java.util.List, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public String createFolder( String repositoryId, Properties properties, String folderId, List policies, Acl addAces, Acl removeAces, ExtensionsData extension) { return getRepository(repositoryId).createFolder( makeContext(), properties, folderId, policies, addAces, removeAces); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#createPolicy(java.lang.String, org.apache.chemistry.opencmis.commons.data.Properties, java.lang.String, java.util.List, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public String createPolicy( String repositoryId, Properties properties, String folderId, List policies, Acl addAces, Acl removeAces, ExtensionsData extension) { return getRepository(repositoryId).createPolicy( makeContext(), properties, folderId, policies, addAces, removeAces); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#createRelationship(java.lang.String, org.apache.chemistry.opencmis.commons.data.Properties, java.util.List, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.Acl, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public String createRelationship( String repositoryId, Properties properties, List policies, Acl addAces, Acl removeAces, ExtensionsData extension) { return getRepository(repositoryId).createRelationship(makeContext(), properties, policies, addAces, removeAces); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#deleteContentStream(java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void deleteContentStream( String repositoryId, Holder objectId, Holder changeToken, ExtensionsData extension) { getRepository(repositoryId).deleteContentStream(makeContext(), objectId, changeToken); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#deleteObject(java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) { getRepository(repositoryId).deleteObject(makeContext(), objectId, allVersions.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#deleteObjectOrCancelCheckOut(java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void deleteObjectOrCancelCheckOut( String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) { getRepository(repositoryId).deleteObject(makeContext(), objectId, allVersions.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#deleteTree(java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.UnfileObject, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public FailedToDeleteData deleteTree( String repositoryId, String folderId, Boolean allVersions, UnfileObject unfileObjects, Boolean continueOnFailure, ExtensionsData extension) { return getRepository(repositoryId).deleteTree( makeContext(), folderId, allVersions.booleanValue(), unfileObjects, continueOnFailure.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getAcl(java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public Acl getAcl(String repositoryId, String objectId, Boolean onlyBasicPermissions, ExtensionsData extension) { return getRepository(repositoryId).getAcl(makeContext(), objectId, onlyBasicPermissions.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getAllowableActions(java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public AllowableActions getAllowableActions(String repositoryId, String objectId, ExtensionsData extension) { return getRepository(repositoryId).getAllowableActions(makeContext(), objectId); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getAppliedPolicies(java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public List getAppliedPolicies( String repositoryId, String objectId, String filter, ExtensionsData extension) { return getRepository(repositoryId).getAppliedPolicies(makeContext(), objectId, filter); } /** * * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getCheckedOutDocs(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.math.BigInteger, java.math.BigInteger, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ObjectList getCheckedOutDocs( String repositoryId, String folderId, String filter, String orderBy, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { return getRepository(repositoryId).getCheckedOutDocs( makeContext(), folderId, filter, orderBy, includeAllowableActions.booleanValue(), includeRelationships, renditionFilter, maxItems, skipCount); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getChildren(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, java.math.BigInteger, java.math.BigInteger, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ObjectInFolderList getChildren( String repositoryId, String folderId, String filter, String orderBy, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { return getRepository(repositoryId).getChildren( makeContext(), folderId, filter, orderBy, includeAllowableActions.booleanValue(), includeRelationships, renditionFilter, includePathSegment.booleanValue(), maxItems, skipCount); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getContentChanges(java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, java.lang.Boolean, java.lang.String, java.lang.Boolean, java.lang.Boolean, java.math.BigInteger, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ObjectList getContentChanges( String repositoryId, Holder changeLogToken, Boolean includeProperties, String filter, Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems, ExtensionsData extension) { return getRepository(repositoryId).getContentChanges( makeContext(), changeLogToken, includeProperties.booleanValue(), filter, includePolicyIds.booleanValue(), includeAcl.booleanValue(), maxItems); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getContentStream(java.lang.String, java.lang.String, java.lang.String, java.math.BigInteger, java.math.BigInteger, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ContentStream getContentStream( String repositoryId, String objectId, String streamId, BigInteger offset, BigInteger length, ExtensionsData extension) { return getRepository(repositoryId).getContentStream(makeContext(), objectId, streamId, offset, length); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getDescendants(java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public List getDescendants( String repositoryId, String folderId, BigInteger depth, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, ExtensionsData extension) { return getRepository(repositoryId).getDescendants( makeContext(), folderId, depth, filter, includeAllowableActions.booleanValue(), includePathSegment.booleanValue(), false); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getFolderParent(java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ObjectData getFolderParent(String repositoryId, String folderId, String filter, ExtensionsData extension) { return getRepository(repositoryId).getFolderParent(makeContext(), folderId, filter); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getFolderTree(java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public List getFolderTree( String repositoryId, String folderId, BigInteger depth, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePathSegment, ExtensionsData extension) { return getRepository(repositoryId).getDescendants( makeContext(), folderId, depth, filter, includeAllowableActions.booleanValue(), includePathSegment.booleanValue(), true); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getObject(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ObjectData getObject( String repositoryId, String objectId, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) { return getRepository(repositoryId).getObject( makeContext(), objectId, filter, includeAllowableActions.booleanValue(), includeRelationships, renditionFilter, includePolicyIds.booleanValue(), includeAcl.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getObjectByPath(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ObjectData getObjectByPath( String repositoryId, String path, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) { return getRepository(repositoryId).getObjectByPath( makeContext(), path, filter, includeAllowableActions.booleanValue(), includeRelationships, renditionFilter, includePolicyIds.booleanValue(), includeAcl.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getObjectInfo(java.lang.String, java.lang.String) */ @Override public ObjectInfo getObjectInfo(String repositoryId, String objectId) { ObjectInfo result = super.getObjectInfo(repositoryId, objectId); return result; } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getObjectParents(java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public List getObjectParents( String repositoryId, String objectId, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, Boolean includeRelativePathSegment, ExtensionsData extension) { return getRepository(repositoryId).getObjectParents( makeContext(), objectId, filter, includeAllowableActions.booleanValue(), includeRelativePathSegment.booleanValue()); } /** * Gets all or a subset of relationships associated with an independent * object. */ @Override public ObjectList getObjectRelationships( String repositoryId, String objectId, Boolean includeSubRelationshipTypes, RelationshipDirection relationshipDirection, String typeId, String filter, Boolean includeAllowableActions, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { return getRepository(repositoryId).getObjectRelationships( makeContext(), objectId, includeSubRelationshipTypes.booleanValue(), relationshipDirection, typeId, filter, includeAllowableActions.booleanValue(), maxItems, skipCount); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getProperties(java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public Properties getProperties(String repositoryId, String objectId, String filter, ExtensionsData extension) { return getRepository(repositoryId).getProperties(makeContext(), objectId, filter); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getRenditions(java.lang.String, java.lang.String, java.lang.String, java.math.BigInteger, java.math.BigInteger, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public List getRenditions( String repositoryId, String objectId, String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { return getRepository(repositoryId).getRenditions(makeContext(), objectId, renditionFilter, maxItems, skipCount); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getRepositoryInfo(java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public RepositoryInfo getRepositoryInfo(String repositoryId, ExtensionsData extension) { return getRepository(repositoryId).getRepositoryInfo(); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getRepositoryInfos(org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public List getRepositoryInfos(ExtensionsData extension) { List result = new ArrayList(); for (I_CmsCmisRepository repository : OpenCms.getRepositoryManager().getRepositories( I_CmsCmisRepository.class)) { result.add(repository.getRepositoryInfo()); } return result; } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getTypeChildren(java.lang.String, java.lang.String, java.lang.Boolean, java.math.BigInteger, java.math.BigInteger, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public TypeDefinitionList getTypeChildren( String repositoryId, String typeId, Boolean includePropertyDefinitions, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { return getRepository(repositoryId).getTypeChildren( makeContext(), typeId, includePropertyDefinitions.booleanValue(), maxItems, skipCount); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getTypeDefinition(java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public TypeDefinition getTypeDefinition(String repositoryId, String typeId, ExtensionsData extension) { return getRepository(repositoryId).getTypeDefinition(makeContext(), typeId); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#getTypeDescendants(java.lang.String, java.lang.String, java.math.BigInteger, java.lang.Boolean, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public List getTypeDescendants( String repositoryId, String typeId, BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension) { return getRepository(repositoryId).getTypeDescendants( makeContext(), typeId, depth, includePropertyDefinitions.booleanValue()); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#moveObject(java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void moveObject( String repositoryId, Holder objectId, String targetFolderId, String sourceFolderId, ExtensionsData extension) { getRepository(repositoryId).moveObject(makeContext(), objectId, targetFolderId, sourceFolderId); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#query(java.lang.String, java.lang.String, java.lang.Boolean, java.lang.Boolean, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.math.BigInteger, java.math.BigInteger, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public ObjectList query( String repositoryId, String statement, Boolean searchAllVersions, Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { return getRepository(repositoryId).query( makeContext(), statement, searchAllVersions.booleanValue(), includeAllowableActions.booleanValue(), includeRelationships, renditionFilter, maxItems, skipCount); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#removeObjectFromFolder(java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void removeObjectFromFolder( String repositoryId, String objectId, String folderId, ExtensionsData extension) { getRepository(repositoryId).removeObjectFromFolder(makeContext(), objectId, folderId); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#removePolicy(java.lang.String, java.lang.String, java.lang.String, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void removePolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension) { getRepository(repositoryId).removePolicy(makeContext(), policyId, objectId); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#setContentStream(java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, java.lang.Boolean, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.data.ContentStream, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void setContentStream( String repositoryId, Holder objectId, Boolean overwriteFlag, Holder changeToken, ContentStream contentStream, ExtensionsData extension) { getRepository(repositoryId).setContentStream( makeContext(), objectId, overwriteFlag.booleanValue(), changeToken, contentStream); } /** * @see org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService#updateProperties(java.lang.String, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.spi.Holder, org.apache.chemistry.opencmis.commons.data.Properties, org.apache.chemistry.opencmis.commons.data.ExtensionsData) */ @Override public void updateProperties( String repositoryId, Holder objectId, Holder changeToken, Properties properties, ExtensionsData extension) { getRepository(repositoryId).updateProperties(makeContext(), objectId, changeToken, properties); } /** * Gets the repository for a given repository id.

* * @param repositoryId the repository id * * @return the repository with the given id */ protected I_CmsCmisRepository getRepository(String repositoryId) { I_CmsCmisRepository result = OpenCms.getRepositoryManager().getRepository( repositoryId, I_CmsCmisRepository.class); if (result == null) { throw new CmisConnectionException("missing repository: " + repositoryId); } return result; } /** * Creates a call context wrapper.

* * @return the created wrapper */ private CmsCmisCallContext makeContext() { return new CmsCmisCallContext(m_callContext, this); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy