📄 taskformsubmitaction.java
字号:
package org.jbpm.web.struts.action;
import java.util.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.jbpm.*;
import org.jbpm.model.log.*;
import org.jbpm.web.formgen.*;
import org.jbpm.web.struts.form.*;
public class TaskFormSubmitAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception {
String forward = "homeaction";
TaskForm taskForm = (TaskForm) actionForm;
Long definitionId = taskForm.getDefinitionId();
Long tokenId = taskForm.getTokenId();
String stateName = taskForm.getStateName();
String command = taskForm.getCommand();
Form form = Form.getForm( definitionId, stateName );
FormGenerator formGenerator = form.getGenerator();
Map errors = new HashMap();
Map parameters = formGenerator.parseParameters( request, errors );
Map variables = formGenerator.extractVariables( parameters );
String transitionName = formGenerator.getSelectedTransitionName( request );
String user = Authentication.getUser(request);
InvocationLog invocationLog = null;
ExecutionService executionService = JbpmServiceLocator.getInstance().getExecutionService();
if ( TaskForm.COMMAND_START_PROCESS_INSTANCE.equals( command ) ) {
invocationLog = executionService.startProcessInstance( Authentication.getUser(request), definitionId, variables, transitionName );
} else {
invocationLog = executionService.endOfState( user, tokenId, variables, transitionName );
}
/*
// TODO redirect to next form (instead of the home page) if an assignment has been done to the current user
AssignmentLog assignmentLog = null;
Iterator iter = invocationLog.getExecutionLogs().iterator();
while ( (iter.hasNext())
&& (assignmentLog == null) ) {
ExecutionLog executionLog = (ExecutionLog) iter.next();
if ( executionLog instanceof AssignmentLog ) {
AssignmentLog candidate = (AssignmentLog) executionLog;
if ( candidate.getActorId().equals( user ) ) {
assignmentLog = candidate;
}
}
}
if ( assignmentLog != null ) {
request.setAttribute( "tokenId", tokenId.toString() );
request.removeAttribute( "definitionId" );
forward = "taskformprepareaction";
}
*/
return mapping.findForward( forward );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -