diff --git a/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/delegate/event/impl/EventLogUserTaskCompleteTransformer.java b/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/delegate/event/impl/EventLogUserTaskCompleteTransformer.java index 724f3884c30..9ea2d83134e 100644 --- a/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/delegate/event/impl/EventLogUserTaskCompleteTransformer.java +++ b/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/delegate/event/impl/EventLogUserTaskCompleteTransformer.java @@ -63,7 +63,7 @@ public SimulationEvent apply(EventLogEntry event) { localScope = true; } String taskDefinitionKeyValue = (String) data.get(Fields.TASK_DEFINITION_KEY); - + Map properties = new HashMap(); properties.put("taskId", taskIdValue); properties.put(TASK_DEFINITION_KEY, taskDefinitionKeyValue); diff --git a/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/impl/replay/ReplayUserTaskCompleteEventHandler.java b/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/impl/replay/ReplayUserTaskCompleteEventHandler.java index 8d23f684600..2d30635c4db 100644 --- a/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/impl/replay/ReplayUserTaskCompleteEventHandler.java +++ b/modules/activiti-crystalball/src/main/java/org/activiti/crystalball/simulator/impl/replay/ReplayUserTaskCompleteEventHandler.java @@ -44,6 +44,7 @@ public void handle(SimulationEvent event) { variableValueEquals(StartReplayLogEventHandler.PROCESS_INSTANCE_ID, processInstanceId). variableValueEquals(StartReplayLogEventHandler.SIMULATION_RUN_ID, simulationRunId). singleResult(); + Task task = SimulationRunContext.getTaskService().createTaskQuery(). processInstanceId(processInstance.getId()). taskDefinitionKey(taskDefinitionKey). diff --git a/modules/activiti-engine/src/main/java/org/activiti/engine/impl/event/logger/handler/AbstractTaskEventHandler.java b/modules/activiti-engine/src/main/java/org/activiti/engine/impl/event/logger/handler/AbstractTaskEventHandler.java index d90b3677d17..bfdaa83d622 100644 --- a/modules/activiti-engine/src/main/java/org/activiti/engine/impl/event/logger/handler/AbstractTaskEventHandler.java +++ b/modules/activiti-engine/src/main/java/org/activiti/engine/impl/event/logger/handler/AbstractTaskEventHandler.java @@ -14,6 +14,7 @@ protected Map handleCommonTaskFields(TaskEntity task) { Map data = new HashMap(); putInMapIfNotNull(data, Fields.ID, task.getId()); putInMapIfNotNull(data, Fields.NAME, task.getName()); + putInMapIfNotNull(data, Fields.TASK_DEFINITION_KEY, task.getTaskDefinitionKey()); putInMapIfNotNull(data, Fields.DESCRIPTION, task.getDescription()); putInMapIfNotNull(data, Fields.ASSIGNEE, task.getAssignee()); putInMapIfNotNull(data, Fields.OWNER, task.getOwner()); diff --git a/modules/activiti-explorer/src/main/java/org/activiti/explorer/ui/management/crystalball/EventOverviewPanel.java b/modules/activiti-explorer/src/main/java/org/activiti/explorer/ui/management/crystalball/EventOverviewPanel.java index b157ca89f79..90e7589ffdc 100755 --- a/modules/activiti-explorer/src/main/java/org/activiti/explorer/ui/management/crystalball/EventOverviewPanel.java +++ b/modules/activiti-explorer/src/main/java/org/activiti/explorer/ui/management/crystalball/EventOverviewPanel.java @@ -40,6 +40,7 @@ import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.impl.el.NoExecutionVariableScope; import org.activiti.engine.repository.ProcessDefinition; +import org.activiti.engine.runtime.ProcessInstance; import org.activiti.explorer.ExplorerApp; import org.activiti.explorer.I18nManager; import org.activiti.explorer.Messages; @@ -407,14 +408,13 @@ protected void refreshEvents() { protected void fillEventValues() { for (SimulationEvent originalEvent : simulationEvents) { boolean executed = true; - for (SimulationEvent event : SimulationRunContext.getEventCalendar().getEvents()) { - if (originalEvent.equals(event)) { - executed = false; - stepButton.setEnabled(true); - showProcessInstanceButton.setCaption(i18nManager.getMessage( - Messages.TASK_PART_OF_PROCESS, definitionMap.get(replayHistoricInstance.getProcessDefinitionId()))); - showProcessInstanceButton.setVisible(true); - break; + if (SimulationRunContext.getEventCalendar() != null && SimulationRunContext.getEventCalendar().getEvents() != null) { + for (SimulationEvent event : SimulationRunContext.getEventCalendar().getEvents()) { + if (originalEvent.equals(event)) { + executed = false; + stepButton.setEnabled(true); + break; + } } } @@ -422,6 +422,16 @@ protected void fillEventValues() { eventTable.getItem(itemId).getItemProperty("type").setValue(originalEvent.getType()); eventTable.getItem(itemId).getItemProperty("executed").setValue(executed); } + + if (replayHistoricInstance != null && replayHistoricInstance.getId() != null) { + ProcessInstance testInstance = runtimeService.createProcessInstanceQuery().processInstanceId(replayHistoricInstance.getId()).singleResult(); + if (testInstance != null) { + showProcessInstanceButton.setCaption(i18nManager.getMessage( + Messages.TASK_PART_OF_PROCESS, definitionMap.get(replayHistoricInstance.getProcessDefinitionId()))); + showProcessInstanceButton.setVisible(true); + } + } + eventTable.setVisible(true); }