public WorkflowForm getLaunchForm(String processName) { ProcessDefinition processDefinition = getProcessDefinition(processName); String launchForm = processDefinition.getLaunchForm(); Object context=null; try { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); context = Class.forName(processDefinition.getFullClassName(),false,classLoader).newInstance(); } catch (Exception e) { throw new RuntimeException(e); } WorkflowForm workflowForm = m_formFactory.getForm(launchForm); workflowForm.setProcessDefinition(processDefinition); workflowForm.setContext(context); ProcessInstance processInstance = new ProcessInstance(); processInstance.setProcessDefinitionName(processDefinition.getName()); processInstance.setComment(" "); workflowForm.setProcessInstance(processInstance); return workflowForm; }
public WorkflowForm getCurrentForm(ProcessInstance processInstance) { ProcessDefinition processDefinition = getProcessDefinition(processInstance.getProcessDefinitionName()); String formName = processDefinition.getLaunchForm(); boolean readOnly = true; TaskBase task = getCurrentTask(processInstance); if ((task instanceof TaskForm)) { formName = ((TaskForm)task).getFormName(); readOnly = false; } WorkflowForm workflowForm = m_formFactory.getForm(formName); Object context = getContext(processInstance.getObjectInstance()); workflowForm.setProcessDefinition(processDefinition); workflowForm.setProcessInstance(processInstance); workflowForm.setContext(context); workflowForm.setReadOnly(readOnly); workflowForm.bind(); return workflowForm; } public ContextDAO getContextDAO() {