protected static RelationshipGroupRecord withRelationship( RelationshipGroupRecord group, Direction direction, long rel ) { switch ( direction ) { case OUTGOING: group.setFirstOut( rel ); break; case INCOMING: group.setFirstIn( rel ); break; case BOTH: group.setFirstLoop( rel ); break; default: throw new IllegalArgumentException( direction.name() ); } return group; }
@Override public String relationshipRepresentation( T path, Node from, Relationship relationship ) { Direction direction = relationship.getEndNode().equals( from ) ? Direction.INCOMING : Direction.OUTGOING; StringBuilder builder = new StringBuilder(); if ( direction.equals( Direction.INCOMING ) ) { builder.append( "<" ); } builder.append( "-[" + (relId ? relationship.getId() : "") ); String representation = representation( relationship ); if ( relId && !representation.equals( "" ) ) { builder.append( "," ); } builder.append( representation ); builder.append( "]-" ); if ( direction.equals( Direction.OUTGOING ) ) { builder.append( ">" ); } return builder.toString(); } };
private int idOffset( Direction direction ) { return BASE_IDS_OFFSET + (direction.ordinal() * ID_AND_COUNT_SIZE); }
@Test public void canAddLoopRelationship() { Node node = getGraphDb().createNode(); node.createRelationshipTo( node, TEST ); newTransaction(); for ( Direction dir : Direction.values() ) { int count = 0; for ( Relationship rel : node.getRelationships( dir ) ) { count++; assertEquals( "start node", node, rel.getStartNode() ); assertEquals( "end node", node, rel.getEndNode() ); assertEquals( "other node", node, rel.getOtherNode( node ) ); } assertEquals( dir.name() + " relationship count", 1, count ); } }
public DegreeArrayStorageParallelSPI(GraphDatabaseService db, ExecutorService pool, Direction direction) { this.pool = pool; this.db = (GraphDatabaseAPI)db; this.nodeCount = new NodeCounter().getNodeCount(db); this.direction = direction; if (!direction.equals(Direction.BOTH)) { directionName = direction.name().toLowerCase() + "_"; } }
private Direction resolveDirection(String direction) { if (direction == null) { return Direction.INCOMING; } return Direction.valueOf(direction.toUpperCase()); }
@Override public StandardExpander reverse() { return new AllExpander( direction.reverse() ); } }
public static Direction parseDirection(String direction) { if (null == direction) { return Direction.BOTH; } try { return Direction.valueOf(direction.toUpperCase()); } catch (Exception e) { throw new RuntimeException(format("Cannot convert value '%s' to Direction. Legal values are '%s'", direction, Arrays.toString(Direction.values()))); } }
private static Map<Direction, Collection<RelationshipType>> temporaryTypeMap() { Map<Direction, Collection<RelationshipType>> map = new EnumMap<>( Direction.class ); for ( Direction direction : Direction.values() ) { map.put( direction, new ArrayList<>() ); } return map; }
expectedCounts.get( spec.type )[spec.dir.ordinal()]++; for ( Direction direction : Direction.values() ) if ( counts[direction.ordinal()] > 0 ) counts[direction.ordinal()]--; assertCounts( me, expectedCounts ); if ( counter % 3 == 0 && counter > 0 ) expectedCounts.get( spec.type )[spec.dir.ordinal()]--; assertCounts( me, expectedCounts ); if ( counter % 3 == 0 && counter > 0 )
private Direction resolveDirection(String direction) { if (direction == null) { return Direction.INCOMING; } return Direction.valueOf(direction.toUpperCase()); }
@Override public StandardExpander reverse() { Collection<Pair<RelationshipType, Direction>> newTypes = new ArrayList<>(); for ( Pair<RelationshipType,Direction> pair : orderedTypes ) { newTypes.add( Pair.of( pair.first(), pair.other().reverse() ) ); } return new OrderedByTypeExpander( newTypes ); }
@Override public StandardExpander remove( RelationshipType type ) { Map<Direction, Collection<RelationshipType>> tempMap = temporaryTypeMapFrom( typesMap ); for ( Direction direction : Direction.values() ) { tempMap.get( direction ).remove( type ); } return createNew( toTypeMap( tempMap ) ); }
public static MapLocation[] getLocs(Direction dir) { return valueOf(dir.name()).locs; }
@JsonCreator public DirectedRelationshipType(@JsonProperty("type") String type, @JsonProperty("direction") String direction) { this.type = RelationshipType.withName(type); this.direction = Direction.valueOf(direction); }