r3217 - in isis-fish/branches/3.3.1/src/main: java/fr/ifremer/isisfish/ui java/fr/ifremer/isisfish/ui/config resources/i18n
Author: chatellier Date: 2011-03-30 14:26:20 +0000 (Wed, 30 Mar 2011) New Revision: 3217 Log: Add R tester UI. Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigHandler.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigUI.jaxx Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeHandler.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeHandler.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeHandler.java 2011-03-30 11:32:50 UTC (rev 3216) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeHandler.java 2011-03-30 14:26:20 UTC (rev 3217) @@ -52,6 +52,8 @@ import fr.ifremer.isisfish.IsisConfig; import fr.ifremer.isisfish.IsisFish; +import fr.ifremer.isisfish.ui.config.RConfigHandler; +import fr.ifremer.isisfish.ui.config.RConfigUI; import fr.ifremer.isisfish.ui.config.SSHLauncherConfigUI; import fr.ifremer.isisfish.ui.input.InputAction; import fr.ifremer.isisfish.ui.input.InputSaveVerifier; @@ -251,29 +253,45 @@ } /** + * Display VCS config ui. * * @param welcomeUI parent ui */ public void configVCS(WelcomeUI welcomeUI) { - VCSConfigUI vcsConfig = new VCSConfigUI(); + VCSConfigUI vcsConfig = new VCSConfigUI(welcomeUI, welcomeUI); vcsConfig.pack(); - org.nuiton.widget.SwingUtil.center(vcsConfig); + vcsConfig.setLocationRelativeTo(welcomeUI); vcsConfig.setVisible(true); } /** + * Display ssh launcher config ui. * * @param welcomeUI parent ui */ public void configurationSSHLauncher(WelcomeUI welcomeUI) { - SSHLauncherConfigUI configUI = new SSHLauncherConfigUI(); + SSHLauncherConfigUI configUI = new SSHLauncherConfigUI(welcomeUI, welcomeUI); configUI.pack(); configUI.setSize(600, configUI.getHeight()); - org.nuiton.widget.SwingUtil.center(configUI); + configUI.setLocationRelativeTo(welcomeUI); configUI.setVisible(true); } /** + * Display R config tester UI. + * + * @param welcomeUI parent ui + */ + public void configurationR(WelcomeUI welcomeUI) { + RConfigUI rconfigUI = new RConfigUI(welcomeUI, welcomeUI); + RConfigHandler handler = rconfigUI.getHandler(); + handler.init(rconfigUI); + rconfigUI.pack(); + rconfigUI.setLocationRelativeTo(welcomeUI); + rconfigUI.setVisible(true); + } + + /** * Open url using default system browser. * * @param welcomeUI parent ui Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2011-03-30 11:32:50 UTC (rev 3216) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/WelcomeUI.jaxx 2011-03-30 14:26:20 UTC (rev 3217) @@ -50,6 +50,7 @@ <JMenuItem text="isisfish.welcome.menu.configuration" onActionPerformed='getHandler().config(this)'/> <JMenuItem text="isisfish.welcome.menu.configuration.vcs" onActionPerformed='getHandler().configVCS(this)' enabled="false"/> <JMenuItem text="isisfish.welcome.menu.configuration.sshlauncher" onActionPerformed='getHandler().configurationSSHLauncher(this)'/> + <JMenuItem text="isisfish.welcome.menu.configuration.r" onActionPerformed='getHandler().configurationR(this)'/> </JMenu> <JMenu text="isisfish.welcome.menu.help"> <JMenuItem text="isisfish.welcome.menu.help.isisfish" onActionPerformed='getHandler().help(this, "ISISFISH")'/> Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigHandler.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigHandler.java (rev 0) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigHandler.java 2011-03-30 14:26:20 UTC (rev 3217) @@ -0,0 +1,122 @@ +/* + * #%L + * + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 Ifremer, Codelutin, Chatellier Eric + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-2.0.html>. + * #L% + */ + +package fr.ifremer.isisfish.ui.config; + +import static org.nuiton.i18n.I18n._; + +import java.awt.Color; +import java.io.File; + +import javax.swing.JOptionPane; + +import org.apache.commons.lang.StringUtils; +import org.nuiton.j2r.REngine; +import org.nuiton.j2r.RException; +import org.nuiton.j2r.RProxy; + +/** + * Handler for R Configuration UI. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class RConfigHandler { + + /** + * Initialise l'ui. + * + * @param rconfigUI ui to init + */ + public void init(RConfigUI rconfigUI) { + String rHome = System.getenv("R_HOME"); + rconfigUI.getRHomeField().setText(rHome); + if (StringUtils.isBlank(rHome)) { + rconfigUI.getRHomeField().setBackground(Color.RED); + } + + String rType = System.getProperty("R.type"); + rconfigUI.getRTypeField().setText(rType); + if (!"net".equals(rType) && !"jni".equals(rType)) { + rconfigUI.getRTypeField().setBackground(Color.RED); + } + + // sur windows c'est potentielement ca + // sur linux, c'est pas possible + String systemPath = System.getenv("PATH"); + String rBinPath = rHome + File.separator + "bin"; + if (systemPath.contains(rBinPath)) { + rconfigUI.getSystemPathField().setBackground(Color.GREEN.brighter()); + rconfigUI.getSystemPathField().setText(_("isisfish.simulator.configuration.r.systempathok", rBinPath)); + } + else { + rconfigUI.getSystemPathField().setBackground(Color.RED); + rconfigUI.getSystemPathField().setText(_("isisfish.simulator.configuration.r.systempathnok", rBinPath)); + } + rconfigUI.getSystemPathField().setToolTipText(systemPath); + } + + /** + * Test r configuration. + * + * @param rconfigUI + */ + public void testRCOnfiguration(RConfigUI rconfigUI) { + REngine engine = null; + try { + engine = new RProxy(); + + boolean error = false; + try { + engine.eval("library('lhs')"); + } + catch (RException ex) { + JOptionPane.showMessageDialog(rconfigUI, _("isisfish.simulator.configuration.r.lhsnotinstalled"), + _("isisfish.simulator.configuration.r.title"), JOptionPane.ERROR_MESSAGE); + error = true; + } + try { + engine.eval("library('sensitivity')"); + } + catch (RException ex) { + JOptionPane.showMessageDialog(rconfigUI, _("isisfish.simulator.configuration.r.sensitivitynotinstalled"), + _("isisfish.simulator.configuration.r.title"), JOptionPane.ERROR_MESSAGE); + error = true; + } + + if (!error) { + JOptionPane.showMessageDialog(rconfigUI, _("isisfish.simulator.configuration.r.testok"), + _("isisfish.simulator.configuration.r.title"), JOptionPane.INFORMATION_MESSAGE); + } + } + catch (RException ex) { + JOptionPane.showMessageDialog(rconfigUI, _("isisfish.simulator.configuration.r.cantinit", ex.getMessage()), + _("isisfish.simulator.configuration.r.title"), JOptionPane.ERROR_MESSAGE); + } + } +} Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigHandler.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigUI.jaxx (rev 0) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/RConfigUI.jaxx 2011-03-30 14:26:20 UTC (rev 3217) @@ -0,0 +1,68 @@ +<!-- + #%L + IsisFish + + $Id$ + $HeadURL$ + %% + Copyright (C) 2011 Ifremer, CodeLutin, Chatellier Eric + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-2.0.html>. + #L% + --> +<JDialog title="isisfish.simulator.configuration.r.title" layout="{new BorderLayout()}"> + <RConfigHandler id="handler" /> + <Table constraints="BorderLayout.CENTER"> + <row> + <cell columns="2"> + <JLabel text="isisfish.simulator.configuration.r.details" /> + </cell> + </row> + <row> + <cell> + <JLabel text="isisfish.simulator.configuration.r.rhome" /> + </cell> + <cell weightx="1.0" fill='horizontal'> + <JTextField id="rHomeField" editable="false" /> + </cell> + </row> + <row> + <cell> + <JLabel text="isisfish.simulator.configuration.r.rtype" /> + </cell> + <cell fill='horizontal'> + <JTextField id="rTypeField" editable="false" /> + </cell> + </row> + <row> + <cell> + <JLabel text="isisfish.simulator.configuration.r.systempath" /> + </cell> + <cell fill='horizontal'> + <JTextField id="systemPathField" editable="false" /> + </cell> + </row> + <row> + <cell columns="2" anchor='center'> + <JPanel> + <JButton text="isisfish.simulator.configuration.r.launchtest" + onActionPerformed="getHandler().testRCOnfiguration(this)" /> + <JButton text="isisfish.common.close" + onActionPerformed="dispose()" /> + </JPanel> + </cell> + </row> + </Table> +</JDialog> \ No newline at end of file Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java 2011-03-30 11:32:50 UTC (rev 3216) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigAction.java 2011-03-30 14:26:20 UTC (rev 3217) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2009 - 2010 Ifremer, Code Lutin, Chatellier Eric + * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -46,7 +46,6 @@ import com.jcraft.jsch.Session; import fr.ifremer.isisfish.IsisFish; -import fr.ifremer.isisfish.ui.input.InputAction; import fr.ifremer.isisfish.util.ssh.InvalidPassphraseException; import fr.ifremer.isisfish.util.ssh.SSHAgent; import fr.ifremer.isisfish.util.ssh.SSHException; Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx 2011-03-30 11:32:50 UTC (rev 3216) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx 2011-03-30 14:26:20 UTC (rev 3217) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2009 - 2010 Ifremer, CodeLutin + Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as Modified: isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties =================================================================== --- isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties 2011-03-30 11:32:50 UTC (rev 3216) +++ isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties 2011-03-30 14:26:20 UTC (rev 3217) @@ -96,6 +96,7 @@ isisfish.common.cancel=Cancel isisfish.common.check=Check isisfish.common.clear=Clear +isisfish.common.close=Close isisfish.common.confirm=Confirm isisfish.common.date=Date isisfish.common.debug=debug @@ -949,6 +950,18 @@ isisfish.simulation.remote.message.waitingstart=Waiting for simulation start isisfish.simulation.restarting=Restarting... isisfish.simulation.title=Simulation launcher +isisfish.simulator.configuration.r.cantinit=Can't init R \: %s +isisfish.simulator.configuration.r.details=This window display current system R configuration and can be used to test if R is successfully installed. +isisfish.simulator.configuration.r.launchtest=Test +isisfish.simulator.configuration.r.lhsnotinstalled=LHS library not installed \! +isisfish.simulator.configuration.r.rhome=R_HOME +isisfish.simulator.configuration.r.rtype=R.type +isisfish.simulator.configuration.r.sensitivitynotinstalled=Sensitivity library not installed \! +isisfish.simulator.configuration.r.systempath=PATH +isisfish.simulator.configuration.r.systempathnok=Path doesn't contains R bin directory (%s) +isisfish.simulator.configuration.r.systempathok=Path contains R bin directory (%s) +isisfish.simulator.configuration.r.testok=R successfully tested \! +isisfish.simulator.configuration.r.title=R Configuration isisfish.simulator.launcher.inprocess=in current process isisfish.simulator.launcher.remote=on Caparmor server isisfish.simulator.launcher.subprocess=in subprocess @@ -1084,8 +1097,9 @@ isisfish.welcome.menu.api=API isisfish.welcome.menu.close=Close isisfish.welcome.menu.configuration=Configuration +isisfish.welcome.menu.configuration.r=R configuration isisfish.welcome.menu.configuration.sshlauncher=Caparmor configuration -isisfish.welcome.menu.configuration.vcs=VCS Configuration +isisfish.welcome.menu.configuration.vcs=VCS configuration isisfish.welcome.menu.file=File isisfish.welcome.menu.frame=Window isisfish.welcome.menu.help=Help Modified: isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties =================================================================== --- isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2011-03-30 11:32:50 UTC (rev 3216) +++ isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2011-03-30 14:26:20 UTC (rev 3217) @@ -96,6 +96,7 @@ isisfish.common.cancel=Annuler isisfish.common.check=V\u00E9rifier isisfish.common.clear=Effacer +isisfish.common.close=Fermer isisfish.common.confirm=Confirmation isisfish.common.date=Date isisfish.common.debug=Debug @@ -949,6 +950,18 @@ isisfish.simulation.remote.message.waitingstart=Attente du d\u00E9marrage de la simulation isisfish.simulation.restarting=Red\u00E9marrage... isisfish.simulation.title=Lanceur de simulation +isisfish.simulator.configuration.r.cantinit=Impossible d'initialiser R \: %s +isisfish.simulator.configuration.r.details=Cet \u00E9cran affiche la configuration syst\u00E8me actuelle de R et permet de tester si un appel simple \u00E0 R fonctionne. +isisfish.simulator.configuration.r.launchtest=Tester +isisfish.simulator.configuration.r.lhsnotinstalled=La librairie 'lhs' n'est pas install\u00E9e \! +isisfish.simulator.configuration.r.rhome=R_HOME +isisfish.simulator.configuration.r.rtype=R.type +isisfish.simulator.configuration.r.sensitivitynotinstalled=La librairie 'sensitivity' n'est pas install\u00E9e \! +isisfish.simulator.configuration.r.systempath=PATH +isisfish.simulator.configuration.r.systempathnok=Le path ne contient pas le dossier bin de R (%s) +isisfish.simulator.configuration.r.systempathok=Le path contient le dossier bin de R (%s) +isisfish.simulator.configuration.r.testok=R test\u00E9 avec succ\u00E8s \! +isisfish.simulator.configuration.r.title=Configuration de R isisfish.simulator.launcher.inprocess=dans le m\u00EAme processus isisfish.simulator.launcher.remote=sur le serveur Caparmor isisfish.simulator.launcher.subprocess=dans un sous processus @@ -1084,6 +1097,7 @@ isisfish.welcome.menu.api=API isisfish.welcome.menu.close=Fermer isisfish.welcome.menu.configuration=Configuration +isisfish.welcome.menu.configuration.r=Configuration R isisfish.welcome.menu.configuration.sshlauncher=Configuration Caparmor isisfish.welcome.menu.configuration.vcs=Configuration vcs isisfish.welcome.menu.file=Fichier
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org