|
HOWTO développement Sashipa
Supprimer en cascade avec Sashipa-Melba.Votre utilisateur en a marre de supprimer un à un tous les enregistrements dépendants pour pouvoir supprimer une fiche. Il préfèrerait que tous les enregistrements dépendants soient supprimés en lot lors de la suppression de la fiche.
Avertissement !Cette opération n'est pas implémentée par le convertisseur Sashipa vers Melba. Il faut donc retoucher à la main un des fichiers Java générés, puis recompiler. Cette opération reste donc réservée aux initiés à Java. De plus il faudra re-modifier le fichier généré à chaque fois qu'il sera modifié. Dans le cas d'une architecture client-database, cette opération sera le plus souvent trop lourde pour être intéressante. Mais elle reste envisageable avec une architecture client-servlet-database car le fichier retouché est celui de la servlet. La servlet ne doit être mise à jour que lors d'un changement dans les parties environnement ou architecture du code Sashipa.
Etape 1 : récupérer le source appropriéVoici la marche à suivre :
Il nous faut maintenant ajouter le code Java pour la suppression en cascade.
Etape 2 : Modifier le code JavaCertaines méthodes de la classe XxxAnalyser renvoient la valeur null. Parmi celles-là, une méthode doActionBeforeExecute attend en paramètre une requête de suppression (object MpDeleteQuery). Nous allons ajouter notre code dans cette méthode. Dans notre exemple, nous souhaitons que les adresses du contact à supprimer, soient supprimées avec le contact.
La méthode renvoie null si elle ne voit pas d'inconvénient à ce que la suppression principale ait lieue. Autrement elle renvoit un message d'erreur ce qui stoppera le processus de suppression, puis le message sera journalisé et remonté à l'utilisateur. Un objet MpDeleteQuery contient un ensemble de valeurs de clef primaire à supprimer. Dans notre code nous exécutons une requête de suppression de type "DELETE FROM CONTACTADRESSE WHERE ContactRef=XXX" pour chaque valeur de clef primaire, XXX étant la valeur de clef primaire. Pour info on travaille sur des tableaux pour prendre en compte les cas de clefs complexes.
Etape 3 : CompilerLa marche à suivre :
Une fois l'opération terminée, une bonne habitude est de faire un copier/coller du code de votre méthode Java, dans un commentaire à la fin de votre fichier source XML.
Et voilà ! Un peu compliqué mais bon, ça existe...
© Copyright 2003 Sashipa-Melba Team. Ce document de la technologie Sashipa-Melba est sous licence GNU FDL Vous pouvez le copier et modifier librement les copies tant que cette mention apparaît clairement. |