📄 homeaction.java
字号:
package org.jbpm.web.struts.action;
import java.util.*;
import javax.servlet.http.*;
import org.apache.commons.logging.*;
import org.apache.struts.action.*;
import org.jbpm.*;
import org.jbpm.model.definition.Definition;
import org.jbpm.model.definition.impl.*;
import org.jbpm.model.execution.*;
import org.jbpm.model.execution.impl.*;
import org.jbpm.web.formgen.Form;
import org.jbpm.web.struts.form.*;
public class HomeAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
// cast the form
HomeForm homeForm = (HomeForm) form;
String user = Authentication.getUser(request);
ExecutionService executionService = JbpmServiceLocator.getInstance().getExecutionService();
// get the tasklist from jbpm for user
List tasks = new ArrayList();
// add the demo tasks
//tasks.add( createToken(3, "defone", "stateone" ) );
//tasks.add( createToken(4, "deftwo", "statetwo" ) );
//tasks.add( createToken(5, "deftwo", "statethree" ) );
// add the jbpm tasks
tasks.addAll( executionService.getTaskList( user, null ) );
// put the tasklist into the form
homeForm.setTasks( tasks );
// get the tasklist from jbpm for user
List definitions = new ArrayList();
// add the demo definitions
//definitions.add( createDefinition(1, "defone" ) );
//definitions.add( createDefinition(2, "deftwo" ) );
// add the jbpm definitions
definitions.addAll( executionService.getLatestDefinitions() );
// put the tasklist into the form
homeForm.setDefinitions( definitions );
// initialise the forms
Iterator iter = tasks.iterator();
while( iter.hasNext() ) {
Form.initialiseForms( ((Token)iter.next()).getProcessInstance().getDefinition(), executionService );
}
iter = definitions.iterator();
while( iter.hasNext() ) {
Form.initialiseForms( (Definition) iter.next(), executionService );
}
log.debug( "tasks: " + executionService.getTaskList( user, null ) );
log.debug( "definitions: " + executionService.getLatestDefinitions() );
return mapping.findForward( "home" );
}
private TokenImpl createToken(long id, String definitionName, String stateName) {
DefinitionImpl definition = createDefinition( 0, definitionName );
ProcessInstanceImpl pi = new ProcessInstanceImpl();
pi.setDefinition( definition );
StateImpl state = new StateImpl();
state.setName( stateName );
TokenImpl token = new TokenImpl();
token.setId( new Long( id ) );
token.setProcessInstance( pi );
token.setState( state );
return token;
}
private DefinitionImpl createDefinition(long id, String name) {
StartStateImpl startState = new StartStateImpl();
startState.setName( "startstate" );
DefinitionImpl definition = new DefinitionImpl();
definition.setId( new Long( id ) );
definition.setName( name );
definition.setStartState( startState );
return definition;
}
private static Log log = LogFactory.getLog(HomeAction.class);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -