addFolderPropertyDefinitions(folderType);
addTypeInternal(folderType);
// document type
DocumentTypeDefinitionImpl documentType = new DocumentTypeDefinitionImpl();
documentType.setBaseTypeId(BaseTypeId.CMIS_DOCUMENT);
documentType.setIsControllableAcl(false);
documentType.setIsControllablePolicy(false);
documentType.setIsCreatable(true);
documentType.setDescription("Document");
documentType.setDisplayName("Document");
documentType.setIsFileable(true);
documentType.setIsFulltextIndexed(false);
documentType.setIsIncludedInSupertypeQuery(true);
documentType.setLocalName("Document");
documentType.setLocalNamespace(NAMESPACE);
documentType.setIsQueryable(true);
documentType.setQueryName(DOCUMENT_TYPE_ID);
documentType.setId(DOCUMENT_TYPE_ID);
documentType.setIsVersionable(true);
documentType.setContentStreamAllowed(ContentStreamAllowed.ALLOWED);
addBasePropertyDefinitions(documentType);
addDocumentPropertyDefinitions(documentType);
addTypeInternal(documentType);
// non versionable document type
DocumentTypeDefinitionImpl unversionedDocument = new DocumentTypeDefinitionImpl();
unversionedDocument.initialize(documentType);
unversionedDocument.setDescription("Unversioned document");
unversionedDocument.setDisplayName("Unversioned document");
unversionedDocument.setLocalName("Unversioned document");
unversionedDocument.setIsQueryable(true);
unversionedDocument.setQueryName(DOCUMENT_UNVERSIONED_TYPE_ID);
unversionedDocument.setId(DOCUMENT_UNVERSIONED_TYPE_ID);
unversionedDocument.setParentTypeId(DOCUMENT_TYPE_ID);
unversionedDocument.setIsVersionable(false);
unversionedDocument.setContentStreamAllowed(ContentStreamAllowed.ALLOWED);
addBasePropertyDefinitions(unversionedDocument);
addDocumentPropertyDefinitions(unversionedDocument);
addTypeInternal(unversionedDocument);