This is an automated email from the ASF dual-hosted git repository.
gitgabrio pushed a commit to branch incubator-kie-issues#1497
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git
The following commit(s) were added to refs/heads/incubator-kie-issues#1497 by
this push:
new f710fe4ccd [incubator-kie-issues#1497] Overriding
getSerializableNodeInstances inside CompositeNodeInstance
f710fe4ccd is described below
commit f710fe4ccd6568bf5e15f2d97ca95af84ef8df5e
Author: Gabriele-Cardosi <[email protected]>
AuthorDate: Tue Oct 8 11:27:31 2024 +0200
[incubator-kie-issues#1497] Overriding getSerializableNodeInstances inside
CompositeNodeInstance
---
.../instance/node/CompositeNodeInstance.java | 19 ++++++++++++++++++-
.../workflow/instance/node/ForEachNodeInstance.java | 21 ++++++++++++---------
2 files changed, 30 insertions(+), 10 deletions(-)
diff --git
a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/CompositeNodeInstance.java
b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/CompositeNodeInstance.java
index 2612be7998..d804703897 100755
---
a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/CompositeNodeInstance.java
+++
b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/CompositeNodeInstance.java
@@ -28,6 +28,7 @@ import java.util.Map;
import java.util.UUID;
import java.util.function.Function;
import java.util.function.Predicate;
+import java.util.stream.Collectors;
import org.jbpm.workflow.core.Node;
import org.jbpm.workflow.core.node.CompositeNode;
@@ -204,7 +205,12 @@ public class CompositeNodeInstance extends
StateBasedNodeInstance implements Nod
@Override
public Collection<org.kie.api.runtime.process.NodeInstance>
getNodeInstances() {
- return new ArrayList<>(getNodeInstances(false));
+ return Collections.unmodifiableCollection(nodeInstances);
+ }
+
+ @Override
+ public Collection<org.kie.api.runtime.process.NodeInstance>
getSerializableNodeInstances() {
+ return
nodeInstances.stream().filter(this::isSerializable).collect(Collectors.toUnmodifiableList());
}
@Override
@@ -473,4 +479,15 @@ public class CompositeNodeInstance extends
StateBasedNodeInstance implements Nod
return iterationLevels;
}
+ /**
+ * Check if the given
<code>org.kie.api.runtime.process.NodeInstance</code> is serializable.
+ * Every subclass should override it, if needed, to avoid polluting the
parent one (this) with children details
+ *
+ * @param toCheck
+ * @return
+ */
+ protected boolean isSerializable(org.kie.api.runtime.process.NodeInstance
toCheck) {
+ return true;
+ }
+
}
diff --git
a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/ForEachNodeInstance.java
b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/ForEachNodeInstance.java
index 5f665df485..ae9fd86937 100755
---
a/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/ForEachNodeInstance.java
+++
b/jbpm/jbpm-flow/src/main/java/org/jbpm/workflow/instance/node/ForEachNodeInstance.java
@@ -18,8 +18,15 @@
*/
package org.jbpm.workflow.instance.node;
-import java.util.*;
-import java.util.stream.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
import org.jbpm.process.core.ContextContainer;
import org.jbpm.process.core.context.variable.VariableScope;
@@ -42,7 +49,7 @@ import org.jbpm.workflow.instance.impl.MVELProcessHelper;
import org.jbpm.workflow.instance.impl.NodeInstanceImpl;
import org.jbpm.workflow.instance.impl.NodeInstanceResolverFactory;
import org.kie.api.definition.process.Connection;
-import org.kie.kogito.internal.process.runtime.*;
+import org.kie.kogito.internal.process.runtime.KogitoNodeInstance;
import org.mvel2.integration.VariableResolver;
import org.mvel2.integration.impl.SimpleValueResolver;
@@ -127,11 +134,6 @@ public class ForEachNodeInstance extends
CompositeContextNodeInstance {
return getForEachNode().getCompositeNode();
}
- @Override
- public Collection<org.kie.api.runtime.process.NodeInstance>
getSerializableNodeInstances() {
- return
getNodeInstances().stream().filter(this::isSerializable).collect(Collectors.toUnmodifiableList());
- }
-
private boolean isSequential() {
return getForEachNode().isSequential() || hasAsyncInstances;
}
@@ -351,7 +353,8 @@ public class ForEachNodeInstance extends
CompositeContextNodeInstance {
return 1;
}
- private boolean isSerializable(org.kie.api.runtime.process.NodeInstance
toCheck) {
+ @Override
+ protected boolean isSerializable(org.kie.api.runtime.process.NodeInstance
toCheck) {
return !NOT_SERIALIZABLE_CLASSES.contains(toCheck.getClass());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]