henryyan
11/29/2011 - 7:20 AM

获取节点坐标

获取节点坐标

Execution execution = runtimeService.createExecutionQuery().executionId(processInstanceId).singleResult();//执行实例
			Object property = PropertyUtils.getProperty(execution, "activityId");
			String activityId = "";
			if (property != null) {
				activityId = property.toString();
			}
			ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
			ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
					.getDeployedProcessDefinition(processInstance.getProcessDefinitionId());
			List<ActivityImpl> activitiList = processDefinition.getActivities();//获得当前任务的所有节点
			ActivityImpl activity = null;
			for (ActivityImpl activityImpl : activitiList) {
				String id = activityImpl.getId();
				if (id.equals(activityId)) {//获得执行到那个节点
					activity = activityImpl;
					break;
				}
			}
			Map<String, Integer> activityImageInfo = new HashMap<String, Integer>();
			activityImageInfo.put("x", activity.getX());
			activityImageInfo.put("y", activity.getY());
			activityImageInfo.put("width", activity.getWidth());
			activityImageInfo.put("height", activity.getHeight());