private WorkflowStepVO createStepVO(final WorkflowVO workflowVO, final Step step) throws Exception
{
logger.info("step:" + step + ':' + step.getId());
logger.info("Owner:" + step.getOwner());
WorkflowStepVO stepVO = new WorkflowStepVO(workflowVO);
stepVO.setId(new Integer((int)step.getId()));// Hope it doesn't get too big; we are stuck with int thanks to BaseEntityVO
stepVO.setStepId(new Integer(step.getStepId()));
stepVO.setWorkflowId(new Long(workflowId));
stepVO.setStatus(step.getStatus());
stepVO.setStartDate(step.getStartDate());
stepVO.setFinishDate(step.getFinishDate());
stepVO.setOwner(step.getOwner());
stepVO.setCaller(step.getCaller());
try
{
StepDescriptor stepDescriptor = workflowDescriptor.getStep(step.getStepId());
if(stepDescriptor != null)
{
stepVO.setName(stepDescriptor.getName());
for (Iterator i = stepDescriptor.getActions().iterator(); i.hasNext();)
stepVO.addAction(createActionVO((ActionDescriptor)i.next()));
}
else
{
throw new SystemException("No stepDescriptor found for " + step);
}