Transformers personnalisés en boucle

Boucler un Transformer personnalisé est pratique pour les utilisateurs souhaitant tirer parti des Transformers existants (testeurs, filtres, etc) tout en déterminant des conditions de fin.

Par exemple, au lieu de réexécuter un grand nombre de fois un traitement et de réinitialiser les propriétés d'un Transformers, vous pouvez configurer un Transformer pour qu'il "boucle" jusqu'à ce que les conditions soient remplies. Cela signifie que toute entité qui entre dans le Transformers sera renvoyée à son entrée donnée si les conditions ne sont pas encore remplies.

Ces Transformers fonctionnent bien également si vous voulez créer des valeurs pour l'attribut fme_color (ou fme_fill_color), qui s'étendraient uniformément du sombre au clair indépendamment du nombre d'entités entrantes.

Note  Pour installer une boucle de Transformers basés sur des groupes (ou bloquants), consulter la section Boucler avec un Transformer bloquant.

Étapes

  1. Créez un Transformer personnalisé dans un traitement existant. Vous pourriez vouloir inclure "Loop" dans le nom. Incluez les Transformers qui constitueront les conditions de la boucle.
  1. Faire un clic droit dans le traitement et choisir Insérer un Transformer ou sélectionner dans le menu Insérer > Transformer récursif.
  1. Choisissez l'entrée à boucler (s'il y en a plus d'une). Une sortie apparaît sur le canevas, semblable à ce qui suit :

  1. Placez le Transformer dans le traitement principal et exécutez le traitement. Lorsque le Transformer en boucle atteint les paramètres prédéfinis dans les propriétés du Transformer personnalisé, le traitement est terminé.

Notes

  • Les entrées d'un Transformer en boucle sont basées sur les Transformers spécifiques au traitement FME en cours.
  • Utiliser un Visualizer pour vérifier vos résultats.
  • Publier les paramètres si vous souhaitez modifier légèrement la sortie à chaque fois que vous exécutez le traitement. Assurez-vous d'appuyer sur Ctrl+R pour exécuter le traitement afin que les paramètres vous soient demandés.

Désactiver un port d'entrée publiée

Lorsque vous voulez définir un nombre d'itérations comme paramètre d'un Transformer, vous pouvez vouloir connecter la Boucle à un autre port d'entrée. Dans ce cas, ce port d'entrée ne doit pas recevoir d'entités d'entrée externes. Pour ce faire, cliquez sur le bouton des propriétés du port d'entrée pour ouvrir la fenêtre d'édition du Transformer. A côté du nom du Transformer personnalisé, décochez la case Publié.

Les ports en entrée peuvent être reconnus grâce à la petite icône "verrou" :