diff --git a/Bench4Q-Share/src/main/java/org/bench4q/share/models/agent/scriptrecord/ScheduleModel.java b/Bench4Q-Share/src/main/java/org/bench4q/share/models/agent/scriptrecord/ScheduleModel.java index 8d9a9101..2b5e6c56 100644 --- a/Bench4Q-Share/src/main/java/org/bench4q/share/models/agent/scriptrecord/ScheduleModel.java +++ b/Bench4Q-Share/src/main/java/org/bench4q/share/models/agent/scriptrecord/ScheduleModel.java @@ -7,12 +7,10 @@ import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -@XmlRootElement public class ScheduleModel { private List points; - @XmlElementWrapper(name = "points") - @XmlElement(name = "point") + public List getPoints() { return points; } @@ -45,22 +43,28 @@ public class ScheduleModel { return result; } - @XmlRootElement public static class PointModel { // Time Unit is second private long timeInSecond; private int load; - @XmlElement + + public PointModel() { + } + + public PointModel(long timeInSecond, int load) { + this.setTimeInSecond(timeInSecond); + this.setLoad(load); + } + public long getTimeInSecond() { return timeInSecond; } - public void setTimeInSecond(long time) { - this.timeInSecond = time; + public void setTimeInSecond(long timeInSecond) { + this.timeInSecond = timeInSecond; } - @XmlElement public int getLoad() { return load; } @@ -68,13 +72,5 @@ public class ScheduleModel { public void setLoad(int load) { this.load = load; } - - public PointModel() { - } - - public PointModel(long timeInSecond, int load) { - this.timeInSecond = timeInSecond; - this.load = load; - } } } diff --git a/Bench4Q-Web/src/main/java/org/bench4q/web/model/WebScriptModel.java b/Bench4Q-Web/src/main/java/org/bench4q/web/model/WebScriptModel.java index f1ced4f8..886f47bb 100644 --- a/Bench4Q-Web/src/main/java/org/bench4q/web/model/WebScriptModel.java +++ b/Bench4Q-Web/src/main/java/org/bench4q/web/model/WebScriptModel.java @@ -14,7 +14,7 @@ public class WebScriptModel { public WebScriptModel(int id, int load, ScheduleModel scheduleModel, String filterTypeMatches) { this.id = id; - this.scheduleModel = scheduleModel; + this.setScheduleModel(scheduleModel); this.filterTypeMatches = filterTypeMatches; } @@ -34,13 +34,7 @@ public class WebScriptModel { this.isFilterTimer = timer; } - public ScheduleModel getScheduleModel() { - return scheduleModel; - } - public void setScheduleModel(ScheduleModel scheduleModel) { - this.scheduleModel = scheduleModel; - } public String getFilterTypeMatches() { return filterTypeMatches; @@ -50,4 +44,12 @@ public class WebScriptModel { this.filterTypeMatches = filterTypeMatches; } + public ScheduleModel getScheduleModel() { + return scheduleModel; + } + + public void setScheduleModel(ScheduleModel scheduleModel) { + this.scheduleModel = scheduleModel; + } + } diff --git a/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanModels.js b/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanModels.js index 47ff7074..c65fdd4d 100644 --- a/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanModels.js +++ b/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanModels.js @@ -1,9 +1,6 @@ -function ScriptModel(ID, load, warmup, cooldown, executeRange, isFilterTimer, filterTypeMatches) { +function ScriptModel(ID, schedule, isFilterTimer, filterTypeMatches) { this.id = ID; - this.load = load; - this.warmup = warmup; - this.executeRange = executeRange; - this.cooldown = cooldown; + this.scheduleModel = schedule; this.isFilterTimer = isFilterTimer; this.filterTypeMatches = filterTypeMatches; }; diff --git a/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanServer.js b/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanServer.js index 850535bf..a4aa884f 100644 --- a/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanServer.js +++ b/Bench4Q-Web/src/main/webapp/script/TestPlan/TestPlanServer.js @@ -65,7 +65,15 @@ function getScriptId(scriptName) { return scriptId; } - +function getPointModelList(allocation,requireLoadArrayObj,executeRangeArrayObj){ + var pointModelList = new Array(); + for(var i=1;i< requireLoadArrayObj.length;i++){ + var realLoad = parseInt(parseInt(requireLoadArrayObj[i].value)*allocation/100); + var pointModel = new WebPointModel(parseInt(executeRangeArrayObj[i].value),realLoad); + pointModelList.push(pointModel); + } + return pointModelList; +} function start() { var scriptList = new Array(); @@ -73,17 +81,16 @@ function start() { ipList = getIpList(); var input = $("#userConfig").find("tbody").find("tr").find(".allocation-input"); var allocationList = new Array(); - var loadList = new Array(); - var requireLoad = parseInt($("#RequireLoad").val()); var scriptList = new Array(); var scriptIdList = new Array(); - var warmUp = parseInt($("#WarmUp").val()); - var coolDown = parseInt($("#CoolDown").val()); - var executeRange = parseInt($("#ExecuteRange").val()); + + // + var requireLoadArrayObj = $("#test-plan-continuous").find("input[name='RequireLoad']"); + var executeRangeArrayObj = $("#test-plan-continuous").find("input[name='ExecuteRange']"); + for ( var i = 0; i < input.length; i++) allocationList.push(parseInt(input[i].value)); - for ( var j = 0; j < input.length; j++) - loadList.push(parseInt(requireLoad * allocationList[j] / 100)); + scriptIdList = getScriptIdList(); var isFilterTimer = false; @@ -104,8 +111,8 @@ function start() { filterTypeMatches = filterTypeMatches.substring(0,filterTypeMatches.length-1); for ( var k = 0; k < input.length; k++){ - scriptList.push(new ScriptModel(scriptIdList[k], loadList[k], warmUp, - coolDown, executeRange,isFilterTimer,filterTypeMatches)); + var scheduleModel = new WebScheduleModel(getPointModelList(allocationList[k],requireLoadArrayObj,executeRangeArrayObj)); + scriptList.push(new ScriptModel(scriptIdList[k],scheduleModel ,isFilterTimer,filterTypeMatches)); }