/// <summary> /// Parse "robjects" object /// </summary> /// <param name="jroot">JObject to parse</param> /// <returns>Dictionary of RData objects (ByRef)</returns> /// <remarks></remarks> public static List <RData> parseRObjects(JObject jroot) { RData data = default(RData); List <RData> robjects = new List <RData>(); if (!(jroot["workspace"] == null)) { JObject jworkspace = jroot["workspace"].Value <JObject>(); if (!(jworkspace["objects"] == null)) { JArray jvalues = jworkspace["objects"].Value <JArray>(); foreach (var jtok in jvalues) { data = JSONSerialize.parseRObject(jtok); robjects.Add(data); } } else if (!(jworkspace["object"] == null)) { JToken jtok = jworkspace["object"].Value <JToken>(); data = JSONSerialize.parseRObject(jtok); robjects.Add(data); } } return(robjects); }
static public RProject createProject(String name, String descr, ProjectCreationOptions options, RClient client, String uri) { StringBuilder data = new StringBuilder(); //create the input String data.Append(Constants.FORMAT_JSON); data.Append("&projectname=" + HttpUtility.UrlEncode(name)); data.Append("&projectdescr=" + HttpUtility.UrlEncode(descr)); if (!(options == null)) { data.Append("&blackbox=" + options.blackbox.ToString()); if (!(options.rinputs == null)) { if (options.rinputs.Count > 0) { data.Append("&inputs="); String sJSON = JSONSerialize.createJSONfromRData(options.rinputs); data.Append(HttpUtility.UrlEncode(sJSON)); if (HTTPUtilities.DEBUGMODE == true) { Console.Write(sJSON); } } } if (!(options.preloadDirectory == null)) { data.Append("&preloadfilename=" + HttpUtility.UrlEncode(options.preloadDirectory.filename)); data.Append("&preloadfiledirectory=" + HttpUtility.UrlEncode(options.preloadDirectory.directory)); data.Append("&preloadfileauthor=" + HttpUtility.UrlEncode(options.preloadDirectory.author)); data.Append("&preloadfileversion=" + HttpUtility.UrlEncode(options.preloadDirectory.version)); } if (!(options.preloadWorkspace == null)) { data.Append("&preloadobjectname=" + HttpUtility.UrlEncode(options.preloadWorkspace.filename)); data.Append("&preloadobjectdirectory=" + HttpUtility.UrlEncode(options.preloadWorkspace.directory)); data.Append("&preloadobjectauthor=" + HttpUtility.UrlEncode(options.preloadWorkspace.author)); data.Append("&preloadobjectversion=" + HttpUtility.UrlEncode(options.preloadWorkspace.version)); } if (!(options.adoptionOptions == null)) { data.Append("&adoptworkspace=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptWorkspace)); data.Append("&adoptdirectory=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptDirectory)); data.Append("&adoptpackages=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptPackages)); } data.Append("&cluster=" + HttpUtility.UrlEncode(options.gridCluster)); } //call the server JSONResponse jresponse = HTTPUtilities.callRESTPost(uri, data.ToString(), ref client); RProject returnValue = new RProject(jresponse, client); return(returnValue); }
static public void pushObject(RProjectDetails details, List <RData> inputs, RClient client, String uri) { StringBuilder data = new StringBuilder(); //create the input String data.Append(Constants.FORMAT_JSON); data.Append("&project=" + HttpUtility.UrlEncode(details.id)); if (!(inputs == null)) { if (inputs.Count > 0) { data.Append("&inputs="); String sJSON = JSONSerialize.createJSONfromRData(inputs); data.Append(HttpUtility.UrlEncode(sJSON)); if (HTTPUtilities.DEBUGMODE == true) { Console.Write(sJSON); } } } //call the server JSONResponse jresponse = HTTPUtilities.callRESTPost(uri, data.ToString(), ref client); }
private String renderScriptImp(String scriptName, String scriptDirectory, String scriptAuthor, String scriptVersion, AnonymousProjectExecutionOptions options) { StringBuilder data = new StringBuilder(); //set the url String uri = Constants.RREPOSITORYSCRIPTRENDER; //create the input String data.Append(Constants.FORMAT_JSON); data.Append("&filename=" + HttpUtility.UrlEncode(scriptName)); data.Append("&directory=" + HttpUtility.UrlEncode(scriptDirectory)); data.Append("&author=" + HttpUtility.UrlEncode(scriptAuthor)); data.Append("&version=" + HttpUtility.UrlEncode(scriptVersion)); if (!(options == null)) { data.Append("&blackbox=" + options.blackbox.ToString()); data.Append("&recycle=" + options.recycle.ToString()); data.Append("&csvinputs=" + HttpUtility.UrlEncode(options.csvrinputs)); data.Append("&cluster=" + HttpUtility.UrlEncode(options.gridCluster)); if (!(options.rinputs == null)) { if (options.rinputs.Count > 0) { data.Append("&inputs="); String sJSON = JSONSerialize.createJSONfromRData(options.rinputs); data.Append(HttpUtility.UrlEncode(sJSON)); if (HTTPUtilities.DEBUGMODE == true) { Console.Write(sJSON); } } } if (!(options.preloadDirectory == null)) { data.Append("&preloadfilename=" + HttpUtility.UrlEncode(options.preloadDirectory.filename)); data.Append("&preloadfiledirectory=" + HttpUtility.UrlEncode(options.preloadDirectory.directory)); data.Append("&preloadfileauthor=" + HttpUtility.UrlEncode(options.preloadDirectory.author)); data.Append("&preloadfileversion=" + HttpUtility.UrlEncode(options.preloadDirectory.version)); } if (!(options.preloadWorkspace == null)) { data.Append("&preloadobjectname=" + HttpUtility.UrlEncode(options.preloadWorkspace.filename)); data.Append("&preloadobjectdirectory=" + HttpUtility.UrlEncode(options.preloadWorkspace.directory)); data.Append("&preloadobjectauthor=" + HttpUtility.UrlEncode(options.preloadWorkspace.author)); data.Append("&preloadobjectversion=" + HttpUtility.UrlEncode(options.preloadWorkspace.version)); } if (!(options.adoptionOptions == null)) { data.Append("&adoptworkspace=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptWorkspace)); data.Append("&adoptdirectory=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptDirectory)); data.Append("&adoptpackages=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptPackages)); } if (!(options.storageOptions == null)) { data.Append("&storefile=" + HttpUtility.UrlEncode(options.storageOptions.files)); data.Append("&storedirectory=" + HttpUtility.UrlEncode(options.storageOptions.directory)); data.Append("&storeobject=" + HttpUtility.UrlEncode(options.storageOptions.objects)); data.Append("&storeworkspace=" + HttpUtility.UrlEncode(options.storageOptions.workspace)); data.Append("&storenewversion=" + options.storageOptions.newVersion.ToString()); data.Append("&storepublic=" + options.storageOptions.published.ToString()); } if (!(options.routputs == null)) { if (options.routputs.Count > 0) { data.Append("&robjects="); foreach (var s in options.routputs) { data.Append(HttpUtility.UrlEncode(s) + ","); } data.Remove(data.Length - 1, 1); } } data.Append("&echooff=" + options.echooff.ToString()); data.Append("&consoleoff=" + options.consoleoff.ToString()); data.Append("&tag=" + HttpUtility.UrlEncode(options.tag)); data.Append("&graphics=" + HttpUtility.UrlEncode(options.graphicsDevice)); data.Append("&graphicswidth=" + HttpUtility.UrlEncode(options.graphicsWidth.ToString())); data.Append("&graphicsheight=" + HttpUtility.UrlEncode(options.graphicsHeight.ToString())); data.Append("&nan=" + HttpUtility.UrlEncode(options.nan)); data.Append("&infinity=" + HttpUtility.UrlEncode(options.infinity)); data.Append("&encodeDataFramePrimitiveAsVector=" + options.encodeDataFramePrimitiveAsVector.ToString()); data.Append("&enableConsoleEvents=" + options.enableConsoleEvents.ToString()); data.Append("&preloadbydirectory=" + HttpUtility.UrlEncode(options.preloadByDirectory)); } //call the server RClient client = this; String returnValue = HTTPUtilities.callRESTHTMLGet(uri + "/" + "jsessionid=" + m_cookie.Value, data.ToString(), ref client); return(returnValue); }
static public List <RProject> createProjectPool(int poolSize, ProjectCreationOptions options, RClient client, String uri) { StringBuilder data = new StringBuilder(); //create the input String data.Append(Constants.FORMAT_JSON); data.Append("&poolsize=" + poolSize.ToString()); if (!(options == null)) { data.Append("&blackbox=" + options.blackbox.ToString()); if (!(options.rinputs == null)) { if (options.rinputs.Count > 0) { data.Append("&inputs="); String sJSON = JSONSerialize.createJSONfromRData(options.rinputs); data.Append(HttpUtility.UrlEncode(sJSON)); if (HTTPUtilities.DEBUGMODE == true) { Console.Write(sJSON); } } } if (!(options.preloadDirectory == null)) { data.Append("&preloadfilename=" + HttpUtility.UrlEncode(options.preloadDirectory.filename)); data.Append("&preloadfiledirectory=" + HttpUtility.UrlEncode(options.preloadDirectory.directory)); data.Append("&preloadfileauthor=" + HttpUtility.UrlEncode(options.preloadDirectory.author)); data.Append("&preloadfileversion=" + HttpUtility.UrlEncode(options.preloadDirectory.version)); } if (!(options.preloadWorkspace == null)) { data.Append("&preloadobjectname=" + HttpUtility.UrlEncode(options.preloadWorkspace.filename)); data.Append("&preloadobjectdirectory=" + HttpUtility.UrlEncode(options.preloadWorkspace.directory)); data.Append("&preloadobjectauthor=" + HttpUtility.UrlEncode(options.preloadWorkspace.author)); data.Append("&preloadobjectversion=" + HttpUtility.UrlEncode(options.preloadWorkspace.version)); } if (!(options.adoptionOptions == null)) { data.Append("&adoptworkspace=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptWorkspace)); data.Append("&adoptdirectory=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptDirectory)); data.Append("&adoptpackages=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptPackages)); } data.Append("&cluster=" + HttpUtility.UrlEncode(options.gridCluster)); } //call the server JSONResponse jresponse = HTTPUtilities.callRESTPost(uri, data.ToString(), ref client); List <RProject> returnValue = new List <RProject>(); //Parse the response if (!(jresponse.JSONMarkup["projects"] == null)) { JArray jvalues = jresponse.JSONMarkup["projects"].Value <JArray>(); foreach (var j in jvalues) { if (j.Type != JTokenType.Null) { returnValue.Add(new RProject(new JSONResponse(j.Value <JObject>(), true, "", 0), client)); } } } return(returnValue); }
static public RProjectExecution executeCode(RProjectDetails details, String code, ProjectExecutionOptions options, RClient client, String uri) { StringBuilder data = new StringBuilder(); //create the input String data.Append(Constants.FORMAT_JSON); data.Append("&project=" + HttpUtility.UrlEncode(details.id)); data.Append("&code=" + HttpUtility.UrlEncode(code)); if (!(options == null)) { if (!(options.rinputs == null)) { if (options.rinputs.Count > 0) { data.Append("&inputs="); String sJSON = JSONSerialize.createJSONfromRData(options.rinputs); data.Append(HttpUtility.UrlEncode(sJSON)); if (HTTPUtilities.DEBUGMODE == true) { Console.Write(sJSON); } } } if (!(options.preloadDirectory == null)) { data.Append("&preloadfilename=" + HttpUtility.UrlEncode(options.preloadDirectory.filename)); data.Append("&preloadfiledirectory=" + HttpUtility.UrlEncode(options.preloadDirectory.directory)); data.Append("&preloadfileauthor=" + HttpUtility.UrlEncode(options.preloadDirectory.author)); data.Append("&preloadfileversion=" + HttpUtility.UrlEncode(options.preloadDirectory.version)); } if (!(options.preloadWorkspace == null)) { data.Append("&preloadobjectname=" + HttpUtility.UrlEncode(options.preloadWorkspace.filename)); data.Append("&preloadobjectdirectory=" + HttpUtility.UrlEncode(options.preloadWorkspace.directory)); data.Append("&preloadobjectauthor=" + HttpUtility.UrlEncode(options.preloadWorkspace.author)); data.Append("&preloadobjectversion=" + HttpUtility.UrlEncode(options.preloadWorkspace.version)); } if (!(options.adoptionOptions == null)) { data.Append("&adoptworkspace=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptWorkspace)); data.Append("&adoptdirectory=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptDirectory)); data.Append("&adoptpackages=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptPackages)); } if (!(options.storageOptions == null)) { data.Append("&storefile=" + HttpUtility.UrlEncode(options.storageOptions.files)); data.Append("&storedirectory=" + HttpUtility.UrlEncode(options.storageOptions.directory)); data.Append("&storeobject=" + HttpUtility.UrlEncode(options.storageOptions.objects)); data.Append("&storeworkspace=" + HttpUtility.UrlEncode(options.storageOptions.workspace)); data.Append("&storenewversion=" + options.storageOptions.newVersion.ToString()); data.Append("&storepublic=" + options.storageOptions.published.ToString()); } if (!(options.routputs == null)) { if (options.routputs.Count > 0) { data.Append("&robjects="); foreach (var s in options.routputs) { data.Append(HttpUtility.UrlEncode(s) + ","); } data.Remove(data.Length - 1, 1); } } data.Append("&echooff=" + options.echooff.ToString()); data.Append("&consoleoff=" + options.consoleoff.ToString()); data.Append("&tag=" + HttpUtility.UrlEncode(options.tag)); data.Append("&graphics=" + HttpUtility.UrlEncode(options.graphicsDevice)); data.Append("&graphicswidth=" + HttpUtility.UrlEncode(options.graphicsWidth.ToString())); data.Append("&graphicsheight=" + HttpUtility.UrlEncode(options.graphicsHeight.ToString())); data.Append("&nan=" + HttpUtility.UrlEncode(options.nan)); data.Append("&infinity=" + HttpUtility.UrlEncode(options.infinity)); data.Append("&encodeDataFramePrimitiveAsVector=" + options.encodeDataFramePrimitiveAsVector.ToString()); data.Append("&enableConsoleEvents=" + options.enableConsoleEvents.ToString()); data.Append("&preloadbydirectory=" + HttpUtility.UrlEncode(options.preloadByDirectory)); } //call the server JSONResponse jresponse = HTTPUtilities.callRESTPost(uri, data.ToString(), ref client); RProjectExecution returnValue = new RProjectExecution(jresponse, client); return(returnValue); }
static public RJob callJob(String name, String descr, String code, String scriptName, String scriptDirectory, String scriptAuthor, String scriptVersion, String ExternalSource, JobExecutionOptions options, RClient client, String uri) { StringBuilder data = new StringBuilder(); //create the input String data.Append(Constants.FORMAT_JSON); data.Append("&name=" + HttpUtility.UrlEncode(name)); data.Append("&descr=" + HttpUtility.UrlEncode(descr)); data.Append("&code=" + HttpUtility.UrlEncode(code)); if (ExternalSource == null) { data.Append("&rscriptname=" + HttpUtility.UrlEncode(scriptName)); data.Append("&rscriptdirectory=" + HttpUtility.UrlEncode(scriptDirectory)); data.Append("&rscriptauthor=" + HttpUtility.UrlEncode(scriptAuthor)); data.Append("&rscriptversion=" + HttpUtility.UrlEncode(scriptVersion)); } else { data.Append("&externalsource=" + HttpUtility.UrlEncode(ExternalSource)); } if (!(options == null)) { data.Append("&csvinputs=" + HttpUtility.UrlEncode(options.csvrinputs)); if (!(options.rinputs == null)) { if (options.rinputs.Count > 0) { data.Append("&inputs="); String sJSON = JSONSerialize.createJSONfromRData(options.rinputs); data.Append(HttpUtility.UrlEncode(sJSON)); if (HTTPUtilities.DEBUGMODE == true) { Console.Write(sJSON); } } } if (!(options.preloadDirectory == null)) { data.Append("&preloadfilename=" + HttpUtility.UrlEncode(options.preloadDirectory.filename)); data.Append("&preloadfiledirectory=" + HttpUtility.UrlEncode(options.preloadDirectory.directory)); data.Append("&preloadfileauthor=" + HttpUtility.UrlEncode(options.preloadDirectory.author)); data.Append("&preloadfileversion=" + HttpUtility.UrlEncode(options.preloadDirectory.version)); } if (!(options.preloadWorkspace == null)) { data.Append("&preloadobjectname=" + HttpUtility.UrlEncode(options.preloadWorkspace.filename)); data.Append("&preloadobjectdirectory=" + HttpUtility.UrlEncode(options.preloadWorkspace.directory)); data.Append("&preloadobjectauthor=" + HttpUtility.UrlEncode(options.preloadWorkspace.author)); data.Append("&preloadobjectversion=" + HttpUtility.UrlEncode(options.preloadWorkspace.version)); } if (!(options.adoptionOptions == null)) { data.Append("&adoptworkspace=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptWorkspace)); data.Append("&adoptdirectory=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptDirectory)); data.Append("&adoptpackages=" + HttpUtility.UrlEncode(options.adoptionOptions.adoptPackages)); } if (!(options.storageOptions == null)) { data.Append("&storefile=" + HttpUtility.UrlEncode(options.storageOptions.files)); data.Append("&storedirectory=" + HttpUtility.UrlEncode(options.storageOptions.directory)); data.Append("&storeobject=" + HttpUtility.UrlEncode(options.storageOptions.objects)); data.Append("&storeworkspace=" + HttpUtility.UrlEncode(options.storageOptions.workspace)); data.Append("&storenewversion=" + options.storageOptions.newVersion.ToString()); data.Append("&storepublic=" + options.storageOptions.published.ToString()); } if (!(options.routputs == null)) { if (options.routputs.Count > 0) { data.Append("&robjects="); foreach (var s in options.routputs) { data.Append(HttpUtility.UrlEncode(s) + ","); } data.Remove(data.Length - 1, 1); } } data.Append("&echooff=" + options.echooff.ToString()); data.Append("&consoleoff=" + options.consoleoff.ToString()); data.Append("&tag=" + HttpUtility.UrlEncode(options.tag)); data.Append("&graphics=" + HttpUtility.UrlEncode(options.graphicsDevice)); data.Append("&graphicswidth=" + options.graphicsWidth.ToString()); data.Append("&graphicsheight=" + options.graphicsHeight.ToString()); data.Append("&nan=" + HttpUtility.UrlEncode(options.nan)); data.Append("&infinity=" + HttpUtility.UrlEncode(options.infinity)); data.Append("&encodeDataFramePrimitiveAsVector=" + options.encodeDataFramePrimitiveAsVector.ToString()); data.Append("&enableConsoleEvents=" + options.enableConsoleEvents.ToString()); data.Append("&preloadbydirectory=" + HttpUtility.UrlEncode(options.preloadByDirectory)); if (!(options.schedulingOptions == null)) { data.Append("&schedstart=" + options.schedulingOptions.startTime.ToString()); data.Append("&schedrepeat=" + options.schedulingOptions.repeatCount.ToString()); data.Append("&schedinterval=" + options.schedulingOptions.repeatInterval.ToString()); } data.Append("&storenoproject=" + options.noProject.ToString()); data.Append("&priority=" + HttpUtility.UrlEncode(options.priority)); data.Append("&cluster=" + HttpUtility.UrlEncode(options.gridCluster)); } //call the server JSONResponse jresponse = HTTPUtilities.callRESTPost(uri, data.ToString(), ref client); RJob returnValue = new RJob(jresponse, client); return(returnValue); }