⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formtest.java

📁 一个java工作流引擎
💻 JAVA
字号:
package org.jbpm.web.formgen;

import java.io.*;
import java.util.*;
import org.jbpm.*;
import org.jbpm.model.definition.*;
import org.jbpm.model.definition.impl.*;
import org.jbpm.model.execution.*;
import org.jbpm.model.log.*;
import org.jbpm.util.io.*;
import org.jbpm.web.formgen.format.DoubleFormat;
import org.jbpm.web.formgen.format.DefaultFormat;

import junit.framework.*;

public class FormTest extends TestCase {
  
  public static class TestExecutionService implements ExecutionService {
    
    private String filePrefix = null;
    public TestExecutionService( String filePrefix ) {
      this.filePrefix = filePrefix;
    }

    public byte[] getFile(Long processDefinitionId, String fileName) {
      ByteArrayOutputStream out = new ByteArrayOutputStream();
      InputStream in = FormTest.class.getClassLoader().getResourceAsStream( filePrefix + "/" + fileName );
      try {
				IoUtil.transfer( in, out );
			} catch (IOException e) {
				e.printStackTrace();
			}
      return out.toByteArray();
    }
    
		public InvocationLog startProcessInstance(String actorId, Long definitionId) throws ExecutionException { return null; }
		public InvocationLog startProcessInstance(String actorId, Long definitionId, Map variables) throws ExecutionException { return null; }
		public InvocationLog startProcessInstance(String actorId, Long definitionId, Map variables, String transitionName) throws ExecutionException { return null; }
		public InvocationLog setVariables(String actorId, Long tokenId, Map variables) throws ExecutionException { return null; }
		public InvocationLog endOfState(String actorId, Long tokenId) throws ExecutionException { return null; }
		public InvocationLog endOfState(String actorId, Long tokenId, Map variables) throws ExecutionException { return null; }
		public InvocationLog endOfState(String actorId, Long tokenId, Map variables, String transitionName) throws ExecutionException { return null; }
		public InvocationLog delegate(String actorId, Long tokenId, String destinationActorId, boolean transferResponsability) throws ExecutionException { return null; }
		public InvocationLog cancelProcessInstance(String actorId, Long processInstanceId) throws ExecutionException { return null; }
		public InvocationLog cancelToken(String actorId, Long flowId) throws ExecutionException { return null; }
		public InvocationLog undo(String actorId, Long processInstanceId, Date date) throws ExecutionException { return null; }
		public Collection getTaskList(String targetActorId, Assembler assembler) { return null; }
		public Token getToken(Long tokenId, Assembler assembler) { return null; }
		public ProcessInstance getProcessInstance(Long processInstanceId, Assembler assembler) { return null; }
		public Map getVariables(Long tokenId) { return null; }
		public Definition getDefinition(Long definitionId, Assembler assembler) { return null; }
		public Definition getLatestDefinition(String name) { return null; }
		public Collection getLatestDefinitions() { return null; }
  }

  public void testFormInitialisation() throws Exception {
    DefinitionImpl definition = new DefinitionImpl();
    definition.setId( new Long( 1 ) );
    definition.setName( "form test definition" );
    
    ExecutionService executionService = new TestExecutionService( "payraise" );
    
    Form.initialiseForms( definition, executionService );
    
    Form startStateForm = Form.getForm( definition.getId(), "start" );
    assertNotNull("1", startStateForm);
    assertEquals("2", startStateForm.getStateName(), "start");
    assertEquals("3", startStateForm.getTaskName(), "start a pay raise");
    
    Map variableFormats = startStateForm.getVariableFormats();
    assertEquals("4", variableFormats.get("reason").getClass(), DefaultFormat.class);
    assertEquals("5", variableFormats.get("amount.asked").getClass(), DoubleFormat.class);

    Form evaluationStateForm = Form.getForm( definition.getId(), "evaluation" );
    assertNotNull("6", evaluationStateForm);
    assertEquals("7", evaluationStateForm.getStateName(), "evaluation");
    assertEquals("8", evaluationStateForm.getTaskName(), "evaluate a pay raise");
    
    Map submitButtons = evaluationStateForm.getSubmitButtons();
    assertEquals("9", submitButtons.size(), 2);
    assertEquals("10", submitButtons.get("Grant Pay Raise"), "grant");
    assertEquals("11", submitButtons.get("Deny Pay Raise"), "deny");
  }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -