package net.jsunit.configuration; import java.util.List; public class ArgumentsConfigurationSource implements ConfigurationSource { private List<String> arguments; public ArgumentsConfigurationSource(List<String> arguments) { this.arguments = arguments; } private String argumentValue(ConfigurationProperty property) { for (int i = 0; i < arguments.size(); i++) { if (arguments.get(i).equalsIgnoreCase("-" + property.getName())) { String value = arguments.get(i + 1); if (!value.startsWith("-")) return value; else return ""; } } return null; } public String resourceBase() { return argumentValue(ConfigurationProperty.RESOURCE_BASE); } public String port() { return argumentValue(ConfigurationProperty.PORT); } public String remoteMachineURLs() { return argumentValue(ConfigurationProperty.REMOTE_MACHINE_URLS); } public String logsDirectory() { return argumentValue(ConfigurationProperty.LOGS_DIRECTORY); } public String browserFileNames() { return argumentValue(ConfigurationProperty.BROWSER_FILE_NAMES); } public String url() { return argumentValue(ConfigurationProperty.URL); } public String ignoreUnresponsiveRemoteMachines() { return argumentValue(ConfigurationProperty.IGNORE_UNRESPONSIVE_REMOTE_MACHINES); } public String closeBrowsersAfterTestRuns() { return argumentValue(ConfigurationProperty.CLOSE_BROWSERS_AFTER_TEST_RUNS); } public String description() { return argumentValue(ConfigurationProperty.DESCRIPTION); } public String timeoutSeconds() { return argumentValue(ConfigurationProperty.TIMEOUT_SECONDS); } }