package edu.ualberta.med.biobank.dialogs.user;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import org.apache.commons.lang.StringUtils;
import edu.ualberta.med.biobank.gui.common.BgcPlugin;
public class TmpUtil {
// TODO: time pressure, heh
public static List<String> getMessages(ConstraintViolationException e) {
Set<ConstraintViolation<?>> violations = e.getConstraintViolations();
List<String> messages = new ArrayList<String>();
for (ConstraintViolation<?> violation : violations) {
String message = violation.getMessage();
messages.add(message);
}
return messages;
}
public static void displayException(Throwable t) {
String message = t.getMessage();
Throwable cause = t;
while (cause != null && cause != cause.getCause()) {
if (cause instanceof ConstraintViolationException) {
List<String> messages =
getMessages((ConstraintViolationException) cause);
message = StringUtils.join(messages, ";");
break;
}
cause = cause.getCause();
}
BgcPlugin.openAsyncError(
"Unable to Save User", message);
}
}