package de.hub.emffrag.benchmarks.reference; import java.util.ArrayList; import java.util.List; import de.hub.emffrag.benchmarks.reference.ReferenceBenchmark.Command; import de.hub.emffrag.benchmarks.reference.ReferenceBenchmark.Parameters; public class ReferenceBenchmarkParameterFactory implements IParameterFactory<Parameters> { @Override public List<IParameters> createParameters() { List<IParameters> result = new ArrayList<IParameters>(); long referenceNumbers[] = new long[] { 1, 10, 100, 1000, 10000, 100000, 1000000 }; for (long references: referenceNumbers) { result.add(new Parameters(Command.importModel, references, 0)); for (int i = 0; i < 23; i++) { result.add(new Parameters(Command.runTask, references, 1)); if (references > 1) { result.add(new Parameters(Command.runTask, references, references/2)); } result.add(new Parameters(Command.runTask, references, references)); } } return result; } @Override public Parameters fromString(String parameterString) { String[] split = parameterString.split(","); return new Parameters(Command.valueOf(split[0]), Long.parseLong(split[1]), Long.parseLong(split[2])); } @Override public String toString(Parameters parameters) { return parameters.toString(); } }