Bonjour,

j'utilise groovy en tant que compilateur d'equation, c'est a dire que j'ai des equations comme par exemple : X = (A/B) / C avec A,B et C déjà définit en tant que variable dans la session groovy.

Dans ce contexte j'aimerais pouvoir recuperer les variables utilisées par mon equation, c'est a dire [A, B, C] apres l'execution de mon equation.

Pour l'instant mon code d'exection ressemble a ca :

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
public GroovyResult evaluate(String equation) {
        GroovyResult retValue;
        Number value = -1;
        String message = null;
        try {
            value = (Number) shell.evaluate(equation);
            MotorLogger.getInstance().log("equation : " + equation + " evalué, le resultat est : " + value);
        } catch (MissingPropertyException ex) {
            message = "Il existe un parametre inconnu dans l'equation ";
            MotorLogger.getInstance().logError(message);
            MotorLogger.getInstance().logError(ex.getMessage());
        } catch (CompilationFailedException ex) {
            message = "Erreur de compilation, verifiez votre formule ";
            MotorLogger.getInstance().logError(message);
            MotorLogger.getInstance().logError(ex.getMessage());
        } catch (Exception ex) {
            message = "Erreur incunnue";
            MotorLogger.getInstance().logError(message);
            MotorLogger.getInstance().logError(ex.getMessage());
        } finally {
            retValue = new GroovyResult(value, message);
        }
        return retValue;
    }
avez vous une idée de comment faire ceci? avec le binding je peux récupérer la liste de variable exécuté (binding.getVariables()) mais pas plus.

merci