Isis-fish-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
August 2009
- 2 participants
- 48 discussions
Author: chatellier
Date: 2009-08-25 07:35:18 +0000 (Tue, 25 Aug 2009)
New Revision: 2520
Modified:
isis-fish/trunk/changelog.txt
Log:
Update changelog (javadoc)
Modified: isis-fish/trunk/changelog.txt
===================================================================
--- isis-fish/trunk/changelog.txt 2009-08-24 14:37:53 UTC (rev 2519)
+++ isis-fish/trunk/changelog.txt 2009-08-25 07:35:18 UTC (rev 2520)
@@ -1,5 +1,6 @@
isis-fish (3.2.0.5) stable; urgency=low
+ * Add user script javadoc generation
* Move script import/export to Jaxx
* Fix nano time problem (not related to real date)
* @Doc annotation is now only field target
1
0
r2519 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/script java/fr/ifremer/isisfish/util resources/i18n
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
24 Aug '09
Author: chatellier
Date: 2009-08-24 14:37:53 +0000 (Mon, 24 Aug 2009)
New Revision: 2519
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.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:
Add option to generate javadoc in UI.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2009-08-24 14:35:54 UTC (rev 2518)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2009-08-24 14:37:53 UTC (rev 2519)
@@ -21,6 +21,7 @@
import static org.codelutin.i18n.I18n._;
+import java.awt.Desktop;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileFilter;
@@ -30,6 +31,7 @@
import java.io.StringWriter;
import java.io.Writer;
import java.lang.reflect.Method;
+import java.net.URI;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -63,6 +65,7 @@
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.util.ClasspathTemplateLoader;
import fr.ifremer.isisfish.util.CompilationResult;
+import fr.ifremer.isisfish.util.JavadocHelper;
import fr.ifremer.isisfish.vcs.VCSException;
import freemarker.cache.TemplateLoader;
import freemarker.template.Configuration;
@@ -884,4 +887,48 @@
return templatePath;
}
}
+
+ /**
+ * Generate javadoc for all database script.
+ *
+ * @return javadoc status and output
+ */
+ public CompilationResult generateScriptJavadoc() {
+
+ CompilationResult result = new CompilationResult();
+
+ File rootDatabase = IsisFish.config.getDatabaseDirectory();
+ File javadocDirectory = IsisFish.config.getJavadocDirectory();
+
+ StringWriter output = new StringWriter();
+ PrintWriter out = new PrintWriter(output);
+ int ok = JavadocHelper.generateJavadoc(rootDatabase, javadocDirectory, out);
+
+ if (ok == 0) {
+ result.setCompilationResult(CompilationResult.COMPILATION_OK);
+ }
+ else {
+ result.setCompilationResult(CompilationResult.COMPILATION_FAILED);
+ }
+ result.setCompilationOutput(output.toString());
+ return result;
+ }
+
+ /**
+ * Open a browser displaying javadoc.
+ */
+ public void showScriptJavadoc() {
+ try {
+ // in faut ouvrir l'index, sinon, ca ouvre
+ // un explorateur de fichier
+ File indexFile = new File(IsisFish.config.getJavadocDirectory(), "index.html");
+
+ URI uri = indexFile.toURI();
+ Desktop.getDesktop().browse(uri);
+ } catch (Exception e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't show script javadocs", e);
+ }
+ }
+ }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2009-08-24 14:35:54 UTC (rev 2518)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2009-08-24 14:37:53 UTC (rev 2519)
@@ -267,6 +267,42 @@
String diffMessage = getContextValue(ScriptAction.class).diffScript(editor.getText());
setInfoText(diffMessage);
}
+
+ /**
+ * Generate javadoc and disply output in UI.
+ */
+ protected void generateScriptJavadoc() {
+ setInfoText(_("isisfish.script.menu.javadocgenerating", fr.ifremer.isisfish.IsisFish.config.getJavadocDirectory()));
+
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ ScriptAction action = getContextValue(ScriptAction.class);
+ CompilationResult compilationResult = action.generateScriptJavadoc();
+
+ // TODO display an ok status ?
+ if (compilationResult.getCompilationResult() == CompilationResult.COMPILATION_OK) {
+ actionLogArea.setText(_("isisfish.script.compilation.ok", compilationResult.getCompilationOutput()));
+ // vert leger
+ actionLogArea.setBackground(new Color(210, 255, 210));
+ }
+ else {
+ actionLogArea.setText(_("isisfish.script.compilation.failed", compilationResult.getCompilationOutput()));
+ // rouge leger
+ actionLogArea.setBackground(new Color(255, 210, 210));
+ }
+ setInfoText(_("isisfish.script.menu.javadocgenerated", fr.ifremer.isisfish.IsisFish.config.getJavadocDirectory()));
+ }
+ });
+ }
+
+ /**
+ * Show generated javadoc.
+ */
+ protected void showScriptJavadoc() {
+ ScriptAction action = getContextValue(ScriptAction.class);
+ action.showScriptJavadoc();
+ }
+
]]>
</script>
@@ -307,6 +343,9 @@
<JMenu id="scriptTxtCode" text="isisfish.script.menu.code">
<JMenuItem id="miCheckSyntax" text="isisfish.script.menu.checkSyntax" accelerator="accCheckSyntax" onActionPerformed="checkScript()"/>
<JMenuItem id="miEvaluate" text="isisfish.script.menu.evaluate" accelerator="accEvaluate" onActionPerformed="evaluateScript()"/>
+ <JSeparator/>
+ <JMenuItem id="miGenerateJavadoc" text="isisfish.script.menu.javadocgenerate" onActionPerformed="generateScriptJavadoc()"/>
+ <JMenuItem id="miShowJavadoc" text="isisfish.script.menu.javadocshow" onActionPerformed="showScriptJavadoc()"/>
</JMenu>
</JMenuBar>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java 2009-08-24 14:35:54 UTC (rev 2518)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java 2009-08-24 14:37:53 UTC (rev 2519)
@@ -29,6 +29,7 @@
import org.apache.commons.logging.LogFactory;
import org.codelutin.util.FileUtil;
+import com.sun.tools.doclets.standard.Standard;
import com.sun.tools.javadoc.Main;
import fr.ifremer.isisfish.IsisFish;
@@ -166,7 +167,9 @@
for (File srcFile : filesSrc) {
args.add(srcFile.getAbsolutePath());
}
- result = Main.execute(JAVADOC_TOOL_NAME, args.toArray(new String[0]));
+ //result = Main.execute(JAVADOC_TOOL_NAME, args.toArray(new String[0]));
+ result = Main.execute(JAVADOC_TOOL_NAME, out, out, out,
+ Standard.class.getName(), args.toArray(new String[0]));
} catch (Exception eee) {
if (log.isWarnEnabled()) {
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-08-24 14:35:54 UTC (rev 2518)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-08-24 14:37:53 UTC (rev 2519)
@@ -877,6 +877,10 @@
isisfish.script.menu.edit=Edit
isisfish.script.menu.evaluate=Evaluate
isisfish.script.menu.file=File
+isisfish.script.menu.javadocgenerate=Generate script javadoc
+isisfish.script.menu.javadocgenerated=Javadoc generated in %s
+isisfish.script.menu.javadocgenerating=Generating javadoc in %s...
+isisfish.script.menu.javadocshow=Show script javadoc
isisfish.script.menu.new=New
isisfish.script.menu.paste=Paste
isisfish.script.menu.save=Save
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-08-24 14:35:54 UTC (rev 2518)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-08-24 14:37:53 UTC (rev 2519)
@@ -877,6 +877,11 @@
isisfish.script.menu.edit=\u00C9dition
isisfish.script.menu.evaluate=Evaluer
isisfish.script.menu.file=Fichier
+isisfish.script.menu.generatejavadoc=G\u00E9n\u00E9rer la javadoc
+isisfish.script.menu.javadocgenerate=G\u00E9n\u00E9rer la javadoc
+isisfish.script.menu.javadocgenerated=Javadoc g\u00E9n\u00E9r\u00E9e dans %s
+isisfish.script.menu.javadocgenerating=Javadoc en cours de g\u00E9n\u00E9ration dans %s...
+isisfish.script.menu.javadocshow=Afficher la javadoc
isisfish.script.menu.new=Nouveau
isisfish.script.menu.paste=Coller
isisfish.script.menu.save=Sauver
1
0
r2518 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: . ui
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
24 Aug '09
Author: chatellier
Date: 2009-08-24 14:35:54 +0000 (Mon, 24 Aug 2009)
New Revision: 2518
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/Help.java
Log:
Fix option key used.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-08-24 13:12:58 UTC (rev 2517)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-08-24 14:35:54 UTC (rev 2518)
@@ -253,7 +253,7 @@
* @return javadoc directory
*/
public File getJavadocDirectory() {
- File result = getOptionAsFile(Option.COMPILATION_DIRECTORY.key);
+ File result = getOptionAsFile(Option.JAVADOC_DIRECTORY.key);
if (!result.exists()) {
result.mkdirs();
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/Help.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/Help.java 2009-08-24 13:12:58 UTC (rev 2517)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/Help.java 2009-08-24 14:35:54 UTC (rev 2518)
@@ -45,7 +45,7 @@
// URL alias
public static Map<String, String> URLSALIAS = new HashMap<String, String>();
-
+
static {
URLSALIAS.put("ISISFISH", "http://isis-fish.labs.libre-entreprise.org/");
URLSALIAS.put("JAVA_API", "http://java.sun.com/javase/6/docs/api/index.html");
@@ -53,7 +53,7 @@
URLSALIAS.put("MATRIX_API", "http://lutinmatrix.labs.libre-entreprise.org/lutinmatrix/apidocs/index.html");
URLSALIAS.put("TOPIA_API", "http://topia.labs.libre-entreprise.org/topia/topia-persistence/apidocs/inde…");
}
-
+
/**
* Open url using default system browser.
*
@@ -62,18 +62,16 @@
public static void showURL(String urlOrAlias) {
try {
String url = URLSALIAS.get(urlOrAlias);
-
+
if (url == null) {
url = urlOrAlias;
}
Desktop.getDesktop().browse(new URL(url).toURI());
- } catch(Exception e){
+ } catch (Exception e) {
if (log.isErrorEnabled()) {
log.error("Can't show help", e);
}
- }
+ }
}
}
-
-
1
0
r2517 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/util test/java/fr/ifremer/isisfish/util
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
24 Aug '09
Author: chatellier
Date: 2009-08-24 13:12:58 +0000 (Mon, 24 Aug 2009)
New Revision: 2517
Added:
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/JavadocHelperTest.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
Log:
Add user javadoc generation.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java 2009-08-24 08:24:04 UTC (rev 2516)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/JavadocHelper.java 2009-08-24 13:12:58 UTC (rev 2517)
@@ -18,29 +18,19 @@
package fr.ifremer.isisfish.util;
-import static org.codelutin.i18n.I18n._;
-
import java.io.File;
-import java.io.IOException;
import java.io.PrintWriter;
-import java.lang.reflect.Method;
-import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
-import java.util.Enumeration;
import java.util.List;
-import javax.tools.JavaCompiler;
-import javax.tools.JavaFileObject;
-import javax.tools.StandardJavaFileManager;
-import javax.tools.ToolProvider;
-
-import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codelutin.util.FileUtil;
+import com.sun.tools.javadoc.Main;
+
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.datastore.JavaSourceStorage;
@@ -63,21 +53,47 @@
/** Logger for this class. */
private static final Log log = LogFactory.getLog(JavadocHelper.class);
- /** Java home. */
- private static final String JAVA_HOME = System.getProperty("java.home");
+ /** Nom du programme dans les outils JDK. */
+ protected static final String JAVADOC_TOOL_NAME = "javadoc";
-
+ /**
+ * Generate javadoc of current.
+ *
+ * @param source source storage
+ * @param destDir javadoc destination directory
+ * @param force force (if html file is newer than java file)
+ * @param out out writer (javadoc output, can be {@code null})
+ * @return javadoc tool result
+ */
public static int generateJavadoc(JavaSourceStorage source, File destDir,
boolean force, PrintWriter out) {
File src = source.getFile();
File dst = new File(destDir, source.getFQN().replace('.', File.separatorChar) + ".html");
+
+ int result = 0;
if (force || FileUtil.isNewer(src, dst)) {
- return generateJavadoc(source.getRoot(), src, destDir, out);
+ result = generateJavadoc(source.getRoot(), src, destDir, out);
}
- return 0;
+ return result;
}
/**
+ * Generate javadoc on all java file in a directory.
+ *
+ * @param rootSrc le repertoire de toutes les sources
+ * @param dest le répertoire de destination de la javadoc
+ * @param out le flux de sortie (peut etre null)
+ * @return le resulat de sortie de l'executable javadoc (0 si ok)
+ */
+ public static int generateJavadoc(File rootSrc, File dest, PrintWriter out) {
+
+ List<File> javaFiles = FileUtil.find(rootSrc, ".*\\.java", true);
+
+ int result = generateJavadoc(rootSrc, javaFiles, dest, out);
+ return result;
+ }
+
+ /**
* Generate single file javadoc.
*
* @param rootSrc le repertoire de toutes les sources
@@ -136,10 +152,25 @@
// Options de compilations
String classpathAsString = CompileHelper.getClassPathAsString(classpath);
+ List<String> args = new ArrayList<String>();
+ args.add("-classpath");
+ args.add(classpathAsString);
+ args.add("-d");
+ args.add(dest.getAbsolutePath());
+ args.add("-link");
+ args.add("http://java.sun.com/javase/6/docs/api/");
+ args.add("-link");
+ args.add(IsisFish.config.getJavadocURL());
+
+ for (File srcFile : filesSrc) {
+ args.add(srcFile.getAbsolutePath());
+ }
+ result = Main.execute(JAVADOC_TOOL_NAME, args.toArray(new String[0]));
+
} catch (Exception eee) {
if (log.isWarnEnabled()) {
- log.warn("Can't get compiler", eee);
+ log.warn("Can't generate javadoc", eee);
}
}
return result;
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2009-08-24 08:24:04 UTC (rev 2516)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2009-08-24 13:12:58 UTC (rev 2517)
@@ -26,15 +26,12 @@
import java.util.List;
import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codelutin.util.FileUtil;
import org.junit.Assert;
import org.junit.Test;
-import com.sun.source.tree.AssertTree;
-
import fr.ifremer.isisfish.AbstractIsisFishTest;
/**
Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/JavadocHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/JavadocHelperTest.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/JavadocHelperTest.java 2009-08-24 13:12:58 UTC (rev 2517)
@@ -0,0 +1,90 @@
+/* *##%
+ * Copyright (C) 2009 CodeLutin
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
+
+package fr.ifremer.isisfish.util;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Test;
+
+import fr.ifremer.isisfish.AbstractIsisFishTest;
+
+/**
+ * CompileHelperTest.
+ *
+ * Created: 12 janv. 2006 16:20:33
+ *
+ * @author poussin
+ *
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author: chatellier $
+ */
+public class JavadocHelperTest extends AbstractIsisFishTest {
+
+ /** Class logger */
+ private static Log log = LogFactory.getLog(JavadocHelperTest.class);
+
+ /**
+ * Try to generate javadoc on current isis-fish-data directory.
+ * (single java file case)
+ *
+ * @throws IOException
+ * @throws ClassNotFoundException
+ */
+ @Test
+ public void testIsisFishDataJavadoc() throws IOException, ClassNotFoundException {
+
+ File currentDirectory = getCurrentDatabaseDirectory();
+ File destinationDirectory = new File(getTestDirectory(), "isis-docs");
+ File testJavaFile = new File(currentDirectory, "analyseplans" + File.separatorChar + "Calibration.java");
+
+ PrintWriter out = new PrintWriter(System.out);
+ int result = JavadocHelper.generateJavadoc(currentDirectory, testJavaFile,
+ destinationDirectory, out);
+
+ // 0 = pas d'erreur
+ Assert.assertEquals(0, result);
+ }
+
+ /**
+ * Try to generate javadoc on current isis-fish-data directory.
+ * (all directory java files)
+ *
+ * @throws IOException
+ * @throws ClassNotFoundException
+ */
+ @Test
+ public void testIsisFishDataJavadocAll() throws IOException, ClassNotFoundException {
+
+ File currentDirectory = getCurrentDatabaseDirectory();
+ File destinationDirectory = new File(getTestDirectory(), "isis-docs-all");
+
+ PrintWriter out = new PrintWriter(System.out);
+ int result = JavadocHelper.generateJavadoc(currentDirectory, destinationDirectory, out);
+
+ // 0 = pas d'erreur
+ Assert.assertEquals(0, result);
+ }
+}
Property changes on: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/JavadocHelperTest.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
1
0
r2516 - in isis-fish/trunk: . src/main/java/fr/ifremer/isisfish/ui/script src/main/java/fr/ifremer/isisfish/ui/script/action src/main/java/fr/ifremer/isisfish/ui/util src/main/resources/i18n
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
by chatellier@users.labs.libre-entreprise.org 24 Aug '09
24 Aug '09
Author: chatellier
Date: 2009-08-24 08:24:04 +0000 (Mon, 24 Aug 2009)
New Revision: 2516
Modified:
isis-fish/trunk/changelog.txt
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ExportDialogUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/FileSelectionTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ImportDialogUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/BackupAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/CancelAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ChooseFileAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ExportAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ImportAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/IsisActionWithBackup.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:
Debut de refactoring des interfaces import/export de script (pas fini).
Modified: isis-fish/trunk/changelog.txt
===================================================================
--- isis-fish/trunk/changelog.txt 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/changelog.txt 2009-08-24 08:24:04 UTC (rev 2516)
@@ -1,5 +1,7 @@
isis-fish (3.2.0.5) stable; urgency=low
+ * Move script import/export to Jaxx
+ * Fix nano time problem (not related to real date)
* @Doc annotation is now only field target
* Fix creation group assistant's labels
* Improve simulation summary
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ExportDialogUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ExportDialogUI.jaxx 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ExportDialogUI.jaxx 2009-08-24 08:24:04 UTC (rev 2516)
@@ -1,6 +1,25 @@
+<!--
+/* *##%
+ * Copyright (C) 2005 - 2009
+ * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+ -->
<JDialog modal="true" resizable='false' title='isisfish.script.export'>
<script>
- // FIXME a refaire
// public org.codelutin.vcs.ui.FieldModelUtil.ModuleFile model;
public Object model = null;
@@ -20,7 +39,7 @@
fr.ifremer.isisfish.ui.util.JaxxUtil.refresh(this,"items.enabled",
"checkAll.enabled","ok.enabled","chooseDir.enabled",
"archivePath.enabled");
- }
+ }
</script>
<Table anchor='center'>
@@ -53,9 +72,9 @@
toolTipText='isisfish.script.export.tooltip.checkAll'
enabled='{!isEmpty()}'
onActionPerformed="doCheckAll()" />
- <JButton id='ok' text='isisfish.script.export.ok'
+ <JButton id='okButton'
enabled='{isOkEnabled()}'/>
- <JButton id='cancel' text='isisfish.script.export.cancel'/>
+ <JButton id='cancelButton' />
</JPanel>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/FileSelectionTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/FileSelectionTableModel.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/FileSelectionTableModel.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -26,7 +26,8 @@
import javax.swing.table.AbstractTableModel;
/**
- * File selection table model.
+ * File selection table model displayed in import/export script
+ * for files selection (first column is checkbox).
*
* @author chatellier
* @version $Revision: 1.0 $
@@ -43,7 +44,10 @@
public final static String[] COLUMN_NAMES = { _("isisfish.common.ellipsis"),
_("isisfish.common.module"), _("isisfish.common.file") };
+ /** All files displayed in table. */
protected List<String> availableFiles;
+
+ /** Only selected files. */
protected List<String> selectedFiles;
/**
@@ -164,12 +168,24 @@
/**
* Set all files selected.
+ *
+ * @param selection {@code true} to select all files, {@code false} to unselect all files
*/
- public void checkAll() {
- selectedFiles.addAll(availableFiles);
+ public void setAllChecked(boolean selection) {
+ if (selection) {
+ selectedFiles.addAll(availableFiles);
+ }
+ else {
+ selectedFiles.clear();
+ }
fireTableDataChanged();
}
+ /**
+ * Get current files selection.
+ *
+ * @return list of selected file path
+ */
public List<String> getSelectedFiles() {
return selectedFiles;
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ImportDialogUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ImportDialogUI.jaxx 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ImportDialogUI.jaxx 2009-08-24 08:24:04 UTC (rev 2516)
@@ -35,9 +35,6 @@
(!isNewItemEmpty() && !newFilesTableModel.getSelectedFiles().isEmpty());
}*/
- newFilesTable.getColumnModel().getColumn(0).setWidth(30);
- conflictFilesTable.getColumnModel().getColumn(0).setWidth(30);
-
public void refresh() {
setConflictItemEmpty(conflictFilesTableModel.getRowCount() == 0);
setNewItemEmpty(newFilesTableModel.getRowCount() == 0);
@@ -48,10 +45,19 @@
}
public void doCheckAll() {
- newFilesTableModel.checkAll();
- conflictFilesTableModel.checkAll();
- //refresh();
+ boolean selection = checkAllCheckbox.isSelected();
+ newFilesTableModel.setAllChecked(selection);
+ conflictFilesTableModel.setAllChecked(selection);
}
+
+ protected void performImport() {
+ File archiveFile = new File(archivePath.getText());
+ getContextValue(ScriptAction.class).performImportScript(archiveFile, newFilesTableModel, conflictFilesTableModel);
+ }
+
+ protected void cancel() {
+ hide();
+ }
]]></script>
<Table>
<row weighty="1" fill='both'>
@@ -96,13 +102,15 @@
<row fill='horizontal'>
<cell fill='both'>
<JPanel layout='{new GridLayout(0, 3, 2, 2)}'>
- <JCheckBox id='checkAll' text='isisfish.script.import.checkAll'
- toolTipText='isisfish.script.import.tooltip.checkAll'
- enabled='{!isBothEmpty()}'
- onActionPerformed="doCheckAll()" />
+ <JCheckBox id='checkAllCheckbox' text='isisfish.script.import.checkAll'
+ toolTipText='isisfish.script.import.tooltip.checkAll'
+ enabled='{!isBothEmpty()}'
+ onActionPerformed='doCheckAll()'
+ selected='true' />
<JButton id='okButton' text='isisfish.script.import.import'
- enabled='{isOkEnabled()}'/>
- <JButton id='cancelButton' text='isisfish.common.cancel'/>
+ enabled='{isOkEnabled()}'/>
+ <JButton id='cancelButton' text='isisfish.script.import.cancel'
+ onActionPerformed="cancel()" />
</JPanel>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -46,6 +46,7 @@
import org.apache.commons.logging.LogFactory;
import org.codelutin.util.FileUtil;
import org.codelutin.util.ZipUtil;
+import org.codelutin.widget.SwingUtil;
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishRuntimeException;
@@ -59,8 +60,6 @@
import fr.ifremer.isisfish.datastore.SensitivityStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
import fr.ifremer.isisfish.equation.Language;
-import fr.ifremer.isisfish.ui.script.action.CancelAction;
-import fr.ifremer.isisfish.ui.script.action.ImportAction;
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.util.ClasspathTemplateLoader;
import fr.ifremer.isisfish.util.CompilationResult;
@@ -447,12 +446,12 @@
/**
* Exporte le(s) script(s) sélectionnés dans l'arbre.
- * <br>L'arbre doit avoir au moins un script de selectionne
+ * <br>L'arbre doit avoir au moins un script de selectionnés
*
* @param selectedPaths selected path
* @return <code>null</code> if everything is ok.
*/
- public static String exportScript(TreePath[] selectedPaths) {
+ public String showExportScriptDialog(TreePath[] selectedPaths) {
String message = null;
// first step : acquire list of files required
int prefixLength = IsisFish.config.getDatabaseDirectory()
@@ -627,11 +626,11 @@
}
/**
- * Import zipped archive containing scripts.
+ * Show a improved script dialog with multiple selection support.
*
* @return status message
*/
- public String importScript() {
+ public String showImportScriptDialog() {
String msg = null;
if (log.isDebugEnabled()) {
log.debug("importScript ");
@@ -672,11 +671,13 @@
dialog.setConflictFilesTableModel(modelItems);
dialog.getConflictFilesTable().setModel(modelItems);
dialog.getNewFilesTable().setModel(modelNewItems);
+ // can't be in ui :(
+ dialog.getNewFilesTable().getColumnModel().getColumn(0).setWidth(30);
+ dialog.getConflictFilesTable().getColumnModel().getColumn(0).setWidth(30);
dialog.getArchivePath().setText(file.getAbsolutePath());
dialog.refresh();
- dialog.getOkButton().setAction(new ImportAction(dialog, file, root, modelNewItems, modelItems));
- dialog.getCancelButton().setAction(new CancelAction(dialog));
dialog.pack();
+ SwingUtil.center(dialog);
dialog.setVisible(true);
msg = _("isisfish.message.import.scripts.file.done", file);
}
@@ -691,6 +692,108 @@
}
/**
+ * Perform import script action called by {@link ImportDialogUI}.
+ *
+ * @param sourceScriptArchive source archive file
+ * @param selectedFiles selected non conflict files model
+ * @param selectedConflictFiles selected conflict files model
+ */
+ public void performImportScript(File sourceScriptArchive, FileSelectionTableModel selectedFiles, FileSelectionTableModel selectedConflictFiles) {
+
+ File sourceDirectory = IsisFish.config.getDatabaseDirectory();
+
+ List<String> filesToImports = new ArrayList<String>();
+ if (selectedFiles != null) {
+ filesToImports.addAll(selectedFiles.getSelectedFiles());
+ }
+
+ if (selectedConflictFiles != null) {
+ // do backup stuff (only backup conflict files)
+ backupScripts(selectedConflictFiles.getSelectedFiles(), sourceDirectory);
+
+ filesToImports.addAll(selectedConflictFiles.getSelectedFiles());
+ }
+
+ // unflate files to destination (root)
+ try {
+ if (log.isInfoEnabled()) {
+ for (String newFile : filesToImports) {
+ log.info("unzip " + newFile);
+ }
+ }
+ ZipUtil.uncompress(sourceScriptArchive, sourceDirectory, filesToImports, null, null);
+
+ } catch (IOException e1) {
+ throw new RuntimeException(e1);
+ }
+ if (log.isInfoEnabled()) {
+ log.info("Unzip " + filesToImports.size() + " entry(ies) from '" + sourceScriptArchive + "'");
+ }
+ }
+
+ /**
+ * Make a backup a given files to current isis backup directory.
+ *
+ * @param paths
+ */
+ protected void backupScripts(List<String> paths, File destination) {
+
+ File backupDirectory = IsisFish.config.getBackupSessionDirectory();
+
+ if (log.isDebugEnabled()) {
+ log.debug("Backup directory is : " + backupDirectory);
+ }
+ String suffix = "_" + IsisFish.config.getBackupSessionDirectory().getName();
+ try {
+ for (String path : paths) {
+
+ //backup(new File(src, path), path, suffix);
+
+ File sourceFile = new File(destination, path);
+
+ if (!sourceFile.exists()) {
+ return;
+ }
+ if (sourceFile.isDirectory()) {
+ File dst = new File(backupDirectory, path);
+ dst.mkdirs();
+ } else {
+ int extension = path.lastIndexOf(".");
+ if (extension != -1) {
+ path = path.substring(0, extension) + suffix + "."
+ + path.substring(extension + 1);
+ } else {
+ path += suffix;
+ }
+ File dst = new File(destination, path);
+ if (!dst.getParentFile().exists()) {
+ dst.getParentFile().mkdirs();
+ }
+ if (log.isInfoEnabled()) {
+ log.info("Copying " + sourceFile.getName() + " to " + dst);
+ }
+ FileUtil.copy(sourceFile, dst);
+ }
+ }
+ } catch (Exception ee) {
+ throw new IsisFishRuntimeException(ee);
+ }
+ }
+
+ /**
+ * Copy a single file to destination directory.
+ *
+ * @param src file to copy
+ * @param path path of file to copy
+ * @param suffix file suffix
+ * @throws IOException if copy fail
+ */
+ protected void backup(File src, String path, String suffix)
+ throws IOException {
+
+ }
+
+ /**
* Scan archive for script, and return an array of new files and conflict files.
*
* @param source archive file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2009-08-24 08:24:04 UTC (rev 2516)
@@ -21,13 +21,13 @@
<JPanel layout='{new BorderLayout()}'>
<script><![CDATA[
import javax.swing.event.TreeSelectionListener;
- import javax.swing.tree.TreePath;
- import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
+ import javax.swing.tree.TreePath;
+ import fr.ifremer.isisfish.IsisFishRuntimeException;
import fr.ifremer.isisfish.ui.WelcomePanelUI;
- import fr.ifremer.isisfish.IsisFishRuntimeException;
+ import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.util.CompilationResult;
setContextValue(new ScriptAction());
@@ -130,10 +130,11 @@
return result;
}
- protected void setButton(){
+ protected void setButton() {
boolean fileLoaded = getContextValue(ScriptAction.class).fileLoaded();
boolean isJavaScript = getContextValue(ScriptAction.class).isJavaScript();
buttonScriptExport.setEnabled(tree.getSelectionValue() != null);
+ // TODO refactoring en cours, mais pas fini
miExport.setEnabled(tree.getSelectionValue() != null);
buttonScriptCommit.setEnabled(fileLoaded);
miCommitVCS.setEnabled(fileLoaded);
@@ -152,7 +153,7 @@
buttonScriptEval.setEnabled(isJavaScript);
miEvaluate.setEnabled(isJavaScript);
}
- protected void setInfoText(String msg){
+ protected void setInfoText(String msg) {
WelcomePanelUI root = getParentContainer(WelcomePanelUI.class);
root.setInfoText(msg);
}
@@ -204,12 +205,12 @@
setInfoText(_("isisfish.message.save.finished"));
}
protected void importScript() {
- String importMessage = getContextValue(ScriptAction.class).importScript();
+ String importMessage = getContextValue(ScriptAction.class).showImportScriptDialog();
setInfoText(importMessage);
}
- protected void exportScript(){
- new IsisFishRuntimeException("Not yet implemented");
- getContextValue(ScriptAction.class).exportScript(tree.getSelectionPaths());
+ protected void exportScript() {
+ TreePath[] selectedFilesPath = tree.getSelectionPaths();
+ getContextValue(ScriptAction.class).showExportScriptDialog(selectedFilesPath);
}
protected void commitScript(){
new IsisFishRuntimeException("Not yet implemented");
@@ -286,8 +287,8 @@
</JMenu>
<JMenuItem id="miSave" text="isisfish.script.menu.save" onActionPerformed="saveScript()" accelerator="accSave"/>
<JSeparator/>
- <JMenuItem id="miImport" text="isisfish.script.menu.txtImport" onActionPerformed="importScript()" accelerator="accImport"/>
- <JMenuItem id="miExport" text="isisfish.script.menu.txtExport" onActionPerformed="exportScript()" accelerator="accExport"/>
+ <JMenuItem id="miImport" text="isisfish.script.menu.txtImport" enabled="false" onActionPerformed="importScript()" accelerator="accImport"/>
+ <JMenuItem id="miExport" text="isisfish.script.menu.txtExport" enabled="false" onActionPerformed="exportScript()" accelerator="accExport"/>
<JSeparator/>
<JMenuItem id="miDelete" text="isisfish.script.menu.deleteLocaly" onActionPerformed='deleteScript(false)' accelerator="accDelete"/>
</JMenu>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/BackupAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/BackupAction.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/BackupAction.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -33,27 +33,40 @@
import fr.ifremer.isisfish.ui.util.IsisAction;
/**
- * BackupAction.
+ * Make a backup directory containing a set a specific files.
*
* @author bpoussin
* @version $Revision$
*
* Last update : $Date$
* By : $Author$
+ *
+ * @deprecated C'est pas evident de faire des Actions swing avec jaxx
*/
public class BackupAction extends IsisAction {
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -7574218899996427656L;
+
+ /** log. */
private static Log log = LogFactory.getLog(BackupAction.class);
- /** source root directory */
+ /** Source root directory. */
protected File src;
- /** backup root directory */
+
+ /** Backup root directory. */
protected File dst;
- /** list of relative path of files to backup */
+
+ /** List of relative path of files to backup. */
protected List<String> paths;
- private static final long serialVersionUID = -7574218899996427656L;
-
+ /**
+ * Constructor.
+ *
+ * @param src source root directory
+ * @param dst backup root directory
+ * @param paths list of relative path of files to backup
+ */
public BackupAction(File src, File dst, List<String> paths) {
super();
this.src = src;
@@ -61,14 +74,19 @@
this.paths = paths;
}
+ @Override
protected boolean prepare() {
- return src != null && dst != null && paths != null &&
- src.exists() && !paths.isEmpty();
+ return src != null && dst != null && paths != null && src.exists()
+ && !paths.isEmpty();
}
+ @Override
protected void perform(ActionEvent e) {
- log.info("directory for backup [" + dst+']');
- String suffix = "_" + IsisFish.config.getBackupSessionDirectory().getName();
+ if (log.isDebugEnabled()) {
+ log.debug("Backup directory is : " + dst);
+ }
+ String suffix = "_"
+ + IsisFish.config.getBackupSessionDirectory().getName();
try {
for (String path : paths) {
backup(new File(src, path), path, suffix);
@@ -78,7 +96,16 @@
}
}
- protected void backup(File src, String path, String suffix) throws IOException {
+ /**
+ * Copy a single file to destination directory.
+ *
+ * @param src file to copy
+ * @param path path of file to copy
+ * @param suffix file suffix
+ * @throws IOException if copy fail
+ */
+ protected void backup(File src, String path, String suffix)
+ throws IOException {
if (!src.exists()) {
return;
}
@@ -87,16 +114,19 @@
dst.mkdirs();
} else {
int extension = path.lastIndexOf(".");
- if (extension!=-1) {
- path = path.substring(0,extension)+suffix+"."+path.substring(extension+1);
+ if (extension != -1) {
+ path = path.substring(0, extension) + suffix + "."
+ + path.substring(extension + 1);
} else {
- path +=suffix;
+ path += suffix;
}
File dst = new File(this.dst, path);
if (!dst.getParentFile().exists()) {
dst.getParentFile().mkdirs();
}
- log.info("[" + src.getName()+ "] to ["+dst+"]");
+ if (log.isInfoEnabled()) {
+ log.info("Copying " + src.getName() + " to " + dst);
+ }
FileUtil.copy(src, dst);
}
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/CancelAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/CancelAction.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/CancelAction.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -24,20 +24,38 @@
import javax.swing.JDialog;
import java.awt.event.ActionEvent;
+/**
+ * Cancel action. Do nothing, just close current dialog.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ *
+ * @deprecated C'est pas evident de faire des Actions swing avec jaxx
+ */
public class CancelAction extends IsisAction {
+ /** serialVersionUID. */
private static final long serialVersionUID = 2536223593370089763L;
+ /**
+ * Constructor.
+ *
+ * @param dialog dialog to close on action performed
+ */
public CancelAction(JDialog dialog) {
super(dialog);
}
+ @Override
protected boolean prepare() {
return true;
}
+ @Override
protected void perform(ActionEvent e) {
//nothing special to do
}
-
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ChooseFileAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ChooseFileAction.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ChooseFileAction.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -28,10 +28,21 @@
import java.awt.event.ActionEvent;
import java.io.File;
+/**
+ * Choose file action.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ *
+ * @deprecated as of 20090819 unused
+ */
public class ChooseFileAction extends AbstractAction {
private static final long serialVersionUID = -5004217809548352109L;
-
+
protected JTextField file;
protected JDialog dialog;
@@ -56,16 +67,18 @@
}
JFileChooser chooser = new JFileChooser(dir);
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
- int ret = chooser.showDialog(dialog, _("isisfish.message.choose.archive"));
+ int ret = chooser.showDialog(dialog,
+ _("isisfish.message.choose.archive"));
if (ret == JFileChooser.APPROVE_OPTION) {
File newFile = chooser.getSelectedFile();
String path;
if (newFile.isFile()) {
path = newFile.getAbsolutePath();
- }
- else {
+ } else {
path = newFile.getAbsolutePath();
- if (!"".equals(name)) path += File.separator + name;
+ if (!"".equals(name)) {
+ path += File.separator + name;
+ }
}
file.setText(path);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ExportAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ExportAction.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ExportAction.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -1,9 +1,23 @@
+/* *##%
+ * Copyright (C) 2006 - 2009 Ifremer, Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
package fr.ifremer.isisfish.ui.script.action;
-import static javax.swing.JOptionPane.CANCEL_OPTION;
-import static javax.swing.JOptionPane.YES_OPTION;
-import static javax.swing.JOptionPane.showConfirmDialog;
-import static org.apache.commons.logging.LogFactory.getLog;
import static org.codelutin.i18n.I18n._;
import java.awt.event.ActionEvent;
@@ -13,27 +27,54 @@
import java.util.List;
import javax.swing.JDialog;
+import javax.swing.JOptionPane;
import javax.swing.JTextField;
import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.codelutin.util.ZipUtil;
import fr.ifremer.isisfish.IsisFishRuntimeException;
import fr.ifremer.isisfish.ui.script.FileSelectionTableModel;
import fr.ifremer.isisfish.ui.util.IsisAction;
+/**
+ * Action to export a set of selected file to a zip archive.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ *
+ * @deprecated C'est pas evident de faire des Actions swing avec jaxx
+ */
public class ExportAction extends IsisAction {
- static private Log log = getLog(ExportAction.class);
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3373564473968724365L;
+ /** log. */
+ private static Log log = LogFactory.getLog(ExportAction.class);
+
protected FileSelectionTableModel model;
+
protected JTextField file;
+
protected File root;
private List<String> selected;
+
private File dst;
- private static final long serialVersionUID = 3373564473968724365L;
+ /**
+ * Export action constructor.
+ *
+ * @param dialog dialog ???
+ * @param file textfield containing dest archive path
+ * @param root root for all file in includes that is in this directory
+ * @param model selected file model
+ */
public ExportAction(JDialog dialog, JTextField file, File root,
FileSelectionTableModel model) {
super(dialog);
@@ -42,32 +83,39 @@
this.model = model;
}
+ @Override
protected boolean prepare() {
dst = new File(file.getText());
- if ("".equals(dst.getAbsolutePath())) return false;
+ if ("".equals(dst.getAbsolutePath())) {
+ return false;
+ }
if (dst.exists()) {
- int resp = showConfirmDialog(dialog,
+ int resp = JOptionPane.showConfirmDialog(dialog,
_("isisfish.message.file.already.exists" + dst));
- if (resp == CANCEL_OPTION) {
+ if (resp == JOptionPane.CANCEL_OPTION) {
dialog.dispose();
return false;
}
- if (resp == YES_OPTION)
+ if (resp == JOptionPane.YES_OPTION) {
dst.getParentFile().mkdirs();
- else return false;
+ } else {
+ return false;
+ }
} else if (!dst.getParentFile().exists()) {
- int resp = showConfirmDialog(dialog,
+ int resp = JOptionPane.showConfirmDialog(dialog,
_("isisfish.message.directory.not.exists" + dst));
- if (resp == CANCEL_OPTION) {
+ if (resp == JOptionPane.CANCEL_OPTION) {
dialog.dispose();
return false;
}
- if (resp == YES_OPTION)
+ if (resp == JOptionPane.YES_OPTION) {
dst.getParentFile().mkdirs();
- else return false;
+ } else {
+ return false;
+ }
}
selected = model.getSelectedFiles();
@@ -75,21 +123,28 @@
return !(selected == null || selected.isEmpty());
}
+ @Override
protected void perform(ActionEvent e) {
try {
List<File> toZip = new ArrayList<File>();
- for (String path : selected) toZip.add(new File(root, path));
+ for (String path : selected) {
+ toZip.add(new File(root, path));
+ }
- if (dst.exists()) dst.delete();
+ if (dst.exists()) {
+ dst.delete();
+ }
dst.createNewFile();
ZipUtil.compressFiles(dst, root, toZip);
- log.info("Zip DataStorage in " + dst + "[" + toZip.size()
- + " files] (size " + dst.length() + ")");
+ if (log.isInfoEnabled()) {
+ log.info("Zip DataStorage in " + dst + "[" + toZip.size()
+ + " files] (size " + dst.length() + ")");
+ }
} catch (IOException e1) {
throw new IsisFishRuntimeException(e1);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ImportAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ImportAction.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/action/ImportAction.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -1,7 +1,23 @@
+/* *##%
+ * Copyright (C) 2006 - 2009 Ifremer, Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
package fr.ifremer.isisfish.ui.script.action;
-import static org.apache.commons.logging.LogFactory.getLog;
-
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
@@ -11,69 +27,68 @@
import javax.swing.JDialog;
import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.codelutin.util.ZipUtil;
import fr.ifremer.isisfish.ui.script.FileSelectionTableModel;
import fr.ifremer.isisfish.ui.util.IsisActionWithBackup;
+/**
+ * Action for import zip content into isis script directory.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ *
+ * @deprecated C'est pas evident de faire des Actions swing avec jaxx
+ */
public class ImportAction extends IsisActionWithBackup {
+ /** serialVersionUID. */
private static final long serialVersionUID = 2459027106690418279L;
-
- private static Log log = getLog(ImportAction.class);
-
- /**
- * model to contains new files to add from import
- */
+
+ /** log. */
+ private static Log log = LogFactory.getLog(ImportAction.class);
+
+ /** Model to contains new files to add from import. */
protected FileSelectionTableModel model;
-
- /**
- * model to contains files conflicted from import
- */
+
+ /** Model to contains files conflicted from import. */
protected FileSelectionTableModel modelWithBackup;
-
- /**
- * location of archive to import
- */
+
+ /** Location of archive to import. */
protected File source;
-
+
+ /** List of relative path to import (is init in {@link #prepare()} method). */
+ private List<String> toImport;
+
/**
- * List of relative path to import (is init in {@link #prepare()} method)
+ * Import action constructor.
+ *
+ * @param dialog dialog ???
+ * @param source zip file
+ * @param root destination directory
+ * @param modelNewItems added files model (for selection)
+ * @param modelItems conflict files model (for selection)
*/
- private List<String> toImport;
-
public ImportAction(JDialog dialog, File source, File root,
- FileSelectionTableModel modelNewItems,
- FileSelectionTableModel modelItems) {
+ FileSelectionTableModel modelNewItems,
+ FileSelectionTableModel modelItems) {
super(dialog, root);
this.source = source;
this.model = modelNewItems;
this.modelWithBackup = modelItems;
}
- protected void perform(ActionEvent e) {
-
- // do backup stuff
- super.perform(e);
-
- // unflate files to destination (root)
- try {
- for (String newFile : toImport) {
- log.info("unzip " + newFile);
- }
- ZipUtil.uncompress(source, root, toImport,null,null);
-
- } catch (IOException e1) {
- throw new RuntimeException(e1);
+ @Override
+ protected boolean prepare() {
+ if (source == null || (model == null && modelWithBackup == null)
+ || "".equals(source.getAbsolutePath())) {
+ return false;
}
- log.info("unzip " + toImport.size() + " entry(ies) from '" + source + "'");
- toImport.clear();
- }
- protected boolean prepare() {
- if (source == null || (model == null && modelWithBackup == null) ||
- "".equals(source.getAbsolutePath())) return false;
-
toImport = new ArrayList<String>();
if (model != null) {
// add new files
@@ -88,6 +103,32 @@
return !toImport.isEmpty();
}
+ @Override
+ protected void perform(ActionEvent e) {
+
+ // do backup stuff
+ super.perform(e);
+
+ // unflate files to destination (root)
+ try {
+ if (log.isInfoEnabled()) {
+ for (String newFile : toImport) {
+ log.info("unzip " + newFile);
+ }
+ }
+ ZipUtil.uncompress(source, root, toImport, null, null);
+
+ } catch (IOException e1) {
+ throw new RuntimeException(e1);
+ }
+ if (log.isInfoEnabled()) {
+ log.info("unzip " + toImport.size() + " entry(ies) from '" + source
+ + "'");
+ }
+ toImport.clear();
+ }
+
+ @Override
protected List<String> getFilesToBackup() {
List<String> toBackup = new ArrayList<String>();
if (modelWithBackup != null) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/IsisActionWithBackup.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/IsisActionWithBackup.java 2009-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/IsisActionWithBackup.java 2009-08-24 08:24:04 UTC (rev 2516)
@@ -1,22 +1,61 @@
+/* *##%
+ * Copyright (C) 2006 - 2009
+ * Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
package fr.ifremer.isisfish.ui.util;
-import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.ui.script.action.BackupAction;
-
-import javax.swing.JDialog;
import java.awt.event.ActionEvent;
import java.io.File;
import java.util.List;
+import javax.swing.JDialog;
+
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.ui.script.action.BackupAction;
+
+/**
+ * This abstract action perform a backup action.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ *
+ * @deprecated C'est pas evident de faire des Actions swing avec jaxx
+ */
public abstract class IsisActionWithBackup extends IsisAction {
- protected File backupRoot;
- protected File root;
+
+ /** serialVersionUID. */
private static final long serialVersionUID = -5498329861390316586L;
+ /** Root directory of files to be backupped. */
+ protected File root;
+
+ /**
+ * Constructor.
+ *
+ * @param dialog dialog ???
+ * @param root root directory of files to be backupped
+ */
protected IsisActionWithBackup(JDialog dialog, File root) {
super(dialog);
this.root = root;
- this.backupRoot = IsisFish.config.getBackupSessionDirectory();
}
/**
@@ -27,10 +66,16 @@
*/
protected abstract List<String> getFilesToBackup();
+ /**
+ * Just perform a {@link BackupAction}.
+ *
+ * Need to be overridden and called by {@code super.perform(e)}
+ */
+ @Override
protected void perform(ActionEvent e) {
-
// do backup stuff here
- new BackupAction(root, backupRoot, getFilesToBackup()).actionPerformed(e);
-
+ BackupAction backupAction = new BackupAction(root, IsisFish.config
+ .getBackupSessionDirectory(), getFilesToBackup());
+ backupAction.actionPerformed(e);
}
}
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-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-08-24 08:24:04 UTC (rev 2516)
@@ -495,19 +495,19 @@
isisfish.input.continuePopulations=Continue to populations
isisfish.input.continuePorts=Continue to ports
isisfish.input.continueSetOfVessels=Continue to set of vessels
-isisfish.input.continueSpecies=
+isisfish.input.continueSpecies=Continue to species
isisfish.input.continueStrategies=Continue to strategies
-isisfish.input.continueTripTypes=Continue to trip type
+isisfish.input.continueTripTypes=Continue to trip types
isisfish.input.continueVesselTypes=Continue to vessel types
isisfish.input.continueZones=Continue to zones
isisfish.input.menu.addRegion=Add region
isisfish.input.menu.commit=Commit change
-isisfish.input.menu.copyRegion=Copy Region
-isisfish.input.menu.exportRegion=Export Region
-isisfish.input.menu.importRegion=Import Region
-isisfish.input.menu.importRegionSimulation=Import Region from simulation
-isisfish.input.menu.importRegionV2=Import Region from v2
-isisfish.input.menu.importRenameRegion=Import Region and rename
+isisfish.input.menu.copyRegion=Copy region
+isisfish.input.menu.exportRegion=Export region
+isisfish.input.menu.importRegion=Import region
+isisfish.input.menu.importRegionSimulation=Import region from simulation
+isisfish.input.menu.importRegionV2=Import region from v2
+isisfish.input.menu.importRenameRegion=Import region and rename
isisfish.input.menu.removeLocaly=Remove localy
isisfish.input.menu.removeLocalyRemotely=Remove localy and remotely
isisfish.input.menu.server=Server
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-08-20 17:03:54 UTC (rev 2515)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-08-24 08:24:04 UTC (rev 2516)
@@ -860,9 +860,9 @@
isisfish.script.export.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les scripts \u00E0 exporter
isisfish.script.export.tooltip.chooseDir=Choisir le r\u00E9pertoire o\u00F9 exporter les scripts
isisfish.script.import=Importer des scripts depuis une archive zip
+isisfish.script.import.cancel=Annuler
isisfish.script.import.checkAll=Tout (d\u00E9-)s\u00E9lectionner
isisfish.script.import.import=Importer
-isisfish.script.import.cancel=Annuler
isisfish.script.import.labelAdd=Le(s) fichier(s) suivant(s) sera(ont) ajout\u00E9(s), Confirmer l'ajout
isisfish.script.import.labelOverwrite=Le(s) fichier(s) suivant(s) existe(nt) d\u00E9j\u00E0, Confirmer pour l'\u00E9crasement
isisfish.script.import.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les scripts \u00E0 importer
1
0
r2515 - isis-fish/trunk/src/main/resources/i18n
by chatellier@users.labs.libre-entreprise.org 20 Aug '09
by chatellier@users.labs.libre-entreprise.org 20 Aug '09
20 Aug '09
Author: chatellier
Date: 2009-08-20 17:03:54 +0000 (Thu, 20 Aug 2009)
New Revision: 2515
Modified:
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:
Mise ?\195?\160 jour de la localisation des scripts
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-08-19 14:53:56 UTC (rev 2514)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-08-20 17:03:54 UTC (rev 2515)
@@ -852,20 +852,21 @@
isisfish.script.copy=Copy
isisfish.script.cut=Cut
isisfish.script.evaluate=Evaluate
-isisfish.script.export=export
-isisfish.script.export.cancel=cancel
-isisfish.script.export.checkAll=checkAll
-isisfish.script.export.chooseDir=chooseDir
-isisfish.script.export.ok=ok
-isisfish.script.export.tooltip.checkAll=
-isisfish.script.export.tooltip.chooseDir=
-isisfish.script.import=import
-isisfish.script.import.checkAll=(Un)Check all
-isisfish.script.import.import=importer
-isisfish.script.import.labelAdd=labelAdd
-isisfish.script.import.labelOverwrite=labelOverwrite
-isisfish.script.import.tooltip.checkAll=
-isisfish.script.menu.checkSyntax=CheckSyntax
+isisfish.script.export=Export script to archive
+isisfish.script.export.cancel=Cancel
+isisfish.script.export.checkAll=(Un)Check all scripts
+isisfish.script.export.chooseDir=...
+isisfish.script.export.export=Export
+isisfish.script.export.tooltip.checkAll=(Un)Check all scripts to export
+isisfish.script.export.tooltip.chooseDir=Choose directory to export script to
+isisfish.script.import=Import scripts from archive
+isisfish.script.import.cancel=Cancel
+isisfish.script.import.checkAll=(Un)Check all script to import
+isisfish.script.import.import=Import
+isisfish.script.import.labelAdd=Following files will be added. Confirm adding.
+isisfish.script.import.labelOverwrite=Following files already exists. Confirm overridding.
+isisfish.script.import.tooltip.checkAll=(Un)Check all scripts
+isisfish.script.menu.checkSyntax=Check syntax
isisfish.script.menu.code=Code
isisfish.script.menu.commit=Commit script to server
isisfish.script.menu.copy=Copy
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-08-19 14:53:56 UTC (rev 2514)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-08-20 17:03:54 UTC (rev 2515)
@@ -853,15 +853,16 @@
isisfish.script.cut=Couper
isisfish.script.evaluate=\u00C9valuer
isisfish.script.export=Exporter des scripts dans une archive zip
-isisfish.script.export.cancel=annuler
+isisfish.script.export.cancel=Annuler
isisfish.script.export.checkAll=Tout (d\u00E9-)s\u00E9lectionner
isisfish.script.export.chooseDir=...
-isisfish.script.export.ok=exporter
+isisfish.script.export.export=Exporter
isisfish.script.export.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les scripts \u00E0 exporter
isisfish.script.export.tooltip.chooseDir=Choisir le r\u00E9pertoire o\u00F9 exporter les scripts
isisfish.script.import=Importer des scripts depuis une archive zip
isisfish.script.import.checkAll=Tout (d\u00E9-)s\u00E9lectionner
-isisfish.script.import.import=importer
+isisfish.script.import.import=Importer
+isisfish.script.import.cancel=Annuler
isisfish.script.import.labelAdd=Le(s) fichier(s) suivant(s) sera(ont) ajout\u00E9(s), Confirmer l'ajout
isisfish.script.import.labelOverwrite=Le(s) fichier(s) suivant(s) existe(nt) d\u00E9j\u00E0, Confirmer pour l'\u00E9crasement
isisfish.script.import.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les scripts \u00E0 importer
1
0
r2514 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish
by chatellier@users.labs.libre-entreprise.org 19 Aug '09
by chatellier@users.labs.libre-entreprise.org 19 Aug '09
19 Aug '09
Author: chatellier
Date: 2009-08-19 14:53:56 +0000 (Wed, 19 Aug 2009)
New Revision: 2514
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
Log:
Il y avait un probleme avec System.nanoTime(), ca donne juste un temps en nanoseconde, mais il n'est pas rattach?\195?\169 a une vrai date.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-08-19 09:24:40 UTC (rev 2513)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-08-19 14:53:56 UTC (rev 2514)
@@ -163,8 +163,17 @@
static final public String REPORT_EMAIL = "isis-fish-bugreport at lists.labs.libre-entreprise.org";
protected transient File backupSessionDirectory = null;
- protected long startingTime = System.nanoTime();
+ /**
+ * Mémorise une unité de temps en millisecondes.
+ *
+ * Auparavant, c'etait {@link System#nanoTime()}, mais cette unité de temps
+ * n'est pas lié a une date.
+ * Par exemple, ca permet juste de mesuré avec une precision de 10-9 le temps
+ * ecoulé, par l'heure qu'il est à cette unité de temps.
+ */
+ protected long startingTime = System.currentTimeMillis();
+
public IsisConfig() {
for (Option o : Option.values()) {
@@ -708,20 +717,29 @@
return result;
}
+ /**
+ * Retourne le temps de départ de l'application en millisecondes.
+ *
+ * @return application start millis time
+ */
public long getStartingTime() {
return startingTime;
}
+ /**
+ * Retourne le temps écoulé depuis de debut de l'application (en secondes).
+ *
+ * @return le temps écoulé en seconde sous forme de chaine
+ */
public String getElapsedTimeAsString() {
- long diff = System.nanoTime() - getStartingTime();
- String result = DurationFormatUtils.formatDuration(diff / 1000000, "s'.'S");
+ long diff = System.currentTimeMillis() - getStartingTime();
+ String result = DurationFormatUtils.formatDuration(diff, "s'.'S");
return result;
}
public File getBackupSessionDirectory() {
if (backupSessionDirectory == null) {
- // le timestamp est en nano (on le veut en ms)
- long time = getStartingTime() / 1000;
+ long time = getStartingTime();
// creation de l'unique répertoire de backup pour la session
String path = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(new java.util.Date(time));
backupSessionDirectory = new File(getBackupDirectory(), path);
1
0
Author: chatellier
Date: 2009-08-19 09:24:40 +0000 (Wed, 19 Aug 2009)
New Revision: 2513
Modified:
isis-fish/trunk/pom.xml
Log:
Update commons-math, jsch, h2 and javadoc plugin
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2009-07-24 16:24:17 UTC (rev 2512)
+++ isis-fish/trunk/pom.xml 2009-08-19 09:24:40 UTC (rev 2513)
@@ -109,9 +109,9 @@
</dependency>
<dependency>
- <groupId>commons-math</groupId>
+ <groupId>org.apache.commons</groupId>
<artifactId>commons-math</artifactId>
- <version>1.2</version>
+ <version>2.0</version>
<scope>compile</scope>
</dependency>
@@ -205,7 +205,7 @@
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
- <version>0.1.41</version>
+ <version>0.1.42</version>
<scope>compile</scope>
</dependency>
@@ -221,7 +221,7 @@
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
- <version>1.1.116</version>
+ <version>1.1.117</version>
<scope>compile</scope>
</dependency>
@@ -563,7 +563,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.5</version>
+ <version>2.6</version>
<configuration>
<links>
<link>http://java.sun.com/javase/6/docs/api/</link>
1
0