From tchemit@users.forge.codelutin.com Fri Mar 15 13:25:00 2013 From: tchemit@users.forge.codelutin.com To: tutti-commits@list.forge.codelutin.com Subject: [Tutti-commits] r633 - in trunk/tutti-ui-swing/src/main: help/fr java/fr/ifremer/tutti/ui/swing java/fr/ifremer/tutti/ui/swing/config java/fr/ifremer/tutti/ui/swing/content java/fr/ifremer/tutti/ui/swing/content/config java/fr/ifremer/tutti/ui/swing/util/action resources/i18n Date: Fri, 15 Mar 2013 13:25:00 +0100 Message-ID: <20130315122500.B440715A41@nuiton.codelutin.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8966464018337108497==" --===============8966464018337108497== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Author: tchemit Date: 2013-03-15 13:25:00 +0100 (Fri, 15 Mar 2013) New Revision: 633 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/633 Log: - add gotoPreviousScreen action (used by config screen) - fixes #2135: [TECH] - Fichier de configuration de base obsol?\195?\168te lo= rs d'une installation (ou mise ?\195?\160 jour) Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/GoToP= reviousScreenAction.java Modified: trunk/tutti-ui-swing/src/main/help/fr/config.html trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicat= ionUpdaterCallBack.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContex= t.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiA= pplicationConfigOption.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/Abstr= actChangeScreenAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/confi= g/TuttiConfigUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/T= uttiUIAction.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properti= es trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properti= es Modified: trunk/tutti-ui-swing/src/main/help/fr/config.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/help/fr/config.html 2013-03-15 11:13:13 UTC= (rev 632) +++ trunk/tutti-ui-swing/src/main/help/fr/config.html 2013-03-15 12:25:00 UTC= (rev 633) @@ -1,3 +1,26 @@ + =20 Property changes on: trunk/tutti-ui-swing/src/main/help/fr/config.html ___________________________________________________________________ Modified: svn:keywords - Author Date Id Revision + Author Date Id Revision HeadURL Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiA= pplicationUpdaterCallBack.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplica= tionUpdaterCallBack.java 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplica= tionUpdaterCallBack.java 2013-03-15 12:25:00 UTC (rev 633) @@ -324,6 +324,17 @@ "A db update was downloaded (oldVersion: %s, new= Version: %s), will process it.", info.oldVersion, info.newVersion)); } + + // before install or update, regenerate db configuration fil= es + + TuttiPersistenceConfig persistenceConfig =3D + context.getConfig().getServiceConfig().getPersistenc= eConfig(); + + context.showInformationMessage( + "Reg=C3=A9n=C3=A9rer les fichiers de configuration d= e la base"); + + persistenceConfig.generateExternalDbFiles(true); + if (Version.VZERO.toString().equals(info.oldVersion)) { =20 // first database, just copy it to correct directory Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiU= IContext.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIConte= xt.java 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIConte= xt.java 2013-03-15 12:25:00 UTC (rev 633) @@ -477,13 +477,8 @@ } })); =20 - try { - config.getServiceConfig().getPersistenceConfig().initConfig(getR= esourceLoader()); - } catch (IOException e) { + config.getServiceConfig().getPersistenceConfig().initConfig(getResou= rceLoader()); =20 - throw new RuntimeException("Could not init persistence configura= tion", e); - } - //------------------------------------------------------------------= --// // init i18n //------------------------------------------------------------------= --// Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config= /TuttiApplicationConfigOption.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/Tutti= ApplicationConfigOption.java 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/Tutti= ApplicationConfigOption.java 2013-03-15 12:25:00 UTC (rev 633) @@ -55,14 +55,18 @@ "tutti.i18n.directory", n_("tutti.config.option.i18n.directory.description"), "${tutti.basedir}/i18n", - File.class + File.class, + false, + true ), =20 TUTTI_HELP_DIRECTORY( "tutti.help.directory", n_("tutti.config.option.help.directory.description"), "${tutti.basedir}/help", - File.class + File.class, + false, + true ), =20 TUTTI_I18N_LOCALE( @@ -87,14 +91,14 @@ ), =20 TOTAL_SORTED_WEIGHTS_DIFFERENCE_RATE( - "tutti.config.option.weights.rate.difference.totalAndSorted", + "tutti.db.weights.rate.difference.totalAndSorted", n_("tutti.config.option.weights.rate.difference.totalAndSorted.d= escription"), "1.0", Float.class ), =20 TREMIE_CAROUSSEL_VESSEL_ID( - "tutti.config.option.tremieCarousselVessel", + "tutti.tremieCarousselVessel", n_("tutti.config.option.tremieCarousselVessel.description"), "", String.class @@ -122,7 +126,7 @@ ), =20 SAMPLING_CATEGORY_ORDER_IDS( - "tutti.config.option.samplingCategoryOrderIds", + "tutti.samplingCategoryOrderIds", n_("tutti.config.option.samplingCategoryOrderIds.description"), "198,196,174,1430", Integer[].class Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/conten= t/AbstractChangeScreenAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/Abst= ractChangeScreenAction.java 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/Abst= ractChangeScreenAction.java 2013-03-15 12:25:00 UTC (rev 633) @@ -1,4 +1,3 @@ - package fr.ifremer.tutti.ui.swing.content; =20 /* @@ -27,6 +26,8 @@ =20 import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUIContext; +import jaxx.runtime.SwingUtil; +import jaxx.runtime.context.JAXXContextEntryDef; =20 /** * Action to change the screen. @@ -41,6 +42,14 @@ public abstract class AbstractChangeScreenAction extends AbstractMainUITutti= Action { =20 /** + * Context entry to keep previous screen. + * + * @since 1.1 + */ + protected static final JAXXContextEntryDef PREVIOUS_SCREEN = =3D + SwingUtil.newContextEntryDef("previousScreen", TuttiScreen.class= ); + + /** * Screen where to go. * * @since 1.0 @@ -75,13 +84,18 @@ @Override protected void doAction() throws Exception { =20 - sendMessage(""); - TuttiUIContext context =3D getContext(); =20 Exception error =3D null; try { =20 + TuttiScreen previousScreen =3D context.getScreen(); + if (previousScreen =3D=3D null) { + PREVIOUS_SCREEN.removeContextValue(getUI()); + } else { + PREVIOUS_SCREEN.setContextValue(getUI(), previousScreen); + } + // clean current screen context.setScreen(null); =20 Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/G= oToPreviousScreenAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/GoTo= PreviousScreenAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/GoTo= PreviousScreenAction.java 2013-03-15 12:25:00 UTC (rev 633) @@ -0,0 +1,44 @@ +package fr.ifremer.tutti.ui.swing.content; + +/* + * #%L + * Tutti :: UI + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2012 - 2013 Ifremer + * %% + * 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 3 of the=20 + * License, or (at your option) any later version. + *=20 + * 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. + *=20 + * You should have received a copy of the GNU General Public=20 + * License along with this program. If not, see + * . + * #L% + */ + +import static org.nuiton.i18n.I18n._; + +/** + * To return on previous screen. + * + * @author tchemit + * @since 1.1 + */ +public class GoToPreviousScreenAction extends AbstractChangeScreenAction { + + public GoToPreviousScreenAction(MainUIHandler handler) { + super(handler, + true, + PREVIOUS_SCREEN.getContextValue(handler.getUI()) + ); + setActionDescription(_("tutti.main.action.goto.previousScreen.tip")); + } +} Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/s= wing/content/GoToPreviousScreenAction.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/conten= t/config/TuttiConfigUIHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/conf= ig/TuttiConfigUIHandler.java 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/conf= ig/TuttiConfigUIHandler.java 2013-03-15 12:25:00 UTC (rev 633) @@ -24,10 +24,12 @@ * #L% */ =20 +import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfigOption; import fr.ifremer.tutti.service.config.TuttiServiceConfigOption; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfigOption; +import fr.ifremer.tutti.ui.swing.content.GoToPreviousScreenAction; import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import fr.ifremer.tutti.ui.swing.content.ReloadTuttiAction; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; @@ -123,10 +125,8 @@ =20 helper.addCategory(n_("tutti.config.category.applications"), n_("tutti.config.category.applications.descriptio= n"), - CALLBACK_UI) - .addOption(TuttiServiceConfigOption.DATA_DIRECTORY) - .addOption(TuttiServiceConfigOption.SITE_URL) - .addOption(TuttiApplicationConfigOption.TUTTI_HELP_DIRECTORY) + CALLBACK_APPLICATION) + .addOption(TuttiServiceConfigOption.CSV_SEPARATOR) .addOption(TuttiApplicationConfigOption.UI_CONFIG_FILE) .addOption(TuttiApplicationConfigOption.TOTAL_SORTED_WEIGHTS= _DIFFERENCE_RATE); =20 @@ -161,19 +161,39 @@ =20 // SHORTCUT =20 - helper.addCategory(n_("tutti.config.category.shortcuts"), + /*helper.addCategory(n_("tutti.config.category.shortcuts"), n_("tutti.config.category.shortcuts.description"), CALLBACK_SHORTCUT) .addOption(TuttiApplicationConfigOption.SHORTCUT_CLOSE_POPUP= ); + */ =20 + helper.addCategory(n_("tutti.config.category.technical"), + n_("tutti.config.category.technical.description")) + .addOption(TuttiServiceConfigOption.BASEDIR) + .addOption(TuttiServiceConfigOption.DATA_DIRECTORY) + .addOption(TuttiServiceConfigOption.TMP_DIRECTORY) + .addOption(TuttiApplicationConfigOption.TUTTI_I18N_DIRECTORY) + .addOption(TuttiApplicationConfigOption.TUTTI_HELP_DIRECTORY) + .addOption(TuttiPersistenceConfigOption.DB_DIRECTORY) + .addOption(TuttiPersistenceConfigOption.DB_ATTACHMENT_DIRECT= ORY) + .addOption(TuttiPersistenceConfigOption.DB_PROTOCOL_DIRECTOR= Y) + .addOption(TuttiPersistenceConfigOption.DB_CACHE_DIRECTORY) + .addOption(TuttiPersistenceConfigOption.DB_CONFIGURATION_PAT= H) + .addOption(TuttiPersistenceConfigOption.DB_ENUMERATION_PATH) + .addOption(TuttiPersistenceConfigOption.JDBC_URL) + .addOption(TuttiServiceConfigOption.SITE_URL) + .addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_URL); + helper.setFinalizer(new MainCallBackFinalizer(CALLBACK_APPLICATION)); =20 helper.setCloseAction(new Runnable() { @Override public void run() { =20 - doAction(getContext().getMainUI().getMenuActionSelectCruise(= ), - null); + TuttiUIAction action =3D + getContext().getMainUI().getHandler().createUIAction( + null, GoToPreviousScreenAction.class); + action.actionPerformed(null); } }); ConfigUI configUI =3D helper.buildUI( Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/a= ction/TuttiUIAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/= TuttiUIAction.java 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/= TuttiUIAction.java 2013-03-15 12:25:00 UTC (rev 633) @@ -81,6 +81,9 @@ =20 A action =3D getLogicAction(); =20 + // reset status message + action.sendMessage(""); + try { doAction =3D action.prepareAction(); } catch (Exception e) { Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.p= roperties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.propert= ies 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.propert= ies 2013-03-15 12:25:00 UTC (rev 633) @@ -51,8 +51,12 @@ tutti.config.application=3D tutti.config.category.applications=3D tutti.config.category.applications.description=3D +tutti.config.category.directories=3D +tutti.config.category.directories.description=3D tutti.config.category.shortcuts=3D tutti.config.category.shortcuts.description=3D +tutti.config.category.technical=3D +tutti.config.category.technical.description=3D tutti.config.category.ui=3D tutti.config.category.ui.description=3D tutti.config.option.cruiseId.description=3D @@ -560,6 +564,7 @@ tutti.main.action.editSelectedProtocol.tip=3D tutti.main.action.exit=3D tutti.main.action.exit.tip=3D +tutti.main.action.goto.previousScreen.tip=3D tutti.main.action.importTemporaryReferential=3D tutti.main.action.importTemporaryReferential.tip=3D tutti.main.action.manageDb=3D Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.p= roperties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.propert= ies 2013-03-15 11:13:13 UTC (rev 632) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.propert= ies 2013-03-15 12:25:00 UTC (rev 633) @@ -51,6 +51,8 @@ tutti.config.category.applications.description=3DApplication tutti.config.category.shortcuts=3DRaccourcis tutti.config.category.shortcuts.description=3DListe des raccourcis clavier +tutti.config.category.technical=3DTechnique +tutti.config.category.technical.description=3DInformations techniques tutti.config.category.ui=3DInterface utilisateur tutti.config.category.ui.description=3DOptions de l'interface utilisateur tutti.config.option.cruiseId.description=3DIdentifiant de la derni=C3=A8re c= ampagne utilis=C3=A9e @@ -561,6 +563,7 @@ tutti.main.action.editSelectedProtocol.tip=3D=C3=89diter le protocole s=C3= =A9lectionn=C3=A9 tutti.main.action.exit=3DQuitter tutti.main.action.exit.tip=3DQuitter l'application +tutti.main.action.goto.previousScreen.tip=3DRetour =C3=A0 l'=C3=A9cran pr=C3= =A9c=C3=A9dent tutti.main.action.importTemporaryReferential=3DR=C3=A9f=C3=A9rentiels tempor= aires tutti.main.action.importTemporaryReferential.tip=3DImporter des r=C3=A9f=C3= =A9rentiels temporaires tutti.main.action.manageDb=3DGestionnaire de base --===============8966464018337108497==--