src/js/data.js
branchrequire-js
changeset 238 6008172a0592
parent 184 a4be54204b71
--- 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("<div></div>").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("<div></div>").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