package at.ac.tuwien.iter.services.impl; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import org.apache.tapestry5.ioc.IOCUtilities; import org.apache.tapestry5.ioc.Registry; import org.apache.tapestry5.ioc.RegistryBuilder; import org.apache.tapestry5.ioc.services.RegistryShutdownHub; import org.apache.tapestry5.ioc.services.SymbolSource; import org.apache.tapestry5.ioc.services.TypeCoercer; import org.slf4j.LoggerFactory; import at.ac.tuwien.dsg.cloud.utils.CloudSymbolConstants; import at.ac.tuwien.iter.exceptions.TestExecutionException; import at.ac.tuwien.iter.loadgenerators.SinusLoadGenerator; import at.ac.tuwien.iter.modules.IterModule; import at.ac.tuwien.iter.services.AssertionService; import at.ac.tuwien.iter.services.DataCollectionService; import at.ac.tuwien.iter.services.LoadGenerator; import at.ac.tuwien.iter.services.LoadGeneratorSource; import at.ac.tuwien.iter.services.impl.evo.StopTestSuiteEvolution; import at.ac.tuwien.iter.services.impl.loadgenerators.InputSampler; import at.ac.tuwien.iter.utils.IterSymbolsNames; public class IterTest { private static final long DEFAULT_TIMEOUT = 10 * 60 * 1000l; public static void main(String[] args) throws MalformedURLException { System.getProperties().put(CloudSymbolConstants.CONFIGURATION_FILE, "src/test/resources/cloud.properties"); // TODO Auto-generated constructor stub RegistryBuilder builder = new RegistryBuilder(); // Load all the modules in the cp IOCUtilities.addDefaultModules(builder); // Load all the local modules builder.add(IterModule.class); Registry registry = builder.build(); registry.performRegistryStartup(); LoadGeneratorSource generatorSource = registry .getService(LoadGeneratorSource.class); // Setup LoadGenerator loadGenerator = new SinusLoadGenerator( LoggerFactory.getLogger(LoadGenerator.class), "SinusLoadGenerator", registry.getService(TypeCoercer.class), registry.getService(SymbolSource.class).valueForSymbol( IterSymbolsNames.TRACEGENERATOR_URL), "http://www.inf.usi.ch/phd/gambi/attachments/autocles/doodle-clients.jmx", "http://www.inf.usi.ch/phd/gambi/attachments/autocles/doodle-manifest.xml", 0.0, 30.0, 0.0, 0.01, // 100, // nBins registry.getService("RandomSinusLoadGenerator", InputSampler.class), 300); File bootstrapFile = new File(registry.getService(SymbolSource.class) .valueForSymbol(IterSymbolsNames.INPUT_FILE)); File testResultsFile = new File(registry.getService(SymbolSource.class) .valueForSymbol(IterSymbolsNames.TEST_RESULTS_FILE)); IterImpl iter = new IterImpl( // Resources LoggerFactory.getLogger(IterTest.class), // User inputs "ale", "bbv", // Experiment setup 1, 1, // Input-output testResultsFile, bootstrapFile, // Experimental Environment registry.getService(TypeCoercer.class).coerce( registry.getService(SymbolSource.class).valueForSymbol( IterSymbolsNames.JOPERA_URL), URL.class), // Experiment setup DEFAULT_TIMEOUT, true, // Bootstrap // Other services loadGenerator, registry.getService(RegistryShutdownHub.class), registry.getService(TypeCoercer.class), registry.getService(AssertionService.class), registry.getService(DataCollectionService.class), new StopTestSuiteEvolution(), generatorSource); try { iter.bootstrap(); } catch (TestExecutionException e) { e.printStackTrace(); } ; } }