All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.lazerycode.jmeter.configuration.RemoteArgumentsArrayBuilder Maven / Gradle / Ivy

package com.lazerycode.jmeter.configuration;

import com.lazerycode.jmeter.properties.ConfigurationFiles;
import com.lazerycode.jmeter.properties.PropertiesMapping;

import java.util.*;
import java.util.Map.Entry;

public class RemoteArgumentsArrayBuilder {

	public List buildRemoteArgumentsArray(Map propertiesMap) {
		if (propertiesMap == null) {
			return Collections.emptyList();
		}

		List result = new ArrayList<>();
		for (Entry entry : propertiesMap.entrySet()) {
			Properties properties = entry.getValue().getPropertiesFile().getProperties();
			switch (entry.getKey()) {
				case SYSTEM_PROPERTIES: 
					result.addAll(buildTypedPropertiesForContainer(JMeterCommandLineArguments.SYSTEM_PROPERTY, properties));
					break;
				case GLOBAL_PROPERTIES: 
					result.addAll(buildTypedPropertiesForContainer(JMeterCommandLineArguments.JMETER_GLOBAL_PROP, properties));
					break;
				default:
					break;
			}
		}
		return result;
	}

	private List buildTypedPropertiesForContainer(JMeterCommandLineArguments cmdLineArg, Properties props) {
		List result = new ArrayList<>();
		for (Entry e : props.entrySet()) {
			if (cmdLineArg == JMeterCommandLineArguments.SYSTEM_PROPERTY) {
				result.add(cmdLineArg.getCommandLineArgument() + e.getKey());
				result.add(e.getValue().toString());
			} else {
				result.add(cmdLineArg.getCommandLineArgument() + e.getKey() + "=" + e.getValue());
			}
		}
		return result;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy