private static Node mockNode( long id, Label[] labels, Properties properties ) { Node node = mockPropertyContainer( Node.class, properties ); when( node.getId() ).thenReturn( id ); when( node.getLabels() ).thenReturn( Iterables.asResourceIterable( asList( labels ) ) ); return node; }
@Override protected ResourceIterator<Relationship> createNestedIterator( Pair<RelationshipType, Direction> entry ) { RelationshipType type = entry.first(); Direction dir = entry.other(); Iterable<Relationship> relationshipsIterable = (dir == Direction.BOTH) ? node.getRelationships( type ) : node.getRelationships( type, dir ); return Iterables.asResourceIterable( relationshipsIterable ).iterator(); } };
private void setWeight( String start, String end, double weight ) { Node startNode = graph.getNode( start ); Node endNode = graph.getNode( end ); ResourceIterable<Relationship> relationships = Iterables.asResourceIterable( startNode.getRelationships() ); try ( ResourceIterator<Relationship> resourceIterator = relationships.iterator() ) { while ( resourceIterator.hasNext() ) { Relationship rel = resourceIterator.next(); if ( rel.getOtherNode( startNode ).equals( endNode ) ) { rel.setProperty( "weight", weight ); return; } } } throw new RuntimeException( "No relationship between nodes " + start + " and " + end ); } }
/** * @param node1Id * @param node2Id * @return One relationship between two given nodes, if there exists one, * otherwise null. */ public Relationship getRelationship( String node1Id, String node2Id ) { Node node1 = getNode( node1Id ); Node node2 = getNode( node2Id ); if ( node1 == null || node2 == null ) { return null; } ResourceIterable<Relationship> relationships = Iterables.asResourceIterable( node1.getRelationships() ); try ( ResourceIterator<Relationship> resourceIterator = relationships.iterator() ) { while ( resourceIterator.hasNext() ) { Relationship relationship = resourceIterator.next(); if ( relationship.getOtherNode( node1 ).equals( node2 ) ) { return relationship; } } } return null; }
@Test public void allPathsToSelfReturnsZero() { // GIVEN Node start = graph.makeNode( "start", "x", 0d, "y", 0d ); // WHEN ResourceIterable<WeightedPath> paths = Iterables.asResourceIterable(finder.findAllPaths( start, start ) ); // THEN for ( WeightedPath path : paths ) { assertNotNull( path ); assertEquals( start, path.startNode() ); assertEquals( start, path.endNode() ); assertEquals( 0, path.length() ); } }
ResourceIterable<Node> allNodes = Iterables.asResourceIterable( server.graph().getAllNodes() );
public ResourceIterable<Relationship> relationships( Iterable<Relationship> relationships ) { return new ResourceIterableWrapper<Relationship,Relationship>( Iterables.asResourceIterable( relationships ) ) { @Override protected Relationship map( Relationship relationship ) { return new ReadOnlyRelationshipProxy( relationship ); } }; }
@Override protected ResourceIterator<Relationship> createNestedIterator( Pair<RelationshipType, Direction> entry ) { RelationshipType type = entry.first(); Direction dir = entry.other(); Iterable<Relationship> relationshipsIterable = (dir == Direction.BOTH) ? node.getRelationships( type ) : node.getRelationships( type, dir ); return Iterables.asResourceIterable( relationshipsIterable ).iterator(); } };
private long findNodeWithTitle( Node node, String match, Session session ) throws ShellException { Object[] matchParts = splitNodeTitleAndId( match ); if ( matchParts[1] != null ) { return (Long) matchParts[1]; } String titleMatch = (String) matchParts[0]; try ( MappingResourceIterator<Node,Relationship> mappingResourceIterator = RelationshipToNodeIterable .wrap( Iterables.asResourceIterable( node.getRelationships() ), node ) ) { while ( mappingResourceIterator.hasNext() ) { Node otherNode = mappingResourceIterator.next(); String title = findTitle( session, otherNode ); if ( titleMatch.equals( title ) ) { return otherNode.getId(); } } } return -1; }
.wrap( Iterables.asResourceIterable( node.getRelationships() ), node ) )
ResourceIterable<Relationship> relationships = Iterables.asResourceIterable( currentNode.getRelationships() ); try ( ResourceIterator<Relationship> resourceIterator = relationships.iterator() )