chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From f...@apache.org
Subject svn commit: r912556 [1/2] - in /incubator/chemistry/trunk/opencmis: ./ opencmis-server/opencmis-server-fileshare/ opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ opencmis-server/opencmis-server-support/ opencmis-s...
Date Mon, 22 Feb 2010 13:27:59 GMT
Author: fmui
Date: Mon Feb 22 13:27:59 2010
New Revision: 912556

URL: http://svn.apache.org/viewvc?rev=912556&view=rev
Log:
- CMIS-123: added initial server support module
- modified OpenCMIS FileShare to use the support module

Added:
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/pom.xml   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AbstractServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AclServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/DiscoveryServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/MultiFilingServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/NavigationServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/ObjectServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/PolicyServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/RelationshipServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/RepositoryServiceWrapper.java   (with props)
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/VersioningServiceWrapper.java   (with props)
Modified:
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/pom.xml
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/AclService.java
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/FileShareRepository.java
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/NavigationService.java
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ObjectService.java
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/RepositoryService.java
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ServicesFactory.java
    incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/VersioningService.java
    incubator/chemistry/trunk/opencmis/pom.xml

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/pom.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/pom.xml?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/pom.xml (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/pom.xml Mon Feb 22 13:27:59 2010
@@ -25,7 +25,7 @@
     <groupId>org.opencmis</groupId>
     <artifactId>opencmis</artifactId>
     <version>0.1-SNAPSHOT</version>
-	<relativePath>../../pom.xml</relativePath>		
+    <relativePath>../../pom.xml</relativePath>
   </parent>
   
   <artifactId>opencmis-server-fileshare</artifactId>
@@ -64,19 +64,19 @@
     </dependency>
     <dependency>
       <groupId>org.opencmis</groupId>
-      <artifactId>opencmis-provider-impl</artifactId>
+      <artifactId>opencmis-server-spi</artifactId>
       <version>${version}</version>
-    </dependency>	
+    </dependency>
     <dependency>
       <groupId>org.opencmis</groupId>
-      <artifactId>opencmis-server-spi</artifactId>
+      <artifactId>opencmis-server-impl</artifactId>
       <version>${version}</version>
+      <type>war</type>
     </dependency>
-	<dependency>
+    <dependency>
       <groupId>org.opencmis</groupId>
-      <artifactId>opencmis-server-impl</artifactId>
+      <artifactId>opencmis-server-support</artifactId>
       <version>${version}</version>
-	  <type>war</type>
     </dependency>
   </dependencies>
   

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/AclService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/AclService.java?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/AclService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/AclService.java Mon Feb 22 13:27:59 2010
@@ -45,8 +45,9 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisAclService#applyAcl(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, org.apache.opencmis.commons.provider.AccessControlList,
+   * @see
+   * org.apache.opencmis.server.spi.CmisAclService#applyAcl(org.apache.opencmis.server.spi.CallContext
+   * , java.lang.String, java.lang.String, org.apache.opencmis.commons.provider.AccessControlList,
    * org.apache.opencmis.commons.enums.AclPropagation)
    */
   public AccessControlList applyAcl(CallContext context, String repositoryId, String objectId,
@@ -58,9 +59,11 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisAclService#applyAcl(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.provider.AccessControlList, org.apache.opencmis.commons.enums.AclPropagation,
+   * @see
+   * org.apache.opencmis.server.spi.CmisAclService#applyAcl(org.apache.opencmis.server.spi.CallContext
+   * , java.lang.String, java.lang.String, org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.enums.AclPropagation,
    * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public AccessControlList applyAcl(CallContext context, String repositoryId, String objectId,
@@ -73,8 +76,10 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisAclService#getAcl(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData)
+   * @see
+   * org.apache.opencmis.server.spi.CmisAclService#getAcl(org.apache.opencmis.server.spi.CallContext
+   * , java.lang.String, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public AccessControlList getAcl(CallContext context, String repositoryId, String objectId,
       Boolean onlyBasicPermissions, ExtensionsData extension) {

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/FileShareRepository.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/FileShareRepository.java?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/FileShareRepository.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/FileShareRepository.java Mon Feb 22 13:27:59 2010
@@ -665,7 +665,7 @@
     else {
       // set new id
       objectId.setValue(getId(newFile));
-      
+
       // if it is a file, move properties file too
       if (newFile.isFile()) {
         File propFile = getPropertiesFile(file);

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/NavigationService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/NavigationService.java?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/NavigationService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/NavigationService.java Mon Feb 22 13:27:59 2010
@@ -55,10 +55,11 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisNavigationService#getCheckedOutDocs(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
-   * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.math.BigInteger,
-   * java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.CmisNavigationService#getCheckedOutDocs(org.apache.opencmis.
+   * server.spi.CallContext , java.lang.String, java.lang.String, java.lang.String,
+   * java.lang.String, java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships,
+   * java.lang.String, java.math.BigInteger, java.math.BigInteger,
+   * org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectList getCheckedOutDocs(CallContext context, String repositoryId, String folderId,
@@ -80,10 +81,11 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisNavigationService#getChildren(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
-   * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean,
-   * java.math.BigInteger, java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.CmisNavigationService#getChildren(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.lang.String, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
+   * java.lang.Boolean, java.math.BigInteger, java.math.BigInteger,
+   * org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectInFolderList getChildren(CallContext context, String repositoryId, String folderId,
@@ -92,16 +94,16 @@
       Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount,
       ExtensionsData extension, ObjectInfoHolder objectInfos) {
     return fRepositoryMap.getAuthenticatedRepository(context, repositoryId).getChildren(context,
-        folderId, renditionFilter, includeAllowableActions, includePathSegment, maxItems,
-        skipCount, objectInfos);
+        folderId, filter, includeAllowableActions, includePathSegment, maxItems, skipCount,
+        objectInfos);
   }
 
   /*
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisNavigationService#getDescendants(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String,
+   * org.apache.opencmis.server.spi.CmisNavigationService#getDescendants(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String,
    * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
    * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
@@ -118,9 +120,10 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisNavigationService#getFolderParent(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, java.lang.String,
-   * org.apache.opencmis.commons.api.ExtensionsData, org.apache.opencmis.server.spi.ObjectInfoHolder)
+   * org.apache.opencmis.server.spi.CmisNavigationService#getFolderParent(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectData getFolderParent(CallContext context, String repositoryId, String folderId,
       String filter, ExtensionsData extension, ObjectInfoHolder objectInfos) {
@@ -132,8 +135,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisNavigationService#getFolderTree(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String,
+   * org.apache.opencmis.server.spi.CmisNavigationService#getFolderTree(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String,
    * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
    * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
@@ -150,10 +153,11 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisNavigationService#getObjectParents(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.server.spi.CmisNavigationService#getObjectParents(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
    * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean,
-   * org.apache.opencmis.commons.api.ExtensionsData, org.apache.opencmis.server.spi.ObjectInfoHolder)
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public List<ObjectParentData> getObjectParents(CallContext context, String repositoryId,
       String objectId, String filter, Boolean includeAllowableActions,

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ObjectService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ObjectService.java?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ObjectService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ObjectService.java Mon Feb 22 13:27:59 2010
@@ -59,10 +59,12 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisObjectService#create(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.PropertiesData, java.lang.String,
-   * org.apache.opencmis.commons.provider.ContentStreamData, org.apache.opencmis.commons.enums.VersioningState,
-   * java.util.List, org.apache.opencmis.commons.api.ExtensionsData,
+   * @see
+   * org.apache.opencmis.server.spi.CmisObjectService#create(org.apache.opencmis.server.spi.CallContext
+   * , java.lang.String, org.apache.opencmis.commons.provider.PropertiesData, java.lang.String,
+   * org.apache.opencmis.commons.provider.ContentStreamData,
+   * org.apache.opencmis.commons.enums.VersioningState, java.util.List,
+   * org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectData create(CallContext context, String repositoryId, PropertiesData properties,
@@ -76,11 +78,13 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#createDocument(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.PropertiesData, java.lang.String,
-   * org.apache.opencmis.commons.provider.ContentStreamData, org.apache.opencmis.commons.enums.VersioningState,
-   * java.util.List, org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.provider.AccessControlList, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisObjectService#createDocument(org.apache.opencmis.server.
+   * spi.CallContext, java.lang.String, org.apache.opencmis.commons.provider.PropertiesData,
+   * java.lang.String, org.apache.opencmis.commons.provider.ContentStreamData,
+   * org.apache.opencmis.commons.enums.VersioningState, java.util.List,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public String createDocument(CallContext context, String repositoryId, PropertiesData properties,
       String folderId, ContentStreamData contentStream, VersioningState versioningState,
@@ -94,11 +98,13 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#createDocumentFromSource(org.apache.opencmis.server.spi.
-   * CallContext, java.lang.String, java.lang.String, org.apache.opencmis.commons.provider.PropertiesData,
-   * java.lang.String, org.apache.opencmis.commons.enums.VersioningState, java.util.List,
+   * org.apache.opencmis.server.spi.CmisObjectService#createDocumentFromSource(org.apache.opencmis
+   * .server.spi. CallContext, java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.provider.PropertiesData, java.lang.String,
+   * org.apache.opencmis.commons.enums.VersioningState, java.util.List,
+   * org.apache.opencmis.commons.provider.AccessControlList,
    * org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.provider.AccessControlList, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public String createDocumentFromSource(CallContext context, String repositoryId, String sourceId,
       PropertiesData properties, String folderId, VersioningState versioningState,
@@ -112,10 +118,11 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#createFolder(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.PropertiesData, java.lang.String,
-   * java.util.List, org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.provider.AccessControlList, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisObjectService#createFolder(org.apache.opencmis.server.spi
+   * .CallContext, java.lang.String, org.apache.opencmis.commons.provider.PropertiesData,
+   * java.lang.String, java.util.List, org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public String createFolder(CallContext context, String repositoryId, PropertiesData properties,
       String folderId, List<String> policies, AccessControlList addAces,
@@ -128,10 +135,11 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#createPolicy(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.PropertiesData, java.lang.String,
-   * java.util.List, org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.provider.AccessControlList, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisObjectService#createPolicy(org.apache.opencmis.server.spi
+   * .CallContext, java.lang.String, org.apache.opencmis.commons.provider.PropertiesData,
+   * java.lang.String, java.util.List, org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public String createPolicy(CallContext context, String repositoryId, PropertiesData properties,
       String folderId, List<String> policies, AccessControlList addAces,
@@ -144,10 +152,11 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#createRelationship(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, org.apache.opencmis.commons.provider.PropertiesData, java.util.List,
+   * org.apache.opencmis.server.spi.CmisObjectService#createRelationship(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, org.apache.opencmis.commons.provider.PropertiesData,
+   * java.util.List, org.apache.opencmis.commons.provider.AccessControlList,
    * org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.provider.AccessControlList, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public String createRelationship(CallContext context, String repositoryId,
       PropertiesData properties, List<String> policies, AccessControlList addAces,
@@ -160,9 +169,9 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#deleteContentStream(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, org.apache.opencmis.commons.provider.Holder, org.apache.opencmis.commons.provider.Holder,
-   * org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisObjectService#deleteContentStream(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, org.apache.opencmis.commons.provider.Holder,
+   * org.apache.opencmis.commons.provider.Holder, org.apache.opencmis.commons.api.ExtensionsData)
    */
   public void deleteContentStream(CallContext context, String repositoryId,
       Holder<String> objectId, Holder<String> changeToken, ExtensionsData extension) {
@@ -174,8 +183,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#deleteObjectOrCancelCheckOut(org.apache.opencmis.server.
-   * spi.CallContext, java.lang.String, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.server.spi.CmisObjectService#deleteObjectOrCancelCheckOut(org.apache.opencmis
+   * .server. spi.CallContext, java.lang.String, java.lang.String, java.lang.Boolean,
    * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public void deleteObjectOrCancelCheckOut(CallContext context, String repositoryId,
@@ -187,8 +196,9 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisObjectService#deleteTree(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.Boolean,
+   * @see
+   * org.apache.opencmis.server.spi.CmisObjectService#deleteTree(org.apache.opencmis.server.spi.
+   * CallContext, java.lang.String, java.lang.String, java.lang.Boolean,
    * org.apache.opencmis.commons.enums.UnfileObjects, java.lang.Boolean,
    * org.apache.opencmis.commons.api.ExtensionsData)
    */
@@ -203,8 +213,9 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#getAllowableActions(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisObjectService#getAllowableActions(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public AllowableActionsData getAllowableActions(CallContext context, String repositoryId,
       String objectId, ExtensionsData extension) {
@@ -216,8 +227,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#getContentStream(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.String, java.math.BigInteger,
+   * org.apache.opencmis.server.spi.CmisObjectService#getContentStream(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.lang.String, java.math.BigInteger,
    * java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData)
    */
   public ContentStreamData getContentStream(CallContext context, String repositoryId,
@@ -230,8 +241,8 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisObjectService#getObject(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
+   * @seeorg.apache.opencmis.server.spi.CmisObjectService#getObject(org.apache.opencmis.server.spi.
+   * CallContext, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
    * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean,
    * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
@@ -248,8 +259,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#getObjectByPath(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.server.spi.CmisObjectService#getObjectByPath(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
    * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean,
    * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
@@ -266,8 +277,9 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#getProperties(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.String, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.CmisObjectService#getProperties(org.apache.opencmis.server.spi
+   * .CallContext, java.lang.String, java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public PropertiesData getProperties(CallContext context, String repositoryId, String objectId,
@@ -281,8 +293,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#getRenditions(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, java.lang.String, java.lang.String, java.math.BigInteger,
+   * org.apache.opencmis.server.spi.CmisObjectService#getRenditions(org.apache.opencmis.server.spi
+   * .CallContext, java.lang.String, java.lang.String, java.lang.String, java.math.BigInteger,
    * java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData)
    */
   public List<RenditionData> getRenditions(CallContext context, String repositoryId,
@@ -295,9 +307,11 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisObjectService#moveObject(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.Holder, java.lang.String, java.lang.String,
-   * org.apache.opencmis.commons.api.ExtensionsData, org.apache.opencmis.server.spi.ObjectInfoHolder)
+   * @see
+   * org.apache.opencmis.server.spi.CmisObjectService#moveObject(org.apache.opencmis.server.spi.
+   * CallContext, java.lang.String, org.apache.opencmis.commons.provider.Holder, java.lang.String,
+   * java.lang.String, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectData moveObject(CallContext context, String repositoryId, Holder<String> objectId,
       String targetFolderId, String sourceFolderId, ExtensionsData extension,
@@ -310,9 +324,10 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#setContentStream(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.Holder, java.lang.Boolean,
-   * org.apache.opencmis.commons.provider.Holder, org.apache.opencmis.commons.provider.ContentStreamData,
+   * org.apache.opencmis.server.spi.CmisObjectService#setContentStream(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, org.apache.opencmis.commons.provider.Holder,
+   * java.lang.Boolean, org.apache.opencmis.commons.provider.Holder,
+   * org.apache.opencmis.commons.provider.ContentStreamData,
    * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public void setContentStream(CallContext context, String repositoryId, Holder<String> objectId,
@@ -326,10 +341,13 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisObjectService#updateProperties(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.Holder, org.apache.opencmis.commons.provider.Holder,
-   * org.apache.opencmis.commons.provider.PropertiesData, org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.api.ExtensionsData, org.apache.opencmis.server.spi.ObjectInfoHolder)
+   * org.apache.opencmis.server.spi.CmisObjectService#updateProperties(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, org.apache.opencmis.commons.provider.Holder,
+   * org.apache.opencmis.commons.provider.Holder,
+   * org.apache.opencmis.commons.provider.PropertiesData,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectData updateProperties(CallContext context, String repositoryId,
       Holder<String> objectId, Holder<String> changeToken, PropertiesData properties,

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/RepositoryService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/RepositoryService.java?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/RepositoryService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/RepositoryService.java Mon Feb 22 13:27:59 2010
@@ -51,8 +51,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisRepositoryService#getRepositoryInfo(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisRepositoryService#getRepositoryInfo(org.apache.opencmis.
+   * server.spi.CallContext , java.lang.String, org.apache.opencmis.commons.api.ExtensionsData)
    */
   public RepositoryInfoData getRepositoryInfo(CallContext context, String repositoryId,
       ExtensionsData extension) {
@@ -63,8 +63,9 @@
   /*
    * (non-Javadoc)
    * 
-   * @seeorg.apache.opencmis.server.spi.CmisRepositoryService#getRepositoryInfos(org.apache.opencmis.server.spi.
-   * CallContext, org.apache.opencmis.commons.api.ExtensionsData)
+   * 
+   * @seeorg.apache.opencmis.server.spi.CmisRepositoryService#getRepositoryInfos(org.apache.opencmis.
+   * server.spi. CallContext, org.apache.opencmis.commons.api.ExtensionsData)
    */
   public List<RepositoryInfoData> getRepositoryInfos(CallContext context, ExtensionsData extension) {
     List<RepositoryInfoData> result = new ArrayList<RepositoryInfoData>();
@@ -80,8 +81,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisRepositoryService#getTypeChildren(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, java.lang.Boolean, java.math.BigInteger,
+   * org.apache.opencmis.server.spi.CmisRepositoryService#getTypeChildren(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String, java.lang.Boolean, java.math.BigInteger,
    * java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData)
    */
   public TypeDefinitionList getTypeChildren(CallContext context, String repositoryId,
@@ -95,8 +96,9 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisRepositoryService#getTypeDefinition(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisRepositoryService#getTypeDefinition(org.apache.opencmis.
+   * server.spi.CallContext , java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public TypeDefinition getTypeDefinition(CallContext context, String repositoryId, String typeId,
       ExtensionsData extension) {
@@ -107,9 +109,10 @@
   /*
    * (non-Javadoc)
    * 
-   * @seeorg.apache.opencmis.server.spi.CmisRepositoryService#getTypeDescendants(org.apache.opencmis.server.spi.
-   * CallContext, java.lang.String, java.lang.String, java.math.BigInteger, java.lang.Boolean,
-   * org.apache.opencmis.commons.api.ExtensionsData)
+   * 
+   * @seeorg.apache.opencmis.server.spi.CmisRepositoryService#getTypeDescendants(org.apache.opencmis.
+   * server.spi. CallContext, java.lang.String, java.lang.String, java.math.BigInteger,
+   * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData)
    */
   public List<TypeDefinitionContainer> getTypeDescendants(CallContext context, String repositoryId,
       String typeId, BigInteger depth, Boolean includePropertyDefinitions, ExtensionsData extension) {

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ServicesFactory.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ServicesFactory.java?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ServicesFactory.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/ServicesFactory.java Mon Feb 22 13:27:59 2010
@@ -19,6 +19,7 @@
 package org.apache.opencmis.fileshare;
 
 import java.io.File;
+import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -39,6 +40,11 @@
 import org.apache.opencmis.server.spi.CmisObjectService;
 import org.apache.opencmis.server.spi.CmisRepositoryService;
 import org.apache.opencmis.server.spi.CmisVersioningService;
+import org.apache.opencmis.server.support.AclServiceWrapper;
+import org.apache.opencmis.server.support.NavigationServiceWrapper;
+import org.apache.opencmis.server.support.ObjectServiceWrapper;
+import org.apache.opencmis.server.support.RepositoryServiceWrapper;
+import org.apache.opencmis.server.support.VersioningServiceWrapper;
 
 /**
  * Services Factory for file share back-end.
@@ -54,16 +60,21 @@
   private static final String SUFFIX_READWRITE = ".readwrite";
   private static final String SUFFIX_READONLY = ".readonly";
 
+  private static final BigInteger DEFAULT_MAX_ITEMS_OBJECTS = BigInteger.valueOf(200);
+  private static final BigInteger DEFAULT_MAX_ITEMS_TYPES = BigInteger.valueOf(50);
+  private static final BigInteger DEFAULT_DEPTH_OBJECTS = BigInteger.valueOf(10);
+  private static final BigInteger DEFAULT_DEPTH_TYPES = BigInteger.valueOf(-1);
+
   private static final Log log = LogFactory.getLog(AbstractServicesFactory.class);
 
   private RepositoryMap fRepositoryMap;
   private TypeManager fTypeManager;
 
-  private RepositoryService fRepositoryService;
-  private NavigationService fNavigationService;
-  private ObjectService fObjectService;
-  private VersioningService fVersioningService;
-  private AclService fAclService;
+  private CmisRepositoryService fRepositoryService;
+  private CmisNavigationService fNavigationService;
+  private CmisObjectService fObjectService;
+  private CmisVersioningService fVersioningService;
+  private CmisAclService fAclService;
 
   public ServicesFactory() {
   }
@@ -75,11 +86,15 @@
 
     readConfiguration(parameters);
 
-    fRepositoryService = new RepositoryService(fRepositoryMap);
-    fNavigationService = new NavigationService(fRepositoryMap);
-    fObjectService = new ObjectService(fRepositoryMap);
-    fVersioningService = new VersioningService(fRepositoryMap);
-    fAclService = new AclService(fRepositoryMap);
+    // create service object with wrappers
+    fRepositoryService = new RepositoryServiceWrapper(new RepositoryService(fRepositoryMap),
+        DEFAULT_MAX_ITEMS_TYPES, DEFAULT_DEPTH_TYPES);
+    fNavigationService = new NavigationServiceWrapper(new NavigationService(fRepositoryMap),
+        DEFAULT_MAX_ITEMS_OBJECTS, DEFAULT_DEPTH_OBJECTS);
+    fObjectService = new ObjectServiceWrapper(new ObjectService(fRepositoryMap),
+        DEFAULT_MAX_ITEMS_OBJECTS);
+    fVersioningService = new VersioningServiceWrapper(new VersioningService(fRepositoryMap));
+    fAclService = new AclServiceWrapper(new AclService(fRepositoryMap));
   }
 
   @Override

Modified: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/VersioningService.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/VersioningService.java?rev=912556&r1=912555&r2=912556&view=diff
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/VersioningService.java (original)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-fileshare/src/main/java/org/apache/opencmis/fileshare/VersioningService.java Mon Feb 22 13:27:59 2010
@@ -54,8 +54,9 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisVersioningService#cancelCheckOut(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, org.apache.opencmis.commons.api.ExtensionsData)
+   * org.apache.opencmis.server.spi.CmisVersioningService#cancelCheckOut(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.api.ExtensionsData)
    */
   public void cancelCheckOut(CallContext context, String repositoryId, String objectId,
       ExtensionsData extension) {
@@ -65,11 +66,14 @@
   /*
    * (non-Javadoc)
    * 
-   * @see org.apache.opencmis.server.spi.CmisVersioningService#checkIn(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.Holder, java.lang.Boolean,
-   * org.apache.opencmis.commons.provider.PropertiesData, org.apache.opencmis.commons.provider.ContentStreamData,
-   * java.lang.String, java.util.List, org.apache.opencmis.commons.provider.AccessControlList,
-   * org.apache.opencmis.commons.provider.AccessControlList, org.apache.opencmis.commons.api.ExtensionsData,
+   * @see
+   * org.apache.opencmis.server.spi.CmisVersioningService#checkIn(org.apache.opencmis.server.spi
+   * .CallContext, java.lang.String, org.apache.opencmis.commons.provider.Holder, java.lang.Boolean,
+   * org.apache.opencmis.commons.provider.PropertiesData,
+   * org.apache.opencmis.commons.provider.ContentStreamData, java.lang.String, java.util.List,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectData checkIn(CallContext context, String repositoryId, Holder<String> objectId,
@@ -83,8 +87,8 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisVersioningService#checkOut(org.apache.opencmis.server.spi.CallContext,
-   * java.lang.String, org.apache.opencmis.commons.provider.Holder,
+   * org.apache.opencmis.server.spi.CmisVersioningService#checkOut(org.apache.opencmis.server.spi
+   * .CallContext, java.lang.String, org.apache.opencmis.commons.provider.Holder,
    * org.apache.opencmis.commons.api.ExtensionsData, org.apache.opencmis.commons.provider.Holder,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
@@ -97,9 +101,10 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisVersioningService#getAllVersions(org.apache.opencmis.server.spi.CallContext
-   * , java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
-   * org.apache.opencmis.commons.api.ExtensionsData, org.apache.opencmis.server.spi.ObjectInfoHolder)
+   * org.apache.opencmis.server.spi.CmisVersioningService#getAllVersions(org.apache.opencmis.server
+   * .spi.CallContext , java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public List<ObjectData> getAllVersions(CallContext context, String repositoryId,
       String versionSeriesId, String filter, Boolean includeAllowableActions,
@@ -114,10 +119,11 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisVersioningService#getObjectOfLatestVersion(org.apache.opencmis.server.
-   * spi.CallContext, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.String,
-   * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
-   * java.lang.Boolean, java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.CmisVersioningService#getObjectOfLatestVersion(org.apache.opencmis
+   * .server. spi.CallContext, java.lang.String, java.lang.String, java.lang.Boolean,
+   * java.lang.String, java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships,
+   * java.lang.String, java.lang.Boolean, java.lang.Boolean,
+   * org.apache.opencmis.commons.api.ExtensionsData,
    * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public ObjectData getObjectOfLatestVersion(CallContext context, String repositoryId,
@@ -132,9 +138,10 @@
    * (non-Javadoc)
    * 
    * @see
-   * org.apache.opencmis.server.spi.CmisVersioningService#getPropertiesOfLatestVersion(org.apache.opencmis.server
-   * .spi.CallContext, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.String,
-   * org.apache.opencmis.commons.api.ExtensionsData, org.apache.opencmis.server.spi.ObjectInfoHolder)
+   * org.apache.opencmis.server.spi.CmisVersioningService#getPropertiesOfLatestVersion(org.apache
+   * .opencmis.server .spi.CallContext, java.lang.String, java.lang.String, java.lang.Boolean,
+   * java.lang.String, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
    */
   public PropertiesData getPropertiesOfLatestVersion(CallContext context, String repositoryId,
       String versionSeriesId, Boolean major, String filter, ExtensionsData extension) {

Added: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/pom.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/pom.xml?rev=912556&view=auto
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/pom.xml (added)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/pom.xml Mon Feb 22 13:27:59 2010
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                             http://maven.apache.org/maven-v4_0_0.xsd">
+                             
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.opencmis</groupId>
+    <artifactId>opencmis</artifactId>
+    <version>0.1-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
+  </parent>
+  
+  <artifactId>opencmis-server-support</artifactId>
+  <name>OpenCMIS Server Support</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.opencmis</groupId>
+      <artifactId>opencmis-server-spi</artifactId>
+      <version>${version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opencmis</groupId>
+      <artifactId>opencmis-server-impl</artifactId>
+      <version>${version}</version>
+    </dependency>
+  </dependencies>
+
+</project>

Propchange: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AbstractServiceWrapper.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AbstractServiceWrapper.java?rev=912556&view=auto
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AbstractServiceWrapper.java (added)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AbstractServiceWrapper.java Mon Feb 22 13:27:59 2010
@@ -0,0 +1,321 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.server.support;
+
+import java.math.BigInteger;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.opencmis.commons.enums.AclPropagation;
+import org.apache.opencmis.commons.enums.IncludeRelationships;
+import org.apache.opencmis.commons.enums.RelationshipDirection;
+import org.apache.opencmis.commons.enums.UnfileObjects;
+import org.apache.opencmis.commons.enums.VersioningState;
+import org.apache.opencmis.commons.exceptions.CmisBaseException;
+import org.apache.opencmis.commons.exceptions.CmisInvalidArgumentException;
+import org.apache.opencmis.commons.exceptions.CmisRuntimeException;
+import org.apache.opencmis.commons.provider.ContentStreamData;
+import org.apache.opencmis.commons.provider.Holder;
+import org.apache.opencmis.commons.provider.PropertiesData;
+
+/**
+ * Super class for service wrappers.
+ * 
+ * @author <a href="mailto:fmueller@opentext.com">Florian M&uuml;ller</a>
+ * 
+ */
+public abstract class AbstractServiceWrapper {
+
+  private static final BigInteger MINUS_ONE = BigInteger.valueOf(-1);
+
+  private static final Log log = LogFactory.getLog(AbstractServiceWrapper.class);
+
+  private BigInteger fDefaultMaxItems = null;
+  private BigInteger fDefaultDepth = MINUS_ONE;
+
+  /**
+   * Set the default maxItems.
+   */
+  protected void setDefaultMaxItems(BigInteger defaultMaxItems) {
+    fDefaultMaxItems = defaultMaxItems;
+  }
+
+  /**
+   * Set the default depth.
+   */
+  protected void setDefaultDepth(BigInteger defaultDepth) {
+    fDefaultDepth = defaultDepth;
+  }
+
+  /**
+   * Converts the given exception into a CMIS exception.
+   */
+  protected CmisBaseException createCmisException(Exception e) {
+    if (e == null) {
+      // should never happen
+      // if it happens its the fault of the framework...
+
+      return new CmisRuntimeException("Unknown exception!");
+    }
+    else if (e instanceof CmisBaseException) {
+      return (CmisBaseException) e;
+    }
+    else {
+      // should not happen if the connector works correctly
+      // it's alarming enough to log the exception
+      log.warn(e);
+
+      return new CmisRuntimeException(e.getMessage(), e);
+    }
+  }
+
+  /**
+   * Throws an exception if the given id is <code>null</code> or empty.
+   */
+  protected void checkId(String name, String id) {
+    if (id == null) {
+      throw new CmisInvalidArgumentException(name + " must be set!");
+    }
+
+    if (id.length() == 0) {
+      throw new CmisInvalidArgumentException(name + " must not be empty!");
+    }
+  }
+
+  /**
+   * Throws an exception if the given holder or id is <code>null</code> or empty.
+   */
+  protected void checkHolderId(String name, Holder<String> holder) {
+    if (holder == null) {
+      throw new CmisInvalidArgumentException(name + " must be set!");
+    }
+
+    checkId(name, holder.getValue());
+  }
+
+  /**
+   * Throws an exception if the repository id is <code>null</code> or empty.
+   */
+  protected void checkRepositoryId(String repositoryId) {
+    checkId("Repository Id", repositoryId);
+  }
+
+  /**
+   * Throws an exception if the given path is <code>null</code> or invalid.
+   */
+  protected void checkPath(String name, String path) {
+    if (path == null) {
+      throw new CmisInvalidArgumentException(name + " must be set!");
+    }
+
+    if (path.length() == 0) {
+      throw new CmisInvalidArgumentException(name + " must not be empty!");
+    }
+
+    if (path.charAt(0) != '/') {
+      throw new CmisInvalidArgumentException(name + " must start with '/'!");
+    }
+  }
+
+  /**
+   * Throws an exception if the given properties set is <code>null</code>.
+   */
+  protected void checkProperties(PropertiesData properties) {
+    if (properties == null) {
+      throw new CmisInvalidArgumentException("Properties must be set!");
+    }
+  }
+
+  /**
+   * Throws an exception if the given content object is <code>null</code>.
+   */
+  protected void checkContentStream(ContentStreamData content) {
+    if (content == null) {
+      throw new CmisInvalidArgumentException("Content must be set!");
+    }
+  }
+
+  /**
+   * Throws an exception if the given query statement is <code>null</code> or empty.
+   */
+  protected void checkQueryStatement(String statement) {
+    if (statement == null) {
+      throw new CmisInvalidArgumentException("Statement must be set!");
+    }
+
+    if (statement.length() == 0) {
+      throw new CmisInvalidArgumentException("Statement must not be empty!");
+    }
+  }
+
+  /**
+   * Returns <code>true<code> if <code>value</code> is <code>null</code>.
+   */
+  protected Boolean getDefaultTrue(Boolean value) {
+    if (value == null) {
+      return Boolean.TRUE;
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns <code>false<code> if <code>value</code> is <code>null</code>.
+   */
+  protected Boolean getDefaultFalse(Boolean value) {
+    if (value == null) {
+      return Boolean.FALSE;
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns the <code>IncludeRelationships.NONE<code> if <code>value</code> is <code>null</code>.
+   */
+  protected IncludeRelationships getDefault(IncludeRelationships value) {
+    if (value == null) {
+      return IncludeRelationships.NONE;
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns the <code>VersioningState.MAJOR<code> if <code>value</code> is <code>null</code>.
+   */
+  protected VersioningState getDefault(VersioningState value) {
+    if (value == null) {
+      return VersioningState.MAJOR;
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns the <code>UnfileObjects.DELETE<code> if <code>value</code> is <code>null</code>.
+   */
+  protected UnfileObjects getDefault(UnfileObjects value) {
+    if (value == null) {
+      return UnfileObjects.DELETE;
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns the <code>AclPropagation.REPOSITORYDETERMINED<code> if <code>value</code> is
+   * <code>null</code>.
+   */
+  protected AclPropagation getDefault(AclPropagation value) {
+    if (value == null) {
+      return AclPropagation.REPOSITORYDETERMINED;
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns the <code>RelationshipDirection.SOURCE<code> if <code>value</code> is <code>null</code>
+   * .
+   */
+  protected RelationshipDirection getDefault(RelationshipDirection value) {
+    if (value == null) {
+      return RelationshipDirection.SOURCE;
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns the <code>"cmis:none"<code> if <code>value</code> is <code>null</code>.
+   */
+  protected String getDefaultRenditionFilter(String value) {
+    if ((value == null) || (value.length() == 0)) {
+      return "cmis:none";
+    }
+
+    return value;
+  }
+
+  /**
+   * Returns the default maxItems if <code>maxItems</code> == <code>null</code>, throws an exception
+   * if <code>maxItems</code> &lt; 0, returns <code>maxItems</code> otherwise.
+   */
+  protected BigInteger getMaxItems(BigInteger maxItems) {
+    if (maxItems == null) {
+      return fDefaultMaxItems;
+    }
+
+    if (maxItems.compareTo(BigInteger.ZERO) == -1) {
+      throw new CmisInvalidArgumentException("maxItems must not be negative!");
+    }
+
+    return maxItems;
+  }
+
+  /**
+   * Returns 0 if <code>skipCount</code> == <code>null</code>, throws an exception if
+   * <code>skipCount</code> &lt; 0, returns <code>skipCount</code> otherwise.
+   */
+  protected BigInteger getSkipCount(BigInteger skipCount) {
+    if (skipCount == null) {
+      return BigInteger.ZERO;
+    }
+
+    if (skipCount.compareTo(BigInteger.ZERO) == -1) {
+      throw new CmisInvalidArgumentException("skipCount must not be negative!");
+    }
+
+    return skipCount;
+  }
+
+  /**
+   * Checks the depth parameter if it complies with CMIS specification and returns the default value
+   * if <code>depth</code> is <code>null</code>.
+   */
+  protected BigInteger getDepth(BigInteger depth) {
+    if (depth == null) {
+      return fDefaultDepth;
+    }
+
+    if (depth.compareTo(BigInteger.ZERO) == 0) {
+      throw new CmisInvalidArgumentException("depth must not be 0!");
+    }
+
+    if (depth.compareTo(MINUS_ONE) == -1) {
+      throw new CmisInvalidArgumentException("depth must not be <-1!");
+    }
+
+    return depth;
+  }
+
+  /**
+   * Throws an exception if the given value is negative.
+   */
+  protected void checkNullOrPositive(String name, BigInteger value) {
+    if (value == null) {
+      return;
+    }
+
+    if (value.compareTo(BigInteger.ZERO) == -1) {
+      throw new CmisInvalidArgumentException(name + " must not be negative!");
+    }
+  }
+}

Propchange: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AbstractServiceWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AclServiceWrapper.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AclServiceWrapper.java?rev=912556&view=auto
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AclServiceWrapper.java (added)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AclServiceWrapper.java Mon Feb 22 13:27:59 2010
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.server.support;
+
+import org.apache.opencmis.commons.api.ExtensionsData;
+import org.apache.opencmis.commons.enums.AclPropagation;
+import org.apache.opencmis.commons.provider.AccessControlList;
+import org.apache.opencmis.server.spi.CallContext;
+import org.apache.opencmis.server.spi.CmisAclService;
+
+/**
+ * ACL service wrapper.
+ * 
+ * @author <a href="mailto:fmueller@opentext.com">Florian M&uuml;ller</a>
+ * 
+ */
+public class AclServiceWrapper extends AbstractServiceWrapper implements CmisAclService {
+
+  private CmisAclService fService;
+
+  /**
+   * Constructor.
+   * 
+   * @param service
+   *          the real service object
+   */
+  public AclServiceWrapper(CmisAclService service) {
+    if (service == null) {
+      throw new IllegalArgumentException("Service must be set!");
+    }
+
+    fService = service;
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisAclService#applyAcl(org.apache.opencmis.server.spi.CallContext
+   * , java.lang.String, java.lang.String, org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.enums.AclPropagation)
+   */
+  public AccessControlList applyAcl(CallContext context, String repositoryId, String objectId,
+      AccessControlList aces, AclPropagation aclPropagation) {
+    checkRepositoryId(repositoryId);
+    checkId("Object Id", objectId);
+    aclPropagation = getDefault(aclPropagation);
+
+    try {
+      return fService.applyAcl(context, repositoryId, objectId, aces, aclPropagation);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisAclService#applyAcl(org.apache.opencmis.server.spi.CallContext
+   * , java.lang.String, java.lang.String, org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.provider.AccessControlList,
+   * org.apache.opencmis.commons.enums.AclPropagation,
+   * org.apache.opencmis.commons.api.ExtensionsData)
+   */
+  public AccessControlList applyAcl(CallContext context, String repositoryId, String objectId,
+      AccessControlList addAces, AccessControlList removeAces, AclPropagation aclPropagation,
+      ExtensionsData extension) {
+    checkRepositoryId(repositoryId);
+    checkId("Object Id", objectId);
+    aclPropagation = getDefault(aclPropagation);
+
+    try {
+      return fService.applyAcl(context, repositoryId, objectId, addAces, removeAces,
+          aclPropagation, extension);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisAclService#getAcl(org.apache.opencmis.server.spi.CallContext
+   * , java.lang.String, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.commons.api.ExtensionsData)
+   */
+  public AccessControlList getAcl(CallContext context, String repositoryId, String objectId,
+      Boolean onlyBasicPermissions, ExtensionsData extension) {
+    checkRepositoryId(repositoryId);
+    checkId("Object Id", objectId);
+    onlyBasicPermissions = getDefaultTrue(onlyBasicPermissions);
+
+    try {
+      return fService.getAcl(context, repositoryId, objectId, onlyBasicPermissions, extension);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+}

Propchange: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/AclServiceWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/DiscoveryServiceWrapper.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/DiscoveryServiceWrapper.java?rev=912556&view=auto
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/DiscoveryServiceWrapper.java (added)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/DiscoveryServiceWrapper.java Mon Feb 22 13:27:59 2010
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.server.support;
+
+import java.math.BigInteger;
+
+import org.apache.opencmis.commons.api.ExtensionsData;
+import org.apache.opencmis.commons.enums.IncludeRelationships;
+import org.apache.opencmis.commons.provider.Holder;
+import org.apache.opencmis.commons.provider.ObjectList;
+import org.apache.opencmis.server.spi.CallContext;
+import org.apache.opencmis.server.spi.CmisDiscoveryService;
+import org.apache.opencmis.server.spi.ObjectInfoHolder;
+
+/**
+ * Discovery service wrapper.
+ * 
+ * @author <a href="mailto:fmueller@opentext.com">Florian M&uuml;ller</a>
+ * 
+ */
+public class DiscoveryServiceWrapper extends AbstractServiceWrapper implements CmisDiscoveryService {
+
+  private CmisDiscoveryService fService;
+
+  /**
+   * Constructor.
+   * 
+   * @param service
+   *          the real service object
+   * @param defaultMaxItems
+   *          default value for <code>maxItems</code> parameters
+   */
+  public DiscoveryServiceWrapper(CmisDiscoveryService service, BigInteger defaultMaxItems) {
+    if (service == null) {
+      throw new IllegalArgumentException("Service must be set!");
+    }
+
+    fService = service;
+    setDefaultMaxItems(defaultMaxItems);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisDiscoveryService#getContentChanges(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, org.apache.opencmis.commons.provider.Holder,
+   * java.lang.Boolean, java.lang.String, java.lang.Boolean, java.lang.Boolean,
+   * java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public ObjectList getContentChanges(CallContext context, String repositoryId,
+      Holder<String> changeLogToken, Boolean includeProperties, String filter,
+      Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems, ExtensionsData extension,
+      ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    includeProperties = getDefaultFalse(includeProperties);
+    includePolicyIds = getDefaultFalse(includePolicyIds);
+    includeAcl = getDefaultFalse(includeAcl);
+    maxItems = getMaxItems(maxItems);
+
+    try {
+      return fService.getContentChanges(context, repositoryId, changeLogToken, includeProperties,
+          filter, includePolicyIds, includeAcl, maxItems, extension, objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @seeorg.apache.opencmis.server.spi.CmisDiscoveryService#query(org.apache.opencmis.server.spi.
+   * CallContext, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.Boolean,
+   * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.math.BigInteger,
+   * java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData)
+   */
+  public ObjectList query(CallContext context, String repositoryId, String statement,
+      Boolean searchAllVersions, Boolean includeAllowableActions,
+      IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems,
+      BigInteger skipCount, ExtensionsData extension) {
+    checkRepositoryId(repositoryId);
+    checkQueryStatement(statement);
+    searchAllVersions = getDefaultFalse(searchAllVersions);
+    includeAllowableActions = getDefaultFalse(includeAllowableActions);
+    includeRelationships = getDefault(includeRelationships);
+    renditionFilter = getDefaultRenditionFilter(renditionFilter);
+    maxItems = getMaxItems(maxItems);
+    skipCount = getSkipCount(skipCount);
+
+    try {
+      return fService.query(context, repositoryId, statement, searchAllVersions,
+          includeAllowableActions, includeRelationships, renditionFilter, maxItems, skipCount,
+          extension);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+}

Propchange: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/DiscoveryServiceWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/MultiFilingServiceWrapper.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/MultiFilingServiceWrapper.java?rev=912556&view=auto
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/MultiFilingServiceWrapper.java (added)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/MultiFilingServiceWrapper.java Mon Feb 22 13:27:59 2010
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.server.support;
+
+import org.apache.opencmis.commons.api.ExtensionsData;
+import org.apache.opencmis.commons.provider.ObjectData;
+import org.apache.opencmis.server.spi.CallContext;
+import org.apache.opencmis.server.spi.CmisMultiFilingService;
+import org.apache.opencmis.server.spi.ObjectInfoHolder;
+
+/**
+ * MultiFiling service wrapper.
+ * 
+ * @author <a href="mailto:fmueller@opentext.com">Florian M&uuml;ller</a>
+ * 
+ */
+public class MultiFilingServiceWrapper extends AbstractServiceWrapper implements
+    CmisMultiFilingService {
+
+  private CmisMultiFilingService fService;
+
+  /**
+   * Constructor.
+   * 
+   * @param service
+   *          the real service object
+   */
+  public MultiFilingServiceWrapper(CmisMultiFilingService service) {
+    if (service == null) {
+      throw new IllegalArgumentException("Service must be set!");
+    }
+
+    fService = service;
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisMultiFilingService#addObjectToFolder(org.apache.opencmis
+   * .server.spi.CallContext, java.lang.String, java.lang.String, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public ObjectData addObjectToFolder(CallContext context, String repositoryId, String objectId,
+      String folderId, Boolean allVersions, ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    checkId("Object Id", objectId);
+    checkId("Folder Id", folderId);
+    allVersions = getDefaultTrue(allVersions);
+
+    try {
+      return fService.addObjectToFolder(context, repositoryId, objectId, folderId, allVersions,
+          extension, objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisMultiFilingService#removeObjectFromFolder(org.apache.opencmis
+   * .server.spi.CallContext, java.lang.String, java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public ObjectData removeObjectFromFolder(CallContext context, String repositoryId,
+      String objectId, String folderId, ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    checkId("Object Id", objectId);
+
+    try {
+      return fService.removeObjectFromFolder(context, repositoryId, objectId, folderId, extension,
+          objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+}

Propchange: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/MultiFilingServiceWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/NavigationServiceWrapper.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/NavigationServiceWrapper.java?rev=912556&view=auto
==============================================================================
--- incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/NavigationServiceWrapper.java (added)
+++ incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/NavigationServiceWrapper.java Mon Feb 22 13:27:59 2010
@@ -0,0 +1,251 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.opencmis.server.support;
+
+import java.math.BigInteger;
+import java.util.List;
+
+import org.apache.opencmis.commons.api.ExtensionsData;
+import org.apache.opencmis.commons.enums.IncludeRelationships;
+import org.apache.opencmis.commons.provider.ObjectData;
+import org.apache.opencmis.commons.provider.ObjectInFolderContainer;
+import org.apache.opencmis.commons.provider.ObjectInFolderList;
+import org.apache.opencmis.commons.provider.ObjectList;
+import org.apache.opencmis.commons.provider.ObjectParentData;
+import org.apache.opencmis.server.spi.CallContext;
+import org.apache.opencmis.server.spi.CmisNavigationService;
+import org.apache.opencmis.server.spi.ObjectInfoHolder;
+
+/**
+ * Navigation service wrapper.
+ * 
+ * @author <a href="mailto:fmueller@opentext.com">Florian M&uuml;ller</a>
+ * 
+ */
+public class NavigationServiceWrapper extends AbstractServiceWrapper implements
+    CmisNavigationService {
+
+  private CmisNavigationService fService;
+
+  /**
+   * Constructor.
+   * 
+   * @param service
+   *          the real service object
+   * @param defaultMaxItems
+   *          default value for <code>maxItems</code> parameters
+   * @param defaultDepth
+   *          default value for <code>depth</code> parameters
+   */
+  public NavigationServiceWrapper(CmisNavigationService service, BigInteger defaultMaxItems,
+      BigInteger defaultDepth) {
+    if (service == null) {
+      throw new IllegalArgumentException("Service must be set!");
+    }
+
+    fService = service;
+    setDefaultMaxItems(defaultMaxItems);
+    setDefaultDepth(defaultDepth);
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisNavigationService#getCheckedOutDocs(org.apache.opencmis.
+   * server.spi.CallContext, java.lang.String, java.lang.String, java.lang.String, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
+   * java.math.BigInteger, java.math.BigInteger, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public ObjectList getCheckedOutDocs(CallContext context, String repositoryId, String folderId,
+      String filter, String orderBy, Boolean includeAllowableActions,
+      IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems,
+      BigInteger skipCount, ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    includeAllowableActions = getDefaultFalse(includeAllowableActions);
+    includeRelationships = getDefault(includeRelationships);
+    renditionFilter = getDefaultRenditionFilter(renditionFilter);
+    maxItems = getMaxItems(maxItems);
+    skipCount = getSkipCount(skipCount);
+
+    try {
+      return fService.getCheckedOutDocs(context, repositoryId, folderId, filter, orderBy,
+          includeAllowableActions, includeRelationships, renditionFilter, maxItems, skipCount,
+          extension, objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisNavigationService#getChildren(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.lang.String, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
+   * java.lang.Boolean, java.math.BigInteger, java.math.BigInteger,
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public ObjectInFolderList getChildren(CallContext context, String repositoryId, String folderId,
+      String filter, String orderBy, Boolean includeAllowableActions,
+      IncludeRelationships includeRelationships, String renditionFilter,
+      Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount,
+      ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    checkId("Folder Id", folderId);
+    includeAllowableActions = getDefaultFalse(includeAllowableActions);
+    includeRelationships = getDefault(includeRelationships);
+    renditionFilter = getDefaultRenditionFilter(renditionFilter);
+    includePathSegment = getDefaultFalse(includePathSegment);
+    maxItems = getMaxItems(maxItems);
+    skipCount = getSkipCount(skipCount);
+
+    try {
+      return fService.getChildren(context, repositoryId, folderId, filter, orderBy,
+          includeAllowableActions, includeRelationships, renditionFilter, includePathSegment,
+          maxItems, skipCount, extension, objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisNavigationService#getDescendants(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public List<ObjectInFolderContainer> getDescendants(CallContext context, String repositoryId,
+      String folderId, BigInteger depth, String filter, Boolean includeAllowableActions,
+      IncludeRelationships includeRelationships, String renditionFilter,
+      Boolean includePathSegment, ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    checkId("Folder Id", folderId);
+    depth = getDepth(depth);
+    includeAllowableActions = getDefaultFalse(includeAllowableActions);
+    includeRelationships = getDefault(includeRelationships);
+    renditionFilter = getDefaultRenditionFilter(renditionFilter);
+    includePathSegment = getDefaultFalse(includePathSegment);
+
+    try {
+      return fService.getDescendants(context, repositoryId, folderId, depth, filter,
+          includeAllowableActions, includeRelationships, renditionFilter, includePathSegment,
+          extension, objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisNavigationService#getFolderParent(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.lang.String,
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public ObjectData getFolderParent(CallContext context, String repositoryId, String folderId,
+      String filter, ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    checkId("Folder Id", folderId);
+
+    try {
+      return fService.getFolderParent(context, repositoryId, folderId, filter, extension,
+          objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisNavigationService#getFolderTree(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.math.BigInteger, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String,
+   * java.lang.Boolean, org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public List<ObjectInFolderContainer> getFolderTree(CallContext context, String repositoryId,
+      String folderId, BigInteger depth, String filter, Boolean includeAllowableActions,
+      IncludeRelationships includeRelationships, String renditionFilter,
+      Boolean includePathSegment, ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    checkId("Folder Id", folderId);
+    depth = getDepth(depth);
+    includeAllowableActions = getDefaultFalse(includeAllowableActions);
+    includeRelationships = getDefault(includeRelationships);
+    renditionFilter = getDefaultRenditionFilter(renditionFilter);
+    includePathSegment = getDefaultFalse(includePathSegment);
+
+    try {
+      return fService.getFolderTree(context, repositoryId, folderId, depth, filter,
+          includeAllowableActions, includeRelationships, renditionFilter, includePathSegment,
+          extension, objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+  /*
+   * (non-Javadoc)
+   * 
+   * @see
+   * org.apache.opencmis.server.spi.CmisNavigationService#getObjectParents(org.apache.opencmis.server
+   * .spi.CallContext, java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean,
+   * org.apache.opencmis.commons.api.ExtensionsData,
+   * org.apache.opencmis.server.spi.ObjectInfoHolder)
+   */
+  public List<ObjectParentData> getObjectParents(CallContext context, String repositoryId,
+      String objectId, String filter, Boolean includeAllowableActions,
+      IncludeRelationships includeRelationships, String renditionFilter,
+      Boolean includeRelativePathSegment, ExtensionsData extension, ObjectInfoHolder objectInfos) {
+    checkRepositoryId(repositoryId);
+    checkId("Object Id", objectId);
+    includeAllowableActions = getDefaultFalse(includeAllowableActions);
+    includeRelationships = getDefault(includeRelationships);
+    renditionFilter = getDefaultRenditionFilter(renditionFilter);
+    includeRelativePathSegment = getDefaultFalse(includeRelativePathSegment);
+
+    try {
+      return fService.getObjectParents(context, repositoryId, objectId, filter,
+          includeAllowableActions, includeRelationships, renditionFilter,
+          includeRelativePathSegment, extension, objectInfos);
+    }
+    catch (Exception e) {
+      throw createCmisException(e);
+    }
+  }
+
+}

Propchange: incubator/chemistry/trunk/opencmis/opencmis-server/opencmis-server-support/src/main/java/org/apache/opencmis/server/support/NavigationServiceWrapper.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message