Author: chatellier Date: 2010-04-01 09:13:53 +0000 (Thu, 01 Apr 2010) New Revision: 3013 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java Log: Add rollback on topia context if commit fails. Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2010-03-30 15:29:51 UTC (rev 3012) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2010-04-01 09:13:53 UTC (rev 3013) @@ -113,7 +113,7 @@ * migration de donnees demande automatiquement un changement de version * d'application. */ - protected final static Version version = new Version(3, 3, 0, 1); + protected final static Version version = new Version(3, 3, 0, 2); protected final static Version databaseVersion = new Version( version.getNumber(0), version.getNumber(1)); protected final static Version apiVersion = new Version( Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2010-03-30 15:29:51 UTC (rev 3012) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2010-04-01 09:13:53 UTC (rev 3013) @@ -315,7 +315,7 @@ /** * Save all non saved entities. * - * Change registred button states. + * Change registered button states. * Commit opened topia context. */ protected void topiaSave() { @@ -331,10 +331,21 @@ rootUI.repaintNode(currentNode.getContextPath()); rootUI.setStatusMessage(_("isisfish.message.save.finished")); } catch (TopiaException eee) { - if (log.isErrorEnabled()) { - log.error("Can't save region", eee); + + // EC-20100401 : ajouté pour avoir un context + // correct apres un erreur, sinon, on ne peut plus rien faire + // rien sauver d'autre... + try { + isisContext.rollbackTransaction(); + if (log.isErrorEnabled()) { + log.error("Can't save entity", eee); + } + ErrorHelper.showErrorDialog(_("isisfish.error.input.saveentity"), eee); + } catch (TopiaException eee2) { + if (log.isErrorEnabled()) { + log.error("Can't save or rollback entity", eee2); + } } - ErrorHelper.showErrorDialog(_("isisfish.error.input.saveentity"), eee); } }