Skip to content

Commit 0355125

Browse files
committed
fix NPE
1 parent fe3d439 commit 0355125

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

jbpm/jbpm-flow/src/main/java/org/kie/kogito/process/impl/AbstractProcessInstance.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -425,9 +425,10 @@ public void startFrom(String nodeId, String referenceId, Map<String, List<String
425425
processInstance.setStartDate(new Date());
426426
processInstance.setState(STATE_ACTIVE);
427427
getProcessRuntime().getProcessInstanceManager().addProcessInstance(this.processInstance);
428-
((MutableProcessInstances<T>) process.instances()).create(id, this);
429428

430429
this.id = processInstance.getStringId();
430+
((MutableProcessInstances<T>) process.instances()).create(id, this);
431+
431432
addCompletionEventListener();
432433
if (referenceId != null) {
433434
processInstance.setReferenceId(referenceId);
@@ -457,7 +458,7 @@ public void triggerNode(String nodeId) {
457458
}
458459
nodeInstance.trigger(null, Node.CONNECTION_DEFAULT_TYPE);
459460

460-
((MutableProcessInstances<T>) process.instances()).update(this.id(), this);
461+
((MutableProcessInstances<T>) process.instances()).update(id, this);
461462
return null;
462463
});
463464
}

jbpm/jbpm-flow/src/test/java/org/kie/kogito/process/impl/AbstractProcessInstanceTest.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.kie.kogito.Model;
3535
import org.kie.kogito.internal.process.runtime.KogitoProcessInstance;
3636
import org.kie.kogito.internal.process.runtime.KogitoProcessRuntime;
37+
import org.kie.kogito.process.MutableProcessInstances;
3738
import org.kie.kogito.uow.UnitOfWork;
3839
import org.kie.kogito.uow.UnitOfWorkManager;
3940
import org.mockito.Mock;
@@ -60,6 +61,9 @@ public class AbstractProcessInstanceTest {
6061
@Mock
6162
private UnitOfWork unitOfWork;
6263

64+
@Mock
65+
private MutableProcessInstances instances;
66+
6367
private AbstractProcessInstance<TestModel> processInstance;
6468

6569
@SuppressWarnings("unchecked")
@@ -70,6 +74,7 @@ public void setup() {
7074
AbstractProcess<TestModel> process = mock(AbstractProcess.class);
7175
Process piProcess = mock(Process.class);
7276
when(process.process()).thenReturn(piProcess);
77+
when(process.instances()).thenReturn(instances);
7378
when(process.get()).thenReturn(piProcess);
7479
InternalProcessRuntime pr = mock(InternalProcessRuntime.class);
7580
when(pr.createProcessInstance(any(), any(), any())).thenReturn(wpi);
@@ -100,7 +105,7 @@ public void shouldTriggerNodeWhenStartFrom() {
100105
processInstance.startFrom(NODE_ID);
101106

102107
verify(nodeInstance).trigger(null, Node.CONNECTION_DEFAULT_TYPE);
103-
verify(unitOfWork, times(4)).intercept(any());
108+
verify(unitOfWork, times(0)).intercept(any());
104109
}
105110

106111
@Test
@@ -110,7 +115,7 @@ public void shouldTriggerNodeWhenTrigger() {
110115
processInstance.triggerNode(NODE_ID);
111116

112117
verify(nodeInstance).trigger(null, Node.CONNECTION_DEFAULT_TYPE);
113-
verify(unitOfWork, times(2)).intercept(any());
118+
verify(unitOfWork, times(0)).intercept(any());
114119
}
115120

116121
private NodeInstance givenExistingNode(String nodeId) {

0 commit comments

Comments
 (0)