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 2012/08/08 16:39:47 UTC

svn commit: r1370790 - in /chemistry/opencmis/trunk: chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/ chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apa...

Author: fmui
Date: Wed Aug  8 14:39:45 2012
New Revision: 1370790

URL: http://svn.apache.org/viewvc?rev=1370790&view=rev
Log:
Browser Binding server: added support for succinct flag (CMIS 1.1 WD 08)

Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/Constants.java
    chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConstants.java
    chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java

Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/Constants.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/Constants.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/Constants.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/Constants.java Wed Aug  8 14:39:45 2012
@@ -142,6 +142,7 @@ public final class Constants {
 
     // browser binding control
     public static final String CONTROL_CMISACTION = "cmisaction";
+    public static final String CONTROL_SUCCINCT = "succinct";
     public static final String CONTROL_TOKEN = "token";
     public static final String CONTROL_OBJECT_ID = "objectId";
     public static final String CONTROL_PROP_ID = "propertyId";
@@ -166,6 +167,7 @@ public final class Constants {
     public static final String PARAM_CONTINUE_ON_FAILURE = "continueOnFailure";
     public static final String PARAM_DEPTH = "depth";
     public static final String PARAM_FILTER = "filter";
+    public static final String PARAM_SUCCINCT = "succinct";
     public static final String PARAM_FOLDER_ID = "folderId";
     public static final String PARAM_ID = "id";
     public static final String PARAM_MAJOR = "major";

Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConstants.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConstants.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConstants.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConstants.java Wed Aug  8 14:39:45 2012
@@ -138,6 +138,7 @@ public class JSONConstants {
     }
 
     public static final String JSON_OBJECT_PROPERTIES = "properties";
+    public static final String JSON_OBJECT_SUCCINCT_PROPERTIES = "succinctProperties";
     public static final String JSON_OBJECT_ALLOWABLE_ACTIONS = "allowableActions";
     public static final String JSON_OBJECT_RELATIONSHIPS = "relationships";
     public static final String JSON_OBJECT_CHANGE_EVENT_INFO = "changeEventInfo";
@@ -150,6 +151,7 @@ public class JSONConstants {
     public static final Set<String> OBJECT_KEYS = new HashSet<String>();
     static {
         OBJECT_KEYS.add(JSON_OBJECT_PROPERTIES);
+        OBJECT_KEYS.add(JSON_OBJECT_SUCCINCT_PROPERTIES);
         OBJECT_KEYS.add(JSON_OBJECT_ALLOWABLE_ACTIONS);
         OBJECT_KEYS.add(JSON_OBJECT_RELATIONSHIPS);
         OBJECT_KEYS.add(JSON_OBJECT_CHANGE_EVENT_INFO);

Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/JSONConverter.java Wed Aug  8 14:39:45 2012
@@ -821,7 +821,7 @@ public class JSONConverter {
     /**
      * Converts an object.
      */
-    public static JSONObject convert(ObjectData object, TypeCache typeCache, boolean isQueryResult) {
+    public static JSONObject convert(ObjectData object, TypeCache typeCache, boolean isQueryResult, boolean succinct) {
         if (object == null) {
             return null;
         }
@@ -830,9 +830,16 @@ public class JSONConverter {
 
         // properties
         if (object.getProperties() != null) {
-            JSONObject properties = convert(object.getProperties(), object.getId(), typeCache, isQueryResult);
-            if (properties != null) {
-                result.put(JSON_OBJECT_PROPERTIES, properties);
+            if (succinct) {
+                JSONObject properties = convert(object.getProperties(), object.getId(), typeCache, isQueryResult, true);
+                if (properties != null) {
+                    result.put(JSON_OBJECT_SUCCINCT_PROPERTIES, properties);
+                }
+            } else {
+                JSONObject properties = convert(object.getProperties(), object.getId(), typeCache, isQueryResult, false);
+                if (properties != null) {
+                    result.put(JSON_OBJECT_PROPERTIES, properties);
+                }
             }
         }
 
@@ -846,7 +853,7 @@ public class JSONConverter {
             JSONArray relationships = new JSONArray();
 
             for (ObjectData relationship : object.getRelationships()) {
-                relationships.add(convert(relationship, typeCache, false));
+                relationships.add(convert(relationship, typeCache, false, succinct));
             }
 
             result.put(JSON_OBJECT_RELATIONSHIPS, relationships);
@@ -905,7 +912,8 @@ public class JSONConverter {
     /**
      * Converts a bag of properties.
      */
-    public static JSONObject convert(Properties properties, String objectId, TypeCache typeCache, boolean isQueryResult) {
+    public static JSONObject convert(final Properties properties, String objectId, final TypeCache typeCache,
+            boolean isQueryResult, boolean succinct) {
         if (properties == null) {
             return null;
         }
@@ -934,7 +942,8 @@ public class JSONConverter {
                 propDef = type.getPropertyDefinitions().get(property.getId());
             }
 
-            result.put((isQueryResult ? property.getQueryName() : property.getId()), convert(property, propDef));
+            String propId = (isQueryResult ? property.getQueryName() : property.getId());
+            result.put(propId, convert(property, propDef, succinct));
         }
 
         convertExtension(properties, result);
@@ -945,54 +954,88 @@ public class JSONConverter {
     /**
      * Converts a property.
      */
-    public static JSONObject convert(PropertyData<?> property, PropertyDefinition<?> propDef) {
+    public static Object convert(final PropertyData<?> property, final PropertyDefinition<?> propDef, boolean succinct) {
         if (property == null) {
             return null;
         }
 
-        JSONObject result = new JSONObject();
+        if (succinct) {
+            Object result = null;
 
-        result.put(JSON_PROPERTY_ID, property.getId());
-        setIfNotNull(JSON_PROPERTY_LOCALNAME, property.getLocalName(), result);
-        setIfNotNull(JSON_PROPERTY_DISPLAYNAME, property.getDisplayName(), result);
-        setIfNotNull(JSON_PROPERTY_QUERYNAME, property.getQueryName(), result);
-
-        if (propDef != null) {
-            result.put(JSON_PROPERTY_DATATYPE, propDef.getPropertyType().value());
-            result.put(JSON_PROPERTY_CARDINALITY, propDef.getCardinality().value());
-
-            if ((property.getValues() == null) || (property.getValues().size() == 0)) {
-                result.put(JSON_PROPERTY_VALUE, null);
-            } else if (propDef.getCardinality() == Cardinality.SINGLE) {
-                result.put(JSON_PROPERTY_VALUE, getJSONValue(property.getValues().get(0)));
-            } else {
-                JSONArray values = new JSONArray();
+            if (propDef != null) {
+                if ((property.getValues() == null) || (property.getValues().size() == 0)) {
+                    result = null;
+                } else if (propDef.getCardinality() == Cardinality.SINGLE) {
+                    result = getJSONValue(property.getValues().get(0));
+                } else {
+                    JSONArray values = new JSONArray();
 
-                for (Object value : property.getValues()) {
-                    values.add(getJSONValue(value));
+                    for (Object value : property.getValues()) {
+                        values.add(getJSONValue(value));
+                    }
+
+                    result = values;
                 }
+            } else {
+                if ((property.getValues() == null) || (property.getValues().size() == 0)) {
+                    result = null;
+                } else if (property.getValues().size() > 0) {
+                    JSONArray values = new JSONArray();
 
-                result.put(JSON_PROPERTY_VALUE, values);
+                    for (Object value : property.getValues()) {
+                        values.add(getJSONValue(value));
+                    }
+
+                    result = values;
+                }
             }
+
+            return result;
         } else {
-            result.put(JSON_PROPERTY_DATATYPE, getJSONPropertyDataType(property));
+            JSONObject result = new JSONObject();
 
-            if ((property.getValues() == null) || (property.getValues().size() == 0)) {
-                result.put(JSON_PROPERTY_VALUE, null);
-            } else if (property.getValues().size() > 0) {
-                JSONArray values = new JSONArray();
+            result.put(JSON_PROPERTY_ID, property.getId());
+            setIfNotNull(JSON_PROPERTY_LOCALNAME, property.getLocalName(), result);
+            setIfNotNull(JSON_PROPERTY_DISPLAYNAME, property.getDisplayName(), result);
+            setIfNotNull(JSON_PROPERTY_QUERYNAME, property.getQueryName(), result);
+
+            if (propDef != null) {
+                result.put(JSON_PROPERTY_DATATYPE, propDef.getPropertyType().value());
+                result.put(JSON_PROPERTY_CARDINALITY, propDef.getCardinality().value());
+
+                if ((property.getValues() == null) || (property.getValues().size() == 0)) {
+                    result.put(JSON_PROPERTY_VALUE, null);
+                } else if (propDef.getCardinality() == Cardinality.SINGLE) {
+                    result.put(JSON_PROPERTY_VALUE, getJSONValue(property.getValues().get(0)));
+                } else {
+                    JSONArray values = new JSONArray();
 
-                for (Object value : property.getValues()) {
-                    values.add(getJSONValue(value));
+                    for (Object value : property.getValues()) {
+                        values.add(getJSONValue(value));
+                    }
+
+                    result.put(JSON_PROPERTY_VALUE, values);
                 }
+            } else {
+                result.put(JSON_PROPERTY_DATATYPE, getJSONPropertyDataType(property));
 
-                result.put(JSON_PROPERTY_VALUE, values);
+                if ((property.getValues() == null) || (property.getValues().size() == 0)) {
+                    result.put(JSON_PROPERTY_VALUE, null);
+                } else if (property.getValues().size() > 0) {
+                    JSONArray values = new JSONArray();
+
+                    for (Object value : property.getValues()) {
+                        values.add(getJSONValue(value));
+                    }
+
+                    result.put(JSON_PROPERTY_VALUE, values);
+                }
             }
-        }
 
-        convertExtension(property, result);
+            convertExtension(property, result);
 
-        return result;
+            return result;
+        }
     }
 
     /**
@@ -1079,7 +1122,7 @@ public class JSONConverter {
     /**
      * Converts a query object list.
      */
-    public static JSONObject convert(ObjectList list, TypeCache typeCache, boolean isQueryResult) {
+    public static JSONObject convert(ObjectList list, TypeCache typeCache, boolean isQueryResult, boolean succinct) {
         if (list == null) {
             return null;
         }
@@ -1089,7 +1132,7 @@ public class JSONConverter {
         JSONArray objects = new JSONArray();
         if (list.getObjects() != null) {
             for (ObjectData object : list.getObjects()) {
-                objects.add(convert(object, typeCache, isQueryResult));
+                objects.add(convert(object, typeCache, isQueryResult, succinct));
             }
         }
 
@@ -1113,13 +1156,13 @@ public class JSONConverter {
     /**
      * Converts an object in a folder list.
      */
-    public static JSONObject convert(ObjectInFolderData objectInFolder, TypeCache typeCache) {
+    public static JSONObject convert(ObjectInFolderData objectInFolder, TypeCache typeCache, boolean succinct) {
         if ((objectInFolder == null) || (objectInFolder.getObject() == null)) {
             return null;
         }
 
         JSONObject result = new JSONObject();
-        result.put(JSON_OBJECTINFOLDER_OBJECT, convert(objectInFolder.getObject(), typeCache, false));
+        result.put(JSON_OBJECTINFOLDER_OBJECT, convert(objectInFolder.getObject(), typeCache, false, succinct));
         setIfNotNull(JSON_OBJECTINFOLDER_PATH_SEGMENT, objectInFolder.getPathSegment(), result);
 
         convertExtension(objectInFolder, result);
@@ -1130,7 +1173,7 @@ public class JSONConverter {
     /**
      * Converts a folder list.
      */
-    public static JSONObject convert(ObjectInFolderList objectInFolderList, TypeCache typeCache) {
+    public static JSONObject convert(ObjectInFolderList objectInFolderList, TypeCache typeCache, boolean succinct) {
         if (objectInFolderList == null) {
             return null;
         }
@@ -1141,7 +1184,7 @@ public class JSONConverter {
             JSONArray objects = new JSONArray();
 
             for (ObjectInFolderData object : objectInFolderList.getObjects()) {
-                objects.add(convert(object, typeCache));
+                objects.add(convert(object, typeCache, succinct));
             }
 
             result.put(JSON_OBJECTINFOLDERLIST_OBJECTS, objects);
@@ -1158,18 +1201,18 @@ public class JSONConverter {
     /**
      * Converts a folder container.
      */
-    public static JSONObject convert(ObjectInFolderContainer container, TypeCache typeCache) {
+    public static JSONObject convert(ObjectInFolderContainer container, TypeCache typeCache, boolean succinct) {
         if (container == null) {
             return null;
         }
 
         JSONObject result = new JSONObject();
-        result.put(JSON_OBJECTINFOLDERCONTAINER_OBJECT, convert(container.getObject(), typeCache));
+        result.put(JSON_OBJECTINFOLDERCONTAINER_OBJECT, convert(container.getObject(), typeCache, succinct));
 
         if ((container.getChildren() != null) && (container.getChildren().size() > 0)) {
             JSONArray children = new JSONArray();
             for (ObjectInFolderContainer descendant : container.getChildren()) {
-                children.add(JSONConverter.convert(descendant, typeCache));
+                children.add(JSONConverter.convert(descendant, typeCache, succinct));
             }
 
             result.put(JSON_OBJECTINFOLDERCONTAINER_CHILDREN, children);
@@ -1183,13 +1226,13 @@ public class JSONConverter {
     /**
      * Converts an object parent.
      */
-    public static JSONObject convert(ObjectParentData parent, TypeCache typeCache) {
+    public static JSONObject convert(ObjectParentData parent, TypeCache typeCache, boolean succinct) {
         if ((parent == null) || (parent.getObject() == null)) {
             return null;
         }
 
         JSONObject result = new JSONObject();
-        result.put(JSON_OBJECTPARENTS_OBJECT, convert(parent.getObject(), typeCache, false));
+        result.put(JSON_OBJECTPARENTS_OBJECT, convert(parent.getObject(), typeCache, false, succinct));
         if (parent.getRelativePathSegment() != null) {
             result.put(JSON_OBJECTPARENTS_RELATIVE_PATH_SEGMENT, parent.getRelativePathSegment());
         }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/DiscoveryService.java Wed Aug  8 14:39:45 2012
@@ -61,7 +61,7 @@ public class DiscoveryService {
             HttpServletResponse response) throws Exception {
         // get parameters
         String statement = getStringParameter(request, Constants.PARAM_STATEMENT);
-        if(statement == null || statement.length() == 0) {
+        if (statement == null || statement.length() == 0) {
             statement = getStringParameter(request, Constants.PARAM_Q);
         }
         Boolean searchAllVersions = getBooleanParameter(request, Constants.PARAM_SEARCH_ALL_VERSIONS);
@@ -71,6 +71,7 @@ public class DiscoveryService {
         String renditionFilter = getStringParameter(request, Constants.PARAM_RENDITION_FILTER);
         BigInteger maxItems = getBigIntegerParameter(request, Constants.PARAM_MAX_ITEMS);
         BigInteger skipCount = getBigIntegerParameter(request, Constants.PARAM_SKIP_COUNT);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         ObjectList results = service.query(repositoryId, statement, searchAllVersions, includeAllowableActions,
@@ -81,7 +82,7 @@ public class DiscoveryService {
         }
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonResults = JSONConverter.convert(results, typeCache, true);
+        JSONObject jsonResults = JSONConverter.convert(results, typeCache, true, succinct);
 
         response.setStatus(HttpServletResponse.SC_OK);
         BrowserBindingUtils.writeJSON(jsonResults, request, response);
@@ -99,13 +100,14 @@ public class DiscoveryService {
         Boolean includePolicyIds = getBooleanParameter(request, PARAM_POLICY_IDS);
         Boolean includeAcl = getBooleanParameter(request, PARAM_ACL);
         BigInteger maxItems = getBigIntegerParameter(request, Constants.PARAM_MAX_ITEMS);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         Holder<String> changeLogTokenHolder = new Holder<String>(changeLogToken);
         ObjectList changes = service.getContentChanges(repositoryId, changeLogTokenHolder, includeProperties, filter,
                 includePolicyIds, includeAcl, maxItems, null);
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonChanges = JSONConverter.convert(changes, typeCache, false);
+        JSONObject jsonChanges = JSONConverter.convert(changes, typeCache, false, succinct);
         jsonChanges.put(JSONConstants.JSON_OBJECTLIST_CHANGE_LOG_TOKEN, changeLogTokenHolder.getValue());
 
         response.setStatus(HttpServletResponse.SC_OK);

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/MultiFilingService.java Wed Aug  8 14:39:45 2012
@@ -57,6 +57,7 @@ public class MultiFilingService {
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String folderId = getStringParameter(request, PARAM_FOLDER_ID);
         Boolean allVersions = getBooleanParameter(request, Constants.PARAM_ALL_VERSIONS);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         Holder<String> objectIdHolder = new Holder<String>(objectId);
@@ -77,7 +78,7 @@ public class MultiFilingService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         writeJSON(jsonObject, request, response);
     }
@@ -90,6 +91,7 @@ public class MultiFilingService {
         // get parameters
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String folderId = getStringParameter(request, PARAM_FOLDER_ID);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         Holder<String> objectIdHolder = new Holder<String>(objectId);
@@ -110,7 +112,7 @@ public class MultiFilingService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         writeJSON(jsonObject, request, response);
     }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/NavigationService.java Wed Aug  8 14:39:45 2012
@@ -47,6 +47,7 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.data.ObjectParentData;
 import org.apache.chemistry.opencmis.commons.enums.IncludeRelationships;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
+import org.apache.chemistry.opencmis.commons.impl.Constants;
 import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
 import org.apache.chemistry.opencmis.commons.impl.TypeCache;
 import org.apache.chemistry.opencmis.commons.impl.json.JSONArray;
@@ -79,6 +80,7 @@ public final class NavigationService {
         Boolean includePathSegment = getBooleanParameter(request, PARAM_PATH_SEGMENT);
         BigInteger maxItems = getBigIntegerParameter(request, PARAM_MAX_ITEMS);
         BigInteger skipCount = getBigIntegerParameter(request, PARAM_SKIP_COUNT);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         ObjectInFolderList children = service.getChildren(repositoryId, folderId, filter, orderBy,
@@ -90,7 +92,7 @@ public final class NavigationService {
         }
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonChildren = JSONConverter.convert(children, typeCache);
+        JSONObject jsonChildren = JSONConverter.convert(children, typeCache, succinct);
 
         response.setStatus(HttpServletResponse.SC_OK);
         BrowserBindingUtils.writeJSON(jsonChildren, request, response);
@@ -110,6 +112,7 @@ public final class NavigationService {
                 IncludeRelationships.class);
         String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
         Boolean includePathSegment = getBooleanParameter(request, PARAM_PATH_SEGMENT);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         List<ObjectInFolderContainer> descendants = service.getDescendants(repositoryId, folderId, depth, filter,
@@ -122,7 +125,7 @@ public final class NavigationService {
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
         JSONArray jsonDescendants = new JSONArray();
         for (ObjectInFolderContainer descendant : descendants) {
-            jsonDescendants.add(JSONConverter.convert(descendant, typeCache));
+            jsonDescendants.add(JSONConverter.convert(descendant, typeCache, succinct));
         }
 
         response.setStatus(HttpServletResponse.SC_OK);
@@ -143,6 +146,7 @@ public final class NavigationService {
                 IncludeRelationships.class);
         String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
         Boolean includePathSegment = getBooleanParameter(request, PARAM_PATH_SEGMENT);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         List<ObjectInFolderContainer> folderTree = service.getFolderTree(repositoryId, folderId, depth, filter,
@@ -155,7 +159,7 @@ public final class NavigationService {
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
         JSONArray jsonDescendants = new JSONArray();
         for (ObjectInFolderContainer descendant : folderTree) {
-            jsonDescendants.add(JSONConverter.convert(descendant, typeCache));
+            jsonDescendants.add(JSONConverter.convert(descendant, typeCache, succinct));
         }
 
         response.setStatus(HttpServletResponse.SC_OK);
@@ -170,6 +174,7 @@ public final class NavigationService {
         // get parameters
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String filter = getStringParameter(request, PARAM_FILTER);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         ObjectData parent = service.getFolderParent(repositoryId, objectId, filter, null);
@@ -179,7 +184,7 @@ public final class NavigationService {
         }
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(parent, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(parent, typeCache, false, succinct);
 
         response.setStatus(HttpServletResponse.SC_OK);
         BrowserBindingUtils.writeJSON(jsonObject, request, response);
@@ -198,6 +203,7 @@ public final class NavigationService {
                 IncludeRelationships.class);
         String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
         Boolean includeRelativePathSegment = getBooleanParameter(request, PARAM_RELATIVE_PATH_SEGMENT);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         List<ObjectParentData> parents = service.getObjectParents(repositoryId, objectId, filter,
@@ -210,7 +216,7 @@ public final class NavigationService {
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
         JSONArray jsonParents = new JSONArray();
         for (ObjectParentData parent : parents) {
-            jsonParents.add(JSONConverter.convert(parent, typeCache));
+            jsonParents.add(JSONConverter.convert(parent, typeCache, succinct));
         }
 
         response.setStatus(HttpServletResponse.SC_OK);
@@ -232,6 +238,7 @@ public final class NavigationService {
         String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
         BigInteger maxItems = getBigIntegerParameter(request, PARAM_MAX_ITEMS);
         BigInteger skipCount = getBigIntegerParameter(request, PARAM_SKIP_COUNT);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         ObjectList checkedout = service.getCheckedOutDocs(repositoryId, folderId, filter, orderBy,
@@ -242,7 +249,7 @@ public final class NavigationService {
         }
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonCheckedOut = JSONConverter.convert(checkedout, typeCache, false);
+        JSONObject jsonCheckedOut = JSONConverter.convert(checkedout, typeCache, false, succinct);
 
         response.setStatus(HttpServletResponse.SC_OK);
         BrowserBindingUtils.writeJSON(jsonCheckedOut, request, response);

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/ObjectService.java Wed Aug  8 14:39:45 2012
@@ -106,6 +106,7 @@ public final class ObjectService {
         String folderId = (String) context.get(CONTEXT_OBJECT_ID);
         VersioningState versioningState = getEnumParameter(request, PARAM_VERSIONIG_STATE, VersioningState.class);
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         ControlParser cp = new ControlParser(request);
@@ -121,7 +122,7 @@ public final class ObjectService {
         }
 
         // return object
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         setStatus(request, response, HttpServletResponse.SC_CREATED);
         setCookie(request, response, repositoryId, token,
@@ -140,6 +141,7 @@ public final class ObjectService {
         String sourceId = getStringParameter(request, PARAM_SOURCE_ID);
         VersioningState versioningState = getEnumParameter(request, PARAM_VERSIONIG_STATE, VersioningState.class);
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         ControlParser cp = new ControlParser(request);
@@ -161,7 +163,7 @@ public final class ObjectService {
         }
 
         // return object
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         setStatus(request, response, HttpServletResponse.SC_CREATED);
         setCookie(request, response, repositoryId, token,
@@ -178,6 +180,7 @@ public final class ObjectService {
         // get parameters
         String folderId = (String) context.get(CONTEXT_OBJECT_ID);
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         ControlParser cp = new ControlParser(request);
@@ -192,7 +195,7 @@ public final class ObjectService {
         }
 
         // return object
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         setStatus(request, response, HttpServletResponse.SC_CREATED);
         setCookie(request, response, repositoryId, token,
@@ -209,6 +212,7 @@ public final class ObjectService {
         // get parameters
         String folderId = (String) context.get(CONTEXT_OBJECT_ID);
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         ControlParser cp = new ControlParser(request);
@@ -223,7 +227,7 @@ public final class ObjectService {
         }
 
         // return object
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         setStatus(request, response, HttpServletResponse.SC_CREATED);
         setCookie(request, response, repositoryId, token,
@@ -239,6 +243,7 @@ public final class ObjectService {
             HttpServletRequest request, HttpServletResponse response) throws Exception {
         // get parameters
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         ControlParser cp = new ControlParser(request);
@@ -253,7 +258,7 @@ public final class ObjectService {
         }
 
         // return object
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         setStatus(request, response, HttpServletResponse.SC_CREATED);
         setCookie(request, response, repositoryId, token,
@@ -272,6 +277,7 @@ public final class ObjectService {
         String typeId = (String) context.get(CONTEXT_OBJECT_TYPE_ID);
         String changeToken = getStringParameter(request, Constants.PARAM_CHANGE_TOKEN);
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         ControlParser cp = new ControlParser(request);
@@ -290,7 +296,7 @@ public final class ObjectService {
         }
 
         // return object
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         int status = HttpServletResponse.SC_OK;
         if (!objectId.equals(newObjectId)) {
@@ -312,6 +318,7 @@ public final class ObjectService {
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         ReturnVersion returnVersion = getEnumParameter(request, PARAM_RETURN_VERSION, ReturnVersion.class);
         String filter = getStringParameter(request, PARAM_FILTER);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         Properties properties;
@@ -329,7 +336,7 @@ public final class ObjectService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(properties, objectId, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(properties, objectId, typeCache, false, succinct);
 
         response.setStatus(HttpServletResponse.SC_OK);
         writeJSON(jsonObject, request, response);
@@ -350,6 +357,7 @@ public final class ObjectService {
         String renditionFilter = getStringParameter(request, PARAM_RENDITION_FILTER);
         Boolean includePolicyIds = getBooleanParameter(request, PARAM_POLICY_IDS);
         Boolean includeAcl = getBooleanParameter(request, PARAM_ACL);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         ObjectData object;
@@ -369,7 +377,7 @@ public final class ObjectService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         response.setStatus(HttpServletResponse.SC_OK);
         writeJSON(jsonObject, request, response);
@@ -516,6 +524,7 @@ public final class ObjectService {
         // get parameters
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String changeToken = getStringParameter(request, Constants.PARAM_CHANGE_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         Holder<String> objectIdHolder = new Holder<String>(objectId);
@@ -533,7 +542,7 @@ public final class ObjectService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         writeJSON(jsonObject, request, response);
     }
@@ -547,6 +556,7 @@ public final class ObjectService {
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String changeToken = getStringParameter(request, Constants.PARAM_CHANGE_TOKEN);
         Boolean overwriteFlag = getBooleanParameter(request, Constants.PARAM_OVERWRITE_FLAG);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         Holder<String> objectIdHolder = new Holder<String>(objectId);
@@ -569,7 +579,7 @@ public final class ObjectService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         writeJSON(jsonObject, request, response);
     }
@@ -583,6 +593,7 @@ public final class ObjectService {
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String targetFolderId = getStringParameter(request, PARAM_TARGET_FOLDER_ID);
         String sourceFolderId = getStringParameter(request, PARAM_SOURCE_FOLDER_ID);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         Holder<String> objectIdHolder = new Holder<String>(objectId);
@@ -603,7 +614,7 @@ public final class ObjectService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         writeJSON(jsonObject, request, response);
     }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/PolicyService.java Wed Aug  8 14:39:45 2012
@@ -23,6 +23,7 @@ import static org.apache.chemistry.openc
 import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.CONTEXT_OBJECT_ID;
 import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.getSimpleObject;
 import static org.apache.chemistry.opencmis.server.impl.browser.BrowserBindingUtils.writeJSON;
+import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getBooleanParameter;
 import static org.apache.chemistry.opencmis.server.shared.HttpUtils.getStringParameter;
 
 import java.util.List;
@@ -32,6 +33,7 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.chemistry.opencmis.commons.data.ObjectData;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
+import org.apache.chemistry.opencmis.commons.impl.Constants;
 import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
 import org.apache.chemistry.opencmis.commons.impl.TypeCache;
 import org.apache.chemistry.opencmis.commons.impl.json.JSONArray;
@@ -53,6 +55,7 @@ public class PolicyService {
         // get parameters
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String filter = getStringParameter(request, PARAM_FILTER);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         List<ObjectData> policies = service.getAppliedPolicies(repositoryId, objectId, filter, null);
@@ -61,7 +64,7 @@ public class PolicyService {
         if (policies != null) {
             TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
             for (ObjectData policy : policies) {
-                jsonPolicies.add(JSONConverter.convert(policy, typeCache, false));
+                jsonPolicies.add(JSONConverter.convert(policy, typeCache, false, succinct));
             }
         }
 
@@ -77,6 +80,7 @@ public class PolicyService {
         // get parameters
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String policyId = getStringParameter(request, PARAM_POLICY_ID);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         service.applyPolicy(repositoryId, policyId, objectId, null);
@@ -90,7 +94,7 @@ public class PolicyService {
         response.setStatus(HttpServletResponse.SC_OK);
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         writeJSON(jsonObject, request, response);
     }
@@ -103,6 +107,7 @@ public class PolicyService {
         // get parameters
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String policyId = getStringParameter(request, PARAM_POLICY_ID);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         service.removePolicy(repositoryId, policyId, objectId, null);
@@ -116,7 +121,7 @@ public class PolicyService {
         response.setStatus(HttpServletResponse.SC_OK);
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         writeJSON(jsonObject, request, response);
     }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/RelationshipService.java Wed Aug  8 14:39:45 2012
@@ -39,6 +39,7 @@ import javax.servlet.http.HttpServletRes
 import org.apache.chemistry.opencmis.commons.data.ObjectList;
 import org.apache.chemistry.opencmis.commons.enums.RelationshipDirection;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
+import org.apache.chemistry.opencmis.commons.impl.Constants;
 import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
 import org.apache.chemistry.opencmis.commons.impl.TypeCache;
 import org.apache.chemistry.opencmis.commons.impl.json.JSONObject;
@@ -63,6 +64,7 @@ public class RelationshipService {
         Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
         BigInteger maxItems = getBigIntegerParameter(request, PARAM_MAX_ITEMS);
         BigInteger skipCount = getBigIntegerParameter(request, PARAM_SKIP_COUNT);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         ObjectList relationships = service.getObjectRelationships(repositoryId, objectId, includeSubRelationshipTypes,
@@ -73,7 +75,7 @@ public class RelationshipService {
         }
 
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonChildren = JSONConverter.convert(relationships, typeCache, false);
+        JSONObject jsonChildren = JSONConverter.convert(relationships, typeCache, false, succinct);
 
         response.setStatus(HttpServletResponse.SC_OK);
         BrowserBindingUtils.writeJSON(jsonChildren, request, response);

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java?rev=1370790&r1=1370789&r2=1370790&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/VersioningService.java Wed Aug  8 14:39:45 2012
@@ -49,6 +49,7 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.chemistry.opencmis.commons.data.ObjectData;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
+import org.apache.chemistry.opencmis.commons.impl.Constants;
 import org.apache.chemistry.opencmis.commons.impl.JSONConverter;
 import org.apache.chemistry.opencmis.commons.impl.TypeCache;
 import org.apache.chemistry.opencmis.commons.impl.json.JSONArray;
@@ -74,6 +75,7 @@ public class VersioningService {
         // get parameters
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         Holder<String> checkOutId = new Holder<String>(objectId);
@@ -86,7 +88,7 @@ public class VersioningService {
 
         // return object
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         // set headers
         String location = compileUrl(compileBaseUrl(request, repositoryId), RESOURCE_CONTENT, object.getId());
@@ -126,6 +128,7 @@ public class VersioningService {
         Boolean major = getBooleanParameter(request, PARAM_MAJOR);
         String checkinComment = getStringParameter(request, PARAM_CHECKIN_COMMENT);
         String token = getStringParameter(request, PARAM_TOKEN);
+        boolean succinct = getBooleanParameter(request, Constants.CONTROL_SUCCINCT, false);
 
         // execute
         ControlParser cp = new ControlParser(request);
@@ -144,7 +147,7 @@ public class VersioningService {
         }
 
         // return object
-        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false);
+        JSONObject jsonObject = JSONConverter.convert(object, typeCache, false, succinct);
 
         String location = compileUrl(compileBaseUrl(request, repositoryId), RESOURCE_CONTENT, object.getId());
 
@@ -166,6 +169,7 @@ public class VersioningService {
         String objectId = (String) context.get(CONTEXT_OBJECT_ID);
         String filter = getStringParameter(request, PARAM_FILTER);
         Boolean includeAllowableActions = getBooleanParameter(request, PARAM_ALLOWABLE_ACTIONS);
+        boolean succinct = getBooleanParameter(request, Constants.PARAM_SUCCINCT, false);
 
         // execute
         List<ObjectData> versions = service.getAllVersions(repositoryId, objectId, null, filter,
@@ -178,7 +182,7 @@ public class VersioningService {
         TypeCache typeCache = new TypeCacheImpl(repositoryId, service);
         JSONArray jsonVersions = new JSONArray();
         for (ObjectData version : versions) {
-            jsonVersions.add(JSONConverter.convert(version, typeCache, false));
+            jsonVersions.add(JSONConverter.convert(version, typeCache, false, succinct));
         }
 
         response.setStatus(HttpServletResponse.SC_OK);