integration/js/segmentapi-serializer.js
author ymh <ymh.work@gmail.com>
Tue, 12 May 2015 14:31:28 +0200
changeset 162 71ceca278db9
parent 155 7e8492a5c70f
permissions -rw-r--r--
Added tag V00.15 for changeset 66287a6da65a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
155
7e8492a5c70f Compatibility fix
veltr
parents: 154
diff changeset
     1
/* START segmentapi-serializer.js */
7e8492a5c70f Compatibility fix
veltr
parents: 154
diff changeset
     2
7e8492a5c70f Compatibility fix
veltr
parents: 154
diff changeset
     3
if (typeof IriSP.serializers === "undefined") {
7e8492a5c70f Compatibility fix
veltr
parents: 154
diff changeset
     4
    IriSP.serializers = {};
7e8492a5c70f Compatibility fix
veltr
parents: 154
diff changeset
     5
}
7e8492a5c70f Compatibility fix
veltr
parents: 154
diff changeset
     6
43
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
     7
IriSP.serializers.segmentapi = {
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
     8
    deSerialize : function(_data, _source) {
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
     9
        var _annotationlist = new IriSP.Model.List(_source.directory),
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    10
            _medialist = new IriSP.Model.List(_source.directory);
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    11
        _source.addList("media", _medialist);
49
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    12
        
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    13
        function deserializeObject(_s) {
43
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    14
            var _ann = new IriSP.Model.Annotation(_s.element_id, _source),
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    15
                _media = _source.getElement(_s.iri_id);
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    16
            if (!_media) {
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    17
                _media = new IriSP.Model.Media(_s.iri_id, _source);
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    18
                _source.getMedias().push(_media);
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    19
            }
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    20
            _ann.setMedia(_s.iri_id);
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    21
            _ann.title = _s.title;
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    22
            _ann.description = _s.abstract;
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    23
            _ann.begin = new IriSP.Model.Time(_s.start_ts);
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    24
            _ann.end = new IriSP.Model.Time(_s.start_ts + _s.duration);
123
679809037606 Changes in video handling, displayed metadata and search results
veltr
parents: 50
diff changeset
    25
            _ann.keywords = (_s.tags ? _s.tags.split(",") : []);
50
89e152523cb6 Improving media page
veltr
parents: 49
diff changeset
    26
            _ann.project_id = _s.project_id;
43
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    27
            _annotationlist.push(_ann);
49
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    28
        }
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    29
        
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    30
        if (typeof _data.objects !== "undefined") {
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    31
            IriSP._(_data.objects).each(deserializeObject);
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    32
        } else {
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    33
            deserializeObject(_data);
a21b851538b2 Added Media page
veltr
parents: 43
diff changeset
    34
        }
43
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    35
        _source.addList("annotation", _annotationlist);
5a5024bc74e6 Save before weekend
veltr
parents:
diff changeset
    36
    }
154
60ca7678f074 Updated metadataplayer files
veltr
parents: 123
diff changeset
    37
};
50
89e152523cb6 Improving media page
veltr
parents: 49
diff changeset
    38
89e152523cb6 Improving media page
veltr
parents: 49
diff changeset
    39
/* END segmentapi-serializer.js */