src/js/serializers/PlatformSerializer.js
branchnew-model
changeset 872 d777d05a16e4
parent 868 a525cc2214e7
child 875 43629caa77bc
--- a/src/js/serializers/PlatformSerializer.js	Wed Apr 18 18:58:44 2012 +0200
+++ b/src/js/serializers/PlatformSerializer.js	Thu Apr 19 19:20:41 2012 +0200
@@ -77,8 +77,8 @@
             serialized_name : "annotations",
             deserializer : function(_data, _source) {
                 var _res = new IriSP.Model.Annotation(_data.id, _source);
-                _res.title = _data.content.title;
-                _res.description = _data.content.description;
+                _res.title = _data.content.title || "";
+                _res.description = _data.content.description || "";
                 _res.created = IriSP.Model.isoToDate(_data.meta["dc:created"]);
                 var _c = parseInt(_data.color).toString(16);
                 while (_c.length < 6) {
@@ -91,6 +91,7 @@
                 _res.setBegin(_data.begin);
                 _res.setEnd(_data.end);
                 _res.creator = _data.meta["dc:creator"];
+                _res.project = _data.meta.project;
                 return _res;
             },
             serializer : function(_data, _source) {
@@ -100,13 +101,14 @@
                         title : _data.title,
                         description : _data.description
                     },
-                    media : _source.unNamespace(_data.media.contents),
+                    media : _source.unNamespace(_data.media.id),
                     meta : {
-                        "id-ref" : _source.unNamespace(_data.annotationType.contents),
+                        "id-ref" : _source.unNamespace(_data.annotationType.id),
                         "dc:created" : IriSP.Model.dateToIso(_data.created),
-                        "dc:creator" : _data.creator
+                        "dc:creator" : _data.creator,
+                        project : _source.projectId
                     },
-                    tags : _data.getTags().map(function(_el, _id) {
+                    tags : IriSP._(_data.tag.id).map(function(_d) {
                        return {
                            "id-ref" : _source.unNamespace(_id)
                        } 
@@ -127,7 +129,13 @@
         });
         return _res;
     },
+    loadData : function(_url, _callback) {
+        IriSP.jQuery.getJSON(_url, _callback)
+    },
     deSerialize : function(_data, _source) {
+        if (typeof _data !== "object" && _data === null) {
+            return;
+        }
         IriSP._(this.types).forEach(function(_type, _typename) {
             var _listdata = _data[_type.serialized_name];
             if (typeof _listdata !== "undefined") {
@@ -144,6 +152,10 @@
             }
         });
         
+        if (typeof _data.meta !== "undefined") {
+            _source.projectId = _data.meta.id;
+        }
+        
         if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") {
             _source.setCurrentMediaId(_data.meta.main_media["id-ref"]);
         }