testGetAllVersions and testGetLatestVersion now passing in cmislib; removing serializers.py, those live in the binding class for now
git-svn-id: https://svn.apache.org/repos/asf/chemistry/cmislib/trunk@1595102 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/cmislib/browser/binding.py b/src/cmislib/browser/binding.py
index 57f43e2..66b7b17 100644
--- a/src/cmislib/browser/binding.py
+++ b/src/cmislib/browser/binding.py
@@ -1734,7 +1734,13 @@
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 @@
**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 @@
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 @@
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
diff --git a/src/cmislib/browser/serializers.py b/src/cmislib/browser/serializers.py
deleted file mode 100644
index c92ec7b..0000000
--- a/src/cmislib/browser/serializers.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import json
-
-from cmislib.browser.binding import BrowserFolder
-
-
-class FolderSerializer(object):
- def toJSON(self, obj):
- pass
-
- 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