Hi,
I am writing a portlet which includes submitting workflows and getting their status back.
There are a plenty of methods that return a status, and they return sometimes incompatible results, as shown in the logs created by my code (for testing purposes):
Processing Manager: Getting status for submissionName: wf235_2_2013-04-11-140031
Processing Manager: calling asmService.getASMWorkflow(liferayUserID, submissionName)
Processing Manager: calling asmWorkflow.getStatusbean()
Processing Manager: calling statusbean.getStatus() results in: INIT
Processing Manager: calling asmService.getStatus results in: unknown_error
Processing Manager: calling asmService.getDetails
Processing Manager: calling details.getJobs()
Processing Manager: calling jobs.get(0)
Processing Manager: callnig jobZero.getStatisticsBean()
Processing Manager: calling statisticsBean.getOverviewedstatuses()
Processing Manager: Job zero status code: 6
Processing Manager: Job zero: instance zero: 6
Processing Manager: calling asmService.getWorkflowStatus: FINISHED
In the above case, the correct status is indeed FINISHED. For some workflows, the call chian asmService.getASMWorkflow(liferayUserID, submissionName).getStatusbean().getStatus() can also return the correct result, but sometimes it only return INIT!
Regards
Mahdi
More logs with inconsistent results:
Processing Manager: Getting status for submissionName: wf241_0_2013-04-11-152556
Processing Manager: calling asmService.getASMWorkflow(liferayUserID, submissionName)
Processing Manager: calling asmWorkflow.getStatusbean()
Processing Manager: calling statusbean.getStatus() results in: INIT
Processing Manager: calling asmService.getASMWorkflow(liferayUserID, submissionName)
Processing Manager: calling asmWorkflow.getStatisticsBean
Processing Manager: calling statisticsBean.getOverviewedstatuses()
Processing Manager: returned zero elements.
Processing Manager: calling asmService.getStatus results in: RUNNING
Processing Manager: calling asmService.getDetails
Processing Manager: calling details.getJobs()
Processing Manager: calling jobs.get(0)
Processing Manager: callnig jobZero.getStatisticsBean()
Processing Manager: calling statisticsBean.getOverviewedstatuses()
Processing Manager: Job zero status code: 1
Processing Manager: Job zero: instance zero: 1
Processing Manager: calling asmService.getWorkflowStatus: SUBMITTED
which later changes to:
Processing Manager: Getting status for submissionName: wf241_0_2013-04-11-152556
Processing Manager: calling asmService.getASMWorkflow(liferayUserID, submissionName)
Processing Manager: calling asmWorkflow.getStatusbean()
Processing Manager: calling statusbean.getStatus() results in: INIT
Processing Manager: calling asmService.getASMWorkflow(liferayUserID, submissionName)
Processing Manager: calling asmWorkflow.getStatisticsBean
Processing Manager: calling statisticsBean.getOverviewedstatuses()
Processing Manager: returned zero elements.
Processing Manager: calling asmService.getStatus results in: unknown_error
Processing Manager: calling asmService.getDetails
Processing Manager: calling details.getJobs()
Processing Manager: calling jobs.get(0)
Processing Manager: callnig jobZero.getStatisticsBean()
Processing Manager: calling statisticsBean.getOverviewedstatuses()
Processing Manager: Job zero status code: 99
Processing Manager: Job zero: instance zero: 99
Processing Manager: calling asmService.getWorkflowStatus: ERROR
And again the last one seems to be the correct status!