|
Administrator
|
I will move it to Attic "soon" though. I guess Shark will stay as it was (in Attic now)
Jacques From: <[hidden email]> > 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; > } > } > > |
| Free forum by Nabble | Edit this page |
