public static <T, EX extends Exception> List<T> asList( RawIterator<T, EX> iterator ) throws EX { List<T> out = new ArrayList<>(); while ( iterator.hasNext() ) { out.add( iterator.next() ); } return out; }
@Override public Object[] next() throws ProcedureException { try ( KernelTransaction.Revertable ignore = ktx.overrideWith( procedureSecurityContext ) ) { return procedureCall.next(); } } };
@Override public TO next() throws EX { FROM from = fromIterator.next(); return function.apply( from ); }
private static List<Integer> list( RawIterator<Integer, RuntimeException> iter ) { LinkedList<Integer> out = new LinkedList<>(); while ( iter.hasNext() ) { out.add( iter.next() ); } return out; } }
private boolean goToNextSource() throws IOException { if ( actual.hasNext() ) { if ( current != null ) { previousPosition += current.position(); } closeCurrent(); current = actual.next(); return true; } return false; }
private Callables loadProcedures( URL jar, ClassLoader loader, Callables target ) throws IOException, KernelException { RawIterator<Class<?>,IOException> classes = listClassesIn( jar, loader ); while ( classes.hasNext() ) { Class<?> next = classes.next(); target.addAllProcedures( compiler.compileProcedure( next, null, false ) ); target.addAllFunctions( compiler.compileFunction( next ) ); target.addAllAggregationFunctions( compiler.compileAggregationFunction( next ) ); } return target; }
@Test public void shouldIgnoreWhiteListingIfFullAccess() throws Throwable { // Given ProcedureConfig config = new ProcedureConfig( Config.defaults( procedure_whitelist, "empty" ) ); Log log = mock(Log.class); ReflectiveProcedureCompiler procedureCompiler = new ReflectiveProcedureCompiler( new TypeMappers(), components, components, log, config ); // When CallableProcedure proc = procedureCompiler.compileProcedure( SingleReadOnlyProcedure.class, null, true ).get( 0 ); // Then RawIterator<Object[],ProcedureException> result = proc.apply( new BasicContext(), new Object[0], resourceTracker ); assertEquals( result.next()[0], "Bonnie" ); }
@Test public void shouldLoadWhiteListedProcedure() throws Throwable { // Given ProcedureConfig config = new ProcedureConfig( Config.defaults( procedure_whitelist, "org.neo4j.kernel.impl.proc.listCoolPeople" ) ); Log log = mock(Log.class); ReflectiveProcedureCompiler procedureCompiler = new ReflectiveProcedureCompiler( new TypeMappers(), components, components, log, config ); // When CallableProcedure proc = procedureCompiler.compileProcedure( SingleReadOnlyProcedure.class, null, false ).get( 0 ); // When RawIterator<Object[],ProcedureException> result = proc.apply( new BasicContext(), new Object[0], resourceTracker ); // Then assertEquals( result.next()[0], "Bonnie" ); }
if ( stream.hasNext() ) stream.next();
Object[] next = stream.next(); assertEquals( 2, next.length ); ArrayList<Node> nodes = (ArrayList<Node>) next[0];
Object[] next = stream.next(); assertEquals( 2, next.length ); LinkedList<Relationship> relationships = (LinkedList<Relationship>) next[1];
while ( stream.hasNext() ) result.add( stream.next() );
while ( sources.hasNext() ) try ( CharReadable source = sources.next() )
new Object[0] ); assertTrue( stream.hasNext() ); Object[] result = stream.next(); assertFalse( stream.hasNext() );
@Override public TO next() throws EX { FROM from = fromIterator.next(); return function.apply( from ); }
@Override public Object[] next() throws ProcedureException { try ( KernelTransaction.Revertable ignore = ktx.overrideWith( procedureSecurityContext ) ) { return procedureCall.next(); } } };
public static <T, EX extends Exception> List<T> asList( RawIterator<T, EX> iterator ) throws EX { List<T> out = new ArrayList<>(); while ( iterator.hasNext() ) { out.add( iterator.next() ); } return out; }
private boolean goToNextSource() throws IOException { if ( actual.hasNext() ) { if ( current != null ) { previousPosition += current.position(); } closeCurrent(); current = actual.next(); return true; } return false; }
private Callables loadProcedures( URL jar, ClassLoader loader, Callables target ) throws IOException, KernelException { RawIterator<Class<?>,IOException> classes = listClassesIn( jar, loader ); while ( classes.hasNext() ) { Class<?> next = classes.next(); target.addAllProcedures( compiler.compileProcedure( next, null, false ) ); target.addAllFunctions( compiler.compileFunction( next ) ); target.addAllAggregationFunctions( compiler.compileAggregationFunction( next ) ); } return target; }
while ( sources.hasNext() ) try ( CharReadable source = sources.next() )