final boolean isMandatory = mandatoryCheckBox.isSelected();
final ParameterType type = (ParameterType) parameterTypeModel.getSelectedItem();
if (query == null)
{
final PlainParameter parameter = new PlainParameter(name);
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.setValueType((Class) valueTypeComboBox.getSelectedItem());
parameter.setMandatory(isMandatory);
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,
(String) timeZoneModel.getSelectedKey());
return parameter;
}
final String keyColumn = (String) idComboBox.getSelectedItem();
final String textColumn = (String) displayValueComboBox.getSelectedItem();
final boolean isMultiSelect;
final String layout;
final String typeName;
if (type != null)
{
isMultiSelect = type.isMultiSelection();
layout = type.getLayout();
typeName = type.getInternalName();
}
else
{
isMultiSelect = false;
layout = null;
typeName = null;
}
final Class selectedType = (Class) valueTypeComboBox.getSelectedItem();
final Class valueType = (isMultiSelect ? Array.newInstance(selectedType, 0).getClass() : selectedType);
final DefaultListParameter parameter =
new DefaultListParameter(query, keyColumn, textColumn, name, isMultiSelect,
strictValuesCheckBox.isSelected(), valueType);
parameter.setParameterAttribute(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.LAYOUT, layout);
parameter.setParameterAttribute(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.TYPE, typeName);
parameter.setParameterAttribute(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.RE_EVALUATE_ON_FAILED_VALUES,
String.valueOf(reevaluateOnInvalidStrictParamCheckBox.isSelected()));
parameter.setParameterAttribute(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.AUTOFILL_SELECTION,
String.valueOf(autofillSelectionCheckBox.isSelected()));
if (StringUtils.isEmpty(label) == false)
{
parameter.setParameterAttribute(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.LABEL, label);
}
parameter.setMandatory(isMandatory);
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.HIDDEN,
String.valueOf(hiddenCheckBox.isSelected()));
parameter.setDefaultValue(rawDefaultValue);
if (type != null && type.isHasVisibleItems())
{
final Number visibleItemsInput = (Number) visibleItemsTextField.getValue();
if (visibleItemsInput != null && visibleItemsInput.intValue() > 0)
{
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.VISIBLE_ITEMS,
String.valueOf(visibleItemsInput));
}
}
if (StringUtils.isEmpty(dataFormat) == false)
{
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DATA_FORMAT, dataFormat);
}
parameter.setParameterAttribute
(ParameterAttributeNames.Core.NAMESPACE, ParameterAttributeNames.Core.DISPLAY_VALUE_FORMULA,
displayFormulaField.getFormula());
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,
(String) timeZoneModel.getSelectedKey());
return parameter;
}