Author: bpoussin Date: 2014-07-29 10:15:06 +0200 (Tue, 29 Jul 2014) New Revision: 4070 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4070 Log: - fixes #5552 Ajout du nom du type d'?\195?\169quation dans le nom du fichier Java g?\195?\169n?\195?\169r?\195?\169 - replace deleteOnExit with delete during equation check Modified: trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java Modified: trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java 2014-07-24 16:41:17 UTC (rev 4069) +++ trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java 2014-07-29 08:15:06 UTC (rev 4070) @@ -143,13 +143,12 @@ */ public static int check(Class javaInterface, String script, PrintWriter out) { try { - File src = File.createTempFile("check", "equation"); - src.deleteOnExit(); + File src = File.createTempFile("check" + javaInterface.getSimpleName(), "Equation"); + src.delete(); // delete now, we don't need file, just name to create java file String packageName = null; String className = normalizeClassName(src.getName()); - + src = new File(src.getParentFile(), className + ".java"); - src.deleteOnExit(); // recherche la methode de l'interface Method [] methods = javaInterface.getDeclaredMethods(); @@ -161,8 +160,11 @@ int compileResult = CompileHelper.compile(src.getParentFile(), src, src.getParentFile(), out); File dest = new File(src.getParentFile(), className + ".class"); - dest.deleteOnExit(); + // no more need file .java and .class remove them now + src.delete(); + dest.delete(); + return compileResult; } catch (Exception eee) { @@ -184,9 +186,11 @@ */ public static Object evaluate(String packageName, String className, Class javaInterface, String script, Object... args) { - className = normalizeClassName(className); + // ajout du nom de l'interface dans le nom de la classe pour retrouver + // plus facilement a quelle equation correspond les fichiers sur disque. + className = javaInterface.getSimpleName() + normalizeClassName(className); - Object result = null; + Object result; Class clazz = null; // recherche la methode de l'interface
participants (1)
-
bpoussin@users.forge.codelutin.com