use of io.vertigo.core.locale.MessageKey in project vertigo by KleeGroup.
the class AbstractSqlExceptionHandler method handleTooLargeValueSqlException.
/**
* @param sqle Exception base de données
*/
protected final VUserException handleTooLargeValueSqlException(final SQLException sqle) {
final MessageKey key = Resources.DYNAMO_SQL_CONSTRAINT_TOO_BIG_VALUE;
LOGGER.warn(MessageText.of(key).getDisplay(), sqle);
// On se contente de logger l'exception cause mais on ne la lie pas à l'erreur utilisateur.
return new VUserException(key);
}
use of io.vertigo.core.locale.MessageKey in project vertigo by KleeGroup.
the class AbstractSqlExceptionHandler method handleConstraintSQLException.
/**
* Traite l'exception lié à la contrainte d'intégrité.
* Et lance une KUserException avec le message par défaut passé en paramètre et une MessageKey basé sur le nom de la contrainte.
* @param sqle Exception SQL
* @param defaultMsg Message par defaut
*/
protected final VUserException handleConstraintSQLException(final SQLException sqle, final MessageKey defaultMsg) {
final String msg = sqle.getMessage();
// recherche le nom de la contrainte d'intégrité
final String constraintName = extractConstraintName(msg);
Assertion.checkNotNull(constraintName, "Impossible d''extraire le nom de la contrainte : {0}", msg);
// recherche le message pour l'utilisateur
// On crée une clé de MessageText dynamiquement sur le nom de la contrainte d'intégrité
// Ex: CK_PERSON_FULL_NAME_UNIQUE
final MessageKey constraintKey = new SQLConstraintMessageKey(constraintName);
// On récupère ici le message externalisé par défaut : Resources.DYNAMO_SQL_CONSTRAINT_IMPOSSIBLE_TO_DELETE ou Resources.DYNAMO_SQL_CONSTRAINT_ALREADY_REGISTRED)
final String defaultConstraintMsg = MessageText.of(defaultMsg).getDisplay();
final MessageText userContraintMessageText = MessageText.builder().withKey(constraintKey).withDefaultMsg(defaultConstraintMsg).build();
final VUserException constraintException = new VUserException(userContraintMessageText);
constraintException.initCause(sqle);
return constraintException;
}
Aggregations