/*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jbpm.websale;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jbpm.JbpmConfiguration;
import org.jbpm.context.exe.ContextInstance;
import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.identity.Entity;
import org.jbpm.identity.hibernate.IdentitySession;
import org.jbpm.identity.xml.IdentityXmlParser;
import org.jbpm.taskmgmt.exe.TaskInstance;
import org.jbpm.taskmgmt.exe.TaskMgmtInstance;
public class WebsaleTest extends AbstractDbTestCase {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
ProcessDefinition processDefinition = null;
ProcessInstance processInstance = null;
ContextInstance contextInstance = null;
TaskMgmtInstance taskMgmtInstance = null;
long processInstanceId = -1;
public void setUp() throws Exception {
super.setUp();
deployProcess();
loadIdentities();
newTransaction();
createNewProcessInstance();
}
private void deployProcess() {
// 后来改的 by 陈刚
try {
InputStream is = new FileInputStream("processes/websale.par/processdefinition.xml");
processDefinition = ProcessDefinition.parseXmlInputStream(is);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// jBPM的原语句
// ProcessDefinition processDefinition =
// ProcessDefinition.parseXmlResource("websale.par/processdefinition.xml");
jbpmContext.deployProcessDefinition(processDefinition);
}
private void loadIdentities() {
// load the identities
Entity[] entities = IdentityXmlParser.parseEntitiesResource("hsqldb/identity.db.xml");
IdentitySession identitySession = new IdentitySession(session);
for (int i=0; i<entities.length; i++) {
identitySession.saveEntity(entities[i]);
}
newTransaction();
}
private void createNewProcessInstance() {
processDefinition = graphSession.findLatestProcessDefinition("websale");
processInstance = new ProcessInstance(processDefinition);
contextInstance = processInstance.getContextInstance();
taskMgmtInstance = processInstance.getTaskMgmtInstance();
}
public void testWebSaleOrderTaskParameters() {
TaskInstance taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
assertEquals("create new web sale order", taskInstance.getName());
assertEquals(3, taskInstance.getVariables().size());
}
public void testPerformWebSaleOrderTask() {
TaskInstance taskInstance = null;
jbpmContext.setActorId("cookie monster");
// create a task to start the websale process
taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
Map taskVariables = new HashMap();
taskVariables.put("item", "cookies");
taskVariables.put("quantity", "lots of them");
taskVariables.put("address", "sesamestreet 46");
taskInstance.addVariables(taskVariables);
taskInstance.end();
assertEquals("cookies", contextInstance.getVariable("item"));
assertEquals("lots of them", contextInstance.getVariable("quantity"));
assertEquals("sesamestreet 46", contextInstance.getVariable("address"));
assertEquals("cookie monster", taskMgmtInstance.getSwimlaneInstance("buyer").getActorId());
}
public void testEvaluateAssignment() {
TaskInstance taskInstance = null;
jbpmContext.setActorId("cookie monster");
// create a task to start the websale process
taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
taskInstance.setVariable("item", "cookies");
taskInstance.end();
jbpmContext.save(processInstance);
processInstanceId = processInstance.getId();
newTransaction();
List erniesTasks = taskMgmtSession.findTaskInstances("ernie");
assertEquals(1, erniesTasks.size());
TaskInstance evaluateTaskInstance = (TaskInstance) erniesTasks.get(0);
assertEquals("ernie", evaluateTaskInstance.getActorId());
assertEquals("evaluate web order", evaluateTaskInstance.getName());
assertNotNull(evaluateTaskInstance.getToken());
assertNotNull(evaluateTaskInstance.getCreate());
assertNull(evaluateTaskInstance.getStart());
assertNull(evaluateTaskInstance.getEnd());
}
public void testEvaluateOk() {
TaskInstance taskInstance = processInstance.getTaskMgmtInstance().createStartTaskInstance();
taskInstance.end();
jbpmContext.save(processInstance);
newTransaction();
TaskInstance evaluateTaskInstance = (TaskInstance) taskMgmtSession.findTaskInstances("ernie").get(0);
evaluateTaskInstance.end("ok");
jbpmContext.save(evaluateTaskInstance);
newTransaction();
List erniesTasks = taskMgmtSession.findTaskInstances("bert");
assertEquals(1, erniesTasks.size());
TaskInstance waitForMoneyTaskInstance = (TaskInstance) erniesTasks.get(0);
assertEquals("bert", waitForMoneyTaskInstance.getActorId());
assertEquals("wait for money", waitForMoneyTaskInstance.getName());
assertNotNull(waitForMoneyTaskInstance.getToken());
assertNotNull(waitForMoneyTaskInstance.getCreate());
assertNull(waitForMoneyTaskInstance.getStart());
assertNull(waitForMoneyTaskInstance.getEnd());
}
public void testUnwritableVariableException() {
testEvaluateAssignment();
newTransaction();
List erniesTasks = taskMgmtSession.findTaskInstances("ernie");
TaskInstance evaluateTaskInstance = (TaskInstance) erniesTasks.get(0);
// this variable is set in the task instance variables, but
// should not be submitted to the process context variables.
evaluateTaskInstance.setVariable("item", "this is not allowed");
evaluateTaskInstance.end();
newTransaction();
processInstance = graphSession.loadProcessInstance(processInstanceId);
contextInstance = processInstance.getContextInstance();
// so the cookies should still be in the item process variable.
assertEquals("cookies", contextInstance.getVariable("item"));
}
public void testEvaluateNok() {
testEvaluateAssignment();
newTransaction();
List erniesTasks = taskMgmtSession.findTaskInstances("ernie");
TaskInstance evaluateTaskInstance = (TaskInstance) erniesTasks.get(0);
evaluateTaskInstance.setVariable("comment", "wtf");
evaluateTaskInstance.end("more info needed");
jbpmContext.save(evaluateTaskInstance);
newTransaction();
List cookieMonsterTasks = taskMgmtSession.findTaskInstances("cookie monster");
assertEquals(1, cookieMonsterTasks.size());
TaskInstance fixWebOrderDataTaskInstance = (TaskInstance) cookieMonsterTasks.get(0);
assertEqual
没有合适的资源?快使用搜索试试~ 我知道了~
JBPM 66
共165个文件
xml:45个
java:45个
class:40个
需积分: 0 0 下载量 115 浏览量
2007-12-23
03:56:08
上传
评论
收藏 4.34MB RAR 举报
温馨提示
;;;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
资源详情
资源评论
资源推荐
收起资源包目录
JBPM 66 (165个子文件)
WebsaleTest.class 7KB
AbstractDbTestCase.class 6KB
MyRequestProcessTest.class 6KB
ShipItem.class 3KB
SimpleProcessTest.class 3KB
CopyOfSimpleProcessTest.class 2KB
SimpleProcessTest.class 2KB
SimpleProcessTest.class 2KB
FinishedActionHandler.class 2KB
RemindActor.class 2KB
CancelActionHandler.class 2KB
ChiefDecideAssignmentHandler.class 2KB
DoSomethingDecisionHandler.class 1KB
NotApproveActionHandler.class 1KB
CancelRequestAssignmentHandler.class 1KB
WriteRequestAssignmentHandler.class 1KB
ApproveActionHandler.class 1KB
RequestCancelActionHandler.class 1KB
DeployProcessTest.class 1KB
DeployProcessTest.class 1KB
UpdateBooks.class 1KB
IsChiefHereDecisionHandler.class 1KB
RequestAction.class 1KB
ChiefNotApproveActionHandler.class 1KB
BossNotApproveActionHandler.class 1KB
ChiefApproveActionHandler.class 1KB
WriteLeaveActionHandler.class 1KB
BossApproveActionHandler.class 1KB
NotNeedActionHandler.class 1KB
NeedBossDecideDecisionHandler.class 1KB
MessageActionHandler.class 935B
MessageActionHandler.class 935B
MessageActionHandler.class 935B
ConfirmAction.class 890B
BossDecideAssignmentHandler.class 865B
AbstractJbpmTestCase.class 631B
JbpmConfigurationTestHelper.class 428B
JbpmContextTestHelper.class 404B
RequestState.class 365B
RequestVariable.class 338B
.classpath 603B
.classpath 527B
.classpath 503B
.classpath 393B
jBPM开发入门指南(3).doc 355KB
jBPM开发入门指南(1).doc 121KB
jBPM开发入门指南(4).doc 43KB
jBPM开发入门指南(2).doc 32KB
jBPM开发入门指南(5).doc 21KB
hibernate3.jar 1.84MB
hibernate3.jar 1.84MB
mysql-connector-java-3.1.7-bin.jar 388KB
WebsaleTest.java 9KB
MyRequestProcessTest.java 6KB
AbstractDbTestCase.java 5KB
ShipItem.java 3KB
SimpleProcessTest.java 3KB
RemindActor.java 2KB
CopyOfSimpleProcessTest.java 2KB
SimpleProcessTest.java 2KB
SimpleProcessTest.java 2KB
SimpleProcessTest.java 2KB
UpdateBooks.java 2KB
FinishedActionHandler.java 1KB
AbstractJbpmTestCase.java 1KB
DeployProcessTest.java 1KB
DeployProcessTest.java 1KB
DeployProcessTest.java 1KB
CancelActionHandler.java 1KB
JbpmConfigurationTestHelper.java 1KB
JbpmContextTestHelper.java 1KB
RequestCancelActionHandler.java 1KB
NotApproveActionHandler.java 853B
ChiefDecideAssignmentHandler.java 839B
DoSomethingDecisionHandler.java 835B
ApproveActionHandler.java 825B
CancelRequestAssignmentHandler.java 795B
MessageActionHandler.java 702B
MessageActionHandler.java 702B
MessageActionHandler.java 702B
MessageActionHandler.java 702B
WriteRequestAssignmentHandler.java 693B
WriteLeaveActionHandler.java 674B
IsChiefHereDecisionHandler.java 648B
NeedBossDecideDecisionHandler.java 624B
ChiefApproveActionHandler.java 597B
BossDecideAssignmentHandler.java 555B
RequestAction.java 538B
RequestAction.java 536B
ChiefNotApproveActionHandler.java 525B
BossNotApproveActionHandler.java 520B
BossApproveActionHandler.java 509B
NotNeedActionHandler.java 501B
RequestVariable.java 470B
ConfirmAction.java 438B
ConfirmAction.java 382B
RequestState.java 290B
processimage.jpg 45KB
processimage.jpg 45KB
processimage.jpg 31KB
共 165 条
- 1
- 2
y263542662
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- delphi实现DBGrid全选和反选功能
- 25C11F41-2B2A-4D1A-AAA8-7C654526B129.pdf
- Android Studio Jellyfish(android-studio-2023.3.1.18-cros.deb)
- MVC+EF框架+EasyUI实现权限管理源码程序
- python第66-75天,Day66-75.rar
- python后端服务project-of-tornado.rar
- python测验,hello-tornado.rar
- 基于SpringBoot+Vue3快速开发平台、自研工作流引擎源码设计.zip
- docker安装部署全流程
- 基于树莓派的人脸识别系统python源码+项目部署说明+超详细代码注释.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0