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 2013/07/30 20:29:58 UTC

svn commit: r1508577 - in /chemistry/opencmis/trunk/chemistry-opencmis-server: chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/ chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/serv...

Author: fmui
Date: Tue Jul 30 18:29:58 2013
New Revision: 1508577

URL: http://svn.apache.org/r1508577
Log:
TypeDefinitionFactory: corrected some property definitions

Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/TypeManager.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/TypeDefinitionFactory.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/TypeManager.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/TypeManager.java?rev=1508577&r1=1508576&r2=1508577&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/TypeManager.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-fileshare/src/main/java/org/apache/chemistry/opencmis/fileshare/TypeManager.java Tue Jul 30 18:29:58 2013
@@ -24,6 +24,9 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.chemistry.opencmis.commons.definitions.MutableDocumentTypeDefinition;
+import org.apache.chemistry.opencmis.commons.definitions.MutableFolderTypeDefinition;
+import org.apache.chemistry.opencmis.commons.definitions.MutablePropertyDefinition;
 import org.apache.chemistry.opencmis.commons.definitions.MutableTypeDefinition;
 import org.apache.chemistry.opencmis.commons.definitions.PropertyDefinition;
 import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
@@ -83,10 +86,14 @@ public class TypeManager {
 
         try {
             // folder type
-            addTypeInteral(tdf.createBaseFolderTypeDefinition(cmisVersion));
+            MutableFolderTypeDefinition folderType = tdf.createBaseFolderTypeDefinition(cmisVersion);
+            removeQueryableAndOrderableFlags(folderType);
+            addTypeInteral(folderType);
 
             // document type
-            addTypeInteral(tdf.createBaseDocumentTypeDefinition(cmisVersion));
+            MutableDocumentTypeDefinition documentType = tdf.createBaseDocumentTypeDefinition(cmisVersion);
+            removeQueryableAndOrderableFlags(documentType);
+            addTypeInteral(documentType);
 
             // relationship types
             // not supported - don't expose it
@@ -109,6 +116,19 @@ public class TypeManager {
     }
 
     /**
+     * Removes the queryable and orderable flags from the property definitions
+     * of a type definition because this implementations does neither support
+     * queries nor can order objects.
+     */
+    private void removeQueryableAndOrderableFlags(MutableTypeDefinition type) {
+        for (PropertyDefinition<?> propDef : type.getPropertyDefinitions().values()) {
+            MutablePropertyDefinition<?> mutablePropDef = (MutablePropertyDefinition<?>) propDef;
+            mutablePropDef.setIsQueryable(false);
+            mutablePropDef.setIsOrderable(false);
+        }
+    }
+
+    /**
      * Adds a type to collection with inheriting base type properties.
      */
     public boolean addType(TypeDefinition type) {

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/TypeDefinitionFactory.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/TypeDefinitionFactory.java?rev=1508577&r1=1508576&r2=1508577&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/TypeDefinitionFactory.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-support/src/main/java/org/apache/chemistry/opencmis/server/support/TypeDefinitionFactory.java Tue Jul 30 18:29:58 2013
@@ -621,121 +621,131 @@ public class TypeDefinitionFactory {
      * Adds the base property definitions to a type definition.
      */
     private void addBasePropertyDefinitions(MutableTypeDefinition type, CmisVersion cmisVersion, boolean inherited) {
-        type.addPropertyDefinition(createPropDef(PropertyIds.BASE_TYPE_ID, "Base Type Id", "Base Type Id",
-                PropertyType.ID, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+        type.addPropertyDefinition(createPropDef(PropertyIds.NAME, "Name", "Name", PropertyType.STRING,
+                Cardinality.SINGLE, Updatability.READWRITE, inherited, true, true, true));
+
+        if (cmisVersion != CmisVersion.CMIS_1_0) {
+            type.addPropertyDefinition(createPropDef(PropertyIds.DESCRIPTION, "Description", "Description",
+                    PropertyType.STRING, Cardinality.SINGLE, Updatability.READWRITE, inherited, false, false, false));
+        }
 
         type.addPropertyDefinition(createPropDef(PropertyIds.OBJECT_ID, "Object Id", "Object Id", PropertyType.ID,
-                Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                Cardinality.SINGLE, Updatability.READONLY, inherited, false, true, false));
 
-        type.addPropertyDefinition(createPropDef(PropertyIds.OBJECT_TYPE_ID, "Type Id", "Type Id", PropertyType.ID,
-                Cardinality.SINGLE, Updatability.ONCREATE, inherited, true));
+        type.addPropertyDefinition(createPropDef(PropertyIds.BASE_TYPE_ID, "Base Type Id", "Base Type Id",
+                PropertyType.ID, Cardinality.SINGLE, Updatability.READONLY, inherited, false, true, false));
 
-        type.addPropertyDefinition(createPropDef(PropertyIds.NAME, "Name", "Name", PropertyType.STRING,
-                Cardinality.SINGLE, Updatability.READWRITE, inherited, true));
+        type.addPropertyDefinition(createPropDef(PropertyIds.OBJECT_TYPE_ID, "Object Type Id", "Object Type Id",
+                PropertyType.ID, Cardinality.SINGLE, Updatability.ONCREATE, inherited, true, true, false));
 
         if (cmisVersion != CmisVersion.CMIS_1_0) {
-            type.addPropertyDefinition(createPropDef(PropertyIds.DESCRIPTION, "Description", "Description",
-                    PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+            type.addPropertyDefinition(createPropDef(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, "Secondary Type Ids",
+                    "Secondary Type Ids", PropertyType.ID, Cardinality.MULTI, Updatability.READONLY, inherited, false,
+                    true, false));
         }
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CREATED_BY, "Created By", "Created By",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false, true, true));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CREATION_DATE, "Creation Date", "Creation Date",
-                PropertyType.DATETIME, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.DATETIME, Cardinality.SINGLE, Updatability.READONLY, inherited, false, true, true));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.LAST_MODIFIED_BY, "Last Modified By", "Last Modified By",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false, true, true));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.LAST_MODIFICATION_DATE, "Last Modification Date",
                 "Last Modification Date", PropertyType.DATETIME, Cardinality.SINGLE, Updatability.READONLY, inherited,
-                false));
+                false, true, true));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CHANGE_TOKEN, "Change Token", "Change Token",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
-
-        if (cmisVersion != CmisVersion.CMIS_1_0) {
-            type.addPropertyDefinition(createPropDef(PropertyIds.SECONDARY_OBJECT_TYPE_IDS, "Secondary Type Ids",
-                    "Secondary Type Ids", PropertyType.ID, Cardinality.MULTI, Updatability.READONLY, inherited, false));
-        }
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
     }
 
     private void addDocumentPropertyDefinitions(MutableDocumentTypeDefinition type, CmisVersion cmisVersion,
             boolean inherited) {
         type.addPropertyDefinition(createPropDef(PropertyIds.IS_IMMUTABLE, "Is Immutable", "Is Immutable",
-                PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.IS_LATEST_VERSION, "Is Latest Version",
-                "Is Latest Version", PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                "Is Latest Version", PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY, inherited, false,
+                false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.IS_MAJOR_VERSION, "Is Major Version", "Is Major Version",
-                PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.IS_LATEST_MAJOR_VERSION, "Is Latest Major Version",
                 "Is Latest Major Version", PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY, inherited,
-                false));
+                false, false, false));
+
+        if (cmisVersion != CmisVersion.CMIS_1_0) {
+            type.addPropertyDefinition(createPropDef(PropertyIds.IS_PRIVATE_WORKING_COPY, "Is Private Working Copy",
+                    "Is Private Working Copy", PropertyType.BOOLEAN, Cardinality.SINGLE, Updatability.READONLY,
+                    inherited, false, true, false));
+        }
 
         type.addPropertyDefinition(createPropDef(PropertyIds.VERSION_LABEL, "Version Label", "Version Label",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, true));
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false, true, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.VERSION_SERIES_ID, "Version Series Id",
-                "Version Series Id", PropertyType.ID, Cardinality.SINGLE, Updatability.READONLY, inherited, true));
+                "Version Series Id", PropertyType.ID, Cardinality.SINGLE, Updatability.READONLY, inherited, false,
+                true, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.IS_VERSION_SERIES_CHECKED_OUT,
                 "Is Verison Series Checked Out", "Is Verison Series Checked Out", PropertyType.BOOLEAN,
