datdo-axonactive commented on code in PR #2237:
URL: 
https://github.com/apache/incubator-kie-kogito-apps/pull/2237#discussion_r2163432058


##########
data-index/data-index-storage/data-index-storage-common/src/main/java/org/kie/kogito/index/storage/ModelProcessInstanceStorage.java:
##########
@@ -72,28 +75,46 @@ public void indexVariable(ProcessInstanceVariableDataEvent 
event) {
 
     @Override
     public void indexGroup(MultipleProcessInstanceDataEvent events) {
+        Map<String, ProcessInstance> processInstances = new HashMap<>();
         for (ProcessInstanceDataEvent<?> event : events.getData()) {
+            ProcessInstance processInstance = 
processInstances.get(event.getKogitoProcessInstanceId());
+            if (processInstance == null) {
+                processInstance = findProcessInstance(event);
+                processInstances.put(event.getKogitoProcessInstanceId(), 
processInstance);
+            }
             if (event instanceof ProcessInstanceErrorDataEvent) {
-                index(event, errorMerger);
+                errorMerger.merge(processInstance, event);
             } else if (event instanceof ProcessInstanceNodeDataEvent) {
-                index(event, nodeMerger);
+                nodeMerger.merge(processInstance, event);
             } else if (event instanceof ProcessInstanceSLADataEvent) {
-                index(event, slaMerger);
+                slaMerger.merge(processInstance, event);
             } else if (event instanceof ProcessInstanceStateDataEvent) {
-                index(event, stateMerger);
+                stateMerger.merge(processInstance, event);
             } else if (event instanceof ProcessInstanceVariableDataEvent) {
-                index(event, variableMerger);
+                variableMerger.merge(processInstance, event);
+            }
+        }
+        if (!processInstances.isEmpty()) {
+            while(processInstances.values().iterator().hasNext()) {
+                ProcessInstance processInstance = 
processInstances.values().iterator().next();
+                storage.put(processInstance.getId(), processInstance);
+                processInstances.remove(processInstance.getId());
             }

Review Comment:
   done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to