Author: tchemit Date: 2011-12-27 16:20:55 +0100 (Tue, 27 Dec 2011) New Revision: 226 Url: http://forge.codelutin.com/repositories/revision/echobase/226 Log: fix action timing Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/LaunchExport.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/LaunchImport.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2011-12-27 14:45:23 UTC (rev 225) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/AbstractEchobaseActionConfiguration.java 2011-12-27 15:20:55 UTC (rev 226) @@ -27,7 +27,6 @@ import java.io.IOException; import java.io.Serializable; -import java.util.Date; /** * Abstract long action configuration. @@ -45,8 +44,8 @@ private float progression; - private Date startTime; - private Date endTime; + private long startTime; + private long endTime; public final int getNbSteps() { return nbSteps; @@ -70,28 +69,36 @@ stepIncrement = 100f / nbSteps; } - public final Date getStartTime() { + public final long getStartTime() { return startTime; } - public final void setStartTime(Date startTime) { + public final void setStartTime(long startTime) { this.startTime = startTime; } - public final Date getEndTime() { + public final long getEndTime() { return endTime; } - public final void setEndTime(Date endTime) { + public final void setEndTime(long endTime) { this.endTime = endTime; } public String getActionTime() { - Date sTime = getStartTime(); - Date eTime = getEndTime(); - return StringUtil.convertTime(eTime.getTime() - sTime.getTime()); + long sTime = getStartTime(); + long eTime = getEndTime(); + return StringUtil.convertTime(eTime - sTime); } + + public void beginAction() { + setStartTime(System.nanoTime()); + } + public void endAction() { + setEndTime(System.nanoTime()); + } + public void destroy() throws IOException { } } Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/LaunchExport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/LaunchExport.java 2011-12-27 14:45:23 UTC (rev 225) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/exportDb/LaunchExport.java 2011-12-27 15:20:55 UTC (rev 226) @@ -34,8 +34,6 @@ import org.nuiton.topia.TopiaContext; import org.nuiton.topia.framework.TopiaContextImplementor; -import java.util.Date; - /** * Launch the complete db export. * @@ -86,7 +84,7 @@ @Override public String execute() throws Exception { - model.setStartTime(new Date()); + model.beginAction(); // having the action context here means we already came here, // now we need to propagate it @@ -107,7 +105,7 @@ } service.exportDb(model); - model.setEndTime(new Date()); + model.endAction(); return SUCCESS; } finally { Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/LaunchImport.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/LaunchImport.java 2011-12-27 14:45:23 UTC (rev 225) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importDb/LaunchImport.java 2011-12-27 15:20:55 UTC (rev 226) @@ -34,8 +34,6 @@ import org.nuiton.topia.TopiaContext; import org.nuiton.topia.framework.TopiaContextImplementor; -import java.util.Date; - /** * Start the import db. * @@ -85,7 +83,7 @@ @Override public String execute() throws Exception { - model.setStartTime(new Date()); + model.beginAction(); // having the action context here means we already came here, // now we need to propagate it @@ -107,7 +105,7 @@ } service.importDb(model, getEchoBaseSession().getEchoBaseUser()); - model.setEndTime(new Date()); + model.endAction(); return SUCCESS; } finally { topiaContext.closeContext();