-                Cardinality.SINGLE, Updatability.READONLY, inherited, false));
-
-        type.addPropertyDefinition(createPropDef(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID,
-                "Version Series Checked Out Id", "Version Series Checked Out Id", PropertyType.ID, Cardinality.SINGLE,
-                Updatability.READONLY, inherited, false));
+                Cardinality.SINGLE, Updatability.READONLY, inherited, false, true, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.VERSION_SERIES_CHECKED_OUT_BY,
                 "Version Series Checked Out By", "Version Series Checked Out By", PropertyType.STRING,
-                Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
+
+        type.addPropertyDefinition(createPropDef(PropertyIds.VERSION_SERIES_CHECKED_OUT_ID,
+                "Version Series Checked Out Id", "Version Series Checked Out Id", PropertyType.ID, Cardinality.SINGLE,
+                Updatability.READONLY, inherited, false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CHECKIN_COMMENT, "Checkin Comment", "Checkin Comment",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CONTENT_STREAM_LENGTH, "Content Stream Length",
                 "Content Stream Length", PropertyType.INTEGER, Cardinality.SINGLE, Updatability.READONLY, inherited,
-                false));
+                false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CONTENT_STREAM_MIME_TYPE, "MIME Type", "MIME Type",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CONTENT_STREAM_FILE_NAME, "Filename", "Filename",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.CONTENT_STREAM_ID, "Content Stream Id",
-                "Content Stream Id", PropertyType.ID, Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                "Content Stream Id", PropertyType.ID, Cardinality.SINGLE, Updatability.READONLY, inherited, false,
+                false, false));
     }
 
     private void addFolderPropertyDefinitions(MutableFolderTypeDefinition type, CmisVersion cmisVersion,
             boolean inherited) {
         type.addPropertyDefinition(createPropDef(PropertyIds.PARENT_ID, "Parent Id", "Parent Id", PropertyType.ID,
-                Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
+
+        type.addPropertyDefinition(createPropDef(PropertyIds.PATH, "Path", "Path", PropertyType.STRING,
+                Cardinality.SINGLE, Updatability.READONLY, inherited, false, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.ALLOWED_CHILD_OBJECT_TYPE_IDS,
                 "Allowed Child Object Type Ids", "Allowed Child Object Type Ids", PropertyType.ID, Cardinality.MULTI,
-                Updatability.READONLY, inherited, false));
-
-        type.addPropertyDefinition(createPropDef(PropertyIds.PATH, "Path", "Path", PropertyType.STRING,
-                Cardinality.SINGLE, Updatability.READONLY, inherited, false));
+                Updatability.READONLY, inherited, false, false, false));
     }
 
     private void addPolicyPropertyDefinitions(MutablePolicyTypeDefinition type, CmisVersion cmisVersion,
             boolean inherited) {
         type.addPropertyDefinition(createPropDef(PropertyIds.POLICY_TEXT, "Policy Text", "Policy Text",
-                PropertyType.STRING, Cardinality.SINGLE, Updatability.READWRITE, inherited, true));
+                PropertyType.STRING, Cardinality.SINGLE, Updatability.READWRITE, inherited, false, false, false));
     }
 
     private void addRelationshipPropertyDefinitions(MutableRelationshipTypeDefinition type, CmisVersion cmisVersion,
             boolean inherited) {
         type.addPropertyDefinition(createPropDef(PropertyIds.SOURCE_ID, "Source Id", "Source Id", PropertyType.ID,
-                Cardinality.SINGLE, Updatability.READWRITE, inherited, true));
+                Cardinality.SINGLE, Updatability.READWRITE, inherited, true, false, false));
 
         type.addPropertyDefinition(createPropDef(PropertyIds.TARGET_ID, "Target Id", "Target Id", PropertyType.ID,
-                Cardinality.SINGLE, Updatability.READWRITE, inherited, true));
+                Cardinality.SINGLE, Updatability.READWRITE, inherited, true, false, false));
     }
 
     /**
@@ -743,7 +753,7 @@ public class TypeDefinitionFactory {
      */
     private MutablePropertyDefinition<?> createPropDef(String id, String displayName, String description,
             PropertyType datatype, Cardinality cardinality, Updatability updateability, boolean inherited,
-            boolean required) {
+            boolean required, boolean queryable, boolean orderable) {
         MutablePropertyDefinition<?> result = null;
 
         switch (datatype) {
@@ -784,8 +794,8 @@ public class TypeDefinitionFactory {
         result.setUpdatability(updateability);
         result.setIsInherited(inherited);
         result.setIsRequired(required);
-        result.setIsQueryable(false); // TODO
-        result.setIsOrderable(false); // TODO
+        result.setIsQueryable(queryable);
+        result.setIsOrderable(orderable);
         result.setQueryName(id);
 
         return result;