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 #1

Updated by Philippe Bazart over 11 years ago

  • Status changed from New to Assigned
Actions #2

Updated by Philippe Bazart over 11 years ago

  • Status changed from Assigned to In progress...
  • Votre version de Silverpeas set to 5.1.2

Cela concerne également le cas de "node", dans les classes NodeEJB et NodeDAO :

- Correction des méthodes ejbFindByPrimaryKey(PublicationPK) et selectByPrimaryKey(Connection, NodePK) pour
qu'elles lèvent une exception de type ObjectNotFoundException lorsque le noeud n'est pas trouvé, plutôt
qu'un RuntimeException.

- Idem pour les méthodes ejbFindByNameAndFatherId(NodePK, String, int) et
selectByNameAndFatherId(Connection, NodePK, String, int).

Actions #3

Updated by Philippe Bazart over 11 years ago

  • Status changed from In progress... to Resolved
  • Votre version de Silverpeas changed from 5.1.2 to 5.1
Actions #4

Updated by Nicolas Eysseric over 11 years ago

  • Category set to Publication
  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF