Index: /issm/trunk-jpl/src/m/classes/clusters/generic.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/clusters/generic.js	(revision 20266)
+++ /issm/trunk-jpl/src/m/classes/clusters/generic.js	(revision 20267)
@@ -5,34 +5,21 @@
 
 function generic (){
+	//properties 
+	// {{{
+	var args = Array.prototype.slice.call(arguments);
+	var options = new pairoptions(args.slice(0,args.length));
+
+	this.url=options.getfieldvalue('url','');
+	this.np=options.getfieldvalue('np',3);
+	this.codepath=options.getfieldvalue('codepath','issmdir/bin');
+	this.executionpath=options.getfieldvalue('executionpath','issmdir/execution');
+	//}}}
 	//methods
-	this.setdefaultparameters = function(){// {{{
-		this.name='';
-		this.login='';
-		this.np=1;
-		this.port=0;
-		this.interactive=1;
-		this.codepath='issmdir/bin';
-		this.etcpath='issmdir/etc';
-		this.executionpath= 'issmdir/execution';
-		this.valgrind='issmdir/externalpackages/valgrind/install/bin/valgrind';
-		this.valgrindlib='issmdir/externalpackages/valgrind/install/lib/libmpidebug.so';
-		this.valgrindsup='issdir/externalpackages/valgrind/issm.supp';
-		this.verbose=1;
-		this.shell='/bin/sh';
-	}// }}}
 	this.disp= function(){// {{{
 		console.log(sprintf('   generic class echo:'));
-		console.log(sprintf('    name: %s',this.name));
-		console.log(sprintf('    login: %s',this.login));
+		console.log(sprintf('    url: "%s"',this.url));
 		console.log(sprintf('    np: %i',this.np));
-		console.log(sprintf('    port: %i',this.port));
-		console.log(sprintf('    codepath: %s',this.codepath));
-		console.log(sprintf('    executionpath: %s',this.executionpath));
-		console.log(sprintf('    etcpath: %s',this.etcpath));
-		console.log(sprintf('    valgrind: %s',this.valgrind));
-		console.log(sprintf('    valgrindlib: %s',this.valgrindlib));
-		console.log(sprintf('    valgrindsup: %s',this.valgrindsup));
-		console.log(sprintf('    verbose: %s',this.verbose));
-		console.log(sprintf('    shell: %s',this.shell));
+		console.log(sprintf('    codepath: "%s"',this.codepath));
+		console.log(sprintf('    executionpath: "%s"',this.executionpath));
 	}// }}}
 	this.classname= function(){// {{{
@@ -47,20 +34,21 @@
 			}
 		} //}}}
-	//properties 
-	// {{{
-	this.name='';
-	this.login='';
-	this.np=NaN;
-	this.port=NaN;
-	this.interactive=NaN;
-	this.codepath='';
-	this.etcpath='';
-	this.executionpath='';
-	this.valgrind='';
-	this.valgrindlib='';
-	this.valgrindsup='';
-	this.verbose=NaN;
-	this.shell='';
-	this.setdefaultparameters();
-	//}}}
-}
+		this.UploadAndRun = function (fid,toolkitsstring,solutionstring,name) { //{{{
+
+			var oReq = new XMLHttpRequest();
+			oReq.open("POST", this.url, true);
+			oReq.responseType = 'arraybuffer';
+
+			oReq.onload = function (oEvent) {
+				var returnBuffer= oReq.response.slice(); 
+				var returnBuffer_size= returnBuffer.byteLength;
+				md.results= loadresultsfrombuffer(md,returnBuffer,returnBuffer_size); 
+			};
+
+			var blob = new Blob(new Int8Array(fid.buffer), {type: 'text/plain'});
+			oReq.send(blob);
+			return;
+
+		} /*}}}*/
+
+	}
