@Test void streamShouldCloseSingleOnCompleted() { // Given AtomicBoolean closed = new AtomicBoolean( false ); ResourceIterator<Integer> resourceIterator = newResourceIterator( iterator( new Integer[]{1, 2, 3} ), () -> closed.set( true ) ); ResourceIterable<Integer> iterable = () -> resourceIterator; // When List<Integer> result = iterable.stream().collect( Collectors.toList() ); // Then assertEquals( asList(1,2,3), result ); assertTrue( closed.get() ); }
@Test void streamShouldCloseMultipleOnCompleted() { // Given AtomicInteger closed = new AtomicInteger(); Resource resource = closed::incrementAndGet; ResourceIterator<Integer> resourceIterator = newResourceIterator( iterator( new Integer[]{1, 2, 3} ), resource, resource ); ResourceIterable<Integer> iterable = () -> resourceIterator; // When List<Integer> result = iterable.stream().collect( Collectors.toList() ); // Then assertEquals( asList(1,2,3), result ); assertEquals( 2, closed.get(), "two calls to close" ); } }
private int nodeCount() { try ( Transaction ignore = server.getDatabase().getGraph().beginTx() ) { return Math.toIntExact( server.getDatabase().getGraph().getAllNodes().stream().count() ); } } }
private Map<String, Integer> labelsInUse(TokenRead ops, Collection<String> labelNames) { Stream<String> labels = (labelNames == null || labelNames.isEmpty()) ? db.getAllLabelsInUse().stream().map(Label::name) : labelNames.stream(); return labels.collect(toMap(t -> t, ops::nodeLabel)); }
private Map<String, Integer> relTypesInUse(TokenRead ops, Collection<String> relTypeNames) { Stream<String> types = (relTypeNames == null || relTypeNames.isEmpty()) ? db.getAllRelationshipTypesInUse().stream().map(RelationshipType::name) : relTypeNames.stream(); return types.collect(toMap(t -> t, ops::relationshipType)); }
public Set<String> computeIncludedRels(@Name(value = "config", defaultValue = "{}") Map<String, Object> config) { if (!config.containsKey("includeRels") && !config.containsKey("excludeRels")) return null; Set<String> includeRels = db.getAllRelationshipTypes().stream().map(RelationshipType::name).collect(Collectors.toSet()); if (config.containsKey("includeRels")) { Object rels = config.get("includeRels"); if (rels instanceof Collection) includeRels.retainAll((Collection<String>) rels); if (rels instanceof String) includeRels.retainAll(singleton(rels)); } if (config.containsKey("excludeRels")) { Object rels = config.get("excludeRels"); if (rels instanceof Collection) includeRels.removeAll((Collection<String>) rels); if (rels instanceof String) includeRels.remove(rels); } return includeRels; }
long labelScanStoreEntryCount = db.getAllLabels().stream() .flatMap( l -> db.findNodes( l ).stream() ) .count();
if (labels.remove("*")) labels.addAll(db.getAllLabels().stream().map(Label::name).collect(Collectors.toSet()));
/** * Finds all nodes in the database with more relationships than the specified threshold. * @param threshold only include nodes with at least this many relationships * @return a stream of records describing dense nodes in this database */ @Procedure public Stream<DenseNode> findDenseNodes( @Name("threshold") long threshold ) { return db.getAllNodes().stream() .filter( (node) -> node.getDegree() > threshold ) .map( DenseNode::new ); } // END SNIPPET: procedureExample
private void fillEdgeIndex(GraphDatabaseService service, IndexManager indexManager) { service.getAllRelationships().stream() .filter(e -> e.hasProperty("tim_id")) .filter(this::isLatest) .forEach(edge -> { indexManager.forRelationships("edgeIdIndex").add(edge, "tim_id", edge.getProperty("tim_id")); }); }
private void fillVertexIndices(TinkerPopGraphManager graphWrapper, IndexManager indexManager) { ObjectMapper mapper = new ObjectMapper(); GraphTraversalSource traversalSource = graphWrapper.getGraph().traversal(); Collection wwpersonCollection = vres.getCollection("wwpersons").orElse(null); graphWrapper.getGraphDatabase().getAllNodes().stream() .filter(node -> node.hasProperty("tim_id")) .filter(this::isLatest) .forEach(node -> { updateIdIndex(indexManager, node); if (!isDeleted(node)) { updateQuicksearchIndex(vres, indexManager, mapper, node, wwpersonCollection, traversalSource); } }); }
getDatabase().getAllRelationships().stream().forEach(r -> { if (r.isType(RelationshipType.withName("IS_RELATED_TO"))) { assertTrue(r.hasProperty("source"));