final String dataFormat,
final boolean mandatory,
final ParameterType type)
{
final Class selectedType = (Class) valueTypeComboBox.getSelectedItem();
final AbstractParameter parameter;
if (type == null || !type.isMultiSelection())
{
// single value parameter
parameter = new PlainParameter(name);
parameter.setValueType(selectedType);
}
else
{
// multi-value parameter
final Class valueType = Array.newInstance(selectedType, 0).getClass();
parameter = new StaticListParameter(name, true, false, valueType);
}
if (type != null)
{
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.TYPE, type.getInternalName());
}
if (StringUtils.isEmpty(label) == false)
{
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.LABEL, label);
}
parameter.setDefaultValue(rawDefaultValue);
parameter.setMandatory(mandatory);
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.HIDDEN,
String.valueOf(hiddenCheckBox.isSelected()));
if (StringUtils.isEmpty(dataFormat) == false)
{
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, dataFormat);
}
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DEFAULT_VALUE_FORMULA,
defaultValueFormulaField.getFormula());
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.POST_PROCESSOR_FORMULA,
postProcessingFormulaField.getFormula());
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.TIMEZONE,
timeZoneModel.getSelectedKey());
return parameter;
}