This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new af7dab21b5 Fixing neo4j after upgrade
af7dab21b5 is described below

commit af7dab21b55ceaee6b716a2beebf478ff8b119b5
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Fri Feb 21 09:30:13 2025 +0100

    Fixing neo4j after upgrade
---
 .../neo4j/content/XMLContentExporter.java            | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/content/XMLContentExporter.java
 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/content/XMLContentExporter.java
index 1234c07fa9..740d88a60e 100644
--- 
a/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/content/XMLContentExporter.java
+++ 
b/core/persistence-neo4j/src/main/java/org/apache/syncope/core/persistence/neo4j/content/XMLContentExporter.java
@@ -30,6 +30,7 @@ import java.util.Set;
 import java.util.TreeMap;
 import java.util.function.Function;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.sax.TransformerHandler;
 import org.apache.syncope.core.persistence.api.DomainHolder;
@@ -173,14 +174,11 @@ public class XMLContentExporter extends 
AbstractXMLContentExporter {
                 
Optional.ofNullable(relDesc.get().getRelationshipPropertiesEntity()).
                         filter(e -> 
Neo4jImplementationRelationship.class.getSimpleName().equals(e.getPrimaryLabel())
                         || 
Neo4jMacroTaskCommandRelationship.class.getSimpleName().equals(e.getPrimaryLabel())).
-                        ifPresent(rpe -> {
-                            String index = String.valueOf(session.run(
-                                    "MATCH (n {id: $left})-[r:" + 
relDesc.get().getType() + "]-" + "(m {id: $right}) "
-                                    + "RETURN r.index",
-                                    Map.of("left", node.get("id").asString(), 
"right", rightId)).
-                                    single().get("r.index").asInt());
-                            rattrs.addAttribute("", "", "index", "CDATA", 
index);
-                        });
+                        flatMap(rpe -> session.run(
+                        "MATCH (n {id: $left})-[r:" + relDesc.get().getType() 
+ "]-" + "(m {id: $right}) "
+                        + "RETURN r.index",
+                        Map.of("left", node.get("id").asString(), "right", 
rightId)).stream().findFirst()).
+                        ifPresent(r -> rattrs.addAttribute("", "", "index", 
"CDATA", r.get("r.index").asString()));
 
                 String elementName = entity.getPrimaryLabel()
                         + "_"
@@ -209,11 +207,11 @@ public class XMLContentExporter extends 
AbstractXMLContentExporter {
                 }
                 query.append("RETURN n, collect(r) AS rels ORDER BY n.id");
 
-                List<Record> records = session.run(query.toString()).list();
+                Stream<Record> records = 
session.run(query.toString()).stream();
                 if (Neo4jRealm.NODE.equals(entity.getPrimaryLabel())) {
-                    records.sort(REALM_COMPARATOR);
+                    records = records.sorted(REALM_COMPARATOR);
                 }
-                for (Record record : records) {
+                for (Record record : records.toList()) {
                     exportNode(entity, record, session, handler);
                 }
             } catch (Exception e) {

Reply via email to