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) {