package cz.agents.agentpolis.darptestbed.siminfrastructure.request.generator; import cz.agents.agentpolis.darptestbed.siminfrastructure.request.generator.support.GPSPositionGeneratorWithNormalDistributionFactory; import cz.agents.agentpolis.darptestbed.siminfrastructure.request.generator.support.LenientPassengerGenerator; import cz.agents.agentpolis.darptestbed.siminfrastructure.request.generator.support.RandomVehicleCapacityGenerator; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; import java.io.File; import java.io.IOException; import java.util.Random; public class LenientRequestGeneratorApp { private static final Logger LOGGER = Logger.getRootLogger(); static final String BENCHMARK_DIR = "prague"; static final String OSM_FILE_NAME = "prague"; static final int PASSENGER_REQUESTS_COUNT = 300; static final int DRIVERS_COUNT = 100; /** * @param args * @throws java.io.IOException * @throws org.codehaus.jackson.map.JsonMappingException * * @throws org.codehaus.jackson.JsonGenerationException * */ public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException { PropertyConfigurator.configure("log4j.properties"); if (args.length == 0) { args = new String[] {BENCHMARK_DIR, OSM_FILE_NAME, Integer.toString(PASSENGER_REQUESTS_COUNT), Integer.toString(DRIVERS_COUNT)}; } final String osmFileName = "../mobilitytestbedvisio/experiments/" + args[0] + "/data/" + args[1] + ".osm"; final String benchmarkDir = "../mobilitytestbedvisio/experiments/" + args[0] + "/"; Random random = new Random(0); LenientRequestGenerator generator = new LenientRequestGenerator( new GPSPositionGeneratorWithNormalDistributionFactory(0), random, 1, new ObjectMapper()); generator.generatePassengers(Integer.parseInt(args[3]), new LenientPassengerGenerator(LenientPassengerGenerator.createDayMockDistribution(0), random, generator, osmFileName, benchmarkDir), "passenger-with-requests.json", new File(osmFileName)); generator.generateDrivers(Integer.parseInt(args[2]), new RandomVehicleCapacityGenerator(5, random), "driver.json", new File( osmFileName)); } }