Skip to content

Instantly share code, notes, and snippets.

@henryyan
henryyan / gist:5317179
Last active December 15, 2015 20:18
bpmndi
<bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12">
<omgdi:waypoint x="290" y="300"></omgdi:waypoint>
<omgdi:waypoint x="625" y="300"></omgdi:waypoint>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="11" width="100" x="10" y="0"></omgdc:Bounds>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
There are two waypoint elements, use the first or second are imprecise, so caculate the middle x and y to positon the label.
package org.activiti.designer.test.bugs;
import java.io.File;
import java.io.InputStream;
import org.activiti.bpmn.model.BpmnModel;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.impl.bpmn.diagram.ProcessDiagramGenerator;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.test.ActivitiRule;
[INFO] antlr:antlr:jar:2.7.7:compile
[INFO] aopalliance:aopalliance:jar:1.0:compile
[INFO] asm:asm:jar:3.3.1:compile
[INFO] cglib:cglib:jar:2.2.2:compile
[INFO] com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] com.google.guava:guava:jar:12.0:compile
[INFO] com.h2database:h2:jar:1.3.167:compile
[INFO] com.thebuzzmedia:imgscalr-lib:jar:3.1:compile
[INFO] commons-beanutils:commons-beanutils:jar:1.8.3:compile
[INFO] commons-collections:commons-collections:jar:3.2.1:compile
@henryyan
henryyan / import-vars-to-varinst-from-detail.sql
Created March 13, 2013 07:04
把ACT_HI_DETAIL的数据导入到ACT_HI_VARINST
INSERT
INTO act_hi_varinst
(
ID_,
PROC_INST_ID_,
EXECUTION_ID_,
TASK_ID_,
NAME_,
VAR_TYPE_,
REV_,
<?xml version="1.0" encoding="GBK"?>
<InsuranceData>
<headInfo>
<partnerCode>010106</partnerCode>
<partnerComCode>010106</partnerComCode>
<massage>test</massage>
<requestType>01</requestType>
<transactionId>01010601010620130225010002</transactionId>
</headInfo>
<bodyInfo>
@henryyan
henryyan / gist:5001893
Created February 21, 2013 03:54
Activiti:动态调整运行中流程的流程定义版本
/**
* 更改流程实例的流程定义ID
* @param processInstanceId
* @param processDefinitionId
*/
@Transactional
public void changeProcessDefinitionId(String processInstanceId, String processDefinitionId) {
long count = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).count();
if (count == 0) {
throw new ServiceException("指定的流程定义不存在!");
@henryyan
henryyan / ProcessTestMaster.java
Created February 18, 2013 16:41
突破限制:单个业务对应多个流程实例--单元测试
package org.activiti.designer.test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@henryyan
henryyan / gist:4690417
Created February 1, 2013 09:51
动态更改流程实例的流程定义ID
public void changeProcessDefinitionId(String processInstanceId, String processDefinitionId) {
long count = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).count();
if (count == 0) {
throw new ServiceException("指定的流程定义不存在!");
}
Session session = processInstanceDao.getSession();
session.createSQLQuery("update ACT_RU_EXECUTION set PROC_DEF_ID_ = ? where PROC_INST_ID_ = ?")
.setParameter(0, processDefinitionId).setParameter(1, processInstanceId).executeUpdate();
session.createSQLQuery("update ACT_RU_TASK set PROC_DEF_ID_ = ? where PROC_INST_ID_ = ?")
@henryyan
henryyan / CounterSignService.java
Created January 20, 2013 09:23
Activiti--会签加签操作(出数据库操作版本)
import java.util.List;
import java.util.Map;
import org.activiti.engine.HistoryService;
import org.activiti.engine.ManagementService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricVariableInstance;
import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
@henryyan
henryyan / gist:4577147
Created January 20, 2013 07:27
根据历史的流程数据创建运行时任务
import java.util.HashMap;
import java.util.Map;
public class InsertActivitiRecordFromHistory {
public static void main(String[] args) {
long id = 424101; // 当前的ID
String pdid = "effectInsurance:10:424004"; // 新的流程定义ID
// 流程实例ID