import refSubmitInfo = require("./submitinfo"); var refRequest = require("./jamsrequest"); var jamsrequest = new refRequest.JAMSRequest; import jamslogging = require("./jamslogging"); import jamshelper = require("./jamshelper"); var helper = new jamshelper.Helper(); export class Submit { // #region Properties // #endregion // #region Constructor constructor() { } // #endregion // #region Action Methods getSubmitJobInfo(submitinfo: refSubmitInfo.SubmitInfo, callback: any, configuration: any = {}) { jamsrequest.performRequestUrl("submit", "GET", cb => { var info = JSON.parse(cb); var startdate; var startdatetime = new Date(); var setdate = false; // Start Date and Start Time if (!helper.isNullOrEmpty(submitinfo.startdate)) { try { startdate = submitinfo.startdate; setdate = true; } catch (ex) { startdate = new Date().toLocaleDateString(); } } else { startdate = new Date().toLocaleDateString(); } if (submitinfo.starttime != undefined) { startdate = startdate + " " + submitinfo.starttime; setdate = true; } if (setdate) { startdatetime = new Date(startdate); info.afterTimeUTC = startdatetime; } // Batch Queue if (!helper.isNullOrEmpty(submitinfo.batchqueue)) { info.batchQueueName = submitinfo.batchqueue; } // Scheduling Priority if (!helper.isNullOrEmpty(submitinfo.priority)) { info.schedulingPriority = submitinfo.priority; } // Hold Entry if (submitinfo.holdentry) { info.hold = true; } // User Name if (!helper.isNullOrEmpty(submitinfo.username)) { info.userName = submitinfo.username; } // Override Name if (!helper.isNullOrEmpty(submitinfo.overridename)) { info.overrideName = submitinfo.overridename; } // Jobs for (var curjob in info.jobs) { // Agent Node if (!helper.isNullOrEmpty(submitinfo.agentnode)) { info.jobs[curjob].agentNode = submitinfo.agentnode; } } callback(info); }, submitinfo, configuration); } submitJob(submitinfo: refSubmitInfo.SubmitInfo, callback: any, configuration: any = {}) { this.getSubmitJobInfo(submitinfo, jobInfo => { this.submit(jobInfo, submitresult => { callback(submitresult); }, configuration); }, configuration); } submit(submitinfo: any, callback: any, configuration: any = {}) { jamsrequest.performRequestUrl("submit", "POST", jobresult => { callback(jobresult); }, submitinfo, configuration); } // #endregion // #region Methods // #endregion // #region Helper Methods // #endregion }