add new test for parameterization
add new test for parameterization
This commit is contained in:
parent
fbd59fd03f
commit
28ff64a432
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -0,0 +1 @@
|
|||
row1;10;11~row2;20;21~row3,30,31~
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<runScenario>
|
||||
<definedParams/>
|
||||
<pages>
|
||||
<page>
|
||||
<batches>
|
||||
|
|
|
@ -91,4 +91,10 @@ public class ParamFormatParser {
|
|||
public boolean isArgsStringLegal() {
|
||||
return !(this.getArgsString() == null || this.getArgsString().isEmpty());
|
||||
}
|
||||
|
||||
static String buildFullPath(String simpleClassName) {
|
||||
return ParamFormatParser.class.getName().substring(0,
|
||||
ParamFormatParser.class.getName().lastIndexOf('.'))
|
||||
+ "." + simpleClassName;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.bench4q.agent.Main;
|
||||
import org.bench4q.agent.scenario.DefinedParameter;
|
||||
|
||||
public class ParametersFactory {
|
||||
private Map<String, Object> objMap = new HashMap<String, Object>();
|
||||
|
@ -36,6 +37,7 @@ public class ParametersFactory {
|
|||
|
||||
public Object getObjWithGuardExist(String className) {
|
||||
Object result = null;
|
||||
className = ParamFormatParser.buildFullPath(className);
|
||||
if (!guardClassExist(className))
|
||||
throw new NullPointerException("Not find " + className);
|
||||
mapRWLock.readLock().lock();
|
||||
|
@ -76,4 +78,8 @@ public class ParametersFactory {
|
|||
mapRWLock.writeLock().unlock();
|
||||
}
|
||||
}
|
||||
|
||||
public void createParaInstanceWith(DefinedParameter dP) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,29 +39,22 @@ public class VUserContext implements SessionObject {
|
|||
}
|
||||
|
||||
private String getParameter(ParamFormatParser paraFormat) {
|
||||
String result;
|
||||
result = this.getParameterByContext(paraFormat.getName());
|
||||
String result = this.getParameterByContext(paraFormat.getName());
|
||||
if (result != null)
|
||||
return result;
|
||||
String[] argsArray = paraFormat.getArgsArray();
|
||||
if (paraFormat.getParamType().equals("crossThread")) {
|
||||
result = this.getParameterCrossThread(paraFormat.getName(),
|
||||
buildFullPath(paraFormat.getClassName()),
|
||||
paraFormat.getMethodName(), argsArray);
|
||||
paraFormat.getClassName(), paraFormat.getMethodName(),
|
||||
argsArray);
|
||||
} else if (paraFormat.getParamType().equals("inThread")) {
|
||||
result = this.getParameterInThread(paraFormat.getName(),
|
||||
buildFullPath(paraFormat.getClassName()),
|
||||
ParamFormatParser.buildFullPath(paraFormat.getClassName()),
|
||||
paraFormat.getMethodName(), argsArray);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private static String buildFullPath(String simpleClassName) {
|
||||
return ParamFormatParser.class.getName().substring(0,
|
||||
ParamFormatParser.class.getName().lastIndexOf('.'))
|
||||
+ "." + simpleClassName;
|
||||
}
|
||||
|
||||
private String getParameterInThread(String name, String className,
|
||||
String functionName, Object[] args) {
|
||||
boolean hasThisClass = false;
|
||||
|
@ -164,12 +157,12 @@ public class VUserContext implements SessionObject {
|
|||
*/
|
||||
|
||||
public String getParam(String name) {
|
||||
if (!satisfyContraints(name))
|
||||
if (!isParamStyle(name))
|
||||
return name;
|
||||
return this.getParameter(ParamFormatParser.parseInputParameter(name));
|
||||
}
|
||||
|
||||
private boolean satisfyContraints(String name) {
|
||||
private boolean isParamStyle(String name) {
|
||||
return name.startsWith("<parameters") && name.endsWith("/>");
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
package org.bench4q.agent.scenario;
|
||||
|
||||
public class DefinedParameter {
|
||||
private String name;
|
||||
private String type;
|
||||
private String pickOrder;
|
||||
private String updateStrategy;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
private void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
private void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getPickOrder() {
|
||||
return pickOrder;
|
||||
}
|
||||
|
||||
private void setPickOrder(String pickOrder) {
|
||||
this.pickOrder = pickOrder;
|
||||
}
|
||||
|
||||
public String getUpdateStrategy() {
|
||||
return updateStrategy;
|
||||
}
|
||||
|
||||
private void setUpdateStrategy(String updateStrategy) {
|
||||
this.updateStrategy = updateStrategy;
|
||||
}
|
||||
|
||||
public DefinedParameter(String name, String type, String pickOrder,
|
||||
String updateStrategy) {
|
||||
this.setName(name);
|
||||
this.setType(type);
|
||||
this.setPickOrder(pickOrder);
|
||||
this.setUpdateStrategy(updateStrategy);
|
||||
}
|
||||
}
|
|
@ -1,11 +1,7 @@
|
|||
package org.bench4q.agent.scenario;
|
||||
|
||||
import org.bench4q.agent.datacollector.DataCollector;
|
||||
import org.bench4q.agent.datacollector.impl.PageResultCollector;
|
||||
|
||||
public class Page {
|
||||
private Batch[] batches;
|
||||
final private DataCollector dataCollector = new PageResultCollector();
|
||||
|
||||
public Batch[] getBatches() {
|
||||
return batches;
|
||||
|
@ -15,8 +11,4 @@ public class Page {
|
|||
this.batches = batches;
|
||||
}
|
||||
|
||||
public DataCollector getDataCollector() {
|
||||
return dataCollector;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import java.util.List;
|
|||
import org.bench4q.agent.scenario.behavior.Behavior;
|
||||
import org.bench4q.agent.scenario.behavior.BehaviorFactory;
|
||||
import org.bench4q.share.helper.MarshalHelper;
|
||||
import org.bench4q.share.models.agent.DefinedParameterModel;
|
||||
import org.bench4q.share.models.agent.ParameterModel;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
import org.bench4q.share.models.agent.scriptrecord.BatchModel;
|
||||
|
@ -16,6 +17,7 @@ import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
|||
|
||||
public class Scenario {
|
||||
private UsePlugin[] usePlugins;
|
||||
private DefinedParameter[] definedParameters;
|
||||
private Page[] pages;
|
||||
private List<Behavior> behaviors;
|
||||
|
||||
|
@ -23,15 +25,23 @@ public class Scenario {
|
|||
return usePlugins;
|
||||
}
|
||||
|
||||
public void setUsePlugins(UsePlugin[] usePlugins) {
|
||||
private void setUsePlugins(UsePlugin[] usePlugins) {
|
||||
this.usePlugins = usePlugins;
|
||||
}
|
||||
|
||||
public DefinedParameter[] getDefinedParameters() {
|
||||
return definedParameters;
|
||||
}
|
||||
|
||||
private void setDefinedParameters(DefinedParameter[] definedParameters) {
|
||||
this.definedParameters = definedParameters;
|
||||
}
|
||||
|
||||
public Page[] getPages() {
|
||||
return pages;
|
||||
}
|
||||
|
||||
public void setPages(Page[] pages) {
|
||||
private void setPages(Page[] pages) {
|
||||
this.pages = pages;
|
||||
}
|
||||
|
||||
|
@ -79,12 +89,26 @@ public class Scenario {
|
|||
Scenario scenario = new Scenario();
|
||||
scenario.setUsePlugins(new UsePlugin[runScenarioModel.getUsePlugins()
|
||||
.size()]);
|
||||
scenario.setDefinedParameters(new DefinedParameter[runScenarioModel
|
||||
.getDefinedParameters().size()]);
|
||||
scenario.setPages(new Page[runScenarioModel.getPages().size()]);
|
||||
extractUsePlugins(runScenarioModel, scenario);
|
||||
extractDefinedParameters(runScenarioModel, scenario);
|
||||
extractPages(runScenarioModel, scenario);
|
||||
return scenario;
|
||||
}
|
||||
|
||||
private static void extractDefinedParameters(
|
||||
RunScenarioModel runScenarioModel, Scenario scenario) {
|
||||
for (int i = 0; i < runScenarioModel.getDefinedParameters().size(); i++) {
|
||||
DefinedParameterModel model = runScenarioModel
|
||||
.getDefinedParameters().get(i);
|
||||
scenario.definedParameters[i] = new DefinedParameter(
|
||||
model.getName(), model.getType(), model.getPickOrder(),
|
||||
model.getUpdateStrategy());
|
||||
}
|
||||
}
|
||||
|
||||
private static void extractPages(RunScenarioModel runScenarioModel,
|
||||
Scenario scenario) {
|
||||
List<PageModel> pageModels = runScenarioModel.getPages();
|
||||
|
|
|
@ -78,6 +78,9 @@ public class ScenarioContext {
|
|||
this.parameterFactory = parameterFactory;
|
||||
}
|
||||
|
||||
private ScenarioContext() {
|
||||
}
|
||||
|
||||
public static ScenarioContext buildScenarioContext(UUID testId,
|
||||
final Scenario scenario, int poolSize) {
|
||||
ScenarioContext scenarioContext = new ScenarioContext();
|
||||
|
@ -90,9 +93,19 @@ public class ScenarioContext {
|
|||
scenarioContext.setExecutorService(executor);
|
||||
scenarioContext.setDataStatistics(new ScenarioResultCollector(testId));
|
||||
scenarioContext.setParameterFactory(new ParametersFactory(testId));
|
||||
scenarioContext.prepareForParameterization();
|
||||
return scenarioContext;
|
||||
}
|
||||
|
||||
private void prepareForParameterization() {
|
||||
if (scenario.getDefinedParameters() == null)
|
||||
return;
|
||||
for (DefinedParameter dP : this.getScenario().getDefinedParameters()) {
|
||||
// TODO:
|
||||
this.getParameterFactory().createParaInstanceWith(dP);
|
||||
}
|
||||
}
|
||||
|
||||
public VUserContext buildVUserContext() {
|
||||
return this.getParameterFactory().buildVUserContext();
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.bench4q.agent.scenario;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -62,7 +63,7 @@ public class VUser implements Runnable {
|
|||
}
|
||||
|
||||
public void doRunScenario(ScenarioContext context) {
|
||||
Map<String, Object> plugins = new HashMap<String, Object>();
|
||||
Map<String, Object> plugins = new LinkedHashMap<String, Object>();
|
||||
preparePlugins(context.getScenario(), plugins);
|
||||
for (int i = 0; i < context.getScenario().getPages().length; i++) {
|
||||
Page page = context.getScenario().getPages()[i];
|
||||
|
@ -169,4 +170,8 @@ public class VUser implements Runnable {
|
|||
plugins.put(pluginId, plugin);
|
||||
}
|
||||
}
|
||||
|
||||
public String getParam(String name) {
|
||||
return this.sessionObject.getParam(name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ import org.bench4q.share.helper.TestHelper;
|
|||
import org.junit.After;
|
||||
import org.junit.Test;
|
||||
|
||||
public class Test_InstanceCotroller {
|
||||
public class Test_VUserContext {
|
||||
/**
|
||||
* The old test case is splited by ',', but it's not robust The new test
|
||||
* case is splited by ParameterParser.parseNField, It's more robust
|
||||
|
@ -106,10 +106,8 @@ public class Test_InstanceCotroller {
|
|||
"getParameterCrossThread",
|
||||
new Class[] { String.class, String.class, String.class,
|
||||
Object[].class },
|
||||
new Object[] {
|
||||
paramFormatParser.getName(),
|
||||
"org.bench4q.agent.parameterization.impl."
|
||||
+ paramFormatParser.getClassName(),
|
||||
new Object[] { paramFormatParser.getName(),
|
||||
paramFormatParser.getClassName(),
|
||||
paramFormatParser.getMethodName(),
|
||||
paramFormatParser.getArgsArray() });
|
||||
assertEquals("11", result);
|
|
@ -65,7 +65,7 @@ public class Test_HBasePlugin {
|
|||
}
|
||||
}
|
||||
|
||||
public RunScenarioModel buildScenario(int behaviorSize) {
|
||||
public static RunScenarioModel buildScenario(int behaviorSize) {
|
||||
RunScenarioModel runScenarioModel = new RunScenarioModel();
|
||||
|
||||
List<UsePluginModel> usePluginList = new ArrayList<UsePluginModel>();
|
||||
|
@ -96,7 +96,7 @@ public class Test_HBasePlugin {
|
|||
return runScenarioModel;
|
||||
}
|
||||
|
||||
private BehaviorModel createABehavior(int i) {
|
||||
private static BehaviorModel createABehavior(int i) {
|
||||
List<ParameterModel> parameters = new ArrayList<ParameterModel>();
|
||||
parameters.add(ParameterModel.createParameter("beginTime",
|
||||
"201309111715001"));
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package org.bench4q.agent.test.scenario;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import org.bench4q.agent.scenario.Scenario;
|
||||
import org.bench4q.agent.test.plugin.Test_HBasePlugin;
|
||||
import org.bench4q.share.models.agent.DefinedParameterModel;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
import org.junit.Test;
|
||||
|
||||
public class Test_Scenario {
|
||||
|
||||
@Test
|
||||
public void testScenarioBuilderWithZeroDefinedParameter() {
|
||||
RunScenarioModel inputModel = Test_HBasePlugin.buildScenario(10);
|
||||
Scenario scenario = Scenario.scenarioBuilder(inputModel);
|
||||
assertNotNull(scenario.getDefinedParameters());
|
||||
assertEquals(0, scenario.getDefinedParameters().length);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testScenarioBuilderWithOneDefinedParameter() {
|
||||
RunScenarioModel inputModel = Test_HBasePlugin.buildScenario(10);
|
||||
inputModel.getDefinedParameters().add(
|
||||
buildDefinedParameterModel("param1", "table", "sequencial",
|
||||
"each_iteration"));
|
||||
Scenario scenario = Scenario.scenarioBuilder(inputModel);
|
||||
assertNotNull(scenario.getDefinedParameters());
|
||||
assertEquals(1, scenario.getDefinedParameters().length);
|
||||
}
|
||||
|
||||
private DefinedParameterModel buildDefinedParameterModel(String name,
|
||||
String type, String pickOrder, String updateStrategy) {
|
||||
DefinedParameterModel result = new DefinedParameterModel();
|
||||
result.setName(name);
|
||||
result.setType(type);
|
||||
result.setPickOrder(pickOrder);
|
||||
result.setUpdateStrategy(updateStrategy);
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -2,11 +2,20 @@ package org.bench4q.agent.test.scenario;
|
|||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.bench4q.agent.parameterization.impl.Para_Table;
|
||||
import org.bench4q.agent.scenario.Scenario;
|
||||
import org.bench4q.agent.scenario.ScenarioContext;
|
||||
import org.bench4q.agent.scenario.VUser;
|
||||
import org.bench4q.agent.test.plugin.Test_HBasePlugin;
|
||||
import org.bench4q.share.helper.TestHelper;
|
||||
import org.bench4q.share.models.agent.DefinedParameterModel;
|
||||
import org.bench4q.share.models.agent.RunScenarioModel;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
|
@ -17,11 +26,41 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
|||
public class Test_ScenarioContext {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
public void testBuildScenarioContext() {
|
||||
ScenarioContext context = ScenarioContext.buildScenarioContext(
|
||||
UUID.randomUUID(), new Scenario(), 20);
|
||||
assertEquals(10,
|
||||
context.getExecutor().getKeepAliveTime(TimeUnit.MINUTES));
|
||||
assertEquals(20, context.getExecutor().getMaximumPoolSize());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testForParameterization() throws IOException {
|
||||
RunScenarioModel model = Test_HBasePlugin.buildScenario(10);
|
||||
String param_name = "param1";
|
||||
UUID testId = UUID.randomUUID();
|
||||
|
||||
createParamFileAndFillParamContent(param_name, testId);
|
||||
|
||||
model.getDefinedParameters().add(
|
||||
new DefinedParameterModel(param_name, "Para_Table",
|
||||
"sequencial", "each_occurrence"));
|
||||
|
||||
ScenarioContext scenarioContext = ScenarioContext.buildScenarioContext(
|
||||
testId, Scenario.scenarioBuilder(model), 10);
|
||||
|
||||
VUser vUser = new VUser(scenarioContext);
|
||||
String firstValue = vUser.getParam(param_name);
|
||||
String secondValue = vUser.getParam(param_name);
|
||||
assertNotEquals(firstValue, secondValue);
|
||||
}
|
||||
|
||||
private void createParamFileAndFillParamContent(String param_name,
|
||||
UUID testId) throws IOException {
|
||||
File parmFile = new File(
|
||||
new Para_Table(testId).getParamFileFullPath(param_name));
|
||||
TestHelper.createFileIfNotExist(parmFile);
|
||||
FileUtils.writeStringToFile(parmFile,
|
||||
"row1;10;11~row2;20;21~row3,30,31~");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,13 +19,12 @@ public class Test_RegularExpression {
|
|||
public void test() {
|
||||
|
||||
Pattern pattern = Pattern.compile(regex2);
|
||||
|
||||
Matcher matcher = pattern.matcher(target1);
|
||||
System.out.println(matcher.matches());
|
||||
matcher.reset();
|
||||
while (matcher.find()) {
|
||||
System.out.println(matcher.group());
|
||||
}
|
||||
fail();
|
||||
assertTrue(true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
package org.bench4q.share.models.agent;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
@XmlRootElement
|
||||
public class DefinedParameterModel {
|
||||
private String name;
|
||||
private String type;
|
||||
private String pickOrder;
|
||||
private String updateStrategy;
|
||||
|
||||
@XmlElement
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@XmlElement
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@XmlElement
|
||||
public String getPickOrder() {
|
||||
return pickOrder;
|
||||
}
|
||||
|
||||
public void setPickOrder(String pickOrder) {
|
||||
this.pickOrder = pickOrder;
|
||||
}
|
||||
|
||||
@XmlElement
|
||||
public String getUpdateStrategy() {
|
||||
return updateStrategy;
|
||||
}
|
||||
|
||||
public void setUpdateStrategy(String updateStrategy) {
|
||||
this.updateStrategy = updateStrategy;
|
||||
}
|
||||
|
||||
public DefinedParameterModel() {
|
||||
}
|
||||
|
||||
public DefinedParameterModel(String name, String type, String pickOrder,
|
||||
String updateStrategy) {
|
||||
this();
|
||||
this.setName(name);
|
||||
this.setType(type);
|
||||
this.setPickOrder(pickOrder);
|
||||
this.setUpdateStrategy(updateStrategy);
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package org.bench4q.share.models.agent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
|
@ -14,6 +14,7 @@ import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;
|
|||
public class RunScenarioModel {
|
||||
private int poolSize;
|
||||
private List<UsePluginModel> usePlugins;
|
||||
private List<DefinedParameterModel> definedParameters;
|
||||
private List<PageModel> pages;
|
||||
|
||||
@XmlElement
|
||||
|
@ -35,6 +36,17 @@ public class RunScenarioModel {
|
|||
this.usePlugins = usePlugins;
|
||||
}
|
||||
|
||||
@XmlElementWrapper(name = "definedParams")
|
||||
@XmlElement(name = "definedParam")
|
||||
public List<DefinedParameterModel> getDefinedParameters() {
|
||||
return definedParameters;
|
||||
}
|
||||
|
||||
public void setDefinedParameters(
|
||||
List<DefinedParameterModel> definedParameters) {
|
||||
this.definedParameters = definedParameters;
|
||||
}
|
||||
|
||||
@XmlElementWrapper(name = "pages")
|
||||
@XmlElement(name = "page")
|
||||
public List<PageModel> getPages() {
|
||||
|
@ -46,7 +58,8 @@ public class RunScenarioModel {
|
|||
}
|
||||
|
||||
public RunScenarioModel() {
|
||||
this.setUsePlugins(new ArrayList<UsePluginModel>());
|
||||
this.setPages(new ArrayList<PageModel>());
|
||||
this.setUsePlugins(new LinkedList<UsePluginModel>());
|
||||
this.setPages(new LinkedList<PageModel>());
|
||||
this.setDefinedParameters(new LinkedList<DefinedParameterModel>());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue