Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/UnitTestTypeSystemCreator.java URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/UnitTestTypeSystemCreator.java?rev=1511617&r1=1511616&r2=1511617&view=diff ============================================================================== --- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/UnitTestTypeSystemCreator.java (original) +++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/UnitTestTypeSystemCreator.java Thu Aug 8 08:40:26 2013 @@ -25,15 +25,20 @@ package org.apache.chemistry.opencmis.in */ import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.LinkedList; import java.util.List; -import java.util.Map; import org.apache.chemistry.opencmis.commons.definitions.Choice; +import org.apache.chemistry.opencmis.commons.definitions.MutableDocumentTypeDefinition; +import org.apache.chemistry.opencmis.commons.definitions.MutableFolderTypeDefinition; +import org.apache.chemistry.opencmis.commons.definitions.MutableSecondaryTypeDefinition; +import org.apache.chemistry.opencmis.commons.definitions.MutableTypeDefinition; import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition; import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; +import org.apache.chemistry.opencmis.commons.enums.CmisVersion; +import org.apache.chemistry.opencmis.commons.enums.ContentStreamAllowed; import org.apache.chemistry.opencmis.commons.enums.Updatability; +import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException; import org.apache.chemistry.opencmis.commons.impl.dataobjects.ChoiceImpl; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeDefinitionImpl; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDecimalDefinitionImpl; @@ -42,10 +47,9 @@ import org.apache.chemistry.opencmis.com import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerDefinitionImpl; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringDefinitionImpl; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyUriDefinitionImpl; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryFolderTypeDefinition; -import org.apache.chemistry.opencmis.inmemory.types.InMemorySecondaryTypeDefinition; +import org.apache.chemistry.opencmis.inmemory.types.DocumentTypeCreationHelper; import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper; +import org.apache.chemistry.opencmis.server.support.TypeDefinitionFactory; public class UnitTestTypeSystemCreator implements TypeCreator { public static final List<TypeDefinition> singletonTypes = buildTypesList(); @@ -104,246 +108,288 @@ public class UnitTestTypeSystemCreator i * @return typesMap map filled with created types */ private static List<TypeDefinition> buildTypesList() { - // always add CMIS default types + TypeDefinitionFactory typeFactory = DocumentTypeCreationHelper.getTypeDefinitionFactory(); List<TypeDefinition> typesList = new LinkedList<TypeDefinition>(); - InMemoryDocumentTypeDefinition cmisType1 = new InMemoryDocumentTypeDefinition("MyDocType1", - "My Type 1 Level 1", InMemoryDocumentTypeDefinition.getRootDocumentType()); - typesList.add(cmisType1); - - InMemoryDocumentTypeDefinition cmisType2 = new InMemoryDocumentTypeDefinition("MyDocType2", - "My Type 2 Level 1", InMemoryDocumentTypeDefinition.getRootDocumentType()); - typesList.add(cmisType2); - - InMemoryDocumentTypeDefinition cmisType11 = new InMemoryDocumentTypeDefinition("MyDocType1.1", - "My Type 3 Level 2", cmisType1); - typesList.add(cmisType11); - - InMemoryDocumentTypeDefinition cmisType111 = new InMemoryDocumentTypeDefinition("MyDocType1.1.1", - "My Type 4 Level 3", cmisType11); - typesList.add(cmisType111); - - InMemoryDocumentTypeDefinition cmisType112 = new InMemoryDocumentTypeDefinition("MyDocType1.1.2", - "My Type 5 Level 3", cmisType11); - typesList.add(cmisType112); - - InMemoryDocumentTypeDefinition cmisType12 = new InMemoryDocumentTypeDefinition("MyDocType1.2", - "My Type 6 Level 2", cmisType1); - typesList.add(cmisType12); - - InMemoryDocumentTypeDefinition cmisType21 = new InMemoryDocumentTypeDefinition("MyDocType2.1", - "My Type 7 Level 2", cmisType2); - typesList.add(cmisType21); - - InMemoryDocumentTypeDefinition cmisType22 = new InMemoryDocumentTypeDefinition("MyDocType2.2", - "My Type 8 Level 2", cmisType2); - typesList.add(cmisType22); - InMemoryDocumentTypeDefinition cmisType23 = new InMemoryDocumentTypeDefinition("MyDocType2.3", - "My Type 9 Level 2", cmisType2); - typesList.add(cmisType23); - InMemoryDocumentTypeDefinition cmisType24 = new InMemoryDocumentTypeDefinition("MyDocType2.4", - "My Type 10 Level 2", cmisType2); - typesList.add(cmisType24); - InMemoryDocumentTypeDefinition cmisType25 = new InMemoryDocumentTypeDefinition("MyDocType2.5", - "My Type 11 Level 2", cmisType2); - typesList.add(cmisType25); - - InMemoryDocumentTypeDefinition cmisType26 = new InMemoryDocumentTypeDefinition("MyDocType2.6", - "My Type 12 Level 2", cmisType2); - typesList.add(cmisType26); - InMemoryDocumentTypeDefinition cmisType27 = new InMemoryDocumentTypeDefinition("MyDocType2.7", - "My Type 13 Level 2", cmisType2); - typesList.add(cmisType27); - InMemoryDocumentTypeDefinition cmisType28 = new InMemoryDocumentTypeDefinition("MyDocType2.8", - "My Type 14 Level 2", cmisType2); - typesList.add(cmisType28); - InMemoryDocumentTypeDefinition cmisType29 = new InMemoryDocumentTypeDefinition("MyDocType2.9", - "My Type 15 Level 2", cmisType2); - typesList.add(cmisType29); - - // create a complex type with properties - InMemoryDocumentTypeDefinition cmisComplexType = new InMemoryDocumentTypeDefinition(COMPLEX_TYPE, - "Complex type with properties, Level 1", InMemoryDocumentTypeDefinition.getRootDocumentType()); - - // create a boolean property definition - - Map<String, PropertyDefinition<?>> propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - - PropertyDefinition<Boolean> prop = PropertyCreationHelper.createBooleanDefinition(PROP_ID_BOOLEAN, - "Sample Boolean Property", Updatability.READONLY); - propertyDefinitions.put(prop.getId(), prop); - - prop = PropertyCreationHelper.createBooleanMultiDefinition(PROP_ID_BOOLEAN_MULTI_VALUE, - "Sample Boolean multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop.getId(), prop); - - PropertyDateTimeDefinitionImpl prop2 = PropertyCreationHelper.createDateTimeDefinition(PROP_ID_DATETIME, - "Sample DateTime Property", Updatability.READONLY); - propertyDefinitions.put(prop2.getId(), prop2); - - prop2 = PropertyCreationHelper.createDateTimeMultiDefinition(PROP_ID_DATETIME_MULTI_VALUE, - "Sample DateTime multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop2.getId(), prop2); - - PropertyDecimalDefinitionImpl prop3 = PropertyCreationHelper.createDecimalDefinition(PROP_ID_DECIMAL, - "Sample Decimal Property", Updatability.READONLY); - propertyDefinitions.put(prop3.getId(), prop3); - - prop3 = PropertyCreationHelper.createDecimalMultiDefinition(PROP_ID_DECIMAL_MULTI_VALUE, "Sample Decimal multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop3.getId(), prop3); - - PropertyHtmlDefinitionImpl prop4 = PropertyCreationHelper.createHtmlDefinition(PROP_ID_HTML, - "Sample Html Property", Updatability.READONLY); - propertyDefinitions.put(prop4.getId(), prop4); - - prop4 = PropertyCreationHelper.createHtmlDefinition(PROP_ID_HTML_MULTI_VALUE, "Sample Html multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop4.getId(), prop4); - - PropertyIdDefinitionImpl prop5 = PropertyCreationHelper.createIdDefinition(PROP_ID_ID, "Sample Id Property", Updatability.READONLY); - propertyDefinitions.put(prop5.getId(), prop5); - - prop5 = PropertyCreationHelper.createIdMultiDefinition(PROP_ID_ID_MULTI_VALUE, "Sample Id Html multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop5.getId(), prop5); - - PropertyIntegerDefinitionImpl prop6 = PropertyCreationHelper.createIntegerDefinition(PROP_ID_INT, - "Sample Int Property", Updatability.READONLY); - propertyDefinitions.put(prop6.getId(), prop6); - - prop6 = PropertyCreationHelper.createIntegerMultiDefinition(PROP_ID_INT_MULTI_VALUE, "Sample Int multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop6.getId(), prop6); - - PropertyStringDefinitionImpl prop7 = PropertyCreationHelper.createStringDefinition(PROP_ID_STRING, - "Sample String Property", Updatability.READONLY); - propertyDefinitions.put(prop7.getId(), prop7); - - prop7 = PropertyCreationHelper.createStringMultiDefinition(PROP_ID_STRING_MULTI_VALUE, - "Sample String multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop7.getId(), prop7); - - PropertyUriDefinitionImpl prop8 = PropertyCreationHelper.createUriDefinition(PROP_ID_URI, "Sample Uri Property", Updatability.READONLY); - propertyDefinitions.put(prop8.getId(), prop8); - - prop8 = PropertyCreationHelper.createUriMultiDefinition(PROP_ID_URI_MULTI_VALUE, "Sample Uri multi-value Property", Updatability.READONLY); - propertyDefinitions.put(prop8.getId(), prop8); - - PropertyStringDefinitionImpl prop9 = PropertyCreationHelper.createStringDefinition("PickListProp", - "Sample Pick List Property", Updatability.READONLY); - List<Choice<String>> choiceList = new ArrayList<Choice<String>>(); - ChoiceImpl<String> elem = new ChoiceImpl<String>(); - elem.setValue(Collections.singletonList("red")); - choiceList.add(elem); - elem = new ChoiceImpl<String>(); - elem.setValue(Collections.singletonList("green")); - choiceList.add(elem); - elem = new ChoiceImpl<String>(); - elem.setValue(Collections.singletonList("blue")); - choiceList.add(elem); - elem = new ChoiceImpl<String>(); - elem.setValue(Collections.singletonList("black")); - choiceList.add(elem); - prop9.setChoices(choiceList); - prop9.setDefaultValue(Collections.singletonList("blue")); - propertyDefinitions.put(prop9.getId(), prop9); - - /* - * try short form: / PropertyCreationHelper.addElemToPicklist(prop9, - * "red"); PropertyCreationHelper.addElemToPicklist(prop9, "green"); - * PropertyCreationHelper.addElemToPicklist(prop9, "blue"); - * PropertyCreationHelper.addElemToPicklist(prop9, "black"); - * PropertyCreationHelper.setDefaultValue(prop9, "blue"); / - */ - - cmisComplexType.addCustomPropertyDefinitions(propertyDefinitions); - - // add type to types collection - typesList.add(cmisComplexType); - - // create a type hierarchy with inherited properties - InMemoryDocumentTypeDefinition cmisDocTypeTopLevel = new InMemoryDocumentTypeDefinition(TOPLEVEL_TYPE, - "Document type with properties, Level 1", InMemoryDocumentTypeDefinition.getRootDocumentType()); - - InMemoryDocumentTypeDefinition cmisDocTypeLevel1 = new InMemoryDocumentTypeDefinition(LEVEL1_TYPE, - "Document type with inherited properties, Level 2", cmisDocTypeTopLevel); - - InMemoryDocumentTypeDefinition cmisDocTypeLevel2 = new InMemoryDocumentTypeDefinition(LEVEL2_TYPE, - "Document type with inherited properties, Level 3", cmisDocTypeLevel1); - - propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - PropertyStringDefinitionImpl propTop = PropertyCreationHelper.createStringDefinition("StringPropTopLevel", - "Sample String Property", Updatability.READONLY); - propertyDefinitions.put(propTop.getId(), propTop); - cmisDocTypeTopLevel.addCustomPropertyDefinitions(propertyDefinitions); - - propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - PropertyStringDefinitionImpl propLevel1 = PropertyCreationHelper.createStringDefinition("StringPropLevel1", - "String Property Level 1", Updatability.READONLY); - propertyDefinitions.put(propLevel1.getId(), propLevel1); - cmisDocTypeLevel1.addCustomPropertyDefinitions(propertyDefinitions); - - propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - PropertyStringDefinitionImpl propLevel2 = PropertyCreationHelper.createStringDefinition("StringPropLevel2", - "String Property Level 2", Updatability.READONLY); - propertyDefinitions.put(propLevel2.getId(), propLevel2); - cmisDocTypeLevel2.addCustomPropertyDefinitions(propertyDefinitions); - - // create a versioned type with properties - InMemoryDocumentTypeDefinition cmisVersionedType = new InMemoryDocumentTypeDefinition(VERSIONED_TYPE, - "VersionedType", InMemoryDocumentTypeDefinition.getRootDocumentType()); - - // create a single String property definition - - propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - - PropertyStringDefinitionImpl prop1 = PropertyCreationHelper.createStringDefinition(VERSION_PROPERTY_ID, - "Sample String Property", Updatability.READONLY); - propertyDefinitions.put(prop1.getId(), prop1); - - cmisVersionedType.addCustomPropertyDefinitions(propertyDefinitions); - cmisVersionedType.setIsVersionable(true); // make it a versionable type; - - // create a folder type - // create a complex type with properties - InMemoryFolderTypeDefinition cmisFolderType = new InMemoryFolderTypeDefinition(FOLDER_TYPE, - "Folder type with properties", InMemoryFolderTypeDefinition.getRootFolderType()); - - // create a two property definitions for folder - - propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - - prop6 = PropertyCreationHelper.createIntegerDefinition(PROP_ID_INT, "Sample Folder Int Property", Updatability.READONLY); - propertyDefinitions.put(prop6.getId(), prop6); - - prop7 = PropertyCreationHelper.createStringDefinition(PROP_ID_STRING, - "Sample Folder String Property", Updatability.READONLY); - propertyDefinitions.put(prop7.getId(), prop7); - cmisFolderType.addCustomPropertyDefinitions(propertyDefinitions); - - // CMIS 1.1 create a secondary type - InMemorySecondaryTypeDefinition cmisSecondaryType = new InMemorySecondaryTypeDefinition(SECONDARY_TYPE, - "MySecondaryType"); - // create a single String property definition - propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - PropertyStringDefinitionImpl propStr = PropertyCreationHelper.createStringDefinition(SECONDARY_STRING_PROP, - "Secondary String Property", Updatability.READWRITE); - propertyDefinitions.put(propStr.getId(), propStr); - PropertyIntegerDefinitionImpl propInt = PropertyCreationHelper.createIntegerDefinition(SECONDARY_INTEGER_PROP, - "Secondary Integer Property", Updatability.READWRITE); - propInt.setIsRequired(true); - propertyDefinitions.put(propInt.getId(), propInt); - cmisSecondaryType.addCustomPropertyDefinitions(propertyDefinitions); - - InMemorySecondaryTypeDefinition cmisSecondaryType2 = new InMemorySecondaryTypeDefinition(SECONDARY_TYPE_2, - "MySecondaryType-2"); - - // add type to types collectio - typesList.add(cmisDocTypeTopLevel); - typesList.add(cmisDocTypeLevel1); - typesList.add(cmisDocTypeLevel2); - typesList.add(cmisVersionedType); - typesList.add(cmisFolderType); - typesList.add(cmisSecondaryType); - typesList.add(cmisSecondaryType2); - return typesList; + try { + MutableTypeDefinition cmisType1; + cmisType1 = typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), LEVEL1_TYPE); + cmisType1.setDisplayName("Document type with inherited properties, Level 2"); + cmisType1.setDescription("Builtin InMemory type definition " + LEVEL1_TYPE); + + cmisType1 = typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), "MyDocType1"); + cmisType1.setDisplayName("My Type 1 Level 1"); + cmisType1.setDescription("Builtin InMemory type definition MyDocType1"); + typesList.add(cmisType1); + + MutableTypeDefinition cmisType2; + cmisType2 = typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), "MyDocType2"); + cmisType2.setDisplayName("My Type 2 Level 1"); + cmisType2.setDescription("Builtin InMemory type definition MyDocType2"); + typesList.add(cmisType2); + + MutableTypeDefinition cmisType11; + cmisType11 = typeFactory.createChildTypeDefinition(cmisType1, "MyDocType1.1"); + cmisType11.setDisplayName("My Type 3 Level 2"); + cmisType11.setDescription("Builtin InMemory type definition MyDocType1.1"); + typesList.add(cmisType11); + + MutableTypeDefinition cmisType111; + cmisType111 = typeFactory.createChildTypeDefinition(cmisType11, "MyDocType1.1.1"); + cmisType111.setDisplayName("My Type 4 Level 3"); + cmisType111.setDescription("Builtin InMemory type definition MyDocType1.1.1"); + typesList.add(cmisType111); + + MutableTypeDefinition cmisType112; + cmisType112 = typeFactory.createChildTypeDefinition(cmisType11, "MyDocType1.1.2"); + cmisType112.setDisplayName("My Type 5 Level 3"); + cmisType112.setDescription("Builtin InMemory type definition MyDocType1.1.2"); + typesList.add(cmisType112); + + MutableTypeDefinition cmisType12; + cmisType12 = typeFactory.createChildTypeDefinition(cmisType1, "MyDocType1.2"); + cmisType12.setDisplayName("My Type 6 Level 2"); + cmisType12.setDescription("Builtin InMemory type definition MyDocType1.2"); + typesList.add(cmisType12); + + MutableTypeDefinition cmisType21; + cmisType21 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.1"); + cmisType21.setDisplayName("My Type 7 Level 2"); + cmisType21.setDescription("Builtin InMemory type definition MyDocType2.1"); + typesList.add(cmisType21); + + MutableTypeDefinition cmisType22; + cmisType22 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.2"); + cmisType22.setDisplayName("My Type 8 Level 2"); + cmisType22.setDescription("Builtin InMemory type definition MyDocType2.2"); + typesList.add(cmisType22); + + MutableTypeDefinition cmisType23; + cmisType23 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.3"); + cmisType23.setDisplayName("My Type 9 Level 2"); + cmisType23.setDescription("Builtin InMemory type definition MyDocType2.3"); + typesList.add(cmisType23); + + MutableTypeDefinition cmisType24; + cmisType24 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.4"); + cmisType24.setDisplayName("My Type 10 Level 2"); + cmisType24.setDescription("Builtin InMemory type definition MyDocType2.4"); + typesList.add(cmisType24); + + MutableTypeDefinition cmisType25; + cmisType25 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.5"); + cmisType25.setDisplayName("My Type 11 Level 2"); + cmisType25.setDescription("Builtin InMemory type definition MyDocType2.5"); + typesList.add(cmisType25); + + MutableTypeDefinition cmisType26; + cmisType26 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.6"); + cmisType26.setDisplayName("My Type 12 Level 2"); + cmisType26.setDescription("Builtin InMemory type definition MyDocType2.6"); + typesList.add(cmisType26); + + MutableTypeDefinition cmisType27; + cmisType27 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.7"); + cmisType27.setDisplayName("My Type 13 Level 2"); + cmisType27.setDescription("Builtin InMemory type definition MyDocType2.7"); + typesList.add(cmisType27); + + MutableTypeDefinition cmisType28; + cmisType28 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.8"); + cmisType28.setDisplayName("My Type 14 Level 2"); + cmisType28.setDescription("Builtin InMemory type definition MyDocType2.8"); + typesList.add(cmisType28); + + MutableTypeDefinition cmisType29; + cmisType29 = typeFactory.createChildTypeDefinition(cmisType2, "MyDocType2.9"); + cmisType29.setDisplayName("My Type 15 Level 2"); + cmisType29.setDescription("Builtin InMemory type definition MyDocType2.9"); + typesList.add(cmisType29); + + // create a complex type with properties + MutableDocumentTypeDefinition cmisComplexType; + cmisComplexType = typeFactory.createDocumentTypeDefinition(CmisVersion.CMIS_1_1, DocumentTypeCreationHelper.getCmisDocumentType().getId()); + cmisComplexType.setId(COMPLEX_TYPE); + cmisComplexType.setDisplayName("Complex type with properties, Level 1"); + cmisComplexType.setDescription("Builtin InMemory type definition ComplexType"); + + // create a boolean property definition + + PropertyDefinition<Boolean> prop = PropertyCreationHelper.createBooleanDefinition(PROP_ID_BOOLEAN, + "Sample Boolean Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop); + + prop = PropertyCreationHelper.createBooleanMultiDefinition(PROP_ID_BOOLEAN_MULTI_VALUE, + "Sample Boolean multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop); + + PropertyDateTimeDefinitionImpl prop2 = PropertyCreationHelper.createDateTimeDefinition(PROP_ID_DATETIME, + "Sample DateTime Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop2); + + prop2 = PropertyCreationHelper.createDateTimeMultiDefinition(PROP_ID_DATETIME_MULTI_VALUE, + "Sample DateTime multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop2); + + PropertyDecimalDefinitionImpl prop3 = PropertyCreationHelper.createDecimalDefinition(PROP_ID_DECIMAL, + "Sample Decimal Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop3); + + prop3 = PropertyCreationHelper.createDecimalMultiDefinition(PROP_ID_DECIMAL_MULTI_VALUE, "Sample Decimal multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop3); + + PropertyHtmlDefinitionImpl prop4 = PropertyCreationHelper.createHtmlDefinition(PROP_ID_HTML, + "Sample Html Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop4); + + prop4 = PropertyCreationHelper.createHtmlMultiDefinition(PROP_ID_HTML_MULTI_VALUE, "Sample Html multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop4); + + PropertyIdDefinitionImpl prop5 = PropertyCreationHelper.createIdDefinition(PROP_ID_ID, "Sample Id Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop5); + + prop5 = PropertyCreationHelper.createIdMultiDefinition(PROP_ID_ID_MULTI_VALUE, "Sample Id Html multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop5); + + PropertyIntegerDefinitionImpl prop6 = PropertyCreationHelper.createIntegerDefinition(PROP_ID_INT, + "Sample Int Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop6); + + prop6 = PropertyCreationHelper.createIntegerMultiDefinition(PROP_ID_INT_MULTI_VALUE, "Sample Int multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop6); + + PropertyStringDefinitionImpl prop7 = PropertyCreationHelper.createStringDefinition(PROP_ID_STRING, + "Sample String Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop7); + + prop7 = PropertyCreationHelper.createStringMultiDefinition(PROP_ID_STRING_MULTI_VALUE, + "Sample String multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop7); + + PropertyUriDefinitionImpl prop8 = PropertyCreationHelper.createUriDefinition(PROP_ID_URI, "Sample Uri Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop8); + + prop8 = PropertyCreationHelper.createUriMultiDefinition(PROP_ID_URI_MULTI_VALUE, "Sample Uri multi-value Property", Updatability.READONLY); + cmisComplexType.addPropertyDefinition(prop8); + + PropertyStringDefinitionImpl prop9 = PropertyCreationHelper.createStringDefinition("PickListProp", + "Sample Pick List Property", Updatability.READONLY); + List<Choice<String>> choiceList = new ArrayList<Choice<String>>(); + ChoiceImpl<String> elem = new ChoiceImpl<String>(); + elem.setValue(Collections.singletonList("red")); + choiceList.add(elem); + elem = new ChoiceImpl<String>(); + elem.setValue(Collections.singletonList("green")); + choiceList.add(elem); + elem = new ChoiceImpl<String>(); + elem.setValue(Collections.singletonList("blue")); + choiceList.add(elem); + elem = new ChoiceImpl<String>(); + elem.setValue(Collections.singletonList("black")); + choiceList.add(elem); + prop9.setChoices(choiceList); + prop9.setDefaultValue(Collections.singletonList("blue")); + cmisComplexType.addPropertyDefinition(prop9); + + // add type to types collection + typesList.add(cmisComplexType); + + // create a type hierarchy with inherited properties + MutableDocumentTypeDefinition cmisDocTypeTopLevel; + cmisDocTypeTopLevel = typeFactory.createDocumentTypeDefinition(CmisVersion.CMIS_1_1, DocumentTypeCreationHelper.getCmisDocumentType().getId()); + cmisDocTypeTopLevel.setId(TOPLEVEL_TYPE); + cmisDocTypeTopLevel.setDisplayName("Document type with properties, Level 1"); + cmisDocTypeTopLevel.setDescription("Builtin InMemory type definition " + TOPLEVEL_TYPE); + + MutableTypeDefinition cmisDocTypeLevel1; + cmisDocTypeLevel1 = typeFactory.createChildTypeDefinition(cmisDocTypeTopLevel, LEVEL1_TYPE); + cmisDocTypeLevel1.setDisplayName("Document type with inherited properties, Level 2"); + cmisDocTypeLevel1 .setDescription("Builtin InMemory type definition " + LEVEL1_TYPE); + + MutableTypeDefinition cmisDocTypeLevel2; + cmisDocTypeLevel2 = typeFactory.createChildTypeDefinition(cmisDocTypeLevel1, LEVEL2_TYPE); + cmisDocTypeLevel2.setDisplayName("Document type with inherited properties, Level 3"); + cmisDocTypeLevel2.setDescription("Builtin InMemory type definition " + LEVEL2_TYPE); + + PropertyStringDefinitionImpl propTop = PropertyCreationHelper.createStringDefinition("StringPropTopLevel", + "Sample String Property", Updatability.READWRITE); + cmisDocTypeTopLevel.addPropertyDefinition(propTop); + + PropertyStringDefinitionImpl propLevel1 = PropertyCreationHelper.createStringDefinition("StringPropLevel1", + "String Property Level 1", Updatability.READWRITE); + cmisDocTypeLevel1.addPropertyDefinition(propLevel1); + + PropertyStringDefinitionImpl propLevel2 = PropertyCreationHelper.createStringDefinition("StringPropLevel2", + "String Property Level 2", Updatability.READWRITE); + cmisDocTypeLevel2.addPropertyDefinition(propLevel2); + + // create a versioned type with properties + MutableDocumentTypeDefinition cmisVersionedType; + cmisVersionedType = (MutableDocumentTypeDefinition) typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), VERSIONED_TYPE); + cmisVersionedType.setDisplayName("Versioned Type"); + cmisVersionedType.setDescription("Builtin InMemory type definition " + VERSIONED_TYPE); + cmisVersionedType.setIsVersionable(true); // make it a versionable type; + + // create a single String property definition + PropertyStringDefinitionImpl prop1 = PropertyCreationHelper.createStringDefinition(VERSION_PROPERTY_ID, + "Sample String Property", Updatability.WHENCHECKEDOUT); + cmisVersionedType.addPropertyDefinition(prop1); + + // add type to types collection + + // create a folder type + // create a complex type with properties + MutableFolderTypeDefinition cmisFolderType; + cmisFolderType = typeFactory.createFolderTypeDefinition(CmisVersion.CMIS_1_1, DocumentTypeCreationHelper.getCmisFolderType().getId()); + cmisFolderType.setId(FOLDER_TYPE); + cmisFolderType.setDisplayName("Folder type with properties"); + cmisFolderType.setDescription("InMemory test type definition " + FOLDER_TYPE); + + // create a two property definitions for folder + prop6 = PropertyCreationHelper.createIntegerDefinition(PROP_ID_INT, "Sample Folder Int Property", Updatability.READONLY); + cmisFolderType.addPropertyDefinition(prop6); + + prop7 = PropertyCreationHelper.createStringDefinition(PROP_ID_STRING, + "Sample Folder String Property", Updatability.READONLY); + cmisFolderType.addPropertyDefinition(prop7); + + // CMIS 1.1 create a secondary type + MutableSecondaryTypeDefinition cmisSecondaryType; + cmisSecondaryType = typeFactory.createSecondaryTypeDefinition(CmisVersion.CMIS_1_1, DocumentTypeCreationHelper.getCmisSecondaryType().getId()); + cmisSecondaryType.setId(SECONDARY_TYPE); + cmisSecondaryType.setDisplayName("MySecondaryType"); + cmisSecondaryType.setDescription("Builtin InMemory type definition " + SECONDARY_TYPE); + DocumentTypeCreationHelper.setDefaultTypeCapabilities(cmisSecondaryType); + cmisSecondaryType.setIsFileable(false); + + // create a single String property definition + PropertyStringDefinitionImpl propS1 = PropertyCreationHelper.createStringDefinition(SECONDARY_STRING_PROP, + "Secondary String Property", Updatability.READWRITE); + cmisSecondaryType.addPropertyDefinition(propS1); + PropertyIntegerDefinitionImpl propS2 = PropertyCreationHelper.createIntegerDefinition(SECONDARY_INTEGER_PROP, + "Secondary Integer Property", Updatability.READWRITE); + propS2.setIsRequired(true); + cmisSecondaryType.addPropertyDefinition(propS2); + + MutableSecondaryTypeDefinition cmisSecondaryType2; + cmisSecondaryType2 = typeFactory.createSecondaryTypeDefinition(CmisVersion.CMIS_1_1, DocumentTypeCreationHelper.getCmisSecondaryType().getId()); + cmisSecondaryType2.setId(SECONDARY_TYPE_2); + cmisSecondaryType2.setDisplayName("MySecondaryType-2"); + cmisSecondaryType2.setDescription("Builtin InMemory type definition " + SECONDARY_TYPE_2); + DocumentTypeCreationHelper.setDefaultTypeCapabilities(cmisSecondaryType2); + + // add type to types collectio + typesList.add(cmisDocTypeTopLevel); + typesList.add(cmisDocTypeLevel1); + typesList.add(cmisDocTypeLevel2); + typesList.add(cmisVersionedType); + typesList.add(cmisFolderType); + typesList.add(cmisSecondaryType); + typesList.add(cmisSecondaryType2); + return typesList; + } catch (Exception e) { + throw new CmisRuntimeException("Error when creating built-in InMemory types.", e); + } } }
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersionTestTypeSystemCreator.java URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersionTestTypeSystemCreator.java?rev=1511617&r1=1511616&r2=1511617&view=diff ============================================================================== --- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersionTestTypeSystemCreator.java (original) +++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersionTestTypeSystemCreator.java Thu Aug 8 08:40:26 2013 @@ -18,17 +18,17 @@ */ package org.apache.chemistry.opencmis.inmemory; -import java.util.HashMap; import java.util.LinkedList; import java.util.List; -import java.util.Map; -import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition; +import org.apache.chemistry.opencmis.commons.definitions.MutableDocumentTypeDefinition; import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; import org.apache.chemistry.opencmis.commons.enums.Updatability; +import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringDefinitionImpl; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition; +import org.apache.chemistry.opencmis.inmemory.types.DocumentTypeCreationHelper; import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper; +import org.apache.chemistry.opencmis.server.support.TypeDefinitionFactory; public class VersionTestTypeSystemCreator implements TypeCreator { public static final String VERSION_TEST_DOCUMENT_TYPE_ID = "MyVersionedType"; @@ -63,28 +63,31 @@ public class VersionTestTypeSystemCreato * @return typesMap map filled with created types */ private static List<TypeDefinition> buildTypesList() { + TypeDefinitionFactory typeFactory = DocumentTypeCreationHelper.getTypeDefinitionFactory(); // always add CMIS default types List<TypeDefinition> typesList = new LinkedList<TypeDefinition>(); - // create a complex type with properties - InMemoryDocumentTypeDefinition cmisComplexType = new InMemoryDocumentTypeDefinition( - VERSION_TEST_DOCUMENT_TYPE_ID, "VersionedType", InMemoryDocumentTypeDefinition.getRootDocumentType()); - - // create a boolean property definition - - Map<String, PropertyDefinition<?>> propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); - - PropertyStringDefinitionImpl prop1 = PropertyCreationHelper.createStringDefinition(PROPERTY_ID, - "Sample String Property", Updatability.WHENCHECKEDOUT); - propertyDefinitions.put(prop1.getId(), prop1); - - cmisComplexType.addCustomPropertyDefinitions(propertyDefinitions); - cmisComplexType.setIsVersionable(true); // make it a versionable type; - - // add type to types collection - typesList.add(cmisComplexType); - - return typesList; + try { + // create a complex type with properties + MutableDocumentTypeDefinition cmisComplexType; + cmisComplexType = (MutableDocumentTypeDefinition) typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), VERSION_TEST_DOCUMENT_TYPE_ID); + cmisComplexType.setDisplayName("VersionedType"); + cmisComplexType.setDescription("InMemory test type definition " + VERSION_TEST_DOCUMENT_TYPE_ID); + cmisComplexType.setIsVersionable(true); // make it a versionable type; + + // create a boolean property definition + + PropertyStringDefinitionImpl prop1 = PropertyCreationHelper.createStringDefinition(PROPERTY_ID, + "Sample String Property", Updatability.WHENCHECKEDOUT); + cmisComplexType.addPropertyDefinition(prop1); + + // add type to types collection + typesList.add(cmisComplexType); + + return typesList; + } catch (Exception e) { + throw new CmisRuntimeException("Error when creating types.", e); + } } } Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersioningTest.java URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersioningTest.java?rev=1511617&r1=1511616&r2=1511617&view=diff ============================================================================== --- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersioningTest.java (original) +++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/VersioningTest.java Thu Aug 8 08:40:26 2013 @@ -27,7 +27,6 @@ import static org.junit.Assert.fail; import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -41,25 +40,19 @@ import org.apache.chemistry.opencmis.com import org.apache.chemistry.opencmis.commons.data.PropertyId; import org.apache.chemistry.opencmis.commons.data.PropertyString; import org.apache.chemistry.opencmis.commons.definitions.DocumentTypeDefinition; -import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition; -import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; import org.apache.chemistry.opencmis.commons.enums.BaseTypeId; import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships; -import org.apache.chemistry.opencmis.commons.enums.Updatability; import org.apache.chemistry.opencmis.commons.enums.VersioningState; import org.apache.chemistry.opencmis.commons.exceptions.CmisConstraintException; import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException; import org.apache.chemistry.opencmis.commons.exceptions.CmisUpdateConflictException; -import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringDefinitionImpl; import org.apache.chemistry.opencmis.commons.server.CallContext; import org.apache.chemistry.opencmis.commons.spi.Holder; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition; -import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.junit.After; import org.junit.Before; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class VersioningTest extends AbstractServiceTest { private static final Logger log = LoggerFactory.getLogger(ObjectServiceTest.class); @@ -515,10 +508,9 @@ public class VersioningTest extends Abst assertNotNull(pdb); boolean bVal = pdb.getFirstValue(); if (versioningState != VersioningState.CHECKEDOUT) - assertTrue(bVal); + assertTrue(bVal); else - assertFalse(bVal); - + assertFalse(bVal); pdb = (PropertyBoolean) props.get(PropertyIds.IS_MAJOR_VERSION); assertNotNull(pdb); bVal = pdb.getFirstValue(); Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java?rev=1511617&r1=1511616&r2=1511617&view=diff ============================================================================== --- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java (original) +++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/AbstractQueryTest.java Thu Aug 8 08:40:26 2013 @@ -21,21 +21,21 @@ package org.apache.chemistry.opencmis.in import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import org.antlr.runtime.RecognitionException; +import org.apache.chemistry.opencmis.commons.definitions.MutableTypeDefinition; import org.apache.chemistry.opencmis.commons.definitions.PropertyBooleanDefinition; -import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition; import org.apache.chemistry.opencmis.commons.definitions.PropertyStringDefinition; import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition; import org.apache.chemistry.opencmis.commons.enums.Updatability; +import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyBooleanDefinitionImpl; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyDateTimeDefinitionImpl; import org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerDefinitionImpl; -import org.apache.chemistry.opencmis.inmemory.types.InMemoryDocumentTypeDefinition; +import org.apache.chemistry.opencmis.inmemory.types.DocumentTypeCreationHelper; import org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper; +import org.apache.chemistry.opencmis.server.support.TypeDefinitionFactory; import org.apache.chemistry.opencmis.server.support.TypeManager; import org.apache.chemistry.opencmis.server.support.query.CmisQueryWalker; import org.apache.chemistry.opencmis.server.support.query.PredicateWalkerBase; @@ -88,68 +88,72 @@ public abstract class AbstractQueryTest // Helper to create some types for testing protected List<TypeDefinition> createTypes() { - + TypeDefinitionFactory typeFactory = DocumentTypeCreationHelper.getTypeDefinitionFactory(); List<TypeDefinition> typeDefs = new ArrayList<TypeDefinition>(); - // First test type - InMemoryDocumentTypeDefinition cmisType = new InMemoryDocumentTypeDefinition(MY_DOC_TYPE, - "Document Type for Validation", InMemoryDocumentTypeDefinition.getRootDocumentType()); - - Map<String, PropertyDefinition<?>> propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); + try { + // First test type + MutableTypeDefinition cmisType; + cmisType = typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), MY_DOC_TYPE); + cmisType.setId(MY_DOC_TYPE); + cmisType.setDisplayName("Document Type for Validation"); - PropertyBooleanDefinition prop1 = PropertyCreationHelper.createBooleanDefinition(BOOL_PROP, - "Sample Boolean Property", Updatability.READWRITE); - ((PropertyBooleanDefinitionImpl) prop1).setIsRequired(true); - propertyDefinitions.put(prop1.getId(), prop1); + PropertyBooleanDefinition prop1 = PropertyCreationHelper.createBooleanDefinition(BOOL_PROP, + "Sample Boolean Property", Updatability.READWRITE); + ((PropertyBooleanDefinitionImpl) prop1).setIsRequired(true); - PropertyStringDefinition prop2 = PropertyCreationHelper.createStringDefinition(STRING_PROP, - "Sample String Property", Updatability.READWRITE); - propertyDefinitions.put(prop2.getId(), prop2); + PropertyStringDefinition prop2 = PropertyCreationHelper.createStringDefinition(STRING_PROP, + "Sample String Property", Updatability.READWRITE); - PropertyIntegerDefinitionImpl prop3 = PropertyCreationHelper.createIntegerDefinition(INT_PROP, - "Sample Integer Property", Updatability.READWRITE); - propertyDefinitions.put(prop2.getId(), prop2); + PropertyIntegerDefinitionImpl prop3 = PropertyCreationHelper.createIntegerDefinition(INT_PROP, + "Sample Integer Property", Updatability.READWRITE); - cmisType.setPropertyDefinitions(propertyDefinitions); + cmisType.addPropertyDefinition(prop1); + cmisType.addPropertyDefinition(prop2); + cmisType.addPropertyDefinition(prop3); - typeDefs.add(cmisType); - myType = cmisType; + typeDefs.add(cmisType); + myType = cmisType; - // add another type definition with exactly the same properties - cmisType = new InMemoryDocumentTypeDefinition(MY_DOC_TYPE_COPY, - "Document Type Duplicated", InMemoryDocumentTypeDefinition.getRootDocumentType()); - cmisType.setPropertyDefinitions(propertyDefinitions); // add same properties - typeDefs.add(cmisType); - myTypeCopy = cmisType; + // add another type definition with exactly the same properties + cmisType = typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), MY_DOC_TYPE_COPY); + cmisType.setDisplayName("Document Type for Duplicated"); + // add same properties + cmisType.addPropertyDefinition(prop1); + cmisType.addPropertyDefinition(prop2); + cmisType.addPropertyDefinition(prop3); + typeDefs.add(cmisType); + myTypeCopy = cmisType; - // Second test type - cmisType = new InMemoryDocumentTypeDefinition(BOOK_TYPE, - "Book Document Type", InMemoryDocumentTypeDefinition.getRootDocumentType()); + // Second test type - propertyDefinitions = new HashMap<String, PropertyDefinition<?>>(); + cmisType = typeFactory.createChildTypeDefinition(DocumentTypeCreationHelper.getCmisDocumentType(), BOOK_TYPE); + cmisType.setDisplayName("Book Document Type"); - prop2 = PropertyCreationHelper.createStringDefinition(TITLE_PROP, "Title of Book", Updatability.READWRITE); - propertyDefinitions.put(prop2.getId(), prop2); - prop2 = PropertyCreationHelper.createStringDefinition(AUTHOR_PROP, "Author of Book", Updatability.READWRITE); - propertyDefinitions.put(prop2.getId(), prop2); + prop2 = PropertyCreationHelper.createStringDefinition(TITLE_PROP, "Title of Book", Updatability.READWRITE); + cmisType.addPropertyDefinition(prop2); - prop3 = PropertyCreationHelper.createIntegerDefinition(ISBN_PROP, - "ISBN of Book", Updatability.READWRITE); - propertyDefinitions.put(prop3.getId(), prop3); + prop2 = PropertyCreationHelper.createStringDefinition(AUTHOR_PROP, "Author of Book", Updatability.READWRITE); + cmisType.addPropertyDefinition(prop2); - PropertyDateTimeDefinitionImpl prop4 = PropertyCreationHelper.createDateTimeDefinition(PUB_DATE_PROP, - "Publishing Date of Book", Updatability.READWRITE); - propertyDefinitions.put(prop4.getId(), prop4); + prop3 = PropertyCreationHelper.createIntegerDefinition(ISBN_PROP, + "ISBN of Book", Updatability.READWRITE); + cmisType.addPropertyDefinition(prop3); - cmisType.setPropertyDefinitions(propertyDefinitions); + PropertyDateTimeDefinitionImpl prop4 = PropertyCreationHelper.createDateTimeDefinition(PUB_DATE_PROP, + "Publishing Date of Book", Updatability.READWRITE); + cmisType.addPropertyDefinition(prop4); - typeDefs.add(cmisType); - bookType = cmisType; + typeDefs.add(cmisType); + bookType = cmisType; - return typeDefs; + return typeDefs; + } catch (Exception e) { + throw new CmisRuntimeException("Error when creating built-in InMemory types.", e); + } } } Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/EvalQueryTest.java URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/EvalQueryTest.java?rev=1511617&r1=1511616&r2=1511617&view=diff ============================================================================== --- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/EvalQueryTest.java (original) +++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/EvalQueryTest.java Thu Aug 8 08:40:26 2013 @@ -903,13 +903,13 @@ public class EvalQueryTest extends Abstr assertEquals(2, res.getObjects().size()); assertTrue(resultContains("ver123", UnitTestTypeSystemCreator.VERSION_PROPERTY_ID, res)); assertTrue(resultContains("ver456", UnitTestTypeSystemCreator.VERSION_PROPERTY_ID, res)); - assertTrue(resultContains("V 1.0", PropertyIds.VERSION_LABEL, res)); - assertTrue(resultContains("V 2.0", PropertyIds.VERSION_LABEL, res)); + assertTrue(resultContains("1.0", PropertyIds.VERSION_LABEL, res)); + assertTrue(resultContains("2.0", PropertyIds.VERSION_LABEL, res)); res = doQuery(statement); assertEquals(1, res.getObjects().size()); - assertFalse(resultContains("V 1.0", PropertyIds.VERSION_LABEL, res)); - assertTrue(resultContains("V 2.0", PropertyIds.VERSION_LABEL, res)); + assertFalse(resultContains("1.0", PropertyIds.VERSION_LABEL, res)); + assertTrue(resultContains("2.0", PropertyIds.VERSION_LABEL, res)); log.debug("...Stop testLastestVersionsWithQuery."); } @@ -922,12 +922,12 @@ public class EvalQueryTest extends Abstr ObjectList res = doQuery(statement); assertEquals(1, res.getObjects().size()); assertTrue(resultContains("ver456", UnitTestTypeSystemCreator.VERSION_PROPERTY_ID, res)); - assertTrue(resultContains("V 2.0", PropertyIds.VERSION_LABEL, res)); + assertTrue(resultContains("2.0", PropertyIds.VERSION_LABEL, res)); res = doQuery(statement); assertEquals(1, res.getObjects().size()); - assertFalse(resultContains("V 1.0", PropertyIds.VERSION_LABEL, res)); - assertTrue(resultContains("V 2.0", PropertyIds.VERSION_LABEL, res)); + assertFalse(resultContains("1.0", PropertyIds.VERSION_LABEL, res)); + assertTrue(resultContains("2.0", PropertyIds.VERSION_LABEL, res)); log.debug("...Stop testLastestVersionsWithQuery."); } Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.java URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.java?rev=1511617&r1=1511616&r2=1511617&view=diff ============================================================================== --- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.java (original) +++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/ProcessQueryTest.java Thu Aug 8 08:40:26 2013 @@ -414,12 +414,12 @@ public class ProcessQueryTest extends Ab @Before public void setUp() { tm = new TypeManagerImpl(); - tm.initTypeSystem(null); // create CMIS default types + tm.initTypeSystem(null, true); // create CMIS default types // create some types for testing List<TypeDefinition> typeDefs = super.createTypes(); for (TypeDefinition typeDef : typeDefs) { - tm.addTypeDefinition(typeDef); + tm.addTypeDefinition(typeDef, true); } // initialize query object with type manager Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/QueryTypesTest.java URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/QueryTypesTest.java?rev=1511617&r1=1511616&r2=1511617&view=diff ============================================================================== --- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/QueryTypesTest.java (original) +++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-inmemory/src/test/java/org/apache/chemistry/opencmis/inmemory/query/QueryTypesTest.java Thu Aug 8 08:40:26 2013 @@ -63,12 +63,12 @@ public class QueryTypesTest extends Abst @Before public void setUp() { tm = new TypeManagerImpl(); - tm.initTypeSystem(null); // create CMIS default types + tm.initTypeSystem(null, true); // create CMIS default types // create some types for testing List<TypeDefinition> typeDefs = super.createTypes(); for (TypeDefinition typeDef : typeDefs) { - tm.addTypeDefinition(typeDef); + tm.addTypeDefinition(typeDef, true); } // initialize query object with type manager @@ -533,12 +533,12 @@ public class QueryTypesTest extends Abst public void testSecondaryJoin() throws RecognitionException { // needs some special types: tm = new TypeManagerImpl(); - tm.initTypeSystem(null); // create CMIS default types + tm.initTypeSystem(null, true); // create CMIS default types // create some types for testing List<TypeDefinition> typeDefs = UnitTestTypeSystemCreator.getTypesList(); for (TypeDefinition typeDef : typeDefs) { - tm.addTypeDefinition(typeDef); + tm.addTypeDefinition(typeDef, true); } super.setUp(tm, pw);
