diff -r 8f99b0df3278 -r 6008172a0592 src/js/data.js --- a/src/js/data.js Mon Nov 14 16:12:13 2011 +0100 +++ b/src/js/data.js Mon Nov 14 17:19:26 2011 +0100 @@ -1,157 +1,158 @@ /* data.js - this file deals with how the players gets and sends data */ - -IriSP.DataLoader = function() { - this._cache = {}; -}; +define(["IriSP"], function() { + IriSP.DataLoader = function() { + this._cache = {}; + }; -IriSP.DataLoader.prototype.get = function(url, callback) { - if (this._cache.hasOwnProperty(url)) { - callback(this._cache[url]); - } else { - /* we need a closure because this gets lost when it's called back */ - IriSP.jQuery.get(url, callback); - /* - IriSP.jQuery.get(url, (function(obj) { - return function(data) { - obj._cache[url] = data; - callback(obj._cache[url]); - }; - })(this)); - */ - + IriSP.DataLoader.prototype.get = function(url, callback) { + if (this._cache.hasOwnProperty(url)) { + callback(this._cache[url]); + } else { + /* we need a closure because this gets lost when it's called back */ + IriSP.jQuery.get(url, callback); + /* + IriSP.jQuery.get(url, (function(obj) { + return function(data) { + obj._cache[url] = data; + callback(obj._cache[url]); + }; + })(this)); + */ + + } } -} -/* the base abstract "class" */ -IriSP.Serializer = function(DataLoader, url) { - this._DataLoader = DataLoader; - this._url = url; - this._data = []; -}; + /* the base abstract "class" */ + IriSP.Serializer = function(DataLoader, url) { + this._DataLoader = DataLoader; + this._url = url; + this._data = []; + }; -IriSP.Serializer.prototype.serialize = function(data) { }; -IriSP.Serializer.prototype.deserialize = function(data) {}; + IriSP.Serializer.prototype.serialize = function(data) { }; + IriSP.Serializer.prototype.deserialize = function(data) {}; -IriSP.Serializer.prototype.currentMedia = function() { -}; + IriSP.Serializer.prototype.currentMedia = function() { + }; -IriSP.Serializer.prototype.sync = function(callback) { - callback.call(this, this._data); -}; + IriSP.Serializer.prototype.sync = function(callback) { + callback.call(this, this._data); + }; -IriSP.SerializerFactory = function(DataLoader) { - this._dataloader = DataLoader; -}; + IriSP.SerializerFactory = function(DataLoader) { + this._dataloader = DataLoader; + }; -IriSP.SerializerFactory.prototype.getSerializer = function(metadataOptions) { - /* This function returns serializer set-up with the correct - configuration - takes a metadata struct describing the metadata source - */ - - if (metadataOptions === undefined) - /* return an empty serializer */ - return IriSP.Serializer("", ""); - - switch(metadataOptions.type) { - case "json": - return new IriSP.JSONSerializer(this._dataloader, metadataOptions.src); - break; + IriSP.SerializerFactory.prototype.getSerializer = function(metadataOptions) { + /* This function returns serializer set-up with the correct + configuration - takes a metadata struct describing the metadata source + */ - case "dummy": /* only used for unit testing - not defined in production */ - return new IriSP.MockSerializer(this._dataloader, metadataOptions.src); - break; - - case "empty": - return new IriSP.Serializer("", "empty"); - break; + if (metadataOptions === undefined) + /* return an empty serializer */ + return IriSP.Serializer("", ""); + + switch(metadataOptions.type) { + case "json": + return new IriSP.JSONSerializer(this._dataloader, metadataOptions.src); + break; - default: - return undefined; - } -}; + case "dummy": /* only used for unit testing - not defined in production */ + return new IriSP.MockSerializer(this._dataloader, metadataOptions.src); + break; + + case "empty": + return new IriSP.Serializer("", "empty"); + break; + + default: + return undefined; + } + }; -IriSP.getMetadata = function() { - - IriSP.jQuery.ajax({ - dataType: IriSP.config.metadata.load, - url:IriSP.config.metadata.src, - success : function( json ){ - - IriSP.trace( "ajax", "success" ); - - // START PARSING ----------------------- - if( json === "" ){ - alert( "Json load error" ); - } else { - // # CREATE MEDIA // - // # JUSTE ONE PLAYER FOR THE MOMENT // - //__IriSP.jQuery("
").appendTo("#output"); - var MyMedia = new __IriSP.Media( - json.medias[0].id, - json.medias[0].href, - json.medias[0]['meta']['dc:duration'], - json.medias[0]['dc:title'], - json.medias[0]['dc:description']); - - IriSP.trace( "__IriSP.MyApiPlayer", - IriSP.config.gui.width+" " - + IriSP.config.gui.height + " " - + json.medias[0].href + " " - + json.medias[0]['meta']['dc:duration'] + " " - + json.medias[0]['meta']['item']['value']); - - // Create APIplayer - IriSP.MyApiPlayer = new __IriSP.APIplayer ( - IriSP.config.gui.width, - IriSP.config.gui.height, - json.medias[0].href, - json.medias[0]['meta']['dc:duration'], - json.medias[0]['meta']['item']['value']); - - // # CREATE THE FIRST LINE // - IriSP.trace( "__IriSP.init.main","__IriSP.Ligne" ); - IriSP.MyLdt = new __IriSP.Ligne( - json['annotation-types'][0].id, - json['annotation-types'][0]['dc:title'], - json['annotation-types'][0]['dc:description'], - json.medias[0]['meta']['dc:duration']); - - // CREATE THE TAG CLOUD // - IriSP.trace( "__IriSP.init.main","__IriSP.Tags" ); - IriSP.MyTags = new __IriSP.Tags( json.tags ); - - // CREATE THE ANNOTATIONS // - // JUSTE FOR THE FIRST TYPE // - /* FIXME: make it support more than one ligne de temps */ - IriSP.jQuery.each( json.annotations, function(i,item) { - if (item.meta['id-ref'] == IriSP.MyLdt.id) { - //__IriSP.trace("__IriSP.init.main","__IriSP.MyLdt.addAnnotation"); - IriSP.MyLdt.addAnnotation( - item.id, - item.begin, - item.end, - item.media, - item.content.title, - item.content.description, - item.content.color, - item.tags); - } - //MyTags.addAnnotation(item); - } ); - IriSP.jQuery.each( json.lists, function(i,item) { - IriSP.trace("lists",""); - } ); - IriSP.jQuery.each( json.views, function(i,item) { - IriSP.trace("views",""); - } ); - } - // END PARSING ----------------------- // - - - }, error : function(data){ - alert("ERROR : "+data); - } - }); + IriSP.getMetadata = function() { + + IriSP.jQuery.ajax({ + dataType: IriSP.config.metadata.load, + url:IriSP.config.metadata.src, + success : function( json ){ + + IriSP.trace( "ajax", "success" ); + + // START PARSING ----------------------- + if( json === "" ){ + alert( "Json load error" ); + } else { + // # CREATE MEDIA // + // # JUSTE ONE PLAYER FOR THE MOMENT // + //__IriSP.jQuery("
").appendTo("#output"); + var MyMedia = new __IriSP.Media( + json.medias[0].id, + json.medias[0].href, + json.medias[0]['meta']['dc:duration'], + json.medias[0]['dc:title'], + json.medias[0]['dc:description']); + + IriSP.trace( "__IriSP.MyApiPlayer", + IriSP.config.gui.width+" " + + IriSP.config.gui.height + " " + + json.medias[0].href + " " + + json.medias[0]['meta']['dc:duration'] + " " + + json.medias[0]['meta']['item']['value']); + + // Create APIplayer + IriSP.MyApiPlayer = new __IriSP.APIplayer ( + IriSP.config.gui.width, + IriSP.config.gui.height, + json.medias[0].href, + json.medias[0]['meta']['dc:duration'], + json.medias[0]['meta']['item']['value']); + + // # CREATE THE FIRST LINE // + IriSP.trace( "__IriSP.init.main","__IriSP.Ligne" ); + IriSP.MyLdt = new __IriSP.Ligne( + json['annotation-types'][0].id, + json['annotation-types'][0]['dc:title'], + json['annotation-types'][0]['dc:description'], + json.medias[0]['meta']['dc:duration']); + + // CREATE THE TAG CLOUD // + IriSP.trace( "__IriSP.init.main","__IriSP.Tags" ); + IriSP.MyTags = new __IriSP.Tags( json.tags ); + + // CREATE THE ANNOTATIONS // + // JUSTE FOR THE FIRST TYPE // + /* FIXME: make it support more than one ligne de temps */ + IriSP.jQuery.each( json.annotations, function(i,item) { + if (item.meta['id-ref'] == IriSP.MyLdt.id) { + //__IriSP.trace("__IriSP.init.main","__IriSP.MyLdt.addAnnotation"); + IriSP.MyLdt.addAnnotation( + item.id, + item.begin, + item.end, + item.media, + item.content.title, + item.content.description, + item.content.color, + item.tags); + } + //MyTags.addAnnotation(item); + } ); + IriSP.jQuery.each( json.lists, function(i,item) { + IriSP.trace("lists",""); + } ); + IriSP.jQuery.each( json.views, function(i,item) { + IriSP.trace("views",""); + } ); + } + // END PARSING ----------------------- // + + + }, error : function(data){ + alert("ERROR : "+data); + } + }); -} \ No newline at end of file + } +}); \ No newline at end of file