You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by je...@apache.org on 2012/11/20 06:44:19 UTC
svn commit: r1411550 [1/3] - in
/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src:
main/java/org/apache/chemistry/opencmis/inmemory/server/ main/resources/
test/java/org/apache/chemistry/opencmis/inmemory/
Author: jens
Date: Tue Nov 20 05:44:17 2012
New Revision: 1411550
URL: http://svn.apache.org/viewvc?rev=1411550&view=rev
Log:
InMemory: CMIS 1.1 add support for type mutability
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/resources/types.xml
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.java?rev=1411550&r1=1411549&r2=1411550&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryRepositoryServiceImpl.java Tue Nov 20 05:44:17 2012
@@ -145,7 +145,7 @@ public class InMemoryRepositoryServiceIm
return result;
}
- public void createTypeDefinition(String repositoryId, Holder<TypeDefinition> type, ExtensionsData extension) {
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
if (null == repositoryId)
throw new CmisInvalidArgumentException("Repository id may not be null");
@@ -154,15 +154,15 @@ public class InMemoryRepositoryServiceIm
if (null == typeManager)
throw new CmisInvalidArgumentException("Unknown repository " + repositoryId);
- TypeDefinition td = type.getValue();
- TypeValidator.checkType(typeManager, td);
- TypeValidator.checkProperties(typeManager, td.getPropertyDefinitions().values());
+ TypeValidator.checkType(typeManager, type);
+ TypeValidator.checkProperties(typeManager, type.getPropertyDefinitions().values());
- typeManager.addTypeDefinition(type.getValue());
+ typeManager.addTypeDefinition(type);
+ return type;
}
- public void updateTypeDefinition(String repositoryId, Holder<TypeDefinition> type, ExtensionsData extension) {
- String typeId = type.getValue().getId();
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ String typeId = type.getId();
TypeManagerCreatable typeManager = fStoreManager.getTypeManager(repositoryId);
if (null == typeManager)
throw new CmisInvalidArgumentException("Unknown repository " + repositoryId);
@@ -171,10 +171,11 @@ public class InMemoryRepositoryServiceIm
if (null == typeDefC)
throw new CmisInvalidArgumentException("Cannot update type unknown type id: " + typeId);
- typeManager.updateTypeDefinition(type.getValue());
+ typeManager.updateTypeDefinition(type);
+ return type;
}
- public void deleteTypeDefinition(String repositoryId, String typeId, ExtensionsData extension) {
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
TypeManagerCreatable typeManager = fStoreManager.getTypeManager(repositoryId);
if (null == typeManager)
@@ -185,10 +186,6 @@ public class InMemoryRepositoryServiceIm
throw new CmisInvalidArgumentException("Cannot delete type unknown type id: " + typeId);
TypeDefinition typeDef = typeDefC.getTypeDefinition();
- // TODO: re-enable when CMIS 1.1 is supported.
-// if (!typeDef.getTypeMutability().supportsDelete()) {
-// throw new CmisInvalidArgumentException("type definition " + typeId + " cannot be deleted, deletion is not supported for type id " + typeId);
-// }
ObjectStore objectStore = fStoreManager.getObjectStore(repositoryId);
if (objectStore.isTypeInUse(typeId)) {
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.java?rev=1411550&r1=1411549&r2=1411550&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryService.java Tue Nov 20 05:44:17 2012
@@ -112,6 +112,22 @@ public class InMemoryService extends Abs
return fRepSvc.getTypeDefinition(getCallContext(), repositoryId, typeId, extension);
}
+
+ @Override
+ public TypeDefinition createType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ return fRepSvc.createType(repositoryId, type, extension);
+ }
+
+ @Override
+ public TypeDefinition updateType(String repositoryId, TypeDefinition type, ExtensionsData extension) {
+ return fRepSvc.updateType(repositoryId, type, extension);
+ }
+
+ @Override
+ public void deleteType(String repositoryId, String typeId, ExtensionsData extension) {
+ fRepSvc.deleteType(repositoryId, typeId, extension);
+ }
+
@Override
public List<TypeDefinitionContainer> getTypeDescendants(String repositoryId, String typeId, BigInteger depth,
Boolean includePropertyDefinitions, ExtensionsData extension) {