[jaxx] branch develop updated (94cb146 -> a7154ad)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git from 94cb146 fixes 3497: Improve error log when java parsing fails in css files. new a7154ad fixes #3499 Block an action if it is alreay running The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit a7154addadc5ee5e7d3d1982514984f9cee30f28 Author: Kevin Morin <morin@codelutin.com> Date: Tue Sep 9 15:59:00 2014 +0200 fixes #3499 Block an action if it is alreay running Summary of changes: .../nuiton/jaxx/application/swing/ApplicationUIContext.java | 6 ++++++ .../jaxx/application/swing/action/ApplicationUIAction.java | 13 +++++++++++++ 2 files changed, 19 insertions(+) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git commit a7154addadc5ee5e7d3d1982514984f9cee30f28 Author: Kevin Morin <morin@codelutin.com> Date: Tue Sep 9 15:59:00 2014 +0200 fixes #3499 Block an action if it is alreay running --- .../nuiton/jaxx/application/swing/ApplicationUIContext.java | 6 ++++++ .../jaxx/application/swing/action/ApplicationUIAction.java | 13 +++++++++++++ 2 files changed, 19 insertions(+) diff --git a/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/ApplicationUIContext.java b/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/ApplicationUIContext.java index d8fc674..0669024 100644 --- a/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/ApplicationUIContext.java +++ b/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/ApplicationUIContext.java @@ -26,6 +26,7 @@ import org.nuiton.jaxx.application.ApplicationContext; import org.nuiton.jaxx.application.swing.action.ApplicationActionEngine; import org.nuiton.jaxx.application.swing.action.ApplicationActionFactory; import org.nuiton.jaxx.application.swing.action.ApplicationActionUI; +import org.nuiton.jaxx.application.swing.action.ApplicationUIAction; import org.nuiton.jaxx.application.swing.util.ApplicationErrorHelper; import java.awt.Color; @@ -79,4 +80,9 @@ public interface ApplicationUIContext extends ApplicationContext { String getI18nPrefix(); String getDateFormat(); + + /** Is the action already running? If yes, it will not run again (cf https://forge.nuiton.org/issues/3499) */ + boolean isActionInProgress(ApplicationUIAction action); + + void setActionInProgress(ApplicationUIAction action, boolean actionInProgress); } diff --git a/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/action/ApplicationUIAction.java b/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/action/ApplicationUIAction.java index a40a754..4b0efa4 100644 --- a/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/action/ApplicationUIAction.java +++ b/jaxx-application-swing/src/main/java/org/nuiton/jaxx/application/swing/action/ApplicationUIAction.java @@ -24,6 +24,7 @@ package org.nuiton.jaxx.application.swing.action; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.jaxx.application.swing.ApplicationUIContext; import org.nuiton.util.TimeLog; import javax.swing.AbstractAction; @@ -100,12 +101,23 @@ public class ApplicationUIAction<A extends AbstractApplicationAction> extends Ab A action = getLogicAction(); + ApplicationUIContext actionContext = action.getContext(); + if (actionContext.isActionInProgress(this)) { + if (log.isInfoEnabled()) { + log.info("Task [" + getLogicAction().getClass().getSimpleName() + "] stopped: action already in progress"); + } + return; + } + + actionContext.setActionInProgress(this, true); + // reset status message action.sendMessage(""); try { doAction = action.prepareAction(); } catch (Exception e) { + actionContext.setActionInProgress(this, false); action.releaseAction(); throw ApplicationActionException.propagateError(action, e); } @@ -220,6 +232,7 @@ public class ApplicationUIAction<A extends AbstractApplicationAction> extends Ab protected void unlock() { TIME_LOG.log(t0, "Task [" + getLogicAction().getClass().getSimpleName() + "] End"); + getLogicAction().getContext().setActionInProgress(this, false); if (wait) { synchronized (lock) { lock.notifyAll(); -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm