Return-Path: X-Original-To: apmail-chemistry-commits-archive@www.apache.org Delivered-To: apmail-chemistry-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C0CE89673 for ; Tue, 3 Apr 2012 05:17:15 +0000 (UTC) Received: (qmail 39662 invoked by uid 500); 3 Apr 2012 05:17:15 -0000 Delivered-To: apmail-chemistry-commits-archive@chemistry.apache.org Received: (qmail 39595 invoked by uid 500); 3 Apr 2012 05:17:15 -0000 Mailing-List: contact commits-help@chemistry.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@chemistry.apache.org Delivered-To: mailing list commits@chemistry.apache.org Received: (qmail 39576 invoked by uid 99); 3 Apr 2012 05:17:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Apr 2012 05:17:14 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Apr 2012 05:16:39 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 1F6F02388C8B; Tue, 3 Apr 2012 05:15:02 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1308692 [28/42] - in /chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory: ./ css/ images/ images/logos/ xref-test/ xref-test/org/ xref-test/org/apache/ xref-test/org/apache/chemistry/... Date: Tue, 03 Apr 2012 05:14:54 -0000 To: commits@chemistry.apache.org From: gabriele@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120403051502.1F6F02388C8B@eris.apache.org> Added: chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.html URL: http://svn.apache.org/viewvc/chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.html?rev=1308692&view=auto ============================================================================== --- chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.html (added) +++ chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.html Tue Apr 3 05:14:48 2012 @@ -0,0 +1,223 @@ + + + + +InMemoryRepositoryServiceImpl xref + + + +
+
+1   /*
+2    * Licensed to the Apache Software Foundation (ASF) under one
+3    * or more contributor license agreements.  See the NOTICE file
+4    * distributed with this work for additional information
+5    * regarding copyright ownership.  The ASF licenses this file
+6    * to you under the Apache License, Version 2.0 (the
+7    * "License"); you may not use this file except in compliance
+8    * with the License.  You may obtain a copy of the License at
+9    *
+10   * http://www.apache.org/licenses/LICENSE-2.0
+11   *
+12   * Unless required by applicable law or agreed to in writing,
+13   * software distributed under the License is distributed on an
+14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+15   * KIND, either express or implied.  See the License for the
+16   * specific language governing permissions and limitations
+17   * under the License.
+18   */
+19  package org.apache.chemistry.opencmis.inmemory.server;
+20  
+21  import java.math.BigInteger;
+22  import java.util.ArrayList;
+23  import java.util.Collection;
+24  import java.util.List;
+25  import java.util.ListIterator;
+26  
+27  import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
+28  import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
+29  import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
+30  import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
+31  import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
+32  import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
+33  import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
+34  import org.apache.chemistry.opencmis.commons.impl.dataobjects.TypeDefinitionListImpl;
+35  import org.apache.chemistry.opencmis.commons.server.CallContext;
+36  import org.apache.chemistry.opencmis.commons.spi.Holder;
+37  import org.apache.chemistry.opencmis.inmemory.TypeValidator;
+38  import org.apache.chemistry.opencmis.inmemory.storedobj.api.ObjectStore;
+39  import org.apache.chemistry.opencmis.inmemory.storedobj.api.StoreManager;
+40  import org.apache.chemistry.opencmis.inmemory.storedobj.api.TypeManagerCreatable;
+41  
+42  public class InMemoryRepositoryServiceImpl extends InMemoryAbstractServiceImpl {
+43  
+44      public InMemoryRepositoryServiceImpl(StoreManager storeManager) {
+45          super(storeManager);
+46      }
+47  
+48      public RepositoryInfo getRepositoryInfo(CallContext context, String repositoryId, ExtensionsData extension) {
+49  
+50          validator.getRepositoryInfo(context, repositoryId, extension);
+51  
+52          RepositoryInfo repoInfo = getRepositoryInfoFromStoreManager(repositoryId);
+53  
+54          return repoInfo;
+55      }
+56  
+57      public List<RepositoryInfo> getRepositoryInfos(CallContext context, ExtensionsData extension) {
+58  
+59          validator.getRepositoryInfos(context, extension);
+60          List<RepositoryInfo> res = new ArrayList<RepositoryInfo>();
+61          List<String> repIds = fStoreManager.getAllRepositoryIds();
+62          for (String repId : repIds) {
+63              res.add(fStoreManager.getRepositoryInfo(repId));
+64          }
+65          return res;
+66      }
+67  
+68      public TypeDefinitionList getTypeChildren(CallContext context, String repositoryId, String typeId,
+69              Boolean includePropertyDefinitions, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
+70  
+71          validator.getTypeChildren(context, repositoryId, typeId, extension);
+72  
+73          boolean inclPropDefs = includePropertyDefinitions == null ? false : includePropertyDefinitions;
+74          getRepositoryInfoFromStoreManager(repositoryId); // just to check if
+75          // repository
+76          // exists
+77  
+78          int skip = skipCount == null ? 0 : skipCount.intValue();
+79          int max = maxItems == null ? -1 : maxItems.intValue();
+80  
+81          TypeDefinitionListImpl result = new TypeDefinitionListImpl();
+82          List<TypeDefinitionContainer> children;
+83          if (typeId == null) {
+84              // spec says that base types must be returned in this case
+85              children = fStoreManager.getRootTypes(repositoryId);
+86          } else {
+87              children = getTypeDescendants(context, repositoryId, typeId, BigInteger.valueOf(1),
+88                      inclPropDefs, null);
+89          }
+90          result.setNumItems(BigInteger.valueOf(children.size()));
+91          result.setHasMoreItems(children.size() > max - skip);
+92          List<TypeDefinition> childrenTypes = new ArrayList<TypeDefinition>();
+93          ListIterator<TypeDefinitionContainer> it = children.listIterator(skip);
+94          if (max < 0) {
+95              max = children.size();
+96          }
+97          for (int i = skip; i < max + skip && it.hasNext(); i++) {
+98              childrenTypes.add(it.next().getTypeDefinition());
+99          }
+100 
+101         result.setList(childrenTypes);
+102         return result;
+103     }
+104 
+105     public TypeDefinition getTypeDefinition(CallContext context, String repositoryId, String typeId,
+106             ExtensionsData extension) {
+107 
+108         validator.getTypeDefinition(context, repositoryId, typeId, extension);
+109 
+110         TypeDefinitionContainer tc = fStoreManager.getTypeById(repositoryId, typeId);
+111         if (tc != null) {
+112             return tc.getTypeDefinition();
+113         } else {
+114             throw new CmisObjectNotFoundException("unknown type id: " + typeId);
+115         }
+116     }
+117 
+118     public List<TypeDefinitionContainer> getTypeDescendants(CallContext context, String repositoryId, String typeId,
+119             BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension) {
+120 
+121         validator.getTypeDescendants(context, repositoryId, typeId, extension);
+122 
+123         boolean inclPropDefs = includePropertyDefinitions == null ? false : includePropertyDefinitions;
+124 
+125         if (depth != null && depth.intValue() == 0) {
+126             throw new CmisInvalidArgumentException("depth == 0 is illegal in getTypeDescendants");
+127         }
+128 
+129         List<TypeDefinitionContainer> result = null;
+130         if (typeId == null) {
+131             // spec says that depth must be ignored in this case
+132             Collection<TypeDefinitionContainer> tmp = fStoreManager.getTypeDefinitionList(repositoryId,
+133                     inclPropDefs);
+134             result = new ArrayList<TypeDefinitionContainer>(tmp);
+135         } else {
+136             TypeDefinitionContainer tc = fStoreManager.getTypeById(repositoryId, typeId, inclPropDefs,
+137                     depth == null ? -1 : depth.intValue());
+138             if (tc == null) {
+139                 throw new CmisInvalidArgumentException("unknown type id: " + typeId);
+140             } else {
+141                 result = tc.getChildren();
+142             }
+143         }
+144 
+145         return result;
+146     }
+147 
+148     public void createTypeDefinition(String repositoryId, Holder<TypeDefinition> type, ExtensionsData extension) {
+149 
+150         if (null == repositoryId)
+151             throw new CmisInvalidArgumentException("Repository id may not be null");
+152 
+153         TypeManagerCreatable typeManager = fStoreManager.getTypeManager(repositoryId);
+154         if (null == typeManager)
+155             throw new CmisInvalidArgumentException("Unknown repository " + repositoryId);
+156         
+157         TypeDefinition td = type.getValue();
+158         TypeValidator.checkType(typeManager, td);
+159         TypeValidator.checkProperties(typeManager, td.getPropertyDefinitions().values());
+160         
+161         typeManager.addTypeDefinition(type.getValue());
+162     }
+163 
+164     public void updateTypeDefinition(String repositoryId, Holder<TypeDefinition> type, ExtensionsData extension) {
+165         String typeId = type.getValue().getId();
+166         TypeManagerCreatable typeManager = fStoreManager.getTypeManager(repositoryId);
+167         if (null == typeManager)
+168             throw new CmisInvalidArgumentException("Unknown repository " + repositoryId);
+169         
+170         TypeDefinitionContainer typeDefC = typeManager.getTypeById(typeId);
+171         if (null == typeDefC)
+172             throw new CmisInvalidArgumentException("Cannot update type unknown type id: " + typeId);
+173 
+174         typeManager.updateTypeDefinition(type.getValue());
+175     }
+176 
+177     public void deleteTypeDefinition(String repositoryId, String typeId, ExtensionsData extension) {
+178         
+179         TypeManagerCreatable typeManager = fStoreManager.getTypeManager(repositoryId);
+180         if (null == typeManager)
+181             throw new CmisInvalidArgumentException("Unknown repository " + repositoryId);
+182         
+183         TypeDefinitionContainer typeDefC = typeManager.getTypeById(typeId);
+184         if (null == typeDefC)
+185             throw new CmisInvalidArgumentException("Cannot delete type unknown type id: " + typeId);
+186 
+187         TypeDefinition typeDef =  typeDefC.getTypeDefinition();
+188         // TODO: re-enable when CMIS 1.1 is supported.
+189 //        if (!typeDef.getTypeMutability().supportsDelete()) {
+190 //            throw new CmisInvalidArgumentException("type definition " + typeId + " cannot be deleted, deletion is not supported for type id " + typeId);            
+191 //        }
+192 
+193         ObjectStore objectStore = fStoreManager.getObjectStore(repositoryId);
+194         if (objectStore.isTypeInUse(typeId)) {
+195             throw new CmisInvalidArgumentException("type definition " + typeId + " cannot be deleted, type is in use.");            
+196         }
+197         
+198         typeManager.deleteTypeDefinition(typeId);        
+199     }
+200     
+201     private RepositoryInfo getRepositoryInfoFromStoreManager(String repositoryId) {
+202         RepositoryInfo repoInfo = fStoreManager.getRepositoryInfo(repositoryId);
+203         if (null == repoInfo || !repoInfo.getId().equals(repositoryId)) {
+204             throw new CmisInvalidArgumentException("Unknown repository: " + repositoryId);
+205         }
+206         return repoInfo;
+207     }
+208 
+209 }
+
+
+ + Added: chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.html URL: http://svn.apache.org/viewvc/chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.html?rev=1308692&view=auto ============================================================================== --- chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.html (added) +++ chemistry/site/trunk/content/java/0.7.0/maven/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/xref/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.html Tue Apr 3 05:14:48 2012 @@ -0,0 +1,436 @@ + + + + +InMemoryService xref + + + +
+
+1   /*
+2    * Licensed to the Apache Software Foundation (ASF) under one
+3    * or more contributor license agreements.  See the NOTICE file
+4    * distributed with this work for additional information
+5    * regarding copyright ownership.  The ASF licenses this file
+6    * to you under the Apache License, Version 2.0 (the
+7    * "License"); you may not use this file except in compliance
+8    * with the License.  You may obtain a copy of the License at
+9    *
+10   * http://www.apache.org/licenses/LICENSE-2.0
+11   *
+12   * Unless required by applicable law or agreed to in writing,
+13   * software distributed under the License is distributed on an
+14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+15   * KIND, either express or implied.  See the License for the
+16   * specific language governing permissions and limitations
+17   * under the License.
+18   */
+19  package org.apache.chemistry.opencmis.inmemory.server;
+20  
+21  import java.math.BigInteger;
+22  import java.util.List;
+23  import java.util.Map;
+24  
+25  import org.apache.chemistry.opencmis.commons.data.Acl;
+26  import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+27  import org.apache.chemistry.opencmis.commons.data.ContentStream;
+28  import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
+29  import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
+30  import org.apache.chemistry.opencmis.commons.data.ObjectData;
+31  import org.apache.chemistry.opencmis.commons.data.ObjectInFolderContainer;
+32  import org.apache.chemistry.opencmis.commons.data.ObjectInFolderList;
+33  import org.apache.chemistry.opencmis.commons.data.ObjectList;
+34  import org.apache.chemistry.opencmis.commons.data.ObjectParentData;
+35  import org.apache.chemistry.opencmis.commons.data.Properties;
+36  import org.apache.chemistry.opencmis.commons.data.RenditionData;
+37  import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
+38  import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
+39  import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
+40  import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
+41  import org.apache.chemistry.opencmis.commons.enums.AclPropagation;
+42  import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
+43  import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
+44  import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
+45  import org.apache.chemistry.opencmis.commons.enums.VersioningState;
+46  import org.apache.chemistry.opencmis.commons.impl.server.AbstractCmisService;
+47  import org.apache.chemistry.opencmis.commons.server.CallContext;
+48  import org.apache.chemistry.opencmis.commons.spi.Holder;
+49  import org.apache.chemistry.opencmis.inmemory.storedobj.api.StoreManager;
+50  import org.apache.commons.logging.Log;
+51  import org.apache.commons.logging.LogFactory;
+52  
+53  public class InMemoryService extends AbstractCmisService {
+54  
+55      private static final Log LOG = LogFactory.getLog(InMemoryService.class.getName());
+56  
+57      private final StoreManager storeManager; // singleton root of everything
+58      private CallContext context;
+59  
+60      private final InMemoryRepositoryServiceImpl fRepSvc;
+61      private final InMemoryObjectServiceImpl fObjSvc;
+62      private final InMemoryNavigationServiceImpl fNavSvc;
+63      private final InMemoryVersioningServiceImpl fVerSvc;
+64      private final InMemoryDiscoveryServiceImpl fDisSvc;
+65      private final InMemoryMultiFilingServiceImpl fMultiSvc;
+66      private final InMemoryAclService fAclSvc;
+67  
+68      public StoreManager getStoreManager() {
+69          return storeManager;
+70      }
+71  
+72      public InMemoryService(Map<String, String> parameters, StoreManager sm) {
+73          storeManager = sm;
+74          fRepSvc = new InMemoryRepositoryServiceImpl(storeManager);
+75          fNavSvc = new InMemoryNavigationServiceImpl(storeManager);
+76          fObjSvc = new InMemoryObjectServiceImpl(storeManager);
+77          fVerSvc = new InMemoryVersioningServiceImpl(storeManager, fObjSvc);
+78          fDisSvc = new InMemoryDiscoveryServiceImpl(storeManager, fRepSvc, fNavSvc);
+79          fMultiSvc = new InMemoryMultiFilingServiceImpl(storeManager);
+80          fAclSvc = new InMemoryAclService(storeManager);
+81      }
+82  
+83      public CallContext getCallContext() {
+84          return context;
+85      }
+86  
+87      public void setCallContext(CallContext context) {
+88          this.context = context;
+89      }
+90  
+91      // --- repository service ---
+92  
+93      @Override
+94      public List<RepositoryInfo> getRepositoryInfos(ExtensionsData extension) {
+95          return fRepSvc.getRepositoryInfos(getCallContext(), extension);
+96      }
+97  
+98      @Override
+99      public RepositoryInfo getRepositoryInfo(String repositoryId, ExtensionsData extension) {
+100         return fRepSvc.getRepositoryInfo(getCallContext(), repositoryId, extension);
+101     }
+102 
+103     @Override
+104     public TypeDefinitionList getTypeChildren(String repositoryId, String typeId, Boolean includePropertyDefinitions,
+105             BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
+106         return fRepSvc.getTypeChildren(getCallContext(), repositoryId, typeId, includePropertyDefinitions, maxItems,
+107                 skipCount, extension);
+108     }
+109 
+110     @Override
+111     public TypeDefinition getTypeDefinition(String repositoryId, String typeId, ExtensionsData extension) {
+112         return fRepSvc.getTypeDefinition(getCallContext(), repositoryId, typeId, extension);
+113     }
+114 
+115     @Override
+116     public List<TypeDefinitionContainer> getTypeDescendants(String repositoryId, String typeId, BigInteger depth,
+117             Boolean includePropertyDefinitions, ExtensionsData extension) {
+118         return fRepSvc.getTypeDescendants(getCallContext(), repositoryId, typeId, depth, includePropertyDefinitions,
+119                 extension);
+120     }
+121 
+122     // --- navigation service ---
+123 
+124     @Override
+125     public ObjectList getCheckedOutDocs(String repositoryId, String folderId, String filter, String orderBy,
+126             Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter,
+127             BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
+128         return fNavSvc.getCheckedOutDocs(getCallContext(), repositoryId, folderId, filter, orderBy,
+129                 includeAllowableActions, includeRelationships, renditionFilter, maxItems, skipCount, extension, this);
+130     }
+131 
+132     @Override
+133     public ObjectInFolderList getChildren(String repositoryId, String folderId, String filter, String orderBy,
+134             Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter,
+135             Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
+136         return fNavSvc.getChildren(getCallContext(), repositoryId, folderId, filter, orderBy, includeAllowableActions,
+137                 includeRelationships, renditionFilter, includePathSegment, maxItems, skipCount, extension, this);
+138     }
+139 
+140     @Override
+141     public List<ObjectInFolderContainer> getDescendants(String repositoryId, String folderId, BigInteger depth,
+142             String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships,
+143             String renditionFilter, Boolean includePathSegment, ExtensionsData extension) {
+144         return fNavSvc.getDescendants(getCallContext(), repositoryId, folderId, depth, filter, includeAllowableActions,
+145                 includeRelationships, renditionFilter, includePathSegment, extension, this);
+146     }
+147 
+148     @Override
+149     public ObjectData getFolderParent(String repositoryId, String folderId, String filter, ExtensionsData extension) {
+150         return fNavSvc.getFolderParent(getCallContext(), repositoryId, folderId, filter, extension, this);
+151     }
+152 
+153     @Override
+154     public List<ObjectInFolderContainer> getFolderTree(String repositoryId, String folderId, BigInteger depth,
+155             String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships,
+156             String renditionFilter, Boolean includePathSegment, ExtensionsData extension) {
+157         return fNavSvc.getFolderTree(getCallContext(), repositoryId, folderId, depth, filter, includeAllowableActions,
+158                 includeRelationships, renditionFilter, includePathSegment, extension, this);
+159     }
+160 
+161     @Override
+162     public List<ObjectParentData> getObjectParents(String repositoryId, String objectId, String filter,
+163             Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter,
+164             Boolean includeRelativePathSegment, ExtensionsData extension) {
+165         return fNavSvc.getObjectParents(getCallContext(), repositoryId, objectId, filter, includeAllowableActions,
+166                 includeRelationships, renditionFilter, includeRelativePathSegment, extension, this);
+167     }
+168 
+169     // --- object service ---
+170 
+171     @Override
+172     public String create(String repositoryId, Properties properties, String folderId, ContentStream contentStream,
+173             VersioningState versioningState, List<String> policies, ExtensionsData extension) {
+174         String id = fObjSvc.create(getCallContext(), repositoryId, properties, folderId, contentStream,
+175                 versioningState, policies, extension, this);
+176         return id;
+177 
+178     }
+179 
+180     @Override
+181     public String createDocument(String repositoryId, Properties properties, String folderId,
+182             ContentStream contentStream, VersioningState versioningState, List<String> policies, Acl addAces,
+183             Acl removeAces, ExtensionsData extension) {
+184         return fObjSvc.createDocument(getCallContext(), repositoryId, properties, folderId, contentStream,
+185                 versioningState, policies, addAces, removeAces, extension);
+186     }
+187 
+188     @Override
+189     public String createDocumentFromSource(String repositoryId, String sourceId, Properties properties,
+190             String folderId, VersioningState versioningState, List<String> policies, Acl addAces, Acl removeAces,
+191             ExtensionsData extension) {
+192         return fObjSvc.createDocumentFromSource(getCallContext(), repositoryId, sourceId, properties, folderId,
+193                 versioningState, policies, addAces, removeAces, extension);
+194     }
+195 
+196     @Override
+197     public String createFolder(String repositoryId, Properties properties, String folderId, List<String> policies,
+198             Acl addAces, Acl removeAces, ExtensionsData extension) {
+199         return fObjSvc.createFolder(getCallContext(), repositoryId, properties, folderId, policies, addAces,
+200                 removeAces, extension);
+201     }
+202 
+203     @Override
+204     public String createPolicy(String repositoryId, Properties properties, String folderId, List<String> policies,
+205             Acl addAces, Acl removeAces, ExtensionsData extension) {
+206         return fObjSvc.createPolicy(getCallContext(), repositoryId, properties, folderId, policies, addAces,
+207                 removeAces, extension);
+208     }
+209 
+210     @Override
+211     public String createRelationship(String repositoryId, Properties properties, List<String> policies, Acl addAces,
+212             Acl removeAces, ExtensionsData extension) {
+213         return fObjSvc.createRelationship(getCallContext(), repositoryId, properties, policies, addAces, removeAces,
+214                 extension);
+215     }
+216 
+217     @Override
+218     public void deleteContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+219             ExtensionsData extension) {
+220         fObjSvc.deleteContentStream(getCallContext(), repositoryId, objectId, changeToken, extension);
+221     }
+222 
+223     @Override
+224     public void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) {
+225         fObjSvc.deleteObject(getCallContext(), repositoryId, objectId, allVersions, extension);
+226     }
+227 
+228     @Override
+229     public void deleteObjectOrCancelCheckOut(String repositoryId, String objectId, Boolean allVersions,
+230             ExtensionsData extension) {
+231         fObjSvc.deleteObject(getCallContext(), repositoryId, objectId, allVersions, extension);
+232     }
+233 
+234     @Override
+235     public FailedToDeleteData deleteTree(String repositoryId, String folderId, Boolean allVersions,
+236             UnfileObject unfileObjects, Boolean continueOnFailure, ExtensionsData extension) {
+237         return fObjSvc.deleteTree(getCallContext(), repositoryId, folderId, allVersions, unfileObjects,
+238                 continueOnFailure, extension);
+239     }
+240 
+241     @Override
+242     public AllowableActions getAllowableActions(String repositoryId, String objectId, ExtensionsData extension) {
+243         return fObjSvc.getAllowableActions(getCallContext(), repositoryId, objectId, extension);
+244     }
+245 
+246     @Override
+247     public ContentStream getContentStream(String repositoryId, String objectId, String streamId, BigInteger offset,
+248             BigInteger length, ExtensionsData extension) {
+249         return fObjSvc.getContentStream(getCallContext(), repositoryId, objectId, streamId, offset, length, extension);
+250     }
+251 
+252     @Override
+253     public ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions,
+254             IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds,
+255             Boolean includeAcl, ExtensionsData extension) {
+256         return fObjSvc.getObject(getCallContext(), repositoryId, objectId, filter, includeAllowableActions,
+257                 includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension, this);
+258     }
+259 
+260     @Override
+261     public ObjectData getObjectByPath(String repositoryId, String path, String filter, Boolean includeAllowableActions,
+262             IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds,
+263             Boolean includeAcl, ExtensionsData extension) {
+264         return fObjSvc.getObjectByPath(getCallContext(), repositoryId, path, filter, includeAllowableActions,
+265                 includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension, this);
+266     }
+267 
+268     @Override
+269     public Properties getProperties(String repositoryId, String objectId, String filter, ExtensionsData extension) {
+270         return fObjSvc.getProperties(getCallContext(), repositoryId, objectId, filter, extension);
+271     }
+272 
+273     @Override
+274     public List<RenditionData> getRenditions(String repositoryId, String objectId, String renditionFilter,
+275             BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
+276         return fObjSvc.getRenditions(getCallContext(), repositoryId, objectId, renditionFilter, maxItems, skipCount,
+277                 extension);
+278     }
+279 
+280     @Override
+281     public void moveObject(String repositoryId, Holder<String> objectId, String targetFolderId, String sourceFolderId,
+282             ExtensionsData extension) {
+283         fObjSvc.moveObject(getCallContext(), repositoryId, objectId, targetFolderId, sourceFolderId, extension, this);
+284     }
+285 
+286     @Override
+287     public void setContentStream(String repositoryId, Holder<String> objectId, Boolean overwriteFlag,
+288             Holder<String> changeToken, ContentStream contentStream, ExtensionsData extension) {
+289         fObjSvc.setContentStream(getCallContext(), repositoryId, objectId, overwriteFlag, changeToken, contentStream,
+290                 extension);
+291     }
+292 
+293     @Override
+294     public void updateProperties(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+295             Properties properties, ExtensionsData extension) {
+296         fObjSvc.updateProperties(getCallContext(), repositoryId, objectId, changeToken, properties, null, extension,
+297                 this);
+298     }
+299 
+300     // --- versioning service ---
+301 
+302     @Override
+303     public void cancelCheckOut(String repositoryId, String objectId, ExtensionsData extension) {
+304         fVerSvc.cancelCheckOut(getCallContext(), repositoryId, objectId, extension);
+305     }
+306 
+307     @Override
+308     public void checkIn(String repositoryId, Holder<String> objectId, Boolean major, Properties properties,
+309             ContentStream contentStream, String checkinComment, List<String> policies, Acl addAces, Acl removeAces,
+310             ExtensionsData extension) {
+311         fVerSvc.checkIn(getCallContext(), repositoryId, objectId, major, properties, contentStream, checkinComment,
+312                 policies, addAces, removeAces, extension, this);
+313     }
+314 
+315     @Override
+316     public void checkOut(String repositoryId, Holder<String> objectId, ExtensionsData extension,
+317             Holder<Boolean> contentCopied) {
+318         fVerSvc.checkOut(getCallContext(), repositoryId, objectId, extension, contentCopied, this);
+319     }
+320 
+321     @Override
+322     public ObjectData getObjectOfLatestVersion(String repositoryId, String objectId, String versionSeriesId,
+323             Boolean major, String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships,
+324             String renditionFilter, Boolean includePolicyIds, Boolean includeAcl, ExtensionsData extension) {
+325         return fVerSvc.getObjectOfLatestVersion(getCallContext(), repositoryId, objectId, versionSeriesId, major, filter,
+326                 includeAllowableActions, includeRelationships, renditionFilter, includePolicyIds, includeAcl,
+327                 extension, this);
+328     }
+329 
+330     @Override
+331     public Properties getPropertiesOfLatestVersion(String repositoryId, String objectId, String versionSeriesId,
+332             Boolean major, String filter, ExtensionsData extension) {
+333         return fVerSvc.getPropertiesOfLatestVersion(getCallContext(), repositoryId, objectId, versionSeriesId, major, filter,
+334                 extension);
+335     }
+336 
+337     @Override
+338     public List<ObjectData> getAllVersions(String repositoryId, String objectId, String versionSeriesId, String filter,
+339             Boolean includeAllowableActions, ExtensionsData extension) {
+340         return fVerSvc.getAllVersions(getCallContext(), repositoryId, objectId, versionSeriesId,
+341                 filter, includeAllowableActions, extension, this);
+342     }
+343 
+344     // --- discovery service ---
+345 
+346     @Override
+347     public ObjectList getContentChanges(String repositoryId, Holder<String> changeLogToken, Boolean includeProperties,
+348             String filter, Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems, ExtensionsData extension) {
+349         return fDisSvc.getContentChanges(getCallContext(), repositoryId, changeLogToken, includeProperties, filter, includePolicyIds,
+350                 includeAcl, maxItems, extension, this);
+351     }
+352 
+353     @Override
+354     public ObjectList query(String repositoryId, String statement, Boolean searchAllVersions,
+355             Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter,
+356             BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
+357         return fDisSvc.query(getCallContext(), repositoryId, statement, searchAllVersions, includeAllowableActions,
+358                 includeRelationships, renditionFilter, maxItems, skipCount, extension);
+359     }
+360 
+361     // --- multi filing service ---
+362 
+363     @Override
+364     public void addObjectToFolder(String repositoryId, String objectId, String folderId, Boolean allVersions,
+365             ExtensionsData extension) {
+366         fMultiSvc.addObjectToFolder(getCallContext(), repositoryId, objectId, folderId, allVersions, extension, this);
+367     }
+368 
+369     @Override
+370     public void removeObjectFromFolder(String repositoryId, String objectId, String folderId, ExtensionsData extension) {
+371         fMultiSvc.removeObjectFromFolder(getCallContext(), repositoryId, objectId, folderId, extension, this);
+372     }
+373 
+374     // --- relationship service ---
+375 
+376     @Override
+377     public ObjectList getObjectRelationships(String repositoryId, String objectId, Boolean includeSubRelationshipTypes,
+378             RelationshipDirection relationshipDirection, String typeId, String filter, Boolean includeAllowableActions,
+379             BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) {
+380         return super.getObjectRelationships(repositoryId, objectId, includeSubRelationshipTypes, relationshipDirection,
+381                 typeId, filter, includeAllowableActions, maxItems, skipCount, extension);
+382     }
+383 
+384     // --- ACL service ---
+385 
+386     @Override
+387     public Acl applyAcl(String repositoryId, String objectId, Acl aces, AclPropagation aclPropagation) {
+388         return fAclSvc.applyAcl(getCallContext(), repositoryId, objectId, aces, aclPropagation);
+389     }
+390 
+391     @Override
+392     public Acl applyAcl(String repositoryId, String objectId, Acl addAces, Acl removeAces,
+393             AclPropagation aclPropagation, ExtensionsData extension) {
+394         return fAclSvc.applyAcl(getCallContext(), repositoryId, objectId, addAces, removeAces, aclPropagation, extension, this);
+395     }
+396 
+397     @Override
+398     public Acl getAcl(String repositoryId, String objectId, Boolean onlyBasicPermissions, ExtensionsData extension) {
+399         return fAclSvc.getAcl(getCallContext(), repositoryId, objectId, onlyBasicPermissions, extension, this);
+400     }
+401 
+402     // --- policy service ---
+403 
+404     @Override
+405     public void applyPolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension) {
+406         super.applyPolicy(repositoryId, policyId, objectId, extension);
+407     }
+408 
+409     @Override
+410     public List<ObjectData> getAppliedPolicies(String repositoryId, String objectId, String filter,
+411             ExtensionsData extension) {
+412         return super.getAppliedPolicies(repositoryId, objectId, filter, extension);
+413     }
+414 
+415     @Override
+416     public void removePolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension) {
+417         super.removePolicy(repositoryId, policyId, objectId, extension);
+418     }
+419 
+420     // /////////////
+421 
+422 }
+
+
+ +