Projet

Général

Profil

Actions

Bug #413

fermé

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

Ajouté par Anonyme il y a presque 14 ans. Mis à jour il y a presque 14 ans.

Statut:
Closed
Priorité:
Normal
Assigné à:
-
Catégorie:
Publication
Début:
23/05/2010
Echéance:
% réalisé:

100%

Temps estimé:
Temps passé:
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.

Mis à jour par Anonyme il y a presque 14 ans

  • Statut changé de New à Assigned

Mis à jour par Anonyme il y a presque 14 ans

  • Statut changé de Assigned à In progress...
  • Votre version de Silverpeas mis à 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).

Mis à jour par Anonyme il y a presque 14 ans

  • Statut changé de In progress... à Resolved
  • Votre version de Silverpeas changé de 5.1.2 à 5.1

Mis à jour par Nicolas Eysseric il y a presque 14 ans

  • Catégorie mis à Publication
  • Statut changé de Resolved à Closed
  • % réalisé changé de 0 à 100
Actions

Formats disponibles : Atom PDF