Table des matières

Search

  1. Preface
  2. Introduction aux transformations
  3. Ports de transformation
  4. Caches de transformation
  5. Transformation Outil de validation des adresses
  6. Transformation Agrégation
  7. Transformation Association
  8. Transformation Exception d'enregistrements incorrects
  9. Transformation Convertisseur de casse
  10. Transformation Classeur
  11. Transformation Comparaison
  12. Transformation Consolidation
  13. Transformation Masquage des données
  14. Transformation Processeur de données
  15. Transformation Décision
  16. Transformation Exception d'enregistrements dupliqués
  17. Transformation Expression
  18. Transformation filtre
  19. Transformation Hiérarchique à relationnel
  20. Transformation Java
  21. Référence de l'API de transformation Java
  22. Expressions Java
  23. Transformation jointure
  24. Transformation Générateur de clés
  25. Transformation Libellé
  26. Transformation Recherche
  27. Caches de recherche
  28. Cache de recherche dynamique
  29. Transformation Correspondance
  30. Transformations Correspondance dans l'analyse de champ
  31. Transformations de correspondance dans l'analyse d'identité
  32. Transformation Fusion
  33. Transformation Normaliseur
  34. Transformation Analyseur
  35. Transformation Python
  36. Transformation Rang
  37. Transformation Lecture
  38. Transformation Relationnel à hiérarchique
  39. Transformation Consommateur de service Web REST
  40. Transformation Routeur
  41. Transformation Générateur de séquence
  42. Transformation Trieur
  43. Transformation SQL
  44. Transformation Normalisation
  45. Transformation Union
  46. Transformation Stratégie de mise à jour
  47. Transformation Consommateur de service Web
  48. Analyse des messages SOAP du service Web
  49. Génération des messages SOAP du service Web
  50. Transformation moyenne pondérée
  51. Transformation Écriture
  52. Délimiteurs de transformation

Developer Transformation Guide

Developer Transformation Guide

Optimisation push-into avec la transformation Java

Optimisation push-into avec la transformation Java

Vous pouvez activer une transformation Java active pour l'optimisation push-into si elle n'a pas d'effets secondaires et si l'optimisation n'affecte pas les résultats de mappage.
Lorsque vous configurez l'optimisation push-into pour la transformation Java, vous définissez un moyen pour la transformation Java de stocker la condition de filtre qu'elle reçoit de l'optimiseur. Ajoutez le code qui examine la condition de filtre. Si la transformation Java peut absorber la logique de filtre, la transformation Java transmet alors une condition True à l'optimiseur. L'optimiseur supprime la transformation filtre du mappage optimisé.
Lorsque vous configurez la transformation Java, vous écrivez le code qui stocke la condition de filtre en tant que métadonnées de la transformation lors de l'optimisation. Vous écrivez également le code pour récupérer la condition de filtre lors de l'exécution et pour supprimer les lignes selon la logique de filtre.
Lorsque vous définissez la transformation Java, vous ajoutez du code pour l'optimisation push-into dans l'onglet de la transformation Java
Interfaces optimiseur
. Pour accéder aux snippets de code pour l'optimisation push-into, choisissez FilterPushdownOptimizationdans le navigateur de l'onglet de la transformation
Interfaces optimiseur
.
L'outil Developer affiche les snippets de code pour activer l'optimisation push-into et pour recevoir la condition de filtre depuis l'optimiseur. Mettez à jour les snippets de code pour activer l'optimisation et pour enregistrer la logique de filtre en tant que métadonnées de la transformation.

isFilterSupported

Renvoie True pour activer l'optimisation push-into. Renvoie False pour désactiver l'optimisation push-into.
Modifiez la fonction de façon à ce qu'elle renvoie True pour activer l'optimisation push-into.
public ResultAndMessage isFilterSupported() { // To enable filter push-into optimization this function should return true // return new ResultAndMessage(true, ""); return new ResultAndMessage(false, "Filter push-into optimization is not supported"); }

pushFilter

Reçoit la condition de filtre de l'optimiseur.
Ajoutez le code pour examiner le filtre et déterminer si la logique de filtre peut être utilisée dans la transformation. Si la transformation peut absorber le filtre, utilisez alors la méthode suivante pour stocker la condition de filtre en tant que métadonnées de transformation :
storeMetadata(String key, String data)
La clé est un identifiant pour les métadonnées. Vous pouvez définir n'importe quelle chaîne en tant que clé. Les données sont celles que vous voulez stocker afin de déterminer quelles sont les lignes à retirer lors de l'exécution. Par exemple : les données peuvent être la condition de filtre que la transformation Java reçoit de l'optimiseur.
public ResultAndMessage pushFilter(InfaExpression condition) { // Add code to absorb the filter // If filter is successfully absorbed return new ResultAndMessage(true, ""); and the optimizer // will remove the filter from the mapping // If the filter is not absorbed, return new ResultAndMessage(false, msg); return new ResultAndMessage(false, "Filter push-into optimization is not supported"); }