package de.gebit.integrity.experiments.fixtures;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import de.gebit.integrity.fixtures.ArbitraryParameterEnumerator;
import de.gebit.integrity.fixtures.ArbitraryParameterFixtureLink;
@ArbitraryParameterFixtureLink(ArbitraryParamFixture.class)
public class ArbitraryParamEnumerator implements ArbitraryParameterEnumerator {
@Override
public List<ArbitraryParameterDefinition> defineArbitraryParameters(String aFixtureName,
Map<String, Object> someFixedParameters, List<String> aParameterPath) {
List<ArbitraryParameterDefinition> tempList = new LinkedList<ArbitraryParameterDefinition>();
tempList.add(new ArbitraryParameterDefinition("testparam1", "This is the first parameter."));
tempList.add(new ArbitraryParameterDefinition("testparam2", "This is the second parameter."));
ArbitraryParameterDefinition tempDefinition = new ArbitraryParameterDefinition("testparam3",
"This is the third parameter.");
ArbitraryParameterDefinition tempSubDefinition = new ArbitraryParameterDefinition("testparam31",
"This is a sub parameter.");
ArbitraryParameterDefinition tempSubSubDefinition = new ArbitraryParameterDefinition("testparam311",
"This is a sub sub parameter.");
tempDefinition.addSubdefinition(tempSubDefinition);
tempSubDefinition.addSubdefinition(tempSubSubDefinition);
tempDefinition.setNestedObjectParam(true);
tempList.add(tempDefinition);
return tempList;
}
@Override
public List<ArbitraryParameterDefinition> defineArbitraryResults(String aFixtureName,
Map<String, Object> someFixedParameters, List<String> aParameterPath) {
List<ArbitraryParameterDefinition> tempList = new LinkedList<ArbitraryParameterDefinition>();
tempList.add(new ArbitraryParameterDefinition("testresult1", "This is the first result."));
tempList.add(new ArbitraryParameterDefinition("testresult2", "This is the second result."));
ArbitraryParameterDefinition tempDefinition = new ArbitraryParameterDefinition(null, null);
ArbitraryParameterDefinition tempSubDefinition = new ArbitraryParameterDefinition("testresult31",
"This is a sub parameter.");
ArbitraryParameterDefinition tempSubSubDefinition = new ArbitraryParameterDefinition("testresult311",
"This is a sub sub parameter.");
tempDefinition.addSubdefinition(tempSubDefinition);
tempSubDefinition.addSubdefinition(tempSubSubDefinition);
tempList.add(tempDefinition);
return tempList;
}
}