Exécution de scripts Beanshell

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Exécution de scripts Beanshell

Camila
Bonjour,

Je suis en train de faire un test pour dans mon beanshell: ouvrir puis exécuter un script beanshell en l'appelant par son path. Donc, j'ai étudié cela : https://github.com/irstv/orbisgis/blob/master/orbisgis-core/src/main/java/org/orbisgis/core/beanshell/BeanshellScript.java

J'ai donc développé le petit code ci-dessous. Or j'ai une erreur qui apparaît :

--------Erreur beanShell------------
interpreter .eval ( reader )
--------------------


Savez-vous pourquoi cette erreur s'affiche et d'où vient mon erreur...? C'est la première fois que j'utilise Interpreter et FileReader...
Je ne sais pas s'il manque quelque chose dans mon code ou pas...
Pourriez-vous m'aider à développer cela, svp ?

Merci par avance pour votre aide !
A+
Camila

-----------
File f = new File(path);
path = "/home/legroux/Bureau/essai.bsh";

        if (f.exists()) {
                                                  Interpreter interpreter = new Interpreter();
                                                  DataManager dm = Services.getService(DataManager.class);
                     
  interpreter.setClassLoader(dm.getDataSourceFactory().getClass().getClassLoader());
                                FileReader reader = new FileReader(f);
                                interpreter.eval(reader);
        }


Reply | Threaded
Open this post in threaded view
|

Re: Exécution de scripts Beanshell

Nicolas F.
Administrator
Bonjour Camila,

Je viens de réintégrer BeanShell dans OrbisGIS 4.0 monomap, les messages d'erreurs sont plus précis maintenant. Tu peux récupérer la dernière version à l'adresse

 http://jenkins.orbisgis.org/job/Monomap%20deployer/lastBuild/deployedArtifacts/download/artifact.1/

Pour accéder à la fenêtre BeanShell c'est dans le menu en haut "Fenêtre" puis BeanShell.

-Nicolas
Reply | Threaded
Open this post in threaded view
|

Re: Exécution de scripts Beanshell

Camila
In reply to this post by Camila
Bonjour,

OK !
Merci! je travaillerais donc uniquement sur cette version là dorénavant !

cdlt,
Camila
Reply | Threaded
Open this post in threaded view
|

Re: Exécution de scripts Beanshell

Camila
In reply to this post by Nicolas F.
Bonjour !

Je reviens vers vous car après avoir fait plusieurs tests pour exécuter un script beanshell en l'appelant par son path.

Cette fois-ci, je n'ai aucune erreur lorsque je lance le script ci-dessous... Néanmoins, le fichier que j'appelle ne s'exécute pas (alors que si je le lance manuellement, ça fonctionne...)

Est-ce que ça serait possible de me donner un petit coup de pouce ?
Merci par avance.

Camila

----------------------- SCRIPT -----------------------------------

import bsh.EvalError;
import bsh.Interpreter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import org.gdms.data.DataSourceFactory;
import org.orbisgis.core.DataManager;
import org.orbisgis.core.DefaultDataManager;
import org.orbisgis.core.Services;

String path ="/home/legroux/Bureau/essai.bsh";
File f = new File(path);
if (f.exists()){
                        DataSourceFactory dsf = new DataSourceFactory();
               dsf.loadPlugins();
               Services.registerService(
               DataManager.class,
                        "Access to the sources, to its properties (indexes, etc.) and its contents, either raster or vectorial",
                        new DefaultDataManager(dsf));

                                                  Interpreter interpreter = new Interpreter();
                                interpreter.setOut(System.out);
                                DataManager dm = Services.getService(DataManager.class);
                                   interpreter.setClassLoader(dm.getDataSourceFactory().getClass().getClassLoader());
                                interpreter.set("dsf", dm.getDataSourceFactory());
                                interpreter.eval("setAccessibility(true)");
                                FileReader reader = new FileReader(f);
                                interpreter.eval(reader);
}
Reply | Threaded
Open this post in threaded view
|

Re: Exécution de scripts Beanshell

Camila
Bonjour,

Juste pour signaler qu'en fait j'ai trouvé, c'était BEAUCOUP plus simple que ce que j'avais commencé à faire... !! Désolée de vous avoir dérangé.

Ci-dessous le script pour d'autres utilisateurs qui seraient intéressés :

----------- SCRIPT --------------------------------
import bsh.EvalError;
import bsh.Interpreter;
import java.io.File;

String path ="/home/legroux/PLATEFORME_ACCLIMAT/INDICATEURS/C_socio_economie/C6_repartition_des_secteurs_d_activite/secteurs_activite.bsh";

File f = new File(path);

if (f.exists()){

                                this.interpreter.source(path);

}

-------------------------------------------------------------------------------

Tout simplement !

Bonne fin de journée .
Cordialement,

Camila