Pour être un peu plus optimiste sur le travail accompli, j'ai éclaté le code du cpeGui en plusieurs composants ayant chacun un rôle particulier :

  • CpmPanel qui a pour unique objectif de charger les différents composer et créer une chaîne de traitement
  • RunnerPanel qui se charge de générer un ''CPE'' (''Collection Processing Engine'') et de contrôler son exécution. J'espère notamment pouvoir récupérer le contenu du Logger et obtenir une barre de progression plus précise.
  • ViewerPanel qui permet de visualiser la sortie de la chaîne de traitement. L'idée est de forcer l'exécution d'un XmiWriterCasConsumer dans un répertoire configurable et générer une fusion des Type System à partir des composants du CPE. En gros, pouvoir tout visualiser sans s'encombrer d'un paramétrage redondant.

L'explosion du code s'accompagne d'une migration du code vers un modèle MVC afin de pouvoir à la longue proposer des implémentation du GUI dans des bibliothèques un peu plus intéressantes que Swing :/ Ce serait notamment sympa d'avoir quelque chose qui s'intègre bien à un bureau Linux moderne (du GTK ou du Qt), surtout en ce qui concerne les boîtes de sélection des fichiers !

Les choix d'orientation sont les miens, mais je suis ouvert aux propositions ;)

En attendant voici un peu à quoi ça ressemble pour l'instant (attention les yeux !) :

uimaexplorergui-designer.jpg uimaexplorergui-runner.jpg uimaexplorergui-viewer.jpg

Pour l'instant il n'y a rien dans l'onglet Viewer et le Runner est très sommaire, mais ça devrait se compléter par la suite, le gros du code est présent, il ne reste plus qu'à tout interfacer :) En ce qui concerne la partie création de la chaîne, j'ai fait disparaître les CAS Consumers qui n'auront plus d'existence dans la prochaine release.