/** * get var updates in the node * @param historicActivityInstance * @return */ private Map<String, Object> getVarUpdates(HistoricActivityInstance historicActivityInstance) { Map<String, Object> updates = new HashMap<String,Object>(); List<HistoricDetail> historicUpdates = historyService.createHistoricDetailQuery() .processInstanceId( historicActivityInstance.getProcessInstanceId()) .activityInstanceId( historicActivityInstance.getId()) .variableUpdates() .list(); for (HistoricDetail historicDetail : historicUpdates) updates.put( ((HistoricVariableUpdate) historicDetail).getVariableName(), ((HistoricVariableUpdate) historicDetail).getValue()); return updates; }
@Override public void printInstanceData(PrintWriter out, boolean verbose, boolean quite, HistoricProcessInstance hpi) { this.setVerbose(verbose); this.setQuiet(quite); List<HistoricDetail> varList = null; try { varList = this.processEngine.getHistoryService().createHistoricDetailQuery() .variableUpdates().processInstanceId(hpi.getId()).orderByTime().desc().list(); } catch (ActivitiException ex) { // silent about the error. and log it. LOG.log(Level.INFO, "Error in getting process variables. " + ex.getMessage(), ex); } if (varList != null && varList.size() > 0) { out.println("-------- Instance Variables "); printVariables(out, varList); } else { LOG.info("------ No Instance Variables! for " + hpi.getId()); } }
private Map<String, Object> getHistoricVariables(HistoricDetailQuery query) { List<HistoricDetail> historicDetails = query.variableUpdates() .list(); return convertHistoricDetails(historicDetails); }
final List<HistoricDetail> historicDetails = getHistoryService().createHistoricDetailQuery().variableUpdates().processInstanceId(processInstanceId) .orderByVariableName().asc().orderByTime().desc().list();
.variableUpdates() .processInstanceId(pid) .orderByTime().desc(); for (HistoricDetail hd : hdq.list()) { HistoricVariableUpdate hvu = (HistoricVariableUpdate) hd; String varname = hvu.getVariableName(); .formProperties() .processInstanceId(pid) .orderByVariableRevision().desc(); for (HistoricDetail hd : hdq2.list()) { HistoricFormProperty hfp = (HistoricFormProperty) hd; String varname = hfp.getPropertyId();
@Override public void printActivityData(PrintWriter out, boolean verbose, boolean quite, HistoricActivityInstance actInst) { this.setVerbose(verbose); this.setQuiet(quite); if (quite) { // don't print activity variable update per activity return; } List<HistoricDetail> varList = null; try { varList = this.processEngine.getHistoryService().createHistoricDetailQuery() .variableUpdates().activityInstanceId(actInst.getId()).orderByTime().desc().list(); } catch (ActivitiException ex) { //silent about the error. and log it. LOG.log(Level.INFO, "Error in getting process variables. " + ex.getMessage(), ex); } if (varList != null && varList.size() > 0) { out.println("-------- Task Variables"); printVariables(out, varList); } else { LOG.info("------ No Task Variables! for " + actInst.getActivityId()); } }
protected DataResponse getQueryResponse(HistoricDetailQueryRequest queryRequest, Map<String, String> allRequestParams) { HistoricDetailQuery query = historyService.createHistoricDetailQuery(); // Populate query based on request if (queryRequest.getProcessInstanceId() != null) { query.processInstanceId(queryRequest.getProcessInstanceId()); } if (queryRequest.getExecutionId() != null) { query.executionId(queryRequest.getExecutionId()); } if (queryRequest.getActivityInstanceId() != null) { query.activityInstanceId(queryRequest.getActivityInstanceId()); } if (queryRequest.getTaskId() != null) { query.taskId(queryRequest.getTaskId()); } if (queryRequest.getSelectOnlyFormProperties() != null) { if (queryRequest.getSelectOnlyFormProperties()) { query.formProperties(); } } if (queryRequest.getSelectOnlyVariableUpdates() != null) { if (queryRequest.getSelectOnlyVariableUpdates()) { query.variableUpdates(); } } return new HistoricDetailPaginateList(restResponseFactory).paginateList(allRequestParams, queryRequest, query, "processInstanceId", allowedSortProperties); } }
.variableUpdates() .processInstanceId(task.getProcessInstanceId()) .list();
/** * Get all variable updates for process instance, latest updates on top * * @param processId String * @return Map */ public Map<String, Object> getHistoricProcessVariables(String processId) { HistoricDetailQuery query = activitiUtil.getHistoryService() .createHistoricDetailQuery() .processInstanceId(processId) .excludeTaskDetails(); return getHistoricVariables(query); }
@SuppressWarnings({ "unchecked", "rawtypes" }) public void deleteHistoricDetailsByProcessInstanceId(String historicProcessInstanceId) { if (getHistoryManager().isHistoryLevelAtLeast(HistoryLevel.AUDIT)) { List<HistoricDetailEntity> historicDetails = (List) getDbSqlSession() .createHistoricDetailQuery() .processInstanceId(historicProcessInstanceId) .list(); for (HistoricDetailEntity historicDetail: historicDetails) { historicDetail.delete(); } } }
/** * Get all variable updates for activity, latest updates on top * * @param activityId String * @return Map */ public Map<String, Object> getHistoricActivityVariables(String activityId) { HistoricDetailQuery query = activitiUtil.getHistoryService() .createHistoricDetailQuery() .activityInstanceId(activityId); return getHistoricVariables(query); }
@Override public void printActivityData(PrintWriter out, boolean verbose, boolean quite, HistoricActivityInstance actInst) { this.setVerbose(verbose); this.setQuiet(quite); if (quite) { // don't print activity variable update per activity return; } List<HistoricDetail> varList = null; try { varList = this.processEngine.getHistoryService().createHistoricDetailQuery() .variableUpdates().activityInstanceId(actInst.getId()).orderByTime().desc().list(); } catch (ActivitiException ex) { //silent about the error. and log it. LOG.log(Level.INFO, "Error in getting process variables. " + ex.getMessage(), ex); } if (varList != null && varList.size() > 0) { out.println("-------- Task Variables"); printVariables(out, varList); } else { LOG.info("------ No Task Variables! for " + actInst.getActivityId()); } }
private Map<String, Object> getHistoricVariables(HistoricDetailQuery query) { List<HistoricDetail> historicDetails = query.variableUpdates() .list(); return convertHistoricDetails(historicDetails); }
/** * Get all variable updates for process instance, latest updates on top * * @param processId String * @return Map */ public Map<String, Object> getHistoricProcessVariables(String processId) { HistoricDetailQuery query = activitiUtil.getHistoryService() .createHistoricDetailQuery() .processInstanceId(processId) .excludeTaskDetails(); return getHistoricVariables(query); }
/** * Get all variable updates for activity, latest updates on top * * @param activityId String * @return Map */ public Map<String, Object> getHistoricActivityVariables(String activityId) { HistoricDetailQuery query = activitiUtil.getHistoryService() .createHistoricDetailQuery() .activityInstanceId(activityId); return getHistoricVariables(query); }
@Override public void handle(SimulationEvent event) { // start process now String processInstanceId = (String) event.getProperty(PROCESS_INSTANCE_ID); // get process variables for startEvent HistoricActivityInstance activityInstance = historyService.createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId) .activityType("startEvent") .singleResult(); List<HistoricDetail> details = historyService.createHistoricDetailQuery() .processInstanceId( processInstanceId ) .activityInstanceId( activityInstance.getId()) .variableUpdates() .list(); // fulfill variables Map<String, Object> variables = new HashMap<String,Object>(); for ( HistoricDetail detail : details) { variables.put( ((HistoricVariableUpdate) detail).getVariableName(), ((HistoricVariableUpdate) detail).getValue()); } variables.put( PROCESS_INSTANCE_ID, processInstanceId); log.debug("[{}] Starting new processKey[{}] properties[{}]", ClockUtil.getCurrentTime(), processToStartKey, variables); SimulationRunContext.getRuntimeService().startProcessInstanceByKey( processToStartKey, variables); }
@Override public void printInstanceData(PrintWriter out, boolean verbose, boolean quite, HistoricProcessInstance hpi) { this.setVerbose(verbose); this.setQuiet(quite); List<HistoricDetail> varList = null; try { varList = this.processEngine.getHistoryService().createHistoricDetailQuery() .variableUpdates().processInstanceId(hpi.getId()).orderByTime().desc().list(); } catch (ActivitiException ex) { // silent about the error. and log it. LOG.log(Level.INFO, "Error in getting process variables. " + ex.getMessage(), ex); } if (varList != null && varList.size() > 0) { out.println("-------- Instance Variables "); printVariables(out, varList); } else { LOG.info("------ No Instance Variables! for " + hpi.getId()); } }
@Override public long simulateTaskExecution(TaskEntity execTask, Map<String, Object> variables) { String playbackProcessInstanceId = (String) runtimeService.getVariable(execTask.getExecutionId(), PlaybackStartProcessEventHandler.PROCESS_INSTANCE_ID); // activity instance has to by only one HistoricActivityInstance activityInstance = playbackHistoryService.createHistoricActivityInstanceQuery() .processInstanceId(playbackProcessInstanceId) .activityId(execTask.getTaskDefinitionKey()) .singleResult(); if ( activityInstance == null ) //use backupExecutor return backUpExecutor.simulateTaskExecution(execTask, variables); List<HistoricDetail> playbackDetails = playbackHistoryService.createHistoricDetailQuery() .activityInstanceId(activityInstance.getId()) .processInstanceId(playbackProcessInstanceId) .variableUpdates() .list(); // fulfill variables for ( HistoricDetail detail : playbackDetails) { variables.put( ((HistoricVariableUpdate) detail).getVariableName(), ((HistoricVariableUpdate) detail).getValue()); } //@TODO change in version 5.12 return activityInstance.getDurationInMillis(); }
.processInstanceId(processInstance.getId()).orderByTime().desc().list();
@Override public void execute(ActivityExecution execution) throws Exception { String processInstanceId = (String) execution.getVariable(PlaybackStartProcessEventHandler.PROCESS_INSTANCE_ID); HistoryService historyService = (HistoryService) Context.getProcessEngineConfiguration().getBeans().get(PLAYBACK_HISTORY_SERVICE); // get process variables for the current activityId HistoricActivityInstance activityInstance = historyService.createHistoricActivityInstanceQuery() .processInstanceId(processInstanceId) .activityId( execution.getCurrentActivityId() ) .singleResult(); List<HistoricDetail> details = historyService.createHistoricDetailQuery() .processInstanceId( processInstanceId ) .activityInstanceId( activityInstance.getId()) .variableUpdates() .list(); // fulfill variables Map<String, Object> variables = new HashMap<String,Object>(); for ( HistoricDetail detail : details) { variables.put( ((HistoricVariableUpdate) detail).getVariableName(), ((HistoricVariableUpdate) detail).getValue()); } execution.setVariables(variables); PvmTransition transition = execution.getActivity().getOutgoingTransitions().get(0); execution.take(transition); }