Custom - dbOnDelete
Page
- dernière modification par Thomas Bazin le 2014/10/06 15:33
Cette méthode est appelée avant qu’une entité soit supprimée de la base de données.
Java
L’exemple suivante explique comment réaliser des traces techniques. Voir dbPostDelete pour le complément.
private static final String BEAN_TO_LOG = ”beanToLog”;
@Override
public void dbOnDelete(E bean, Action action, RequestContext ctx) {
if (isHistoryEnabled(bean)) {
E oldBean = DB.get(bean.name(), bean.getPrimaryKey(), ctx);
ctx.getAttributes().put(BEAN_TO_LOG, oldBean);
}
super.dbOnDelete(bean, action, ctx);
}
private boolean isHistoryEnabled(E bean) {
// Pour éviter une StackOverflowError compte tenu que LibHistory est une entité comme les autres, donc
dbOnSave est également appelée quand LibHistory est enregistré en base.
boolean isBeanOk = !bean.getClass().isAssignableFrom(LibHistory.class);
// La méthode MessageUtils.getServerProperty retourne une propriété stockée dans le fichier server.properties.
return isBeanOk && Boolean.valueOf(MessageUtils.getServerProperty(”history.enabled”));
}