Skip to content

Commit 7c9e2f3

Browse files
committed
remove serverFactory from ServerServiceDefinitionFilter
Signed-off-by: Andrey Litvitski <[email protected]>
1 parent 4aab6f8 commit 7c9e2f3

File tree

6 files changed

+32
-20
lines changed

6 files changed

+32
-20
lines changed

spring-grpc-core/src/main/java/org/springframework/grpc/server/DefaultGrpcServerFactory.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.apache.commons.logging.LogFactory;
2929

3030
import org.springframework.grpc.internal.GrpcUtils;
31+
import org.springframework.lang.Nullable;
3132

3233
import com.google.common.collect.Lists;
3334
import io.grpc.Grpc;
@@ -77,7 +78,7 @@ public DefaultGrpcServerFactory(String address, List<ServerBuilderCustomizer<T>>
7778

7879
public DefaultGrpcServerFactory(String address, List<ServerBuilderCustomizer<T>> serverBuilderCustomizers,
7980
KeyManagerFactory keyManager, TrustManagerFactory trustManager, ClientAuth clientAuth,
80-
ServerServiceDefinitionFilter serviceFilter) {
81+
@Nullable ServerServiceDefinitionFilter serviceFilter) {
8182
this(address, serverBuilderCustomizers);
8283
this.keyManager = keyManager;
8384
this.trustManager = trustManager;
@@ -98,7 +99,7 @@ public Server createServer() {
9899

99100
@Override
100101
public void addService(ServerServiceDefinition service) {
101-
if (this.serviceFilter == null || this.serviceFilter.filter(service, this)) {
102+
if (this.serviceFilter == null || this.serviceFilter.filter(service)) {
102103
this.serviceList.add(service);
103104
}
104105
}

spring-grpc-core/src/main/java/org/springframework/grpc/server/NettyGrpcServerFactory.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import javax.net.ssl.KeyManagerFactory;
2222
import javax.net.ssl.TrustManagerFactory;
2323

24+
import org.springframework.lang.Nullable;
25+
2426
import io.grpc.TlsServerCredentials.ClientAuth;
2527
import io.grpc.netty.NettyServerBuilder;
2628
import io.netty.channel.epoll.EpollEventLoopGroup;
@@ -37,7 +39,8 @@ public class NettyGrpcServerFactory extends DefaultGrpcServerFactory<NettyServer
3739

3840
public NettyGrpcServerFactory(String address,
3941
List<ServerBuilderCustomizer<NettyServerBuilder>> serverBuilderCustomizers, KeyManagerFactory keyManager,
40-
TrustManagerFactory trustManager, ClientAuth clientAuth, ServerServiceDefinitionFilter serviceFilter) {
42+
TrustManagerFactory trustManager, ClientAuth clientAuth,
43+
@Nullable ServerServiceDefinitionFilter serviceFilter) {
4144
super(address, serverBuilderCustomizers, keyManager, trustManager, clientAuth, serviceFilter);
4245
}
4346

spring-grpc-core/src/main/java/org/springframework/grpc/server/ServerServiceDefinitionFilter.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
/**
2121
* Strategy to determine whether a {@link ServerServiceDefinition} should be included for
22-
* a given {@link GrpcServerFactory server factory}.
22+
* the {@link GrpcServerFactory server factory}.
2323
*
2424
* @author Andrey Litvitski
2525
*/
@@ -28,11 +28,10 @@ public interface ServerServiceDefinitionFilter {
2828

2929
/**
3030
* Determine whether the given {@link ServerServiceDefinition} should be included for
31-
* the provided {@link GrpcServerFactory server factory}.
31+
* the {@link GrpcServerFactory server factory}.
3232
* @param serviceDefinition the gRPC service definition under consideration.
33-
* @param serverFactory the server factory in use.
3433
* @return {@code true} if the service should be included; {@code false} otherwise.
3534
*/
36-
boolean filter(ServerServiceDefinition serviceDefinition, GrpcServerFactory serverFactory);
35+
boolean filter(ServerServiceDefinition serviceDefinition);
3736

3837
}

spring-grpc-core/src/main/java/org/springframework/grpc/server/ShadedNettyGrpcServerFactory.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import javax.net.ssl.KeyManagerFactory;
2222
import javax.net.ssl.TrustManagerFactory;
2323

24+
import org.springframework.lang.Nullable;
25+
2426
import io.grpc.TlsServerCredentials.ClientAuth;
2527
import io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder;
2628
import io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoopGroup;
@@ -37,7 +39,8 @@ public class ShadedNettyGrpcServerFactory extends DefaultGrpcServerFactory<Netty
3739

3840
public ShadedNettyGrpcServerFactory(String address,
3941
List<ServerBuilderCustomizer<NettyServerBuilder>> serverBuilderCustomizers, KeyManagerFactory keyManager,
40-
TrustManagerFactory trustManager, ClientAuth clientAuth, ServerServiceDefinitionFilter serviceFilter) {
42+
TrustManagerFactory trustManager, ClientAuth clientAuth,
43+
@Nullable ServerServiceDefinitionFilter serviceFilter) {
4144
super(address, serverBuilderCustomizers, keyManager, trustManager, clientAuth, serviceFilter);
4245
}
4346

spring-grpc-spring-boot-autoconfigure/src/main/java/org/springframework/grpc/autoconfigure/server/GrpcServerFactoryConfigurations.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.grpc.autoconfigure.server;
1818

1919
import java.util.List;
20+
import java.util.Optional;
2021

2122
import javax.net.ssl.KeyManagerFactory;
2223
import javax.net.ssl.TrustManagerFactory;
@@ -31,11 +32,7 @@
3132
import org.springframework.context.ApplicationEventPublisher;
3233
import org.springframework.context.annotation.Bean;
3334
import org.springframework.context.annotation.Configuration;
34-
import org.springframework.grpc.server.GrpcServerFactory;
35-
import org.springframework.grpc.server.InProcessGrpcServerFactory;
36-
import org.springframework.grpc.server.NettyGrpcServerFactory;
37-
import org.springframework.grpc.server.ServerBuilderCustomizer;
38-
import org.springframework.grpc.server.ShadedNettyGrpcServerFactory;
35+
import org.springframework.grpc.server.*;
3936
import org.springframework.grpc.server.lifecycle.GrpcServerLifecycle;
4037
import org.springframework.grpc.server.service.GrpcServiceConfigurer;
4138
import org.springframework.grpc.server.service.GrpcServiceDiscoverer;
@@ -62,7 +59,8 @@ static class ShadedNettyServerFactoryConfiguration {
6259
@Bean
6360
ShadedNettyGrpcServerFactory shadedNettyGrpcServerFactory(GrpcServerProperties properties,
6461
GrpcServiceDiscoverer serviceDiscoverer, GrpcServiceConfigurer serviceConfigurer,
65-
ServerBuilderCustomizers serverBuilderCustomizers, SslBundles bundles) {
62+
ServerBuilderCustomizers serverBuilderCustomizers, SslBundles bundles,
63+
Optional<ServerServiceDefinitionFilter> serviceFilter) {
6664
ShadedNettyServerFactoryPropertyMapper mapper = new ShadedNettyServerFactoryPropertyMapper(properties);
6765
List<ServerBuilderCustomizer<io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder>> builderCustomizers = List
6866
.of(mapper::customizeServerBuilder, serverBuilderCustomizers::customize);
@@ -75,7 +73,8 @@ ShadedNettyGrpcServerFactory shadedNettyGrpcServerFactory(GrpcServerProperties p
7573
: io.grpc.netty.shaded.io.netty.handler.ssl.util.InsecureTrustManagerFactory.INSTANCE;
7674
}
7775
ShadedNettyGrpcServerFactory factory = new ShadedNettyGrpcServerFactory(properties.getAddress(),
78-
builderCustomizers, keyManager, trustManager, properties.getSsl().getClientAuth());
76+
builderCustomizers, keyManager, trustManager, properties.getSsl().getClientAuth(),
77+
serviceFilter.orElse(null));
7978
serviceDiscoverer.findServices().stream().map(serviceConfigurer::configure).forEach(factory::addService);
8079
return factory;
8180
}
@@ -101,7 +100,8 @@ static class NettyServerFactoryConfiguration {
101100
@Bean
102101
NettyGrpcServerFactory nettyGrpcServerFactory(GrpcServerProperties properties,
103102
GrpcServiceDiscoverer serviceDiscoverer, GrpcServiceConfigurer serviceConfigurer,
104-
ServerBuilderCustomizers serverBuilderCustomizers, SslBundles bundles) {
103+
ServerBuilderCustomizers serverBuilderCustomizers, SslBundles bundles,
104+
Optional<ServerServiceDefinitionFilter> serviceFilter) {
105105
NettyServerFactoryPropertyMapper mapper = new NettyServerFactoryPropertyMapper(properties);
106106
List<ServerBuilderCustomizer<NettyServerBuilder>> builderCustomizers = List
107107
.of(mapper::customizeServerBuilder, serverBuilderCustomizers::customize);
@@ -114,7 +114,7 @@ NettyGrpcServerFactory nettyGrpcServerFactory(GrpcServerProperties properties,
114114
: InsecureTrustManagerFactory.INSTANCE;
115115
}
116116
NettyGrpcServerFactory factory = new NettyGrpcServerFactory(properties.getAddress(), builderCustomizers,
117-
keyManager, trustManager, properties.getSsl().getClientAuth());
117+
keyManager, trustManager, properties.getSsl().getClientAuth(), serviceFilter.orElse(null));
118118
serviceDiscoverer.findServices().stream().map(serviceConfigurer::configure).forEach(factory::addService);
119119
return factory;
120120
}

spring-grpc-spring-boot-autoconfigure/src/test/java/org/springframework/grpc/autoconfigure/server/GrpcServerAutoConfigurationTests.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,13 @@
4545
import org.springframework.context.annotation.Bean;
4646
import org.springframework.context.annotation.Configuration;
4747
import org.springframework.core.annotation.Order;
48-
import org.springframework.grpc.server.*;
48+
import org.springframework.grpc.server.DefaultGrpcServerFactory;
49+
import org.springframework.grpc.server.GrpcServerFactory;
50+
import org.springframework.grpc.server.InProcessGrpcServerFactory;
51+
import org.springframework.grpc.server.NettyGrpcServerFactory;
52+
import org.springframework.grpc.server.ServerBuilderCustomizer;
53+
import org.springframework.grpc.server.ServerServiceDefinitionFilter;
54+
import org.springframework.grpc.server.ShadedNettyGrpcServerFactory;
4955
import org.springframework.grpc.server.lifecycle.GrpcServerLifecycle;
5056
import org.springframework.grpc.server.service.DefaultGrpcServiceConfigurer;
5157
import org.springframework.grpc.server.service.DefaultGrpcServiceDiscoverer;
@@ -413,7 +419,7 @@ void whenFilterExcludesOneServiceThenServerListGetAllowedOnes() {
413419
ServerServiceDefinition serviceDefinitionA = mock();
414420
GrpcServerAutoConfigurationTests.this.contextRunner()
415421
.withBean(ServerServiceDefinitionFilter.class,
416-
() -> (serviceDefinition, ___) -> serviceDefinition.equals(serviceDefinitionA))
422+
() -> (serviceDefinition) -> serviceDefinition.equals(serviceDefinitionA))
417423
.run((context) -> {
418424
DefaultGrpcServerFactory<?> defaultGrpcServerFactory = (DefaultGrpcServerFactory<?>) context
419425
.getBean(GrpcServerFactory.class);
@@ -430,7 +436,7 @@ void whenFilterExcludesOneServiceThenServerListGetAllowedOnes() {
430436
@Test
431437
void whenFilterIncludesAllServicesThenServerListGetAllowedOnes() {
432438
GrpcServerAutoConfigurationTests.this.contextRunner()
433-
.withBean(ServerServiceDefinitionFilter.class, () -> (__, ___) -> true)
439+
.withBean(ServerServiceDefinitionFilter.class, () -> (__) -> true)
434440
.run((context) -> {
435441
DefaultGrpcServerFactory<?> defaultGrpcServerFactory = (DefaultGrpcServerFactory<?>) context
436442
.getBean(GrpcServerFactory.class);

0 commit comments

Comments
 (0)