@Override public Evaluation evaluate(Path path) { Relationship rel = path.lastRelationship(); Node node = path.endNode(); if (rel == null) { return Evaluation.EXCLUDE_AND_CONTINUE; } else if (rel.isType(RTreeRelationshipTypes.RTREE_CHILD)) { return filter.needsToVisit(getIndexNodeEnvelope(node)) ? Evaluation.EXCLUDE_AND_CONTINUE : Evaluation.EXCLUDE_AND_PRUNE; } else if (rel.isType(RTreeRelationshipTypes.RTREE_REFERENCE)) { return filter.geometryMatches(node) ? Evaluation.INCLUDE_AND_PRUNE : Evaluation.EXCLUDE_AND_PRUNE; } return null; }
@Test public void testRelationshipIsType() { Node node1 = getGraphDb().createNode(); Node node2 = getGraphDb().createNode(); Relationship rel = node1.createRelationshipTo(node2, MyRelTypes.TEST); assertTrue(rel.isType(MyRelTypes.TEST)); assertTrue( rel.isType( new RelationshipType() { public String name() { return MyRelTypes.TEST.name(); } })); assertFalse(rel.isType(MyRelTypes.TEST_TRAVERSAL)); rel.delete(); node1.delete(); node2.delete(); }