private Map<String, Object> getHistoricVariables(HistoricDetailQuery query) { List<HistoricDetail> historicDetails = query.variableUpdates() .list(); return convertHistoricDetails(historicDetails); }
private Map<String, Object> getHistoricVariables(HistoricDetailQuery query) { List<HistoricDetail> historicDetails = query.variableUpdates() .list(); return convertHistoricDetails(historicDetails); }
/** * 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()); } }
.orderByVariableName().asc().orderByTime().desc().list();
@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()); } }
@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(); } } }
@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()); } }
@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()); } }
@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 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); }
for (HistoricDetail hd : hdq.list()) { HistoricVariableUpdate hvu = (HistoricVariableUpdate) hd; String varname = hvu.getVariableName(); .processInstanceId(pid) .orderByVariableRevision().desc(); for (HistoricDetail hd : hdq2.list()) { HistoricFormProperty hfp = (HistoricFormProperty) hd; String varname = hfp.getPropertyId();
@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();
.variableUpdates() .processInstanceId(task.getProcessInstanceId()) .list();