r931 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing java/fr/ifremer/tutti/ui/swing/content java/fr/ifremer/tutti/ui/swing/content/db java/fr/ifremer/tutti/ui/swing/util resources/i18n
Author: tchemit Date: 2013-05-08 17:45:54 +0200 (Wed, 08 May 2013) New Revision: 931 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/931 Log: fixes #2313: [GENERAL] erreur au red?\195?\169marage de tutti si l abase est d?\195?\169j?\195?\160 utilis?\195?\169e par une autre instance de tutti 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/content/AbstractChangeScreenAction.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/OpenDbAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.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/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-05-08 14:41:35 UTC (rev 930) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-05-08 15:45:54 UTC (rev 931) @@ -814,4 +814,12 @@ Object newValue) { firePropertyChange(propertyName, oldValue, newValue); } + + public void setFallBackScreen() { + if (isDbLoaded()) { + setScreen(TuttiScreen.SELECT_CRUISE); + } else { + setScreen(TuttiScreen.MANAGE_DB); + } + } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-05-08 14:41:35 UTC (rev 930) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/AbstractChangeScreenAction.java 2013-05-08 15:45:54 UTC (rev 931) @@ -86,37 +86,27 @@ TuttiUIContext context = getContext(); - try { - - TuttiScreen previousScreen = context.getScreen(); - if (getUI() != null) { - if (previousScreen == null) { - PREVIOUS_SCREEN.removeContextValue(getUI()); - } else { - PREVIOUS_SCREEN.setContextValue(getUI(), previousScreen); - } + TuttiScreen previousScreen = context.getScreen(); + if (getUI() != null) { + if (previousScreen == null) { + PREVIOUS_SCREEN.removeContextValue(getUI()); + } else { + PREVIOUS_SCREEN.setContextValue(getUI(), previousScreen); } + } - // clean current screen - context.setScreen(null); + // clean current screen + context.setScreen(null); - // change screen - context.setScreen(screen); - - } catch (Exception e) { - throw e; - } + // change screen + context.setScreen(screen); } @Override public void postFailedAction(Throwable error) { - TuttiUIContext context = getContext(); if (error != null) { - if (context.isDbLoaded()) { - context.setScreen(TuttiScreen.SELECT_CRUISE); - } else { - context.setScreen(TuttiScreen.MANAGE_DB); - } + + getContext().setFallBackScreen(); } } 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-05-08 14:41:35 UTC (rev 930) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-05-08 15:45:54 UTC (rev 931) @@ -51,25 +51,26 @@ String message; if (dbExist) { + + String jdbcUrl = getConfig().getServiceConfig().getPersistenceConfig().getJdbcUrl(); + if (dbLoaded) { - String jdbcUrl = getConfig().getServiceConfig().getPersistenceConfig().getJdbcUrl(); - // db loaded message = _("tutti.dbManager.info.db.loaded", jdbcUrl); } else { // no db loaded - message = _("tutti.dbManager.info.no.db.loaded"); + message = _("tutti.dbManager.info.no.db.loaded", jdbcUrl); } } else { // db does not exist message = _("tutti.dbManager.info.no.db.exist"); - ui.getInformationLabel().setText(_(message)); +// ui.getInformationLabel().setText(_(message)); } - return message; + return "<html><body>" + message + "</body></html>"; } @Override 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-05-08 14:41:35 UTC (rev 930) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/OpenDbAction.java 2013-05-08 15:45:54 UTC (rev 931) @@ -24,6 +24,7 @@ * #L% */ +import fr.ifremer.tutti.TuttiBusinessException; import fr.ifremer.tutti.persistence.config.TuttiPersistenceConfig; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction; @@ -55,9 +56,20 @@ if (log.isDebugEnabled()) { log.debug("Will open db..."); } - getContext().setDbLoaded(true); - getHandler().reloadPersistenceService(); + try { + getContext().setDbLoaded(true); + getHandler().reloadPersistenceService(); + } catch (Exception e) { + + // no more db + getContext().setDbLoaded(false); + getHandler().reloadPersistenceService(); + + // could not load db + throw new TuttiBusinessException(_("tutti.dbManager.action.openDb.couldNotOpen")); + } + if (log.isDebugEnabled()) { log.debug("Check db context"); } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-05-08 14:41:35 UTC (rev 930) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/TuttiExceptionHandler.java 2013-05-08 15:45:54 UTC (rev 931) @@ -25,7 +25,6 @@ */ import fr.ifremer.tutti.TuttiTechnicalException; -import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.content.AbstractChangeScreenAction; import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction; @@ -98,7 +97,8 @@ TuttiUIContext.getErrorHelper().showErrorDialog(cause.getMessage(), cause); if (backToScreen) { - action.getContext().setScreen(TuttiScreen.SELECT_CRUISE); + + action.getContext().setFallBackScreen(); } } 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-05-08 14:41:35 UTC (rev 930) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-05-08 15:45:54 UTC (rev 931) @@ -241,6 +241,7 @@ tutti.dbManager.action.installDb.mnemonic= tutti.dbManager.action.installDb.tip= tutti.dbManager.action.openDb= +tutti.dbManager.action.openDb.couldNotOpen= tutti.dbManager.action.openDb.mnemonic= tutti.dbManager.action.openDb.tip= tutti.dbManager.action.upgradeDb= 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-05-08 14:41:35 UTC (rev 930) +++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-05-08 15:45:54 UTC (rev 931) @@ -236,6 +236,7 @@ tutti.dbManager.action.installDb.mnemonic=n tutti.dbManager.action.installDb.tip=Télécharger puis installer la base de données tutti.dbManager.action.openDb=Ouvrir +tutti.dbManager.action.openDb.couldNotOpen=Impossible d'ouvrir la base, elle est peut-être déjà utilisée par une autre application (ou une autre instance de Tutti). tutti.dbManager.action.openDb.mnemonic=O tutti.dbManager.action.openDb.tip=Ouvrir la base de données tutti.dbManager.action.upgradeDb=Vérifier les mises à jour @@ -245,9 +246,9 @@ tutti.dbManager.action.upgradeDb.reloading=Rechargement de la base de données tutti.dbManager.action.upgradeDb.tip=Mettre à jour les référentiels si nécessaire tutti.dbManager.action.upgradeDb.upToDate=Aucune mise à jour de base détectée. -tutti.dbManager.info.db.loaded=<html>Tutti est connecté à une base de données<hr/>Url de connexion \: <strong>%s</strong></html> +tutti.dbManager.info.db.loaded=Tutti est connecté à une base de données<hr/>Url de connexion \: <strong>%s</strong> tutti.dbManager.info.no.db.exist=Aucune base détectée, vous pouvez installer la dernière disponible sur le réseau ou bien en importer une. -tutti.dbManager.info.no.db.loaded=Tutti possède une base mais elle n'est pas actuellement ouverte. +tutti.dbManager.info.no.db.loaded=Tutti possède une base (<strong>%s</strong>).<br/>Elle n'a pas pu être ouverte, elle doit être probablement utilisée par une autre application.<hr/>Quitter les applications l'utilisant puis redémarrer Tutti. tutti.dbManager.title.choose.dbExportFile=Exporter la base de données tutti.dbManager.title.choose.dbImportFile=Importer la base de données tutti.editAccidentalBatch.action.createBatch=Créer une capture accidentelle
participants (1)
-
tchemit@users.forge.codelutin.com