IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Déterminer le contenu de cette variable


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 56
    Par défaut Déterminer le contenu de cette variable
    Bonjour,

    Dans mon code (que j'ai téléchargé à partir d'un site ), j'ai un objet qui reçoit la sortie d'une execution d'un runtime

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
           String fichierSCRIPT = "cheminFichier";
           Object connector = null;
           connector =Runtime.getRuntime().exec(fichierSCRIPT);


    Le contenu de fichierSCRIPT:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #!/bin/ksh
    # path of graph layout program
    trap 'if [ ! -s dot.err ]; then /bin/rm -f dot.err; fi; exit' 0 1 2 3 15
    DOT=dot
    theGraph="$(/bin/cat)"
    if [ -z "$theGraph" ]
    then
        print -r - 'digraph newgraph { start [shape=ellipse, label="Start\nHere"]; }' | $DOT
    else
        GRAPH=$(print -r - "$theGraph" | $DOT 2>dot.err)
        if [ $? -eq 0 ]
        then
    	# need the pipe to get buffering
    	# (otherwise output is truncated at 2048 bytes)
            print -r -  "$GRAPH" | /bin/cat
        else
            print -r - 'digraph error { n1 [shape=plaintext, label="Your graph had an error in it!"]; }' | $DOT
        fi
    fi
    print
    if [ -s dot.err ]
    then
    	/bin/cat dot.err 1>&2
    	/bin/rm -f dot.err
    fi
    exit 0

    Franchement, j'ai essayer de comprendre ce que fait ce script mais en vain. J'arrive pas à cerner ce que contient exactement cet objet "connect".
    Pouvez vous m'aider ?

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Par défaut
    De ce que je comprend ton script est censé généré un "texte" correspondant à un graphe au format DOT. Et tout cela est envoyé via "print", donc sur le flux standard de sortie, soit ici ta console.

    Je ne sais pas vraiment ici quel est le but de "connector" car on ne voir pas son utilisation, mais je pense que tu peux te contenter simplement d'ouvrir un fichier .dot pour les tests.

    Ensuite, crée toi quelques méthodes qui vont bien histoire de générer toi même ton fichier .dot via ton code JAVA de manière simple.

    Il existe plein d'exemple simple de graphe au format .dot sur le net, en particulier dans la doc DOT

    Je ne peux que te conseiller la lecture de l'article suivant qui te montrera à quel point il est simple et pratique d'écrire un graphe en format DOT :
    http://en.wikipedia.org/wiki/DOT_language

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 56
    Par défaut
    C'est ce que je pensais aussi, mais apparament il l'utilise comme un filtre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    if(connector != null) {
     
    			if(!GrappaSupport.filterGraph(graph,connector)) {
    				System.err.println("ERROR: somewhere in filterGraph");			}
    			if(connector instanceof Process) {
    			    try {
    				int code = ((Process)connector).waitFor();
    				if(code != 0) {
    				    System.err.println("WARNING: proc exit code is: " + code);
    				}
    			    } catch(InterruptedException ex) {
    				System.err.println("Exception while closing down proc: " + ex.getMessage());
    				ex.printStackTrace(System.err);
    			    }
    			}
    			connector = null;
    et "graph" est une instance de l'objet Graph (une classe parmis une disaine de classe que j'ai télécharger aussi )

    Ce que j'essai de faire c'est de trouver une idée pour mettre la même chose que je pourrais avoir en sortie de l'exécution du Runtime dans le contenu cet objet "connector" ou même l'éliminer, mais je n'y arrive pas .

    J'ai mis dans "connector" la chaine de caractère "digraph newgraph { start [shape=ellipse, label="Start\nHere"]; }" (bien sur en ajoutant des \ ) que j'ai extraite du fichier script, mais ça n' pas marché.




    Citation Envoyé par michon Voir le message
    De ce que je comprend ton script est censé généré un "texte" correspondant à un graphe au format DOT. Et tout cela est envoyé via "print", donc sur le flux standard de sortie, soit ici ta console.

    Je ne sais pas vraiment ici quel est le but de "connector" car on ne voir pas son utilisation, mais je pense que tu peux te contenter simplement d'ouvrir un fichier .dot pour les tests.

    Ensuite, crée toi quelques méthodes qui vont bien histoire de générer toi même ton fichier .dot via ton code JAVA de manière simple.

    Il existe plein d'exemple simple de graphe au format .dot sur le net, en particulier dans la doc DOT

    Je ne peux que te conseiller la lecture de l'article suivant qui te montrera à quel point il est simple et pratique d'écrire un graphe en format DOT :
    http://en.wikipedia.org/wiki/DOT_language

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Par défaut
    juste pour info, le bouton "ajouter une réponse" se trouve en bas à gauche, pas besoin de faire "citer"

    Sinon la je vois que tu utilise Grappa, il faut donc voir dans ces méthodes ce qu'il demande en paramètre. Car connector est déclaré comme "Object", et bon... en JAVA on va dire que presque tout est objet hormis les types de base donc on peut un peu tout mettre dedans

    A voir donc dans la documentation le type de données attendu. Si tu as télecharger les classes, il doit bien y avoir une doc avec ? ou au moins des commentaires dans le code non ?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 56
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    class GrappaSupport
     
        implements GrappaConstants
     
    {
          //....
     
       /**
         * Filter the supplied graph using the given connector.
         * The connector is either a java.lang.Process or a
         * java.net.URLConnection.
         * As such, it provides an output stream to which the graph can be
         * written and an input stream from which the processed graph can be
         * read back in (to replace the original graph).
         * Such filtering is useful for processing the graph through a layout
         * engine such as the <i>dot</i> program.
         *
         * <P>Unlike previous versions of Grappa, this version does not try
         * to explicitly redraw the graph after filtering is completed.
         *
         * @param graph the graph to be processed and reset
         * @param connector a Process or URLConnector that provides an input and
         *                  output stream
         * @return true if the filtering completed successfully, false otherwise.
         */
        public static boolean filterGraph(Graph graph, Object connector) {
    	return filterGraph(graph,connector,null);
        }
                   //..........
    }
    J'ai déjà consulté cette classe mais j'ai pas compris grand chose .

    (je click sur citer pour me repérer dans des discussion vu que des fois plusieurs personne répondent )

  6. #6
    Membre chevronné

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2010
    Messages : 246
    Par défaut
    Voici la javadoc de grappa :

    http://www2.research.att.com/~john/G...paSupport.html

    et particulier de filterGraph :

    http://www2.research.att.com/~john/G...lang.String%29

    je pense que cela devrait t'aider.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher le contenu d'une variable
    Par mpat dans le forum ASP
    Réponses: 11
    Dernier message: 14/11/2005, 14h05
  2. Réponses: 7
    Dernier message: 25/10/2005, 15h19
  3. Imprimer/Visualiser le contenu d'une variable (VBS)
    Par Tartenpion dans le forum VBScript
    Réponses: 2
    Dernier message: 29/09/2005, 10h32
  4. Réponses: 3
    Dernier message: 27/07/2005, 15h12
  5. Réponses: 11
    Dernier message: 22/06/2005, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo