Files
AFRYCA/plugins/afryca.consensusmodel/src/afryca/consensusmodel/command/parameter/ConfigurationParameterValueConverterHelper.java
T
2026-05-22 11:14:29 +02:00

51 lines
2.0 KiB
Java

package afryca.consensusmodel.command.parameter;
import static afryca.consensusmodel.Configuration.*;
import java.util.Map;
import afryca.consensusmodel.Configuration;
import afryca.parametervalueconverterhelper.ParameterValueConverterHelper;
import afryca.parametervalueconverterhelper.ParameterValueConverterHelperException;
/**
* Configuration parameter value converter helper
*
* @author Sinbad²
* @version 3.0
*/
public class ConfigurationParameterValueConverterHelper extends ParameterValueConverterHelper {
public static final String KEY_MARK = "configurationValueKey"; //$NON-NLS-1$
public static final String VALUE_MARK = "configurationValueValue"; //$NON-NLS-1$
@Override
public Object convertToObject(String parameterValue) throws ParameterValueConverterHelperException {
Configuration result = new Configuration();
setElements(result, parameterValue);
return result;
}
private void setElements(Configuration configuration, String parameterValue)
throws ParameterValueConverterHelperException {
Map<String, String> fields = extractFieldsValue(parameterValue,
new String[] { FIELD_FILE, FIELD_CONSENSUS_MODEL, FIELD_VALUES });
configuration.setFile(getString(fields, FIELD_FILE));
configuration.setConsensusModel(getString(fields, FIELD_CONSENSUS_MODEL));
configuration.setValues(getObjectMap(fields, FIELD_VALUES, singular(FIELD_VALUES), KEY_MARK, VALUE_MARK,
ValueParameterValueConverterHelper.class, Object.class));
}
@Override
public String convertToString(Object parameterValue) throws ParameterValueConverterHelperException {
Configuration configuration = (Configuration) parameterValue;
String file = marker(configuration.getFile(), FIELD_FILE);
String consensusModel = marker(configuration.getConsensusModel(), FIELD_CONSENSUS_MODEL);
String values = markMap(configuration.getValues(), FIELD_VALUES, singular(FIELD_VALUES), KEY_MARK, VALUE_MARK,
ValueParameterValueConverterHelper.class);
return marker(new String[] { file, consensusModel, values }, ID);
}
}