r517 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing: . content content/db util
Author: tchemit Date: 2013-03-02 17:44:34 +0100 (Sat, 02 Mar 2013) New Revision: 517 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/517 Log: refs #2056: [TECH] Am?\195?\169liorer le processus de mise ?\195?\160 jour de l'application am?\195?\169liorations messages des mises ?\195?\160 jour reformat Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 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/UpdateReferentialAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-02 16:30:00 UTC (rev 516) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-03-02 16:44:34 UTC (rev 517) @@ -27,11 +27,11 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Maps; +import fr.ifremer.tutti.TuttiTechnicalException; import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig; import fr.ifremer.tutti.persistence.service.synchro.ReferentialSynchronizeResult; import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.TuttiTechnicalException; import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService; import fr.ifremer.tutti.ui.swing.util.action.TuttiActionUI; import org.apache.commons.io.FileUtils; @@ -57,11 +57,12 @@ private static final Log log = LogFactory.getLog(TuttiApplicationUpdaterCallBack.class); + public enum UpdateType { JRE, TUTTI, I18N, - DB + DB; } protected final TuttiUIContext context; @@ -70,6 +71,8 @@ protected ProgressionModel progressionModel; + protected boolean applicationUpdated; + protected boolean dbUpdated; public TuttiApplicationUpdaterCallBack(TuttiUIContext context, ProgressionModel progressionModel) { @@ -81,6 +84,10 @@ this.types = Lists.newArrayList(types); } + public boolean isApplicationUpdated() { + return applicationUpdated; + } + public boolean isDbUpdated() { return dbUpdated; } @@ -148,6 +155,8 @@ if (doRestart) { + applicationUpdated = true; + if (updateTutti) { TuttiPersistenceConfig persistenceConfig = context.getConfig().getServiceConfig().getPersistenceConfig(); @@ -163,12 +172,14 @@ throw new TuttiTechnicalException( "could not delete i18n directory " + i18nDirectory, e); } - } - System.exit(RunTutti.UPATE_EXIT_CODE); } } + public void restart() { + System.exit(RunTutti.UPATE_EXIT_CODE); + } + @Override public void aborted(String propertiesURL, Exception eee) { if (log.isErrorEnabled()) { Modified: 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/UpdateApplicationAction.java 2013-03-02 16:30:00 UTC (rev 516) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-03-02 16:44:34 UTC (rev 517) @@ -28,6 +28,7 @@ import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; +import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -60,7 +61,8 @@ @Override protected void doAction() { - TuttiApplicationConfig config = getContext().getConfig(); + TuttiUIContext context = getContext(); + TuttiApplicationConfig config = context.getConfig(); File current = config.getTuttiBasedir(); if (current == null || !current.exists()) { @@ -80,11 +82,11 @@ ApplicationUpdater up = new ApplicationUpdater(); ProgressionModel progressionModel = new ProgressionModel(); - getContext().getActionUI().getModel().setProgressionModel(progressionModel); + context.getActionUI().getModel().setProgressionModel(progressionModel); progressionModel.setMessage("Recherche de mises à jour de JRE / Tutti / I18N"); TuttiApplicationUpdaterCallBack callback = - new TuttiApplicationUpdaterCallBack(getContext(), progressionModel); + new TuttiApplicationUpdaterCallBack(context, progressionModel); callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.JRE, TuttiApplicationUpdaterCallBack.UpdateType.I18N, @@ -94,6 +96,23 @@ dest, false, callback); + + if (callback.isApplicationUpdated()) { + + // tell user restart will be done + + TuttiUIUtil.showSuccessMessage( + getUI(), + "Redémarrage de Tutti nécessaire...", + "La mise à jour nécessite le rédémarrage du Tutti.\nL'application va se fermer puis se réouvrir automatiquement." + ); + + callback.restart(); + + } else { + + sendMessage("Aucune mise à jour de l'application détectée."); + } // getContext().getActionUI().getModel().clear(); } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-02 16:30:00 UTC (rev 516) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateReferentialAction.java 2013-03-02 16:44:34 UTC (rev 517) @@ -26,6 +26,7 @@ import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.ui.swing.TuttiApplicationUpdaterCallBack; +import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -57,7 +58,8 @@ @Override protected void doAction() { - TuttiApplicationConfig config = getContext().getConfig(); + TuttiUIContext context = getContext(); + TuttiApplicationConfig config = context.getConfig(); File current = config.getDataDirectory(); String url = config.getUpdateUrl(); @@ -69,9 +71,9 @@ File dest = new File(config.getTuttiBasedir(), "NEW"); ProgressionModel progressionModel = new ProgressionModel(); - getContext().getActionUI().getModel().setProgressionModel(progressionModel); + context.getActionUI().getModel().setProgressionModel(progressionModel); progressionModel.setMessage("Recherche de mises à jour de base"); - TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(getContext(), progressionModel); + TuttiApplicationUpdaterCallBack callback = new TuttiApplicationUpdaterCallBack(context, progressionModel); callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.DB); up.update(url, current, @@ -83,8 +85,8 @@ progressionModel.setMessage("Rechargement de la base de données"); - getContext().setDbLoaded(true); - getContext().reloadPersistenceService(); + context.setDbLoaded(true); + context.reloadPersistenceService(); } else { Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 16:30:00 UTC (rev 516) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportDbAction.java 2013-03-02 16:44:34 UTC (rev 517) @@ -24,6 +24,7 @@ * #L% */ +import com.google.common.base.Preconditions; import fr.ifremer.tutti.service.TuttiIOUtil; import fr.ifremer.tutti.ui.swing.content.AbstractMainUITuttiAction; import fr.ifremer.tutti.ui.swing.content.MainUIHandler; @@ -82,8 +83,8 @@ file = TuttiIOUtil.addExtensionIfMissing(file, ".zip"); - // ask user to confirm overwrite. - doAction = TuttiUIUtil.askOverwriteFile(getUI(), file); + // ask user to confirm overwrite. + doAction = TuttiUIUtil.askOverwriteFile(getUI(), file); } } return doAction; @@ -97,7 +98,7 @@ @Override protected void doAction() { - + Preconditions.checkNotNull(file); if (log.isInfoEnabled()) { log.info("Will export db to " + file); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 16:30:00 UTC (rev 516) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiUIUtil.java 2013-03-02 16:44:34 UTC (rev 517) @@ -132,11 +132,11 @@ return file == null ? incoming : new File(file); } - public static void showSuccessMessage(Component ui, String message) { + public static void showSuccessMessage(Component ui,String title, String message) { JOptionPane.showMessageDialog( ui, message, - "Success", + title, JOptionPane.INFORMATION_MESSAGE, UIManager.getIcon("info") );
participants (1)
-
tchemit@users.forge.codelutin.com