Project

General

Profile

Actions

Bug #413

closed

Implémentation de l'Entity PublicationEJB - Non respect du modèle EJB en cas d'objets non trouvés

Added by Philippe Bazart over 11 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Category:
Publication
Start date:
05/23/2010
Due date:
% Done:

100%

Estimated time:
Spent time:
Navigateur:
Votre version de Silverpeas:
5.1
Système d'exploitation:
Votre base de données:
PostgreSQL
Livraison en TEST:
Livraison en PROD:

Description

Les méthodes "finder" unitaires (hors collections) ne doivent lever un ObjectNotFoundException et non pas des RuntimeException si la donnée n'est pas trouvée. Cette modification n'a pas d'impact sur le reste du code Java (puisque les méthodes déclarent bien FinderException dans la clause throws et que ces exceptions sont donc bien traitées, et probablement en levant à leur tour des RuntimeException par exemple) :

  • Correction de la méthode ejbFindByPrimaryKey(PublicationPK) pour qu'elle lève une exception de type ObjectNotFoundException lorsque la publication n'est pas trouvée, plutôt qu'un RuntimeException.
  • Idem pour la méthode ejbFindByName(PublicationPK, String).
  • Idem pour la méthode ejbFindByNameAndNodeId(PublicationPK, String, int).

Ce problème a un impact non négligeable dans le cadre d'une opération unitaire et relativement longue. La moindre erreur de recherche (qui n'est pas forcément une erreur par ailleurs) marque la transaction pour rollback sans possibilité d'intercepter l'erreur de runtime car d'abord prise en compte par le conteneur d'EJB.

Actions

Also available in: Atom PDF