restricciones para eliminar
Representan EJB, que se utilizan para validar las operaciones tales como las eliminaciones.
MongoDB no soporta el concepto de integridad referencial, por lo cual recurrimos a Rules para implementar estas validaciones.
Se usaran en los Controller en el método delete.
Como implementarlo:
Buscar todos los @Referenced donde se haga uso de el.
Injectarlo y validar si no tiene registros mediante un count()
Retorna true si es posible eliminarlo, no tiene ninguna colección dependiente.
En este ejemplo:
No se puede eliminar un articulo , si existe en la coleccion Inventario o Facturadetalle u Ordendetalle.

// <editor-fold defaultstate="collapsed" desc="isDeleted(Articulo articulo)">
public Boolean isDeleted(Articulo articulo) {
Boolean found = false;
try {
Integer count;
Document doc = new Document("articulo.idarticulo", articulo.getIdarticulo());
count = facturadetalleRepository.count(doc);
if (count > 0) {
return false;
}
count = inventarioRepository.count(doc);
if (count > 0) {
return false;
}
count = ordendetalleRepository.count(doc);
if (count > 0) {
return false;
}
} catch (Exception e) {
JsfUtil.errorMessage("isDeleted() " + e.getLocalizedMessage());
}
return true;
}
Método delete
Validar que se pueda eliminar
if (!articuloServices.isDeleted(articulo)) {
JsfUtil.warningDialog("Delete", rf.getAppMessage("waring.integridadreferencialnopermitida"));
return "";
}
Last updated
Was this helpful?