@Description( "List all user functions in the DBMS." ) @Procedure( name = "dbms.functions", mode = DBMS ) public Stream<FunctionResult> listFunctions() { securityContext.assertCredentialsNotExpired(); return graph.getDependencyResolver().resolveDependency( Procedures.class ).getAllFunctions().stream() .sorted( Comparator.comparing( a -> a.name().toString() ) ) .map( FunctionResult::new ); }
@Test public void shouldGetAllRegisteredFunctions() throws Throwable { // When procs.register( function( functionSignature( "org", "myproc1" ).out(Neo4jTypes.NTAny).build() ) ); procs.register( function( functionSignature( "org", "myproc2" ).out(Neo4jTypes.NTAny).build() ) ); procs.register( function( functionSignature( "org", "myproc3" ).out(Neo4jTypes.NTAny).build() ) ); // Then List<UserFunctionSignature> signatures = Iterables.asList( procs.getAllFunctions() ); assertThat( signatures, containsInAnyOrder( functionSignature( "org", "myproc1" ).out(Neo4jTypes.NTAny).build(), functionSignature( "org", "myproc2" ).out(Neo4jTypes.NTAny).build(), functionSignature( "org", "myproc3" ).out(Neo4jTypes.NTAny).build() ) ); }
@Test public void shouldGetRegisteredAggregationFunctions() throws Throwable { // When procs.register( function( functionSignature( "org", "myfunc1" ).out(Neo4jTypes.NTAny).build() ) ); procs.register( function( functionSignature( "org", "myfunc2" ).out(Neo4jTypes.NTAny).build() ) ); procs.register( aggregationFunction( functionSignature( "org", "myaggrfunc1" ).out(Neo4jTypes.NTAny).build() ) ); // Then List<UserFunctionSignature> signatures = Iterables.asList( procs.getAllFunctions() ); assertThat( signatures, containsInAnyOrder( functionSignature( "org", "myfunc1" ).out(Neo4jTypes.NTAny).build(), functionSignature( "org", "myfunc2" ).out(Neo4jTypes.NTAny).build(), functionSignature( "org", "myaggrfunc1" ).out(Neo4jTypes.NTAny).build() ) ); }
@Description( "List all user functions in the DBMS." ) @Procedure( name = "dbms.functions", mode = DBMS ) public Stream<FunctionResult> listFunctions() { securityContext.assertCredentialsNotExpired(); return graph.getDependencyResolver().resolveDependency( Procedures.class ).getAllFunctions().stream() .sorted( Comparator.comparing( a -> a.name().toString() ) ) .map( FunctionResult::new ); }
@Description( "List all user functions in the DBMS." ) @Procedure( name = "dbms.functions", mode = DBMS ) public Stream<FunctionResult> listFunctions() { securityContext.assertCredentialsNotExpired(); return graph.getDependencyResolver().resolveDependency( Procedures.class ).getAllFunctions().stream() .sorted( Comparator.comparing( a -> a.name().toString() ) ) .map( FunctionResult::new ); }