You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2012/08/05 00:40:58 UTC
svn commit: r1369503 - in
/ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow:
WorkflowEngine.java client/StartActivityJob.java
Author: adrianc
Date: Sat Aug 4 22:40:58 2012
New Revision: 1369503
URL: http://svn.apache.org/viewvc?rev=1369503&view=rev
Log:
Updated Workflow component to compile with Job Scheduler changes.
Modified:
ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java
ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java
Modified: ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java?rev=1369503&r1=1369502&r2=1369503&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java (original)
+++ ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java Sat Aug 4 22:40:58 2012
@@ -18,12 +18,12 @@
*******************************************************************************/
package org.ofbiz.workflow;
-import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.transaction.Transaction;
+
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.StringUtil;
import org.ofbiz.base.util.UtilDateTime;
@@ -39,6 +39,7 @@ import org.ofbiz.service.ModelService;
import org.ofbiz.service.ServiceDispatcher;
import org.ofbiz.service.engine.AbstractEngine;
import org.ofbiz.service.job.AbstractJob;
+import org.ofbiz.service.job.InvalidJobException;
import org.ofbiz.service.job.Job;
import org.ofbiz.service.job.JobManagerException;
@@ -283,27 +284,28 @@ public class WorkflowEngine extends Abst
}
/** Workflow Runner class runs inside its own thread using the Scheduler API */
-@SuppressWarnings("serial")
class WorkflowRunner extends AbstractJob {
+ public static final String module = WorkflowRunner.class.getName();
+
GenericRequester requester;
WfProcess process;
String startActivityId;
+ private final long runtime = System.currentTimeMillis();
WorkflowRunner(WfProcess process, GenericRequester requester, String startActivityId) {
super(process.toString() + "." + System.currentTimeMillis(), process.toString());
this.process = process;
this.requester = requester;
this.startActivityId = startActivityId;
- runtime = new Date().getTime();
- }
-
- protected void finish() {
- runtime = -1;
}
@Override
- public void exec() {
+ public void exec() throws InvalidJobException {
+ if (currentState != State.QUEUED) {
+ throw new InvalidJobException("Illegal state change");
+ }
+ currentState = State.RUNNING;
try {
if (startActivityId != null)
process.start(startActivityId);
@@ -314,7 +316,17 @@ class WorkflowRunner extends AbstractJob
if (requester != null)
requester.receiveResult(null);
}
- finish();
+ currentState = State.FINISHED;
+ }
+
+ @Override
+ public long getRuntime() {
+ return runtime;
+ }
+
+ @Override
+ public boolean isValid() {
+ return currentState == State.CREATED;
}
}
Modified: ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java?rev=1369503&r1=1369502&r2=1369503&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java (original)
+++ ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java Sat Aug 4 22:40:58 2012
@@ -18,24 +18,24 @@
*******************************************************************************/
package org.ofbiz.workflow.client;
-import java.util.Date;
import java.util.HashMap;
import org.ofbiz.base.util.Debug;
import org.ofbiz.service.GenericRequester;
import org.ofbiz.service.job.AbstractJob;
+import org.ofbiz.service.job.InvalidJobException;
import org.ofbiz.workflow.WfActivity;
/**
* Workflow Client API - Start Activity Async-Job
*/
-@SuppressWarnings("serial")
public class StartActivityJob extends AbstractJob {
public static final String module = StartActivityJob.class.getName();
protected WfActivity activity = null;
protected GenericRequester requester = null;
+ private final long runtime = System.currentTimeMillis();
public StartActivityJob(WfActivity activity) {
this(activity, null);
@@ -45,19 +45,15 @@ public class StartActivityJob extends Ab
super(activity.toString() + "." + System.currentTimeMillis(), activity.toString());
this.activity = activity;
this.requester = requester;
- runtime = new Date().getTime();
if (Debug.verboseOn()) Debug.logVerbose("Created new StartActivityJob : " + activity, module);
}
- protected void finish() {
- runtime = -1;
- }
-
- /**
- * @see org.ofbiz.service.job.Job#exec()
- */
@Override
- public void exec() {
+ public void exec() throws InvalidJobException {
+ if (currentState != State.QUEUED) {
+ throw new InvalidJobException("Illegal state change");
+ }
+ currentState = State.RUNNING;
try {
Debug.logVerbose("Executing job now : " + activity, module);
activity.activate();
@@ -68,6 +64,16 @@ public class StartActivityJob extends Ab
if (requester != null)
requester.receiveThrowable(e);
}
- finish();
+ currentState = State.FINISHED;
+ }
+
+ @Override
+ public long getRuntime() {
+ return runtime;
+ }
+
+ @Override
+ public boolean isValid() {
+ return currentState == State.CREATED;
}
}
Re: svn commit: r1369503 - in /ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow: WorkflowEngine.java client/StartActivityJob.java
Posted by Jacques Le Roux <ja...@les7arts.com>.
I will move it to Attic "soon" though. I guess Shark will stay as it was (in Attic now)
Jacques
From: <ad...@apache.org>
> Author: adrianc
> Date: Sat Aug 4 22:40:58 2012
> New Revision: 1369503
>
> URL: http://svn.apache.org/viewvc?rev=1369503&view=rev
> Log:
> Updated Workflow component to compile with Job Scheduler changes.
>
> Modified:
> ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java
> ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java
>
> Modified: ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java?rev=1369503&r1=1369502&r2=1369503&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java (original)
> +++ ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/WorkflowEngine.java Sat Aug 4 22:40:58 2012
> @@ -18,12 +18,12 @@
> *******************************************************************************/
> package org.ofbiz.workflow;
>
> -import java.util.Date;
> import java.util.List;
> import java.util.Locale;
> import java.util.Map;
>
> import javax.transaction.Transaction;
> +
> import org.ofbiz.base.util.Debug;
> import org.ofbiz.base.util.StringUtil;
> import org.ofbiz.base.util.UtilDateTime;
> @@ -39,6 +39,7 @@ import org.ofbiz.service.ModelService;
> import org.ofbiz.service.ServiceDispatcher;
> import org.ofbiz.service.engine.AbstractEngine;
> import org.ofbiz.service.job.AbstractJob;
> +import org.ofbiz.service.job.InvalidJobException;
> import org.ofbiz.service.job.Job;
> import org.ofbiz.service.job.JobManagerException;
>
> @@ -283,27 +284,28 @@ public class WorkflowEngine extends Abst
> }
>
> /** Workflow Runner class runs inside its own thread using the Scheduler API */
> -@SuppressWarnings("serial")
> class WorkflowRunner extends AbstractJob {
>
> + public static final String module = WorkflowRunner.class.getName();
> +
> GenericRequester requester;
> WfProcess process;
> String startActivityId;
> + private final long runtime = System.currentTimeMillis();
>
> WorkflowRunner(WfProcess process, GenericRequester requester, String startActivityId) {
> super(process.toString() + "." + System.currentTimeMillis(), process.toString());
> this.process = process;
> this.requester = requester;
> this.startActivityId = startActivityId;
> - runtime = new Date().getTime();
> - }
> -
> - protected void finish() {
> - runtime = -1;
> }
>
> @Override
> - public void exec() {
> + public void exec() throws InvalidJobException {
> + if (currentState != State.QUEUED) {
> + throw new InvalidJobException("Illegal state change");
> + }
> + currentState = State.RUNNING;
> try {
> if (startActivityId != null)
> process.start(startActivityId);
> @@ -314,7 +316,17 @@ class WorkflowRunner extends AbstractJob
> if (requester != null)
> requester.receiveResult(null);
> }
> - finish();
> + currentState = State.FINISHED;
> + }
> +
> + @Override
> + public long getRuntime() {
> + return runtime;
> + }
> +
> + @Override
> + public boolean isValid() {
> + return currentState == State.CREATED;
> }
> }
>
>
> Modified: ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java?rev=1369503&r1=1369502&r2=1369503&view=diff
> ==============================================================================
> --- ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java (original)
> +++ ofbiz/trunk/specialpurpose/workflow/src/org/ofbiz/workflow/client/StartActivityJob.java Sat Aug 4 22:40:58 2012
> @@ -18,24 +18,24 @@
> *******************************************************************************/
> package org.ofbiz.workflow.client;
>
> -import java.util.Date;
> import java.util.HashMap;
>
> import org.ofbiz.base.util.Debug;
> import org.ofbiz.service.GenericRequester;
> import org.ofbiz.service.job.AbstractJob;
> +import org.ofbiz.service.job.InvalidJobException;
> import org.ofbiz.workflow.WfActivity;
>
> /**
> * Workflow Client API - Start Activity Async-Job
> */
> -@SuppressWarnings("serial")
> public class StartActivityJob extends AbstractJob {
>
> public static final String module = StartActivityJob.class.getName();
>
> protected WfActivity activity = null;
> protected GenericRequester requester = null;
> + private final long runtime = System.currentTimeMillis();
>
> public StartActivityJob(WfActivity activity) {
> this(activity, null);
> @@ -45,19 +45,15 @@ public class StartActivityJob extends Ab
> super(activity.toString() + "." + System.currentTimeMillis(), activity.toString());
> this.activity = activity;
> this.requester = requester;
> - runtime = new Date().getTime();
> if (Debug.verboseOn()) Debug.logVerbose("Created new StartActivityJob : " + activity, module);
> }
>
> - protected void finish() {
> - runtime = -1;
> - }
> -
> - /**
> - * @see org.ofbiz.service.job.Job#exec()
> - */
> @Override
> - public void exec() {
> + public void exec() throws InvalidJobException {
> + if (currentState != State.QUEUED) {
> + throw new InvalidJobException("Illegal state change");
> + }
> + currentState = State.RUNNING;
> try {
> Debug.logVerbose("Executing job now : " + activity, module);
> activity.activate();
> @@ -68,6 +64,16 @@ public class StartActivityJob extends Ab
> if (requester != null)
> requester.receiveThrowable(e);
> }
> - finish();
> + currentState = State.FINISHED;
> + }
> +
> + @Override
> + public long getRuntime() {
> + return runtime;
> + }
> +
> + @Override
> + public boolean isValid() {
> + return currentState == State.CREATED;
> }
> }
>
>