r1342 - in trunk: . src/update tutti-ui-swing/src/main/assembly/min tutti-ui-swing/src/main/filtered-resources tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db tutti-ui-swing/src/main/resources/i18n
Author: tchemit Date: 2013-11-10 15:11:26 +0100 (Sun, 10 Nov 2013) New Revision: 1342 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1342 Log: fixes #3755: Mise en place d'un module de rapports birt Added: trunk/src/update/tutti-data.properties trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java Removed: trunk/src/update/tutti-db.properties Modified: trunk/pom.xml trunk/src/update/update-tutti.properties trunk/tutti-ui-swing/src/main/assembly/min/update.bat trunk/tutti-ui-swing/src/main/assembly/min/update.sh trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.java trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/pom.xml 2013-11-10 14:11:26 UTC (rev 1342) @@ -170,6 +170,9 @@ <!-- Last tutti db version --> <dbVersion>2013.08.22</dbVersion> + <!-- Last tutti report version --> + <reportVersion>2013.11.02</reportVersion> + </properties> <repositories> @@ -622,6 +625,10 @@ <property>dbVersion</property> <message>You must set a dbVersion property!</message> </requireProperty> + <requireProperty> + <property>reportVersion</property> + <message>You must set a reportVersion property!</message> + </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> @@ -701,6 +708,7 @@ <filter value="${project.version}" token="projectVersion" /> <filter value="${jreVersion}" token="jreVersion" /> <filter value="${dbVersion}" token="dbVersion" /> + <filter value="${reportVersion}" token="reportVersion" /> </filterset> <fileset dir="${basedir}/src/update/"> <include name="update-tutti.properties" /> @@ -816,7 +824,7 @@ </profile> <profile> - <id>deploy-tutti-db-update</id> + <id>deploy-tutti-data-update</id> <activation> <property> <name>performRelease</name> @@ -831,7 +839,7 @@ <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> - <id>copy tutti-db.properties to site</id> + <id>copy tutti-data.properties to site</id> <phase>package</phase> <inherited>false</inherited> <configuration> @@ -840,9 +848,10 @@ <copy verbose="true" failonerror="false" overwrite="true" filtering="true" todir="${project.build.directory}/update"> <filterset> <filter value="${dbVersion}" token="dbVersion" /> + <filter value="${reportVersion}" token="reportVersion" /> </filterset> <fileset dir="${basedir}/src/update/"> - <include name="tutti-db.properties" /> + <include name="tutti-data.properties" /> </fileset> </copy> </tasks> @@ -869,7 +878,7 @@ <configuration> <serverId>forge.codelutin.com</serverId> <fromFile> - ${project.build.directory}/update/tutti-db.properties + ${project.build.directory}/update/tutti-data.properties </fromFile> <url> scpexe://forge.codelutin.com/var/www/ApplicationUpdate/http/tutti Copied: trunk/src/update/tutti-data.properties (from rev 1335, trunk/src/update/tutti-db.properties) =================================================================== --- trunk/src/update/tutti-data.properties (rev 0) +++ trunk/src/update/tutti-data.properties 2013-11-10 14:11:26 UTC (rev 1342) @@ -0,0 +1,39 @@ +### +# #%L +# Tutti +# $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 +# 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-3.0.html>. +# #L% +### + +################################################################################ +### DB Updates ################################################################# +################################################################################ + +db.version=@dbVersion@ +db.url=zip:http://appup.nuiton.org/tutti/auth/tutti-db-@dbVersion@.zip +db.auth=true + +################################################################################ +### Report Updates ############################################################# +################################################################################ + +report.version=@reportVersion@ +report.url=zip:http://appup.nuiton.org/tutti/auth/tutti-report-@reportVersion@.zip +report.auth=true \ No newline at end of file Deleted: trunk/src/update/tutti-db.properties =================================================================== --- trunk/src/update/tutti-db.properties 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/src/update/tutti-db.properties 2013-11-10 14:11:26 UTC (rev 1342) @@ -1,31 +0,0 @@ -### -# #%L -# Tutti -# $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 -# 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-3.0.html>. -# #L% -### - -################################################################################ -### DB Updates ################################################################# -################################################################################ - -db.version=@dbVersion@ -db.url=zip:http://appup.nuiton.org/tutti/auth/tutti-db-@dbVersion@.zip -db.auth=true \ No newline at end of file Modified: trunk/src/update/update-tutti.properties =================================================================== --- trunk/src/update/update-tutti.properties 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/src/update/update-tutti.properties 2013-11-10 14:11:26 UTC (rev 1342) @@ -67,4 +67,12 @@ db.version=@dbVersion@ db.url=zip:http://appup.nuiton.org/tutti/auth/tutti-db-@dbVersion@.zip -db.auth=true \ No newline at end of file +db.auth=true + +################################################################################ +### Report Updates ############################################################# +################################################################################ + +report.version=@reportVersion@ +report.url=zip:http://appup.nuiton.org/tutti/auth/tutti-report-@reportVersion@.zip +report.auth=true \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/assembly/min/update.bat =================================================================== --- trunk/tutti-ui-swing/src/main/assembly/min/update.bat 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/assembly/min/update.bat 2013-11-10 14:11:26 UTC (rev 1342) @@ -42,7 +42,7 @@ :help -if not exist "NEW\help" goto end +if not exist "NEW\help" goto report rem deplacement de l'ancien help set /p oldVersion=<help\version.appup @@ -53,6 +53,19 @@ move help "%backupdir%" move NEW\help help +:report + +if not exist "NEW\report" goto end + +rem deplacement de l'ancien report +set /p oldVersion=<report\version.appup +set /p newVersion=<NEW\report\version.appup +set backupdir=OLD\report-%oldVersion: =%-%BACKUP_DATE: =% +echo Update report version %oldVersion: =% to %newVersion: =% old report keep in "%backupdir%" +if not exist "OLD" mkdir OLD +move report "%backupdir%" +move NEW\report report + :end if exist "NEW" rmdir /Q NEW \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/assembly/min/update.sh =================================================================== --- trunk/tutti-ui-swing/src/main/assembly/min/update.sh 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/assembly/min/update.sh 2013-11-10 14:11:26 UTC (rev 1342) @@ -49,5 +49,15 @@ mv NEW/help . fi +if [ -d NEW/report ]; then + oldVersion=`cat report/version.appup` + newVersion=`cat NEW/report/version.appup` + echo "Update report version $oldVersion to $newVersion" + mkdir -p OLD + backupdir=OLD/report-$oldVersion-$BACKUP_DATE + echo "Backup report old version to $backupdir" + mv report $backupdir + mv NEW/report . +fi rm -rf NEW Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties =================================================================== --- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-11-10 14:11:26 UTC (rev 1342) @@ -1,28 +1,5 @@ -### -# #%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 -# 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-3.0.html>. -# #L% -### #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Tue Oct 08 15:36:15 CEST 2013 +#Sun Nov 10 14:15:34 CET 2013 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -329,6 +306,7 @@ tutti.main.menu.action.showHelp.help=menu.html\#menu_aide tutti.main.menu.action.site.help=menu.html\#menu_aide tutti.main.menu.action.updateApplication.help=menu.html\#menu_fichier +tutti.main.menu.action.updateReport.help= tutti.main.menu.action.validateCatches.help=menu.html\#menu_action tutti.manageTemporaryReferential.action.exportTemporaryGearExample.help=menu.html\#menu_administration_referentiel tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.help=menu.html\#menu_administration_referentiel Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties =================================================================== --- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-11-10 14:11:26 UTC (rev 1342) @@ -1,28 +1,5 @@ -### -# #%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 -# 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-3.0.html>. -# #L% -### #Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo -#Tue Oct 08 15:36:15 CEST 2013 +#Sun Nov 10 14:15:34 CET 2013 tutti.config.help=config.html tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions @@ -329,6 +306,7 @@ tutti.main.menu.action.showHelp.help=menu.html\#menu_aide tutti.main.menu.action.site.help=menu.html\#menu_aide tutti.main.menu.action.updateApplication.help=menu.html\#menu_fichier +tutti.main.menu.action.updateReport.help= tutti.main.menu.action.validateCatches.help=menu.html\#menu_action tutti.manageTemporaryReferential.action.exportTemporaryGearExample.help=menu.html\#menu_administration_referentiel tutti.manageTemporaryReferential.action.exportTemporaryPersonExample.help=menu.html\#menu_administration_referentiel Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/RunTutti.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -29,6 +29,7 @@ import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import fr.ifremer.tutti.ui.swing.content.StartAction; import fr.ifremer.tutti.ui.swing.content.UpdateApplicationAction; +import fr.ifremer.tutti.ui.swing.content.UpdateReportAction; import fr.ifremer.tutti.ui.swing.util.TuttiExceptionHandler; import fr.ifremer.tutti.ui.swing.util.action.TuttiActionHelper; import jaxx.runtime.SwingUtil; @@ -85,7 +86,7 @@ } catch (Exception e) { // could not find nimbus look-and-feel if (log.isWarnEnabled()) { - log.warn("Failed to init nimbus look and feel"); + log.warn("Failed to init nimbus look and feel", e); } } @@ -98,9 +99,9 @@ } // check application url is reachable - boolean canUpdate = context.checkUpdateApplicationReachable(); + boolean canUpdateApplication = context.checkUpdateApplicationReachable(); - if (canUpdate) { + if (canUpdateApplication) { // try to update jre - i18n - application - help and exit if so UpdateApplicationAction logicAction = TuttiActionHelper.createLogicAction(new MainUIHandler(context), UpdateApplicationAction.class); @@ -108,6 +109,18 @@ reload = logicAction.isReload(); } + + // check data url is reachable + boolean canUpdateData = context.checkUpdateDataReachable(); + + if (canUpdateData) { + // try to update report and exit if so + UpdateReportAction logicAction = TuttiActionHelper.createLogicAction(new MainUIHandler(context), + UpdateReportAction.class); + TuttiActionHelper.runActionAndWait(logicAction); + + reload |= logicAction.isReload(); + } } if (!reload) { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -137,20 +137,6 @@ public void updateDone(Map<String, ApplicationInfo> appToUpdate, Map<String, Exception> appUpdateError) { - updateDoneDb(appToUpdate, appUpdateError); - } - - @Override - public void aborted(String propertiesURL, Exception eee) { - if (log.isErrorEnabled()) { - log.error("Could not update from " + propertiesURL, eee); - } - throw TuttiActionException.propagateError(action, eee); - } - - - protected void updateDoneDb(Map<String, ApplicationInfo> appToUpdate, - Map<String, Exception> appUpdateError) { Exception error = appUpdateError.get(DB_UPDATE_NAME); if (error != null) { @@ -189,6 +175,14 @@ } } + @Override + public void aborted(String propertiesURL, Exception eee) { + if (log.isErrorEnabled()) { + log.error("Could not update from " + propertiesURL, eee); + } + throw TuttiActionException.propagateError(action, eee); + } + protected TuttiPersistenceConfig regenerateDbConf() { TuttiPersistenceConfig persistenceConfig = Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java (from rev 1335, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiDbUpdaterCallBack.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiReportUpdaterCallBack.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -0,0 +1,156 @@ +package fr.ifremer.tutti.ui.swing; + +/* + * #%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 + * 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-3.0.html>. + * #L% + */ + +import com.google.common.collect.Maps; +import fr.ifremer.tutti.persistence.ProgressionModel; +import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; +import fr.ifremer.tutti.ui.swing.util.action.TuttiActionException; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.updater.ApplicationInfo; +import org.nuiton.updater.ApplicationUpdaterCallback; + +import java.util.Map; + +import static org.nuiton.i18n.I18n._; +import static org.nuiton.i18n.I18n.n_; + +/** + * CallBack to update db. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.6 + */ +public class TuttiReportUpdaterCallBack implements ApplicationUpdaterCallback { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(TuttiReportUpdaterCallBack.class); + + public static final String REPORT_UPDATE_NAME = "report"; + + static { + n_("tutti.update.report"); + } + + protected final TuttiUIContext context; + + protected ProgressionModel progressionModel; + + protected boolean reportUpdated; + + protected final AbstractTuttiAction action; + + public TuttiReportUpdaterCallBack(AbstractTuttiAction action, + ProgressionModel progressionModel) { + this.action = action; + this.context = action.getContext(); + this.progressionModel = progressionModel; + } + + public boolean isReportUpdated() { + return reportUpdated; + } + + @Override + public Map<String, ApplicationInfo> updateToDo(Map<String, ApplicationInfo> appToUpdate) { + Map<String, ApplicationInfo> result = Maps.newHashMap(); + + ApplicationInfo info = appToUpdate.get(REPORT_UPDATE_NAME); + if (info != null) { + result.put(info.name, info); + + // add auth + info.setAuthentication( + "t" + "u" + "t" + "t" + "i" + "d" + "b", + new char[]{'3', 'R', 'A', 'C', 'e', 'v', '2', 'N', 'w', '8', 'u', 'E', 'D', 'E', 'v', 's', 'y', '0', 'v', 'J'} + ); + } + + return result; + } + + @Override + public void startUpdate(ApplicationInfo info) { + + progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.report", info.newVersion)); + } + + @Override + public void updateDone(Map<String, ApplicationInfo> appToUpdate, + Map<String, Exception> appUpdateError) { + + boolean doRestart = updateDoneReport(appToUpdate, appUpdateError); + + if (doRestart) { + + reportUpdated = true; + } + } + + @Override + public void aborted(String propertiesURL, Exception eee) { + if (log.isErrorEnabled()) { + log.error("Could not update from " + propertiesURL, eee); + } + throw TuttiActionException.propagateError(action, eee); + } + + protected boolean updateDoneReport(Map<String, ApplicationInfo> appToUpdate, + Map<String, Exception> appUpdateError) { + boolean doRestart = false; + Exception error = getError(REPORT_UPDATE_NAME, appUpdateError); + if (error != null) { + + // something bad while updating jre + if (log.isErrorEnabled()) { + log.error("Could not update report", error); + } + } else { + ApplicationInfo info = getInfo(REPORT_UPDATE_NAME, appToUpdate); + if (info != null) { + + if (log.isInfoEnabled()) { + log.info(String.format( + "A report update was downloaded (oldVersion: %s, newVersion: %s), will restart application to use it", + info.oldVersion, info.newVersion)); + } + doRestart = true; + } + } + return doRestart; + } + + protected Exception getError(String type, + Map<String, Exception> appUpdateError) { + return appUpdateError.get(type.toLowerCase()); + } + + protected ApplicationInfo getInfo(String type, + Map<String, ApplicationInfo> appToUpdate) { + return appToUpdate.get(type.toLowerCase()); + } +} Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -286,12 +286,12 @@ @Override public void showInformationMessage(String message) { if (StringUtils.isNotBlank(message)) { - message = message.replaceAll("\\<strong\\>",""); - message = message.replaceAll("\\<.strong\\>",""); - message = message.replaceAll("\\<li\\>",""); - message = message.replaceAll("\\<.li\\>",""); - message = message.replaceAll("\\<ul\\>",""); - message = message.replaceAll("\\<.ul\\>",""); + message = message.replaceAll("\\<strong\\>", ""); + message = message.replaceAll("\\<.strong\\>", ""); + message = message.replaceAll("\\<li\\>", ""); + message = message.replaceAll("\\<.li\\>", ""); + message = message.replaceAll("\\<ul\\>", ""); + message = message.replaceAll("\\<.ul\\>", ""); if (log.isInfoEnabled()) { log.info(message); } @@ -895,11 +895,11 @@ return result; } - public boolean checkUpdateDbReachable() { + public boolean checkUpdateDataReachable() { boolean result = true; TuttiApplicationConfig config = getConfig(); - String url = config.getUpdateDbUrl(); + String url = config.getUpdateDataUrl(); try { TuttiUIUtil.tryToConnectToUpdateUrl( Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -384,8 +384,8 @@ return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_APPLICATION_URL.getKey()); } - public String getUpdateDbUrl() { - return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DB_URL.getKey()); + public String getUpdateDataUrl() { + return applicationConfig.getOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DATA_URL.getKey()); } public String getAdminPassword() { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -90,10 +90,10 @@ "http://appup.forge.codelutin.com/tutti/tutti-application.properties", String.class ), - TUTTI_UPDATE_DB_URL( - "tutti.update.db.url", - n_("tutti.config.option.update.db.url.description"), - "http://appup.forge.codelutin.com/tutti/tutti-db.properties", + TUTTI_UPDATE_DATA_URL( + "tutti.update.data.url", + n_("tutti.config.option.update.data.url.description"), + "http://appup.forge.codelutin.com/tutti/tutti-data.properties", String.class ), Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.css 2013-11-10 14:11:26 UTC (rev 1342) @@ -69,7 +69,7 @@ _help: {"tutti.main.menu.action.exit.help"}; } -#menuActionUpdate { +#menuActionUpdateApplication { actionIcon: update-application; text: "tutti.main.action.updateApplication"; toolTipText: "tutti.main.action.updateApplication.tip"; @@ -78,6 +78,15 @@ _help: {"tutti.main.menu.action.updateApplication.help"}; } +#menuActionUpdateReport { + actionIcon: update-application; + text: "tutti.main.action.updateReport"; + toolTipText: "tutti.main.action.updateReport.tip"; + i18nMnemonic: "tutti.main.action.updateReport.mnemonic"; + _tuttiAction: {UpdateReportAction.class}; + _help: {"tutti.main.menu.action.updateReport.help"}; +} + #menuActionManageDb { actionIcon: manage-db; text: "tutti.main.action.manageDb"; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/MainUI.jaxx 2013-11-10 14:11:26 UTC (rev 1342) @@ -66,7 +66,8 @@ <JMenuBar id='menu'> <JMenu id='menuFile'> <JMenuItem id='menuFileConfiguration'/> - <JMenuItem id='menuActionUpdate'/> + <JMenuItem id='menuActionUpdateApplication'/> + <JMenuItem id='menuActionUpdateReport'/> <JSeparator/> <JMenuItem id='menuActionManageDb'/> <JSeparator/> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/ShowAboutAction.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -29,6 +29,7 @@ import com.google.common.collect.Maps; import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack; import fr.ifremer.tutti.ui.swing.TuttiDbUpdaterCallBack; +import fr.ifremer.tutti.ui.swing.TuttiReportUpdaterCallBack; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; @@ -69,8 +70,10 @@ super(handler, false); } - protected boolean canUpdate; + protected boolean canUpdateApplication; + protected boolean canUpdateData; + @Override public boolean prepareAction() throws Exception { boolean doAction = super.prepareAction(); @@ -78,8 +81,11 @@ if (doAction) { // check db url is reachable TuttiUIContext context = getContext(); - canUpdate = context.checkUpdateApplicationReachable(); + canUpdateApplication = context.checkUpdateApplicationReachable(); + canUpdateData = context.checkUpdateDataReachable(); + } + // TuttiApplicationConfig config = context.getConfig(); // String url = config.getUpdateApplicationUrl(); // @@ -171,7 +177,7 @@ about.getTabs().add(_("tutti.about.translate.title"), translatePane); - if (canUpdate) { + if (canUpdateApplication || canUpdateData) { // // update tab @@ -193,26 +199,34 @@ protected void addUpdateTab(TuttiApplicationConfig config) { File current = config.getTuttiBasedir(); String urlApplication = config.getUpdateApplicationUrl(); - String urlDb = config.getUpdateDbUrl(); + String urlData = config.getUpdateDataUrl(); ApplicationUpdater up = new ApplicationUpdater(); - // get application updates - Map<String, ApplicationInfo> applicationVersions = up.getVersions(urlApplication, current); + // create final update map + final Map<String, ApplicationInfo> versions = Maps.newLinkedHashMap(); - // get db updates - Map<String, ApplicationInfo> dbVersions = up.getVersions(urlDb, config.getDataDirectory()); + if (canUpdateApplication) { - // create final update map - final Map<String, ApplicationInfo> versions = Maps.newTreeMap(); + // get application updates + Map<String, ApplicationInfo> applicationVersions = up.getVersions(urlApplication, current); - addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.JRE.name()); - addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.TUTTI.name()); - addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.I18N.name()); - addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.HELP.name()); + addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.JRE.name()); + addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.TUTTI.name()); + addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.I18N.name()); + addUpdate(applicationVersions, versions, TuttiApplicationUpdaterCallBack.UpdateType.HELP.name()); + } - addUpdate(dbVersions, versions, TuttiDbUpdaterCallBack.DB_UPDATE_NAME); + if (canUpdateData) { + // get report updates + Map<String, ApplicationInfo> reportVersions = up.getVersions(urlData, current); + addUpdate(reportVersions, versions, TuttiReportUpdaterCallBack.REPORT_UPDATE_NAME); + + // get db updates + Map<String, ApplicationInfo> dbVersions = up.getVersions(urlData, config.getDataDirectory()); + addUpdate(dbVersions, versions, TuttiDbUpdaterCallBack.DB_UPDATE_NAME); + } JScrollPane updatePane = new JScrollPane(); JEditorPane updateArea = new JEditorPane(); updateArea.setContentType("text/html"); @@ -246,7 +260,7 @@ } } - String updateText = _("tutti.about.update.content", urlApplication, urlDb, Joiner.on("\n").join(params)); + String updateText = _("tutti.about.update.content", urlApplication, urlData, Joiner.on("\n").join(params)); updateArea.setText(updateText); updatePane.getViewport().add(updateArea); updateArea.addHyperlinkListener(new HyperlinkListener() { @@ -274,6 +288,9 @@ action.setActionDescription( _("tutti.dbManager.action.installDb.tip")); } + } else if (TuttiReportUpdaterCallBack.REPORT_UPDATE_NAME.equals(appType)) { + UpdateReportAction logicAction = TuttiActionHelper.createLogicAction(getHandler(), UpdateReportAction.class); + action = logicAction; } else { TuttiApplicationUpdaterCallBack.UpdateType updateType = Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -66,7 +66,7 @@ if (doAction) { // check db url is reachable - doAction = getContext().checkUpdateDbReachable(); + doAction = getContext().checkUpdateDataReachable(); } if (doAction) { @@ -76,12 +76,14 @@ // get db updates Map<String, ApplicationInfo> dbVersions = - up.getVersions(getConfig().getUpdateDbUrl(), + up.getVersions(getConfig().getUpdateDataUrl(), getConfig().getDataDirectory()); updateDbVersion = dbVersions.get(TuttiDbUpdaterCallBack.DB_UPDATE_NAME); - if (updateDbVersion != null && updateDbVersion.newVersion != null) { + if (getContext().isDbExist() && + updateDbVersion != null && + updateDbVersion.newVersion != null) { // ask user if it wants to do the update String htmlMessage = String.format( @@ -107,7 +109,7 @@ TuttiApplicationConfig config = context.getConfig(); File current = config.getDataDirectory(); - String url = config.getUpdateDbUrl(); + String url = config.getUpdateDataUrl(); if (log.isInfoEnabled()) { log.info(String.format("Try to install / update db (current data location: %s), using update url: %s", current, url)); Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java (from rev 1335, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java) =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java (rev 0) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReportAction.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -0,0 +1,152 @@ +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 + * 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-3.0.html>. + * #L% + */ + +import fr.ifremer.tutti.persistence.ProgressionModel; +import fr.ifremer.tutti.ui.swing.RunTutti; +import fr.ifremer.tutti.ui.swing.TuttiReportUpdaterCallBack; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; +import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; +import fr.ifremer.tutti.ui.swing.util.action.TuttiActionHelper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.updater.ApplicationUpdater; + +import java.io.File; + +import static org.nuiton.i18n.I18n._; + +/** + * To update reports using the {@link ApplicationUpdater} mecanism. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.0 + */ +public class UpdateReportAction extends AbstractTuttiAction<TuttiUIContext, MainUI, MainUIHandler> { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(UpdateReportAction.class); + + public UpdateReportAction(MainUIHandler handler) { + super(handler, true); + setActionDescription(_("tutti.main.action.updateReport.tip")); + } + + protected boolean reload; + + @Override + public boolean prepareAction() throws Exception { + boolean doAction = super.prepareAction(); + + if (doAction) { + // check data url is reachable + TuttiUIContext context = getContext(); + doAction = context.checkUpdateDataReachable(); + } + return doAction; + } + + @Override + public void doAction() throws Exception { + + reload = false; + + TuttiUIContext context = getContext(); + TuttiApplicationConfig config = context.getConfig(); + + File current = config.getTuttiBasedir(); + if (current == null || !current.exists()) { + + // can not update application + if (log.isWarnEnabled()) { + log.warn("No application base directory defined, skip updates."); + } + } else { + + String url = config.getUpdateDataUrl(); + File dest = new File(config.getTuttiBasedir(), "NEW"); + + if (log.isInfoEnabled()) { + log.info(String.format("Try to update repport (current application location: %s), using update url: %s", current, url)); + } + + ProgressionModel progressionModel = new ProgressionModel(); + context.getActionUI().getModel().setProgressionModel(progressionModel); + progressionModel.setMessage(_("tutti.updateApplication.checkUpdates")); + + TuttiReportUpdaterCallBack callback = + new TuttiReportUpdaterCallBack(this, progressionModel); + + ApplicationUpdater up = new ApplicationUpdater(); + up.update(url, + current, + dest, + false, + callback, + progressionModel); + + if (callback.isReportUpdated()) { + + reload = true; + + } else { + + sendMessage(_("tutti.updateReport.noUpdate")); + } + } + } + + @Override + public void postSuccessAction() { + super.postSuccessAction(); + + if (reload) { + // wait 1 second to be sure action ui is up + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + if (log.isWarnEnabled()) { + log.warn("Could not wait 1 second...", e); + } + } + + // tell user restart will be done + + getHandler().showSuccessMessage(_("tutti.updateReport.title.success"), + _("tutti.updateReport.message.success")); + + CloseApplicationAction action = TuttiActionHelper.createLogicAction( + getHandler(), CloseApplicationAction.class); + action.setExitCode(RunTutti.UPATE_EXIT_CODE); + TuttiActionHelper.runAction(action); + } + } + + public boolean isReload() { + return reload; + } +} \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -259,8 +259,8 @@ .addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_APPLICATION_URL) .setOptionShortLabel(_("tutti.config.option.update.application.url.shortLabel")) - .addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DB_URL) - .setOptionShortLabel(_("tutti.config.option.update.db.url.shortLabel")); + .addOption(TuttiApplicationConfigOption.TUTTI_UPDATE_DATA_URL) + .setOptionShortLabel(_("tutti.config.option.update.data.url.shortLabel")); helper.setFinalizer(new MainCallBackFinalizer(CALLBACK_APPLICATION)); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -105,8 +105,8 @@ // get referential version - if (getContext().checkUpdateDbReachable()) { - String urlDb = config.getUpdateDbUrl(); + if (getContext().checkUpdateDataReachable()) { + String urlDb = config.getUpdateDataUrl(); ApplicationUpdater up = new ApplicationUpdater(); Map<String, ApplicationInfo> dbVersions = up.getVersions(urlDb, config.getDataDirectory()); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/InstallDbAction.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -70,7 +70,7 @@ if (doAction) { // check db url is reachable - doAction = getContext().checkUpdateDbReachable(); + doAction = getContext().checkUpdateDataReachable(); } if (doAction) { @@ -95,7 +95,7 @@ TuttiApplicationConfig config = context.getConfig(); File current = config.getDataDirectory(); - String url = config.getUpdateDbUrl(); + String url = config.getUpdateDataUrl(); if (log.isInfoEnabled()) { log.info(String.format("Try to install / update db (current data location: %s), using update url: %s", current, url)); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -96,7 +96,7 @@ closeDb = updateSchema = false; updateDbVersion = null; - updateReferentiel &= getContext().checkUpdateDbReachable(); + updateReferentiel &= getContext().checkUpdateDataReachable(); if (updateReferentiel) { @@ -105,7 +105,7 @@ // get db updates Map<String, ApplicationInfo> dbVersions = - up.getVersions(getConfig().getUpdateDbUrl(), + up.getVersions(getConfig().getUpdateDataUrl(), getConfig().getDataDirectory()); updateDbVersion = dbVersions.get(TuttiDbUpdaterCallBack.DB_UPDATE_NAME); @@ -306,7 +306,7 @@ progressionModel.increments(_("tutti.openDb.step.updateReferential")); File current = config.getDataDirectory(); - String url = config.getUpdateDbUrl(); + String url = config.getUpdateDataUrl(); File dest = new File(config.getTuttiBasedir(), "NEW"); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.java 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ReinstallDbAction.java 2013-11-10 14:11:26 UTC (rev 1342) @@ -71,7 +71,7 @@ // check db url is reachable TuttiUIContext context = getContext(); - doAction = context.checkUpdateDbReachable(); + doAction = context.checkUpdateDataReachable(); // TuttiApplicationConfig config = context.getConfig(); // String url = config.getUpdateApplicationUrl(); // Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-11-10 14:11:26 UTC (rev 1342) @@ -29,6 +29,7 @@ tutti.applicationUpdater.startUpdate.help= tutti.applicationUpdater.startUpdate.i18n= tutti.applicationUpdater.startUpdate.jre= +tutti.applicationUpdater.startUpdate.report= tutti.applicationUpdater.startUpdate.tutti= tutti.applicationUpdater.synchroDB.prepare.error= tutti.applicationUpdater.synchroDB.synchro.error= @@ -164,6 +165,8 @@ tutti.config.option.ui.showNumberEditorButton.description= tutti.config.option.update.application.url.description= tutti.config.option.update.application.url.shortLabel= +tutti.config.option.update.data.url.description= +tutti.config.option.update.data.url.shortLabel= tutti.config.option.update.db.url.description= tutti.config.option.update.db.url.shortLabel= tutti.config.option.weight.unit.accidentalCatch.shortLabel= @@ -1283,6 +1286,9 @@ tutti.main.action.updateApplication= tutti.main.action.updateApplication.mnemonic= tutti.main.action.updateApplication.tip= +tutti.main.action.updateReport= +tutti.main.action.updateReport.mnemonic= +tutti.main.action.updateReport.tip= tutti.main.action.updateSpecificApplication.tip= tutti.main.action.validateCatches= tutti.main.action.validateCatches.mnemonic= @@ -1504,11 +1510,15 @@ tutti.update.help= tutti.update.i18n= tutti.update.jre= +tutti.update.report= tutti.update.tutti= tutti.updateApplication.checkUpdates= tutti.updateApplication.message.success= tutti.updateApplication.noUpdate= tutti.updateApplication.title.success= +tutti.updateReport.message.success= +tutti.updateReport.noUpdate= +tutti.updateReport.title.success= tutti.validateCruise.action.export.all.chooseFile.label= tutti.validateCruise.action.export.all.chooseFile.title= tutti.validateCruise.action.export.all.success= Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties =================================================================== --- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-11-10 12:25:46 UTC (rev 1341) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-11-10 14:11:26 UTC (rev 1342) @@ -16,7 +16,7 @@ tutti.about.translate.title=Traduire Tutti tutti.about.update.app.noup.detail=<tr><td>%1$s</td><td>%2$s</td><td>%2$s<td><td></td></tr> tutti.about.update.app.up.detail=<tr><td>%1$s</td><td>%2$s</td><td><strong>%3$s</strong></td><td><a href\="%4$s">Mettre à jour</a><td></tr> -tutti.about.update.content=<h2>Mise à jour de Tutti</h2><p>Fichier des mises à jour \: <ul><li>Applicatif \: <a href\="%1$s">%1$s</a></li><li>Base de données \: <a href\="%2$s">%2$s</a></li></ul></p><br/><hr/><br/><table><CAPTION><EM>Mises à jour des modules</EM></CAPTION><tr><th>Module</th><th>Version installée</th><th>Dernière version</th><th></th></tr>%3$s</table> +tutti.about.update.content=<h2>Mise à jour de Tutti</h2><p>Fichier des mises à jour \: <ul><li>Applicatif \: <a href\="%1$s">%1$s</a></li><li>Données \: <a href\="%2$s">%2$s</a></li></ul></p><br/><hr/><br/><table><CAPTION><EM>Mises à jour des modules</EM></CAPTION><tr><th>Module</th><th>Version installée</th><th>Dernière version</th><th></th></tr>%3$s</table> tutti.about.update.title=Mise à jour Tutti tutti.action.create.error=Erreur à l'instanciation de l'action %s tutti.addSampleCategoryBenthosBatch.title=Catégorisation du lot (ajout) @@ -28,6 +28,7 @@ tutti.applicationUpdater.startUpdate.help=Téléchargement et installation d'une nouvelle version de l'aide (version %s) tutti.applicationUpdater.startUpdate.i18n=Téléchargement et installation d'une nouvelle version des traductions (version %s) tutti.applicationUpdater.startUpdate.jre=Téléchargement et installation d'une nouvelle JRE (version %s) +tutti.applicationUpdater.startUpdate.report=Téléchargement et installation d'une nouvelle version des rapport (version %s) tutti.applicationUpdater.startUpdate.tutti=Téléchargement et installation d'une nouvelle version de l'application (version %s) tutti.applicationUpdater.synchroDB.prepare.error=Erreur lors de la préparation de la synchronisation de la base tutti.applicationUpdater.synchroDB.synchro.error=Erreur lors de la synchronisation de la base @@ -161,8 +162,8 @@ tutti.config.option.ui.showNumberEditorButton.description=Afficher le pavé numérique de saisie tutti.config.option.update.application.url.description=URL de mise à jour des applicatifs tutti.config.option.update.application.url.shortLabel=URL de mise à jour des applicatifs -tutti.config.option.update.db.url.description=URL de mise à jour de la base de données -tutti.config.option.update.db.url.shortLabel=URL de mise à jour de la base de données +tutti.config.option.update.data.url.description=URL de mise à jour des données (base + report) +tutti.config.option.update.data.url.shortLabel=URL de mise à jour des données tutti.config.option.weight.unit.accidentalCatch.shortLabel=Unité capture accidentelle tutti.config.option.weight.unit.benthos.shortLabel=Unité Benthos tutti.config.option.weight.unit.individualObservation.shortLabel=Unité données individuelles @@ -1278,9 +1279,12 @@ tutti.main.action.site=Site tutti.main.action.site.mnemonic=S tutti.main.action.site.tip=Accéder au site du projet Tutti (développement de l'application) -tutti.main.action.updateApplication=Vérifier les mises à jour +tutti.main.action.updateApplication=Vérifier les mises à jour logiciels tutti.main.action.updateApplication.mnemonic=V tutti.main.action.updateApplication.tip=Vérifier les mises à jour logicielles +tutti.main.action.updateReport=Vérifier les mises à jour des rapports +tutti.main.action.updateReport.mnemonic=R +tutti.main.action.updateReport.tip=Vérifier les mises à jour des rapports tutti.main.action.updateSpecificApplication.tip=Mettre à jour le module <strong>%s</strong> tutti.main.action.validateCatches=Valider les captures tutti.main.action.validateCatches.mnemonic=V @@ -1502,11 +1506,15 @@ tutti.update.help=Aide en ligne tutti.update.i18n=Traductions tutti.update.jre=Java +tutti.update.report=Rapports tutti.update.tutti=Tutti tutti.updateApplication.checkUpdates=Recherche de mises à jour -tutti.updateApplication.message.success=La mise à jour nécessite le redémarrage du l'application -tutti.updateApplication.noUpdate=Aucune mise à jour de l'application détectée. +tutti.updateApplication.message.success=La mise à jour du logiciel nécessite le redémarrage de l'application +tutti.updateApplication.noUpdate=<strong>Aucune mise à jour de l'application détectée.</strong> tutti.updateApplication.title.success=Redémarrage de l'application nécessaire... +tutti.updateReport.message.success=La mise à jour des rapports nécessite le redémarrage de l'application +tutti.updateReport.noUpdate=<strong>Aucune mise à jour de rapports détectée.</strong> +tutti.updateReport.title.success=Redémarrage de l'application nécessaire... tutti.validateCruise.action.export.all.chooseFile.label=Choisir le fichier d'export tutti.validateCruise.action.export.all.chooseFile.title=Exporter les messages de validation de la campagne tutti.validateCruise.action.export.all.success=Les messages de validation des captures ont correctement été exporté dans le fichier %s
participants (1)
-
tchemit@users.forge.codelutin.com