From ef60e980c39a4365f8997b3af5effc9f0f704ffa Mon Sep 17 00:00:00 2001 From: Simon Svensson Date: Tue, 31 Jan 2017 10:34:16 +0100 Subject: [PATCH] Change empty string to Optional --- .../neo4j/kernel/impl/proc/ProcedureJarLoader.java | 3 ++- .../org/neo4j/kernel/impl/proc/Procedures.java | 6 ++++-- .../impl/proc/ReflectiveProcedureCompiler.java | 14 ++++---------- .../kernel/impl/proc/ReflectiveProcedureTest.java | 9 ++++++--- .../proc/ReflectiveProcedureWithArgumentsTest.java | 4 +++- .../kernel/impl/proc/ResourceInjectionTest.java | 4 +++- .../enterprise/auth/EnterpriseSecurityModule.java | 4 +++- 7 files changed, 25 insertions(+), 19 deletions(-) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureJarLoader.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureJarLoader.java index d4a0a04ce42f9..d737f72f76f4c 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureJarLoader.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureJarLoader.java @@ -26,6 +26,7 @@ import java.net.URLClassLoader; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.stream.Stream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -90,7 +91,7 @@ private Callables loadProcedures( URL jar, ClassLoader loader, Callables target while ( classes.hasNext() ) { Class next = classes.next(); - target.addAllProcedures( compiler.compileProcedure( next ) ); + target.addAllProcedures( compiler.compileProcedure( next, Optional.empty() ) ); target.addAllFunctions( compiler.compileFunction( next ) ); target.addAllAggregationFunctions( compiler.compileAggregationFunction( next ) ); } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/Procedures.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/Procedures.java index a0055eda182fe..172a5531c97b1 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/Procedures.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/Procedures.java @@ -140,7 +140,7 @@ public void registerProcedure( Class proc ) throws KernelException */ public void registerProcedure( Class proc, boolean overrideCurrentImplementation ) throws KernelException { - registerProcedure( proc, overrideCurrentImplementation, "" ); + registerProcedure( proc, overrideCurrentImplementation, Optional.empty() ); } /** @@ -149,7 +149,9 @@ public void registerProcedure( Class proc, boolean overrideCurrentImplementat * @param overrideCurrentImplementation set to true if procedures within this class should override older procedures with the same name * @param warning the warning the procedure should generate when called */ - public void registerProcedure( Class proc, boolean overrideCurrentImplementation, String warning ) throws KernelException + public void registerProcedure( Class proc, boolean overrideCurrentImplementation, Optional warning ) + throws + KernelException { for ( CallableProcedure procedure : compiler.compileProcedure( proc, warning ) ) { diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureCompiler.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureCompiler.java index 2beebd3b70788..fc66194bb4b31 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureCompiler.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureCompiler.java @@ -152,12 +152,7 @@ List compileAggregationFunction( Class fcnDe } } - List compileProcedure( Class procDefinition ) throws KernelException - { - return compileProcedure( procDefinition, "" ); - } - - List compileProcedure( Class procDefinition, String warning ) throws KernelException + List compileProcedure( Class procDefinition, Optional warning ) throws KernelException { try { @@ -191,7 +186,8 @@ List compileProcedure( Class procDefinition, String warnin } } - private ReflectiveProcedure compileProcedure( Class procDefinition, MethodHandle constructor, Method method, String warning ) + private ReflectiveProcedure compileProcedure( Class procDefinition, MethodHandle constructor, Method method, + Optional warning ) throws ProcedureException, IllegalAccessException { String valueName = method.getAnnotation( Procedure.class ).value(); @@ -222,11 +218,9 @@ private ReflectiveProcedure compileProcedure( Class procDefinition, MethodHan Optional deprecated = deprecated( method, procedure::deprecatedBy, "Use of @Procedure(deprecatedBy) without @Deprecated in " + procName ); - Optional warn = (warning == null || warning.isEmpty()) ? Optional.empty() : Optional.of( warning ); - ProcedureSignature signature = new ProcedureSignature( procName, inputSignature, outputMapper.signature(), - mode, deprecated, config.rolesFor( procName.toString() ), description, warn ); + mode, deprecated, config.rolesFor( procName.toString() ), description, warning ); return new ReflectiveProcedure( signature, constructor, procedureMethod, outputMapper, setters ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureTest.java index a708d94f59f18..cac630a1c436c 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureTest.java @@ -26,6 +26,7 @@ import org.junit.rules.ExpectedException; import java.util.List; +import java.util.Optional; import java.util.stream.Stream; import org.neo4j.collection.RawIterator; @@ -75,7 +76,8 @@ public void shouldInjectLogging() throws KernelException // Given Log log = spy( Log.class ); components.register( Log.class, (ctx) -> log ); - CallableProcedure procedure = procedureCompiler.compileProcedure( LoggingProcedure.class ).get( 0 ); + CallableProcedure procedure = + procedureCompiler.compileProcedure( LoggingProcedure.class, Optional.empty() ).get( 0 ); // When procedure.apply( new BasicContext(), new Object[0] ); @@ -275,7 +277,8 @@ public void shouldSupportProcedureDeprecation() throws Throwable ProcedureAllowedConfig.DEFAULT ); // When - List procs = procedureCompiler.compileProcedure( ProcedureWithDeprecation.class ); + List procs = + procedureCompiler.compileProcedure( ProcedureWithDeprecation.class, Optional.empty() ); // Then verify( log ).warn( "Use of @Procedure(deprecatedBy) without @Deprecated in badProc" ); @@ -521,6 +524,6 @@ public void badProc() private List compile( Class clazz ) throws KernelException { - return procedureCompiler.compileProcedure( clazz ); + return procedureCompiler.compileProcedure( clazz, Optional.empty() ); } } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureWithArgumentsTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureWithArgumentsTest.java index da264dd87faeb..ed907a7becdeb 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureWithArgumentsTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ReflectiveProcedureWithArgumentsTest.java @@ -28,6 +28,7 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; +import java.util.Optional; import java.util.stream.Stream; import org.neo4j.collection.RawIterator; @@ -214,6 +215,7 @@ public Stream defaultValues( @Name( value = "a", defaultValue = private List compile( Class clazz ) throws KernelException { - return new ReflectiveProcedureCompiler( new TypeMappers(), new ComponentRegistry(), NullLog.getInstance(), ProcedureAllowedConfig.DEFAULT ).compileProcedure( clazz ); + return new ReflectiveProcedureCompiler( new TypeMappers(), new ComponentRegistry(), NullLog.getInstance(), + ProcedureAllowedConfig.DEFAULT ).compileProcedure( clazz, Optional.empty() ); } } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ResourceInjectionTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ResourceInjectionTest.java index 4bb73a50760bf..a7b6d9127179d 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ResourceInjectionTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/proc/ResourceInjectionTest.java @@ -24,6 +24,7 @@ import org.junit.rules.ExpectedException; import java.util.List; +import java.util.Optional; import java.util.stream.Stream; import org.neo4j.helpers.collection.Iterators; @@ -128,6 +129,7 @@ private List compile( Class clazz ) throws KernelException { ComponentRegistry components = new ComponentRegistry(); components.register( MyAwesomeAPI.class, (ctx) -> new MyAwesomeAPI() ); - return new ReflectiveProcedureCompiler( new TypeMappers(), components, NullLog.getInstance(), ProcedureAllowedConfig.DEFAULT ).compileProcedure( clazz ); + return new ReflectiveProcedureCompiler( new TypeMappers(), components, NullLog.getInstance(), + ProcedureAllowedConfig.DEFAULT ).compileProcedure( clazz, Optional.empty() ); } } diff --git a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java index 9d4ba164be008..38fccd0f4ac5e 100644 --- a/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java +++ b/enterprise/security/src/main/java/org/neo4j/server/security/enterprise/auth/EnterpriseSecurityModule.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -110,7 +111,8 @@ public void setup( Dependencies dependencies ) throws KernelException ctx -> authManager.getUserManager( asEnterprise( ctx.get( SECURITY_CONTEXT ) ) ) ); if ( config.get( SecuritySettings.auth_providers ).size() > 1 ) { - procedures.registerProcedure( UserManagementProcedures.class, true, "%s only applies to native users." ); + procedures.registerProcedure( UserManagementProcedures.class, true, + Optional.of( "%s only applies to native users." ) ); } else {