Author: chatellier Date: 2009-06-30 08:02:35 +0000 (Tue, 30 Jun 2009) New Revision: 2443 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Beau catch d'une java.lang.Error si on utilise des script li?\195?\169 a des choses inexistantes. Affichage d'un message, redemarrage d'Isis. Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2009-06-29 16:54:24 UTC (rev 2442) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2009-06-30 08:02:35 UTC (rev 2443) @@ -44,6 +44,7 @@ import org.codelutin.math.matrix.DoubleBigVector; import org.codelutin.math.matrix.MatrixFactory; import org.codelutin.topia.TopiaException; +import org.codelutin.util.FileUtil; import org.codelutin.util.LocaleConverter; import org.codelutin.util.VersionNumber; import org.codelutin.widget.SwingUtil; @@ -93,16 +94,6 @@ static final public String LAST_RELEASE_LAUNCH = "lastReleaseLaunched"; - /* - Il y a un bug dans LutinLog, a chaque log, il contruit - une Jframe et la consommation mémoire explose... - static { - System.setProperty("org.apache.commons.logging.LogFactory", - LutinLogFactory.class.getName() - ); - log = LogFactory.getLog(IsisFish.class); - }*/ - static public IsisConfig config = null; static public int step = 0; // action step static public VCS vcs = null; @@ -114,7 +105,8 @@ System.exit(0); } - static public void main(String... args) { + public static void main(String... args) { + try { // permet de faire fonctionner la compilation en webstart System.setSecurityManager(null); @@ -153,6 +145,17 @@ } catch (Exception e) { e.printStackTrace(); quit(); + } catch (LinkageError e) { + // a real java.lang.Error sometimes happen when + // using non recompiled script due to dependency changes + // this is the better solution found : + // remove isis build directory + FileUtil.deleteRecursively(IsisFish.config.getCompileDirectory()); + // display message + JOptionPane.showMessageDialog(null, _("isisfish.error.linkageerror.message"), + _("isisfish.error.linkageerror.title"), JOptionPane.ERROR_MESSAGE); + // restart isis + quit(); } } Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-06-29 16:54:24 UTC (rev 2442) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-06-30 08:02:35 UTC (rev 2443) @@ -296,6 +296,8 @@ isisfish.error.invalid.values.params=Parametre controlable hors valeurs possibles isisfish.error.invalidate.natural.death=natural mortality invalid isisfish.error.invoke.method=Can't invoke method '%1$s' for class %2$s +isisfish.error.linkageerror.message=Isis-Fish has detected a script use error.\nCompilation directory has been deleted to force recompilation.\n\nPlease, restart Isis-Fish. +isisfish.error.linkageerror.title=Init error isisfish.error.load.class=Can't load class\: %1$s isisfish.error.load.classloader=Can't create ClassLoader for script, bad directory\: %1$s for reason %2$s isisfish.error.load.file=could not load file %1$s Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-06-29 16:54:24 UTC (rev 2442) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-06-30 08:02:35 UTC (rev 2443) @@ -296,6 +296,8 @@ isisfish.error.invalid.values.params=Param\u00E8tre controlable hors valeurs possibles isisfish.error.invalidate.natural.death=mortalite naturelle invalide isisfish.error.invoke.method=Can't invoke method '%1$s' for class %2$s +isisfish.error.linkageerror.message=Isis-Fish a d\u00E9tect\u00E9 une erreur d'utilisation des scripts.\nLe dossier de compilation a \u00E9t\u00E9 supprim\u00E9 pour forcer leur recompilation.\n\nMerci de relancer Isis-Fish. +isisfish.error.linkageerror.title=Erreur d'initialisation isisfish.error.load.class=Can't load class\: %1$s isisfish.error.load.classloader=Can't create ClassLoader for script, bad directory\: %1$s for reason %2$s isisfish.error.load.file=could not load file %1$s