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

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

There is a newer version: 3.8.0
Show newest version
package com.lazerycode.jmeter.configuration;

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

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;

public class RemoteArgumentsArrayBuilder {

    /**
     * Make constructor private as this is a non-instantiable helper classes
     */
    RemoteArgumentsArrayBuilder() throws InstantiationError {
        throw new InstantiationError("This class is non-instantiable.");
    }

    public static List buildRemoteArgumentsArray(Map propertiesMap) {
        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 static 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 - 2025 Weber Informatics LLC | Privacy Policy