[ Home ] – [ Research ] – [ Teaching ] – [ Misc ]


Le plugin LinguaStream "System Pipe"

Du nom de son composant le plus représentatif.

Objectifs

Cette extension LinguaStream (plugin LS) se veut accroître les moyens d'interaction de LS avec le système d'exploitation et les logiciels disponibles en ligne de commande (tels que cat, echo, find, env, grep, netcat, ssh, perl… ). Il s'agit d'une solution d'intégration peu pérenne mais définitivement peu coûteuse à mettre en oeuvre.

L'extension offre ainsi les composants System Source et System Pipe qui permettent :

  • de récupérer au sein d'LS toute sortie de logiciel disponible en ligne de commande (commande système ou autre),
  • de diriger un flux LS vers un logiciel disponible en ligne de commande (et éventuellement d'en récupérer sa sortie),
  • de spécifier si le flux doit être présenté en entrée standard de la commande ou bien en paramètre, ou bien sous quel shell doit être exécuté la commande.

En natif, LS offre des composants qui remplissent partiellement cet objectif. LS propose des composants de récupération spécifiques de certains types de source (fichier, zip, url, …). Il propose aussi des composants de redirection vers des sorties terminales (fichier, observer interne, …).

Téléchargement

Actuellement distribué en l'état, la distribution est susceptible d'évoluer suivant la licence de LS. Me contacter pour l'accès au code source.

System Pipe (Dernière version : 07-11-06)

Testé avec :

LS Version        :  2.0.1 
Java VM           :  Sun Microsystems Inc. 1.5.0_06
System            :  Linux 2.6.22-14-generic i386

Description

L'extension est constitué de deux composants accessibles dans LS sous l'onglet Components en suivant les chemins suivants :

Structure >

  • Sources > SystemSource :
    • execute une commande passée en paramètre et disponible dans l'environnement du système, redirige la sortie du résultat de ce traitement dans le flux de sortie du composant. Ce composant peut simuler le composant “Source File” en passant en entrée la commande “cat /nom/d/un/fichier”
    • PARAM : commandLine, la commande à executer
    • OUT : un flux de données
  • Pipe > SystemPipe : récupère le flux d'entrée du composant, le redirige dans une commande passée en paramètre et disponible dans l'environnement du système, puis redirige la sortie du résultat de ce traitement dans le flux de sortie du composant.
    • PARAM : commandLine, la commande à executer
    • PARAM : shell, le shell dans lequel est exécuté la commande
    • PARAM : pipedAndNotAsArgument, permet de spécifier si le flux d'entrée doit être pipé dans la commande ou présenté comme un fichier argument de la commande (à savoir le dernier argument qui sera passé à la commande)
    • IN : un flux de données
    • OUT : un flux de données

Usage

System Source

System Pipe

En attaché ici un exemple de chaîne LS qui réalise un simple //wc -w// (echo-wc.ls) (comptage de mots) sur la sortie récupérée de l'echo du composant System Source précédent ; là, la capture d'écran correspondante (echo-wc.ls.png).

Ce qu'il reste à faire

On peut se demander si l'on crée ou non un seul composant réalisant telle ou telle fonction suivant ses paramètres.

System Source

  • Erreur command line vide gérée mais écrire une classe exception dédiée pour faire plus propre

System Pipe

  • Erreur command line vide gérée mais écrire une classe exception dédiée pour faire plus propre
  • Erreur commande à executer non valide indirectement pris en compte par une alerte de chaîne résultat vide : à gérer

 
misc/software/ls/plugins/systempipe.txt · Last modified: 2010/05/13 12:35 (external edit)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki