--- a/src/js/serializers/CinecastSerializer.js Tue May 15 15:50:19 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/* Cinecast Cinelab Serializer */
-
-if (typeof IriSP.serializers === "undefined") {
- IriSP.serializers = {}
-}
-
-IriSP.serializers.cinecast = {
- types : {
- media : {
- serialized_name : "medias",
- model_name : "media",
- deserializer : function(_data, _source) {
- var _res = new IriSP.Model.Media(_data.id, _source);
- _res.video = _data.url;
- _res.title = _data.meta.title;
- _res.description = _data.meta.synopsis;
- _res.setDuration(_data.meta.duration);
- return _res;
- },
- serializer : function(_data, _source) {
- return {
- id : _source.unNamespace(_data.id),
- url : _data.video,
- meta : {
- title : _data.title,
- synopsis : _data.description,
- duration : _data.duration.milliseconds
- }
- }
- }
- },
- tag : {
- serialized_name : "tags",
- model_name : "tag",
- deserializer : function(_data, _source) {
- var _res = new IriSP.Model.Tag(_data.id, _source);
- _res.title = _data.meta.description;
- return _res;
- },
- serializer : function(_data, _source) {
- return {
- id : _source.unNamespace(_data.id),
- meta : {
- description : _data.title
- }
- }
- }
- },
- annotationType : {
- serialized_name : "annotation_types",
- deserializer : function(_data, _source) {
- var _res = new IriSP.Model.AnnotationType(_data.id, _source);
- _res.title = _source.getNamespaced(_data.id).name;
- _res.description = _data.meta.description;
- return _res;
- },
- serializer : function(_data, _source) {
- return {
- id : _source.unNamespace(_data.id),
- meta : {
- description : _data.description
- }
- }
- }
- },
- annotation : {
- serialized_name : "annotations",
- deserializer : function(_data, _source) {
- var _res = new IriSP.Model.Annotation(_data.id, _source);
- _res.title = _data.meta.creator_name;
- _res.description = _data.content.data;
- _res.created = IriSP.Model.isoToDate(_data.meta.created);
- _res.setMedia(_data.media, _source);
- _res.setAnnotationType(_data.type);
- _res.setTags(IriSP._(_data.tags).map(function(_t) {
- if (typeof _source.contents.tag === "undefined") {
- _source.contents.tag = new IriSP.Model.List(_source.directory);
- }
- if (_source.contents.tag.hasId(_t)) {
- return _t;
- } else {
- var _id = _t.toLowerCase()
- .replace(/#/g,'')
- .replace(/^(\d)/,'_$1')
- .replace(/[áâäàã]/g,'a')
- .replace(/ç/g,'c')
- .replace(/[éèêë]/g,'e')
- .replace(/[íìîï]/g,'i')
- .replace(/ñ/g,'n')
- .replace(/[óòôöõ]/g,'o')
- .replace(/œ/g,'oe')
- .replace(/[úùûü]/g,'u')
- .replace(/ÿ/g,'y')
- .replace(/[^A-Za-z0-9_]/g,''),
- _tag = new IriSP.Model.Tag(_id, _source);
- _tag.title = _t;
- _source.contents.tag.push(_tag);
- return _id;
- }
- }));
- _res.setBegin(_data.begin);
- _res.setEnd(_data.end);
- _res.creator = _data.meta.creator;
- return _res;
- },
- serializer : function(_data, _source) {
- return {
- id : _source.unNamespace(_data.id),
- content : {
- data : _data.description
- },
- begin : _data.begin.milliseconds,
- end : _data.begin.milliseconds,
- media : _source.unNamespace(_data.media.id),
- type : _source.unNamespace(_data.annotationType.id),
- meta : {
- created : IriSP.Model.dateToIso(_data.created),
- creator : _data.creator,
- creator_name : _data.title
- },
- tags : _data.tag.id.map(function(_id) {
- return _source.unNamespace(_id)
- })
- }
- }
- }
- },
- serialize : function(_source) {
- var _res = {
- format : "http://advene.org/ns/cinelab/"
- },
- _this = this,
- _nsls = _source.listNamespaces(true);
- _res.imports = [];
- for (var _i = 0; _i < _nsls.length; _i++) {
- if (typeof _source.directory.namespaces[_nsls[_i]] !== "undefined") {
- _res.imports.push({
- id : _nsls[_i],
- url : _source.directory.namespaces[_nsls[_i]]
- })
- }
- }
- _source.forEach(function(_list, _typename) {
- if (typeof _this.types[_typename] !== "undefined") {
- _res[_this.types[_typename].serialized_name] = _list.map(function(_el) {
- return _this.types[_typename].serializer(_el, _source);
- });
- }
- });
- return _res;
- },
- loadData : function(_url, _callback) {
- IriSP.jQuery.getJSON(_url, _callback)
- },
- deSerialize : function(_data, _source) {
- if (typeof _data !== "object" || _data === null) {
- return;
- }
- if (typeof _data.imports !== "undefined") {
- IriSP._(_data.imports).forEach(function(_import) {
- _source.directory.namespaces[_import.id] = _import.url;
- })
- }
- IriSP._(this.types).forEach(function(_type, _typename) {
- var _listdata = _data[_type.serialized_name];
- if (typeof _listdata !== "undefined" && _listdata !== null) {
- var _list = new IriSP.Model.List(_source.directory);
- if (_listdata.hasOwnProperty("length")) {
- var _l = _listdata.length;
- for (var _i = 0; _i < _l; _i++) {
- _list.push(_type.deserializer(_listdata[_i], _source));
- }
- } else {
- _list.push(_type.deserializer(_listdata, _source));
- }
- _source.addList(_typename, _list);
- }
- });
-
- if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") {
- _source.setCurrentMediaId(_data.meta.id);
- }
- _source.setDefaultCurrentMedia();
- }
-}
-