private static void serializeQueryParams(List<QueryParam> queryParams,
OMElement queryEl, OMFactory fac) {
OMElement queryParamEl;
String paramType, sqlType, type;
int ordinal;
ParamValue defaultValue;
for (QueryParam queryParam : queryParams) {
queryParamEl = fac.createOMElement(new QName(DBSFields.PARAM));
queryParamEl.addAttribute(DBSFields.NAME, queryParam.getName(), null);
paramType = queryParam.getParamType();
if (paramType != null) {
queryParamEl.addAttribute(DBSFields.PARAM_TYPE, paramType, null);
}
sqlType = queryParam.getSqlType();
if (sqlType != null) {
queryParamEl.addAttribute(DBSFields.SQL_TYPE, sqlType, null);
}
type = queryParam.getType();
if (type != null) {
queryParamEl.addAttribute(DBSFields.TYPE, type, null);
}
ordinal = queryParam.getOrdinal();
if (ordinal > 0) {
queryParamEl.addAttribute(DBSFields.ORDINAL, String.valueOf(ordinal), null);
}
defaultValue = queryParam.getDefaultValue();
if (defaultValue != null && defaultValue.getScalarValue() != null) {
queryParamEl.addAttribute(DBSFields.ORDINAL, defaultValue.getScalarValue(), null);
}
/* add validators */
serializeValidators(queryParam.getValidators(), queryParamEl, fac);
/* add queryParam to query */
queryEl.addChild(queryParamEl);