You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2012/11/08 16:34:57 UTC
svn commit: r1407134 - in /chemistry/opencmis/trunk:
chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/
chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/...
Author: fmui
Date: Thu Nov 8 15:34:54 2012
New Revision: 1407134
URL: http://svn.apache.org/viewvc?rev=1407134&view=rev
Log:
Added first batch of CMIS 1.1 low-level interfaces
Added:
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/BulkUpdateObjectIdAndChangeToken.java (with props)
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/ExtensionFeature.java (with props)
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/CapabilityOrderBy.java (with props)
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/RepositoryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RepositoryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/PropertyIds.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryCapabilities.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryInfo.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/Action.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/BaseTypeId.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/ObjectService.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/RepositoryService.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/server/AbstractCmisService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/CmisServiceWrapper.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -36,6 +36,7 @@ import org.apache.chemistry.opencmis.cli
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -363,6 +364,12 @@ public class ObjectServiceImpl extends A
}
}
+ public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
public void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) {
// find the link
@@ -505,6 +512,11 @@ public class ObjectServiceImpl extends A
return result;
}
+ public void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
public ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions,
IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds,
Boolean includeACL, ExtensionsData extension) {
Modified: chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-android/chemistry-opencmis-android-client/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -33,6 +33,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
@@ -210,4 +211,16 @@ public class RepositoryServiceImpl exten
}
}
}
+
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/RepositoryServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/RepositoryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/impl/RepositoryServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -23,8 +23,8 @@ import java.io.Serializable;
import java.math.BigInteger;
import java.util.List;
-import org.apache.chemistry.opencmis.client.bindings.spi.CmisSpi;
import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
+import org.apache.chemistry.opencmis.client.bindings.spi.CmisSpi;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
@@ -174,4 +174,39 @@ public class RepositoryServiceImpl imple
addToTypeCache(cache, repositoryId, container.getChildren());
}
}
+
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ // get the SPI and create the type definitions
+ CmisSpi spi = CmisBindingsHelper.getSPI(session);
+ TypeDefinition result = spi.getRepositoryService().createType(repositoryId, type, extension);
+
+ // add the type to cache
+ TypeDefinitionCache cache = CmisBindingsHelper.getTypeDefinitionCache(session);
+ cache.put(repositoryId, result);
+
+ return result;
+ }
+
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ // get the SPI and update the type definitions
+ CmisSpi spi = CmisBindingsHelper.getSPI(session);
+ TypeDefinition result = spi.getRepositoryService().updateType(repositoryId, type, extension);
+
+ // update the type in cache
+ TypeDefinitionCache cache = CmisBindingsHelper.getTypeDefinitionCache(session);
+ cache.put(repositoryId, result);
+
+ return result;
+ }
+
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ // get the SPI and delete the type definitions
+ CmisSpi spi = CmisBindingsHelper.getSPI(session);
+ spi.getRepositoryService().deleteType(repositoryId, typeId, extension);
+
+ // remove the type from cache
+ TypeDefinitionCache cache = CmisBindingsHelper.getTypeDefinitionCache(session);
+ cache.remove(repositoryId, typeId);
+ }
+
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/ObjectServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -39,6 +39,7 @@ import org.apache.chemistry.opencmis.cli
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -353,6 +354,12 @@ public class ObjectServiceImpl extends A
}
}
+ public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
public void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) {
// find the link
@@ -670,6 +677,11 @@ public class ObjectServiceImpl extends A
}
}
+ public void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
// ---- internal ----
private static void checkCreateProperties(Properties properties) {
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/RepositoryServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -35,6 +35,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.UrlBuilder;
@@ -220,4 +221,16 @@ public class RepositoryServiceImpl exten
}
}
}
+
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -28,6 +28,7 @@ import org.apache.chemistry.opencmis.cli
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -38,6 +39,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
import org.apache.chemistry.opencmis.commons.impl.TypeCache;
@@ -358,6 +360,12 @@ public class ObjectServiceImpl extends A
}
}
+ public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
public void moveObject(String repositoryId, Holder<String> objectId, String targetFolderId, String sourceFolderId,
ExtensionsData extension) {
// we need an object id
@@ -504,4 +512,9 @@ public class ObjectServiceImpl extends A
changeToken.setValue(ct == null ? null : ct.toString());
}
}
+
+ public void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RepositoryServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RepositoryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/RepositoryServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -29,6 +29,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.chemistry.opencmis.commons.impl.Constants;
import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
@@ -110,4 +111,16 @@ public class RepositoryServiceImpl exten
return JSONConverter.convertTypeDescendants(json);
}
+
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/ObjectServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -26,6 +26,7 @@ import java.util.List;
import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -231,6 +232,17 @@ public class ObjectServiceImpl extends A
}
}
+ public void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.appendContentStream(repositoryId, objectId, changeToken, contentStream, extension);
+ } finally {
+ service.close();
+ }
+ }
+
public void updateProperties(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
Properties properties, ExtensionsData extension) {
CmisService service = getService(repositoryId);
@@ -241,4 +253,18 @@ public class ObjectServiceImpl extends A
service.close();
}
}
+
+ public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.bulkUpdateProperties(repositoryId, objectIdAndChangeToken, properties, addSecondaryTypeIds,
+ removeSecondaryTypeIds, extension);
+ } finally {
+ service.close();
+ }
+ }
+
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/local/RepositoryServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -99,4 +99,34 @@ public class RepositoryServiceImpl exten
}
}
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.createType(repositoryId, type, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ return service.updateType(repositoryId, type, extension);
+ } finally {
+ service.close();
+ }
+ }
+
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ CmisService service = getService(repositoryId);
+
+ try {
+ service.deleteType(repositoryId, typeId, extension);
+ } finally {
+ service.close();
+ }
+ }
+
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -31,6 +31,7 @@ import java.util.List;
import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -40,6 +41,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
import org.apache.chemistry.opencmis.commons.enums.UnfileObject;
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisException;
import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisExtensionType;
@@ -207,6 +209,12 @@ public class ObjectServiceImpl extends A
portProvider.endCall(port);
}
}
+
+ public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
public void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) {
ObjectServicePort port = portProvider.getObjectServicePort();
@@ -417,4 +425,9 @@ public class ObjectServiceImpl extends A
portProvider.endCall(port);
}
}
+
+ public void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RepositoryServiceImpl.java Thu Nov 8 15:34:54 2012
@@ -31,6 +31,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionContainer;
import org.apache.chemistry.opencmis.commons.definitions.TypeDefinitionList;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisException;
import org.apache.chemistry.opencmis.commons.impl.jaxb.CmisRepositoryEntryType;
@@ -140,4 +141,16 @@ public class RepositoryServiceImpl exten
portProvider.endCall(port);
}
}
+
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/PropertyIds.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/PropertyIds.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/PropertyIds.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/PropertyIds.java Thu Nov 8 15:34:54 2012
@@ -37,6 +37,10 @@ public final class PropertyIds {
public static final String LAST_MODIFICATION_DATE = "cmis:lastModificationDate";
public static final String CHANGE_TOKEN = "cmis:changeToken";
+ // CMIS 1.1
+ public static final String DESCRIPTION = "cmis:description";
+ public static final String SECONDARY_OBJECT_TYPE_IDS = "cmis:secondaryObjectTypeIds";
+
// ---- document ----
public static final String IS_IMMUTABLE = "cmis:isImmutable";
public static final String IS_LATEST_VERSION = "cmis:isLatestVersion";
@@ -53,6 +57,9 @@ public final class PropertyIds {
public static final String CONTENT_STREAM_FILE_NAME = "cmis:contentStreamFileName";
public static final String CONTENT_STREAM_ID = "cmis:contentStreamId";
+ // CMIS 1.1
+ public static final String IS_PRIVATE_WORKING_COPY = "cmis:isPrivateWorkingCopy";
+
// ---- folder ----
public static final String PARENT_ID = "cmis:parentId";
public static final String ALLOWED_CHILD_OBJECT_TYPE_IDS = "cmis:allowedChildObjectTypeIds";
Added: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/BulkUpdateObjectIdAndChangeToken.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/BulkUpdateObjectIdAndChangeToken.java?rev=1407134&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/BulkUpdateObjectIdAndChangeToken.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/BulkUpdateObjectIdAndChangeToken.java Thu Nov 8 15:34:54 2012
@@ -0,0 +1,28 @@
+/*
+ * 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.chemistry.opencmis.commons.data;
+
+public interface BulkUpdateObjectIdAndChangeToken extends ExtensionsData {
+
+ String getId();
+
+ String getNewId();
+
+ String getChangeToken();
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/BulkUpdateObjectIdAndChangeToken.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/ExtensionFeature.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/ExtensionFeature.java?rev=1407134&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/ExtensionFeature.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/ExtensionFeature.java Thu Nov 8 15:34:54 2012
@@ -0,0 +1,38 @@
+/*
+ * 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.chemistry.opencmis.commons.data;
+
+import java.io.Serializable;
+import java.util.Map;
+
+public interface ExtensionFeature extends Serializable, ExtensionsData {
+
+ String getId();
+
+ String getUrl();
+
+ String getCommonName();
+
+ String getVersionLabel();
+
+ String getDescription();
+
+ Map<String, String> getFeatureData();
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/ExtensionFeature.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryCapabilities.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryCapabilities.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryCapabilities.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryCapabilities.java Thu Nov 8 15:34:54 2012
@@ -24,6 +24,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.CapabilityChanges;
import org.apache.chemistry.opencmis.commons.enums.CapabilityContentStreamUpdates;
import org.apache.chemistry.opencmis.commons.enums.CapabilityJoin;
+import org.apache.chemistry.opencmis.commons.enums.CapabilityOrderBy;
import org.apache.chemistry.opencmis.commons.enums.CapabilityQuery;
import org.apache.chemistry.opencmis.commons.enums.CapabilityRenditions;
@@ -43,6 +44,8 @@ public interface RepositoryCapabilities
Boolean isGetFolderTreeSupported();
+ CapabilityOrderBy getOrderByCapability();
+
// Filing
Boolean isMultifilingSupported();
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryInfo.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryInfo.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryInfo.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/data/RepositoryInfo.java Thu Nov 8 15:34:54 2012
@@ -56,4 +56,6 @@ public interface RepositoryInfo extends
String getPrincipalIdAnonymous();
String getPrincipalIdAnyone();
+
+ List<ExtensionFeature> getExtensionFeatures();
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/Action.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/Action.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/Action.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/Action.java Thu Nov 8 15:34:54 2012
@@ -45,6 +45,7 @@ public enum Action {
CAN_CREATE_DOCUMENT("canCreateDocument"), //
CAN_CREATE_FOLDER("canCreateFolder"), //
CAN_CREATE_RELATIONSHIP("canCreateRelationship"), //
+ CAN_CREATE_ITEM("canCreateItem"), //
CAN_DELETE_TREE("canDeleteTree"), //
CAN_GET_RENDITIONS("canGetRenditions"), //
CAN_GET_ACL("canGetACL"), //
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/BaseTypeId.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/BaseTypeId.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/BaseTypeId.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/BaseTypeId.java Thu Nov 8 15:34:54 2012
@@ -20,16 +20,15 @@ package org.apache.chemistry.opencmis.co
/**
* Base Object Type Ids Enum.
- *
- * @author <a href="mailto:fmueller@opentext.com">Florian Müller</a>
- *
*/
public enum BaseTypeId {
CMIS_DOCUMENT("cmis:document"), //
CMIS_FOLDER("cmis:folder"), //
CMIS_RELATIONSHIP("cmis:relationship"), //
- CMIS_POLICY("cmis:policy");
+ CMIS_POLICY("cmis:policy"), //
+ CMIS_ITEM("cmis:item"), // CMIS 1.1
+ CMIS_SECONDARY("cmis:secondary"); // CMIS 1.1
private final String value;
Added: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/CapabilityOrderBy.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/CapabilityOrderBy.java?rev=1407134&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/CapabilityOrderBy.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/CapabilityOrderBy.java Thu Nov 8 15:34:54 2012
@@ -0,0 +1,43 @@
+/*
+ * 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.chemistry.opencmis.commons.enums;
+
+public enum CapabilityOrderBy {
+
+ NONE("none"), COMMON("common"), CUSTOM("custom");
+ private final String value;
+
+ CapabilityOrderBy(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static CapabilityOrderBy fromValue(String v) {
+ for (CapabilityOrderBy c : CapabilityOrderBy.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/enums/CapabilityOrderBy.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/ObjectService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/ObjectService.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/ObjectService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/ObjectService.java Thu Nov 8 15:34:54 2012
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -358,6 +359,24 @@ public interface ObjectService {
Properties properties, ExtensionsData extension);
/**
+ * Updates properties and secondary types of one or more objects.
+ *
+ * @param repositoryId
+ * the identifier for the repository
+ * @param objectIdAndChangeToken
+ * the ids and change tokens of the objects to update
+ * @param properties
+ * the properties to set
+ * @param addSecondaryTypeIds
+ * the secondary types to apply
+ * @param removeSecondaryTypeIds
+ * the secondary types to remove
+ */
+ List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension);
+
+ /**
* Moves the specified file-able object from one folder to another.
*
* @param repositoryId
@@ -455,4 +474,22 @@ public interface ObjectService {
*/
void deleteContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
ExtensionsData extension);
+
+ /**
+ * Appends the content stream to the content of the document.
+ *
+ * @param repositoryId
+ * the identifier for the repository
+ * @param objectId
+ * the identifier for the object. The repository might return a
+ * different/new object id
+ * @param changeToken
+ * <em>(optional)</em> the last change token of this object that
+ * the client received. The repository might return a new change
+ * token (default is <code>null</code>)
+ * @param contentStream
+ * the content stream to append
+ */
+ void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension);
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/RepositoryService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/RepositoryService.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/RepositoryService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/spi/RepositoryService.java Thu Nov 8 15:34:54 2012
@@ -113,4 +113,36 @@ public interface RepositoryService {
* typeId of an object type specified in the repository
*/
TypeDefinition getTypeDefinition(String repositoryId, String typeId, ExtensionsData extension);
+
+ /**
+ * Creates a new type.
+ *
+ * @param repositoryId
+ * the identifier for the repository
+ * @param type
+ * the type definition
+ * @return the newly created type
+ */
+ TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension);
+
+ /**
+ * Updates a type.
+ *
+ * @param repositoryId
+ * the identifier for the repository
+ * @param type
+ * the type definition
+ * @return the updated type
+ */
+ TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension);
+
+ /**
+ * Deletes a type.
+ *
+ * @param repositoryId
+ * the identifier for the repository
+ * @param typeId
+ * typeId of an object type specified in the repository
+ */
+ void deleteType(String repositoryId, String typeId, ExtensionsData extension);
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryCapabilitiesImpl.java Thu Nov 8 15:34:54 2012
@@ -23,6 +23,7 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.enums.CapabilityChanges;
import org.apache.chemistry.opencmis.commons.enums.CapabilityContentStreamUpdates;
import org.apache.chemistry.opencmis.commons.enums.CapabilityJoin;
+import org.apache.chemistry.opencmis.commons.enums.CapabilityOrderBy;
import org.apache.chemistry.opencmis.commons.enums.CapabilityQuery;
import org.apache.chemistry.opencmis.commons.enums.CapabilityRenditions;
@@ -44,6 +45,7 @@ public class RepositoryCapabilitiesImpl
private Boolean isPwcUpdatable;
private Boolean supportsGetDescendants;
private Boolean supportsGetFolderTree;
+ private CapabilityOrderBy capabilityOrderBy;
private Boolean supportsMultifiling;
private Boolean supportsUnfiling;
private Boolean supportsVersionSpecificFiling;
@@ -142,6 +144,14 @@ public class RepositoryCapabilitiesImpl
this.supportsGetFolderTree = supportsGetFolderTree;
}
+ public CapabilityOrderBy getOrderByCapability() {
+ return capabilityOrderBy;
+ }
+
+ public void setOrderByCapability(CapabilityOrderBy capabilityOrderBy) {
+ this.capabilityOrderBy = capabilityOrderBy;
+ }
+
public Boolean isMultifilingSupported() {
return supportsMultifiling;
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/dataobjects/RepositoryInfoImpl.java Thu Nov 8 15:34:54 2012
@@ -21,6 +21,7 @@ package org.apache.chemistry.opencmis.co
import java.util.List;
import org.apache.chemistry.opencmis.commons.data.AclCapabilities;
+import org.apache.chemistry.opencmis.commons.data.ExtensionFeature;
import org.apache.chemistry.opencmis.commons.data.RepositoryCapabilities;
import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
import org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
@@ -48,6 +49,7 @@ public class RepositoryInfoImpl extends
private String vendorName;
private String productName;
private String productVersion;
+ private List<ExtensionFeature> extensionFeatures;
/**
* Constructor.
@@ -203,6 +205,14 @@ public class RepositoryInfoImpl extends
this.productVersion = productVersion;
}
+ public List<ExtensionFeature> getExtensionFeatures() {
+ return extensionFeatures;
+ }
+
+ public void setExtensionFeature(List<ExtensionFeature> extensionFeatures) {
+ this.extensionFeatures = extensionFeatures;
+ }
+
@Override
public String toString() {
return "Repository Info [id=" + id + ", name=" + name + ", description=" + description + ", capabilities="
@@ -211,7 +221,8 @@ public class RepositoryInfoImpl extends
+ ", principal anonymous=" + principalAnonymous + ", principal anyone=" + principalAnyone
+ ", vendor name=" + vendorName + ", product name=" + productName + ", product version="
+ productVersion + ", root folder id=" + rootFolderId + ", thin client URI=" + thinClientUri
- + ", version supported=" + versionSupported + "]" + super.toString();
+ + ", version supported=" + versionSupported + ", extension features=" + extensionFeatures + "]"
+ + super.toString();
}
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/server/AbstractCmisService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/server/AbstractCmisService.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/server/AbstractCmisService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/server/AbstractCmisService.java Thu Nov 8 15:34:54 2012
@@ -28,6 +28,7 @@ import java.util.Map;
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -79,7 +80,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is required. Convenience implementation is present.</li>
* </ul>
*/
@@ -109,7 +110,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is required.</li>
* </ul>
*/
@@ -121,7 +122,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is required.</li>
* </ul>
*/
@@ -134,7 +135,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -149,12 +150,57 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is required.</li>
* </ul>
*/
public abstract TypeDefinition getTypeDefinition(String repositoryId, String typeId, ExtensionsData extension);
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * <b>Implementation Hints:</b>
+ * <ul>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
+ * <li>Implementation is optional.</li>
+ * <li>Introduced in CMIS 1.1</li>
+ * </ul>
+ */
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * <b>Implementation Hints:</b>
+ * <ul>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
+ * <li>Implementation is optional.</li>
+ * <li>Introduced in CMIS 1.1</li>
+ * </ul>
+ */
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * <b>Implementation Hints:</b>
+ * <ul>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
+ * <li>Implementation is optional.</li>
+ * <li>Introduced in CMIS 1.1</li>
+ * </ul>
+ */
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
// --- navigation service ---
/**
@@ -163,7 +209,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is required.</li>
* <li>Object infos should contain the folder and all returned children.</li>
* </ul>
@@ -178,7 +224,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the folder and all returned descendants.</li>
* </ul>
@@ -195,7 +241,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the folder and all returned descendants.</li>
* </ul>
@@ -212,7 +258,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is required.</li>
* <li>Object infos should contain the object and all returned parents.</li>
* </ul>
@@ -227,7 +273,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the returned parent folder.</li>
* </ul>
@@ -242,7 +288,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the folder and the returned objects.</li>
* </ul>
@@ -313,7 +359,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -329,7 +375,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -345,7 +391,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -360,7 +406,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the newly created object.</li>
* </ul>
@@ -376,7 +422,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -391,7 +437,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -405,7 +451,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is required.</li>
* <li>Object infos should contain the returned object.</li>
* </ul>
@@ -420,7 +466,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -434,7 +480,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -449,7 +495,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the returned object.</li>
* </ul>
@@ -466,7 +512,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -481,7 +527,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the updated object.</li>
* </ul>
@@ -497,7 +543,24 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
+ * <li>Implementation is optional.</li>
+ * <li>Introduced in CMIS 1.1</li>
+ * </ul>
+ */
+ public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * <b>Implementation Hints:</b>
+ * <ul>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the moved object.</li>
* </ul>
@@ -513,7 +576,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional. Convenience implementation is present.</li>
* </ul>
*/
@@ -542,7 +605,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -557,7 +620,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -572,7 +635,23 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
+ * <li>Implementation is optional.</li>
+ * <li>Introduced in CMIS 1.1</li>
+ * </ul>
+ */
+ public void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension) {
+ throw new CmisNotSupportedException("Not supported!");
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * <p>
+ * <b>Implementation Hints:</b>
+ * <ul>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -589,7 +668,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the checked out object.</li>
* </ul>
@@ -605,7 +684,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -619,7 +698,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the checked in object.</li>
* </ul>
@@ -636,7 +715,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the returned object.</li>
* </ul>
@@ -668,7 +747,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the returned objects.</li>
* </ul>
@@ -686,7 +765,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the returned objects.</li>
* </ul>
@@ -702,7 +781,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -720,7 +799,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the added object.</li>
* </ul>
@@ -736,7 +815,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the removed object.</li>
* </ul>
@@ -753,7 +832,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the object and the returned relationship
* objects.</li>
@@ -773,7 +852,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: Web Services, Local</li>
+ * <li>Bindings: Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -802,7 +881,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
@@ -818,7 +897,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the applied policy object.</li>
* </ul>
@@ -833,7 +912,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* <li>Object infos should contain the returned policy objects.</li>
* </ul>
@@ -849,7 +928,7 @@ public abstract class AbstractCmisServic
* <p>
* <b>Implementation Hints:</b>
* <ul>
- * <li>Bindings: AtomPub, Web Services, Local</li>
+ * <li>Bindings: AtomPub, Web Services, Browser, Local</li>
* <li>Implementation is optional.</li>
* </ul>
*/
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/CmisServiceWrapper.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/CmisServiceWrapper.java?rev=1407134&r1=1407133&r2=1407134&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/CmisServiceWrapper.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/CmisServiceWrapper.java Thu Nov 8 15:34:54 2012
@@ -27,6 +27,7 @@ import java.util.List;
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.data.Acl;
import org.apache.chemistry.opencmis.commons.data.AllowableActions;
+import org.apache.chemistry.opencmis.commons.data.BulkUpdateObjectIdAndChangeToken;
import org.apache.chemistry.opencmis.commons.data.ContentStream;
import org.apache.chemistry.opencmis.commons.data.ExtensionsData;
import org.apache.chemistry.opencmis.commons.data.FailedToDeleteData;
@@ -258,6 +259,28 @@ public class CmisServiceWrapper<T extend
}
/**
+ * Throws an exception if the given type definition is <code>null</code>.
+ */
+ protected void checkTypeDefinition(TypeDefinition typeDef) {
+ if (typeDef == null) {
+ throw new CmisInvalidArgumentException("Type definition must be set!");
+ }
+ }
+
+ /**
+ * Throws an exception if the given list is <code>null</code> or empty.
+ */
+ protected void checkList(String name, List<?> list) {
+ if (list == null) {
+ throw new CmisInvalidArgumentException(name + " must be set!");
+ }
+
+ if (list.isEmpty()) {
+ throw new CmisInvalidArgumentException(name + " must not be empty!");
+ }
+ }
+
+ /**
* Returns <code>true</code> if <code>value</code> is <code>null</code>.
*/
protected Boolean getDefaultTrue(Boolean value) {
@@ -528,6 +551,39 @@ public class CmisServiceWrapper<T extend
}
}
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ checkRepositoryId(repositoryId);
+ checkTypeDefinition(type);
+
+ try {
+ return service.createType(repositoryId, type, extension);
+ } catch (Exception e) {
+ throw createCmisException(e);
+ }
+ }
+
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ checkRepositoryId(repositoryId);
+ checkTypeDefinition(type);
+
+ try {
+ return service.updateType(repositoryId, type, extension);
+ } catch (Exception e) {
+ throw createCmisException(e);
+ }
+ }
+
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ checkRepositoryId(repositoryId);
+ checkId("Type Id", typeId);
+
+ try {
+ service.deleteType(repositoryId, typeId, extension);
+ } catch (Exception e) {
+ throw createCmisException(e);
+ }
+ }
+
// --- navigation service ---
public ObjectList getCheckedOutDocs(String repositoryId, String folderId, String filter, String orderBy,
@@ -893,6 +949,19 @@ public class CmisServiceWrapper<T extend
}
}
+ public void appendContentStream(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
+ ContentStream contentStream, ExtensionsData extension) {
+ checkRepositoryId(repositoryId);
+ checkHolderId("Object Id", objectId);
+ checkContentStream(contentStream);
+
+ try {
+ service.appendContentStream(repositoryId, objectId, changeToken, contentStream, extension);
+ } catch (Exception e) {
+ throw createCmisException(e);
+ }
+ }
+
public void updateProperties(String repositoryId, Holder<String> objectId, Holder<String> changeToken,
Properties properties, ExtensionsData extension) {
checkRepositoryId(repositoryId);
@@ -906,6 +975,21 @@ public class CmisServiceWrapper<T extend
}
}
+ public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String repositoryId,
+ List<BulkUpdateObjectIdAndChangeToken> objectIdAndChangeToken, Properties properties,
+ List<String> addSecondaryTypeIds, List<String> removeSecondaryTypeIds, ExtensionsData extension) {
+ checkRepositoryId(repositoryId);
+ checkList("Object Id list", objectIdAndChangeToken);
+ checkProperties(properties);
+
+ try {
+ return service.bulkUpdateProperties(repositoryId, objectIdAndChangeToken, properties, addSecondaryTypeIds,
+ removeSecondaryTypeIds, extension);
+ } catch (Exception e) {
+ throw createCmisException(e);
+ }
+ }
+
// --- versioning service ---
public void cancelCheckOut(String repositoryId, String objectId, ExtensionsData extension) {