private List getValidationErrorsOnValuesByLovResult(String lovResult, BIObjectParameter biparam, ILovDetail lovProvDet) throws Exception {
logger.debug("IN");
List toReturn = new ArrayList();
List parameterValuesDescription = new ArrayList();
// get lov result handler
LovResultHandler lovResultHandler = new LovResultHandler(lovResult);
List values = biparam.getParameterValues();
if (values != null && values.size()>0) {
for (int i = 0; i < values.size(); i++) {
//String value = values.get(i).toString();
String value = null;
String val = values.get(i).toString();
if(val.equalsIgnoreCase("%")){
value = "%";
} else {
value = URLDecoder.decode(val, "UTF-8");
}
String description = null;
if (!value.equals("") && !lovResultHandler.containsValue(value, lovProvDet
.getValueColumnName())) {
logger.error("Parameter '" + biparam.getLabel() + "' cannot assume value '" + value + "'" +
" for user '" + ((UserProfile)this.userProfile).getUserId().toString()
+ "' with role '" + this.executionRole + "'.");
List l = new ArrayList();
l.add(biparam.getLabel());
l.add(value);
EMFUserError userError = new EMFUserError(EMFErrorSeverity.ERROR, 1077, l);
toReturn.add(userError);
description = "NOT ADMISSIBLE";
} else {
description = lovResultHandler.getValueDescription(value,
lovProvDet.getValueColumnName(), lovProvDet.getDescriptionColumnName());
}
parameterValuesDescription.add(description);
}
}