Author: jpotts
Date: Fri May 16 04:43:45 2014
New Revision: 1595102

URL: http://svn.apache.org/r1595102
Log:
testGetAllVersions and testGetLatestVersion now passing in cmislib; removing 
serializers.py, those live in the binding class for now

Removed:
    chemistry/cmislib/trunk/src/cmislib/browser/serializers.py
Modified:
    chemistry/cmislib/trunk/src/cmislib/browser/binding.py

Modified: chemistry/cmislib/trunk/src/cmislib/browser/binding.py
URL: 
http://svn.apache.org/viewvc/chemistry/cmislib/trunk/src/cmislib/browser/binding.py?rev=1595102&r1=1595101&r2=1595102&view=diff
==============================================================================
--- chemistry/cmislib/trunk/src/cmislib/browser/binding.py (original)
+++ chemistry/cmislib/trunk/src/cmislib/browser/binding.py Fri May 16 04:43:45 
2014
@@ -1734,7 +1734,13 @@ class BrowserDocument(BrowserCmisObject)
         u'2.0'
         """
 
-        pass
+        doc = None
+        if kwargs.has_key('major') and kwargs['major'] == 'true':
+            doc = self._repository.getObject(self.getObjectId(), 
returnVersion='latestmajor')
+        else:
+            doc = self._repository.getObject(self.getObjectId(), 
returnVersion='latest')
+
+        return doc
 
     def getPropertiesOfLatestVersion(self, **kwargs):
 
@@ -1767,7 +1773,7 @@ class BrowserDocument(BrowserCmisObject)
                                               **kwargs)
 
         # return the result set
-        return BrowserResultSet(self._cmisClient, self._repository, 
data={'objects': result})
+        return BrowserResultSet(self._cmisClient, self._repository, 
data={'objects': result}, serializer=VersionsSerializer())
 
     def getContentStream(self):
 
@@ -2969,6 +2975,18 @@ class ChildrenSerializer(object):
         return entries
 
 
+class VersionsSerializer(object):
+    def fromJSON(self, client, repo, jsonObj):
+        entries = []
+        for obj in jsonObj['objects']:
+            cmisObject = getSpecializedObject(BrowserCmisObject(client,
+                                                                repo,
+                                                                data=obj))
+            entries.append(cmisObject)
+
+        return entries
+
+
 class TreeSerializer(object):
     '''
     The AtomPubBinding may be returning descendants and trees as a flat list 
of results.
@@ -2997,4 +3015,12 @@ class TreeSerializer(object):
             except KeyError:
                 pass
 
-        return entries
\ No newline at end of file
+        return entries
+
+
+class FolderSerializer(object):
+    def fromJSON(self, client, repo, jsonString):
+        obj = json.loads(jsonString)
+        objectId = obj['succinctProperties']['cmis:objectId']
+        folder = BrowserFolder(client, repo, objectId, 
properties=obj['succinctProperties'])
+        return folder
\ No newline at end of file


Reply via email to