private Object toPath(Object value, boolean virtual, Map<Long, Object> nodesCache) { List<Object> entityList = new LinkedList<>(); Value internalValue = ((InternalPath) value).asValue(); internalValue.asPath().forEach(p -> { entityList.add(toNode(p.start(), virtual, nodesCache)); entityList.add(toRelationship(p.relationship(), virtual, nodesCache)); entityList.add(toNode(p.end(), virtual, nodesCache)); }); return entityList; }
when(segment1.start()).thenReturn(start); when(segment1.end()).thenReturn(middle); when(segment1.relationship()).thenReturn(relationship); when(segment2.start()).thenReturn(middle); when(segment2.end()).thenReturn(end); when(segment2.relationship()).thenReturn(relationship);
when(segment1.start()).thenReturn(start); when(segment1.end()).thenReturn(second); when(segment1.relationship()).thenReturn(relationship); when(segment2.start()).thenReturn(second); when(segment2.end()).thenReturn(third); when(segment2.relationship()).thenReturn(relationship); when(segment3.start()).thenReturn(third); when(segment3.end()).thenReturn(end); when(segment3.relationship()).thenReturn(relationship);
when(s1.relationship()).thenReturn(r1); when(s1.start()).thenReturn(n1); when(s1.end()).thenReturn(n2); when(s2.relationship()).thenReturn(r2); when(s2.start()).thenReturn(n2); when(s2.end()).thenReturn(n3);
when(segment1.start()).thenReturn(start); when(segment1.end()).thenReturn(end); when(segment1.relationship()).thenReturn(relationship);
@Nonnull default String pathAsString(@Nonnull Path path) { List<String> list = new ArrayList<>(path.length()); Node lastTraversed = path.start(); if (lastTraversed != null) { list.add(nodeAsString(lastTraversed)); for (Path.Segment segment : path) { Relationship relationship = segment.relationship(); if (relationship.startNodeId() == lastTraversed.id()) { list.add("-" + relationshipAsString(relationship) + "->"); } else { list.add("<-" + relationshipAsString(relationship) + "-"); } list.add(nodeAsString(segment.end())); lastTraversed = segment.end(); } } return list.stream().collect(Collectors.joining()); }