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