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 2013/03/18 14:50:09 UTC
svn commit: r1457768 - in
/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory:
TypeValidator.java server/InMemoryNavigationServiceImpl.java
Author: jens
Date: Mon Mar 18 13:50:09 2013
New Revision: 1457768
URL: http://svn.apache.org/r1457768
Log:
InMemory: Bugfix for TypeMutability with empty properties, filter items for CMIS 1.0 binding instead of 1.1
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeValidator.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeValidator.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/TypeValidator.java?rev=1457768&r1=1457767&r2=1457768&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeValidator.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/TypeValidator.java Mon Mar 18 13:50:09 2013
@@ -94,6 +94,7 @@ public class TypeValidator {
checkTypeId(tm, td.getId());
checkTypeQueryName(tm, td.getQueryName());
checkTypeLocalName(tm, td.getLocalName());
+ checkBaseAndParentType(tm, td);
if (null != td.getPropertyDefinitions())
TypeValidator.checkProperties(tm, td.getPropertyDefinitions().values());
@@ -155,7 +156,9 @@ public class TypeValidator {
td.setTypeMutability(tm);
td.setExtensions(td.getExtensions());
- if (null != td.getPropertyDefinitions()) {
+ if (null == td.getPropertyDefinitions()) {
+ td.setPropertyDefinitions(new HashMap<String, PropertyDefinition<?>>());
+ } else {
Map<String, PropertyDefinition<?>> propDefsNew = new HashMap<String, PropertyDefinition<?>>();
Map<String, PropertyDefinition<?>> propDefs = td.getPropertyDefinitions();
for (PropertyDefinition<?> pd : propDefs.values()) {
@@ -479,4 +482,12 @@ public class TypeValidator {
}
}
+ private static void checkBaseAndParentType(TypeManager tm, TypeDefinition td) {
+ if (null == td.getBaseTypeId())
+ throw new CmisInvalidArgumentException("You canno create a type without a base type id: " + td.getId());
+ if (null == td.getParentTypeId())
+ throw new CmisInvalidArgumentException("You canno create a type without a parent type id: " + td.getId());
+
+ }
+
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.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/InMemoryNavigationServiceImpl.java?rev=1457768&r1=1457767&r2=1457768&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/main/java/org/apache/chemistry/opencmis/inmemory/server/InMemoryNavigationServiceImpl.java Mon Mar 18 13:50:09 2013
@@ -284,7 +284,7 @@ public class InMemoryNavigationServiceIm
StoredObject so = fs.getObjectById(folderId);
Folder folder = null;
boolean cmis11 = InMemoryServiceContext.getCallContext().getCmisVersion() != CmisVersion.CMIS_1_0;
-;
+
if (so == null) {
throw new CmisObjectNotFoundException("Unknown object id: " + folderId);
}
@@ -300,7 +300,7 @@ public class InMemoryNavigationServiceIm
.getChildren(maxItems, skipCount, user);
for (StoredObject spo : children.getChildren()) {
- if (cmis11 && spo instanceof Item)
+ if (!cmis11 && spo instanceof Item)
continue; // ignore items for CMIS 1.1â
ObjectInFolderDataImpl oifd = new ObjectInFolderDataImpl();