Skip to content

Commit 65b994c

Browse files
Polish RuntimeHintsRegistrar
Add RuntimeHints suffix to classes Make classes package-private Use ReflectionUtilsPredicates#serialization Closes gh-2111 Closes gh-2112
1 parent 374ea4a commit 65b994c

File tree

11 files changed

+40
-112
lines changed

11 files changed

+40
-112
lines changed

spring-session-core/src/main/java/org/springframework/session/aot/hint/CommonSessionSecurityHints.java renamed to spring-session-core/src/main/java/org/springframework/session/aot/hint/CommonSessionSecurityRuntimeHints.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
*
4545
* @author Marcus Da Coregio
4646
*/
47-
public class CommonSessionSecurityHints implements RuntimeHintsRegistrar {
47+
class CommonSessionSecurityRuntimeHints implements RuntimeHintsRegistrar {
4848

4949
@Override
5050
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {

spring-session-core/src/main/java/org/springframework/session/aot/hint/server/WebSessionSecurityHints.java renamed to spring-session-core/src/main/java/org/springframework/session/aot/hint/server/WebSessionSecurityRuntimeHints.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
*
2727
* @author Marcus Da Coregio
2828
*/
29-
public class WebSessionSecurityHints implements RuntimeHintsRegistrar {
29+
class WebSessionSecurityRuntimeHints implements RuntimeHintsRegistrar {
3030

3131
@Override
3232
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
*
3535
* @author Marcus Da Coregio
3636
*/
37-
public class HttpSessionSecurityHints implements RuntimeHintsRegistrar {
37+
class HttpSessionSecurityRuntimeHints implements RuntimeHintsRegistrar {
3838

3939
@Override
4040
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
org.springframework.aot.hint.RuntimeHintsRegistrar=\
2-
org.springframework.session.aot.hint.CommonSessionSecurityHints,\
3-
org.springframework.session.aot.hint.servlet.HttpSessionSecurityHints,\
4-
org.springframework.session.aot.hint.server.WebSessionSecurityHints
2+
org.springframework.session.aot.hint.CommonSessionSecurityRuntimeHints,\
3+
org.springframework.session.aot.hint.servlet.HttpSessionSecurityRuntimeHints,\
4+
org.springframework.session.aot.hint.server.WebSessionSecurityRuntimeHints
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.springframework.aot.hint.RuntimeHints;
2828
import org.springframework.aot.hint.RuntimeHintsRegistrar;
2929
import org.springframework.aot.hint.TypeReference;
30+
import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
3031
import org.springframework.core.io.support.SpringFactoriesLoader;
3132
import org.springframework.security.authentication.AbstractAuthenticationToken;
3233
import org.springframework.security.authentication.AccountExpiredException;
@@ -47,28 +48,28 @@
4748
import static org.assertj.core.api.Assertions.assertThat;
4849

4950
/**
50-
* Tests for {@link CommonSessionSecurityHints}
51+
* Tests for {@link CommonSessionSecurityRuntimeHints}
5152
*
5253
* @author Marcus Da Coregio
5354
*/
54-
class CommonSessionSecurityHintsTests {
55+
class CommonSessionSecurityRuntimeHintsTests {
5556

5657
private final RuntimeHints hints = new RuntimeHints();
5758

58-
private final CommonSessionSecurityHints commonSessionSecurityHints = new CommonSessionSecurityHints();
59+
private final CommonSessionSecurityRuntimeHints commonSessionSecurityRuntimeHints = new CommonSessionSecurityRuntimeHints();
5960

6061
@ParameterizedTest
6162
@MethodSource("getSerializationHintTypes")
6263
void coreTypesHasHints(TypeReference typeReference) {
63-
this.commonSessionSecurityHints.registerHints(this.hints, getClass().getClassLoader());
64-
assertThat(new SerializationHintsPredicates().onType(typeReference)).accepts(this.hints);
64+
this.commonSessionSecurityRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
65+
assertThat(RuntimeHintsPredicates.serialization().onType(typeReference)).accepts(this.hints);
6566
}
6667

6768
@Test
6869
void aotFactoriesContainsRegistrar() {
6970
boolean match = SpringFactoriesLoader.forResourceLocation("META-INF/spring/aot.factories")
7071
.load(RuntimeHintsRegistrar.class).stream()
71-
.anyMatch((registrar) -> registrar instanceof CommonSessionSecurityHints);
72+
.anyMatch((registrar) -> registrar instanceof CommonSessionSecurityRuntimeHints);
7273
assertThat(match).isTrue();
7374
}
7475

spring-session-core/src/test/java/org/springframework/session/aot/hint/SerializationHintsPredicates.java

Lines changed: 0 additions & 73 deletions
This file was deleted.
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121

2222
import org.springframework.aot.hint.RuntimeHints;
2323
import org.springframework.aot.hint.RuntimeHintsRegistrar;
24+
import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
2425
import org.springframework.core.io.support.SpringFactoriesLoader;
2526
import org.springframework.security.web.server.csrf.DefaultCsrfToken;
26-
import org.springframework.session.aot.hint.SerializationHintsPredicates;
2727
import org.springframework.util.ClassUtils;
2828

2929
import static org.assertj.core.api.Assertions.assertThat;
@@ -32,28 +32,28 @@
3232
import static org.mockito.Mockito.mockStatic;
3333

3434
/**
35-
* Tests for {@link WebSessionSecurityHints}
35+
* Tests for {@link WebSessionSecurityRuntimeHints}
3636
*
3737
* @author Marcus Da Coregio
3838
*/
39-
class WebSessionSecurityHintsTests {
39+
class WebSessionSecurityRuntimeHintsTests {
4040

4141
private final RuntimeHints hints = new RuntimeHints();
4242

43-
private final WebSessionSecurityHints webSessionSecurityHints = new WebSessionSecurityHints();
43+
private final WebSessionSecurityRuntimeHints webSessionSecurityRuntimeHints = new WebSessionSecurityRuntimeHints();
4444

4545
@Test
4646
void defaultCsrfTokenHasHints() {
47-
this.webSessionSecurityHints.registerHints(this.hints, getClass().getClassLoader());
48-
assertThat(new SerializationHintsPredicates().onType(DefaultCsrfToken.class)).accepts(this.hints);
47+
this.webSessionSecurityRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
48+
assertThat(RuntimeHintsPredicates.serialization().onType(DefaultCsrfToken.class)).accepts(this.hints);
4949
}
5050

5151
@Test
5252
void registerHintsWhenWebSessionMissingThenDoNotRegisterHints() {
5353
try (MockedStatic<ClassUtils> classUtilsMock = mockStatic(ClassUtils.class)) {
5454
classUtilsMock.when(() -> ClassUtils.isPresent(eq("org.springframework.web.server.WebSession"), any()))
5555
.thenReturn(false);
56-
this.webSessionSecurityHints.registerHints(this.hints, getClass().getClassLoader());
56+
this.webSessionSecurityRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
5757
assertThat(this.hints.serialization().javaSerialization()).isEmpty();
5858
}
5959
}
@@ -65,7 +65,7 @@ void registerHintsWhenDefaultCsrfTokenMissingThenDoNotRegisterHints() {
6565
.when(() -> ClassUtils
6666
.isPresent(eq("org.springframework.security.web.server.csrf.DefaultCsrfToken"), any()))
6767
.thenReturn(false);
68-
this.webSessionSecurityHints.registerHints(this.hints, getClass().getClassLoader());
68+
this.webSessionSecurityRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
6969
assertThat(this.hints.serialization().javaSerialization()).isEmpty();
7070
}
7171
}
@@ -74,7 +74,7 @@ void registerHintsWhenDefaultCsrfTokenMissingThenDoNotRegisterHints() {
7474
void aotFactoriesContainsRegistrar() {
7575
boolean match = SpringFactoriesLoader.forResourceLocation("META-INF/spring/aot.factories")
7676
.load(RuntimeHintsRegistrar.class).stream()
77-
.anyMatch((registrar) -> registrar instanceof WebSessionSecurityHints);
77+
.anyMatch((registrar) -> registrar instanceof WebSessionSecurityRuntimeHints);
7878
assertThat(match).isTrue();
7979
}
8080

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@
2828
import org.springframework.aot.hint.RuntimeHints;
2929
import org.springframework.aot.hint.RuntimeHintsRegistrar;
3030
import org.springframework.aot.hint.TypeReference;
31+
import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
3132
import org.springframework.core.io.support.SpringFactoriesLoader;
3233
import org.springframework.security.web.authentication.WebAuthenticationDetails;
3334
import org.springframework.security.web.csrf.DefaultCsrfToken;
3435
import org.springframework.security.web.savedrequest.DefaultSavedRequest;
3536
import org.springframework.security.web.savedrequest.SavedCookie;
36-
import org.springframework.session.aot.hint.SerializationHintsPredicates;
3737
import org.springframework.util.ClassUtils;
3838

3939
import static org.assertj.core.api.Assertions.assertThat;
@@ -42,29 +42,29 @@
4242
import static org.mockito.Mockito.mockStatic;
4343

4444
/**
45-
* Tests for {@link HttpSessionSecurityHints}
45+
* Tests for {@link HttpSessionSecurityRuntimeHints}
4646
*
4747
* @author Marcus Da Coregio
4848
*/
49-
class HttpSessionSecurityHintsTests {
49+
class HttpSessionSecurityRuntimeHintsTests {
5050

5151
private final RuntimeHints hints = new RuntimeHints();
5252

53-
private final HttpSessionSecurityHints httpSessionSecurityHints = new HttpSessionSecurityHints();
53+
private final HttpSessionSecurityRuntimeHints httpSessionSecurityRuntimeHints = new HttpSessionSecurityRuntimeHints();
5454

5555
@ParameterizedTest
5656
@MethodSource("getSerializationHintTypes")
5757
void httpSessionHasHints(TypeReference typeReference) {
58-
this.httpSessionSecurityHints.registerHints(this.hints, getClass().getClassLoader());
59-
assertThat(new SerializationHintsPredicates().onType(typeReference)).accepts(this.hints);
58+
this.httpSessionSecurityRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
59+
assertThat(RuntimeHintsPredicates.serialization().onType(typeReference)).accepts(this.hints);
6060
}
6161

6262
@Test
6363
void registerHintsWhenHttpSessionMissingThenDoNotRegisterHints() {
6464
try (MockedStatic<ClassUtils> classUtilsMock = mockStatic(ClassUtils.class)) {
6565
classUtilsMock.when(() -> ClassUtils.isPresent(eq("jakarta.servlet.http.HttpSession"), any()))
6666
.thenReturn(false);
67-
this.httpSessionSecurityHints.registerHints(this.hints, getClass().getClassLoader());
67+
this.httpSessionSecurityRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
6868
assertThat(this.hints.serialization().javaSerialization()).isEmpty();
6969
}
7070
}
@@ -75,7 +75,7 @@ void registerHintsWhenDefaultCsrfTokenMissingThenDoNotRegisterHints() {
7575
classUtilsMock.when(
7676
() -> ClassUtils.isPresent(eq("org.springframework.security.web.csrf.DefaultCsrfToken"), any()))
7777
.thenReturn(false);
78-
this.httpSessionSecurityHints.registerHints(this.hints, getClass().getClassLoader());
78+
this.httpSessionSecurityRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
7979
assertThat(this.hints.serialization().javaSerialization()).isEmpty();
8080
}
8181
}
@@ -84,7 +84,7 @@ void registerHintsWhenDefaultCsrfTokenMissingThenDoNotRegisterHints() {
8484
void aotFactoriesContainsRegistrar() {
8585
boolean match = SpringFactoriesLoader.forResourceLocation("META-INF/spring/aot.factories")
8686
.load(RuntimeHintsRegistrar.class).stream()
87-
.anyMatch((registrar) -> registrar instanceof HttpSessionSecurityHints);
87+
.anyMatch((registrar) -> registrar instanceof HttpSessionSecurityRuntimeHints);
8888
assertThat(match).isTrue();
8989
}
9090

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
*
2727
* @author Marcus Da Coregio
2828
*/
29-
public class SessionJdbcSecurityHints implements RuntimeHintsRegistrar {
29+
class SessionJdbcRuntimeHints implements RuntimeHintsRegistrar {
3030

3131
@Override
3232
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
org.springframework.aot.hint.RuntimeHintsRegistrar=\
2-
org.springframework.session.jdbc.aot.hint.SessionJdbcSecurityHints
2+
org.springframework.session.jdbc.aot.hint.SessionJdbcRuntimeHints
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,42 +19,42 @@
1919
import org.junit.jupiter.api.Test;
2020

2121
import org.springframework.aot.hint.RuntimeHints;
22-
import org.springframework.aot.hint.RuntimeHintsPredicates;
2322
import org.springframework.aot.hint.RuntimeHintsRegistrar;
2423
import org.springframework.aot.hint.TypeReference;
24+
import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
2525
import org.springframework.core.io.support.SpringFactoriesLoader;
2626

2727
import static org.assertj.core.api.Assertions.assertThat;
2828

2929
/**
30-
* Tests for {@link SessionJdbcSecurityHints}
30+
* Tests for {@link SessionJdbcRuntimeHints}
3131
*
3232
* @author Marcus Da Coregio
3333
*/
34-
class SessionJdbcSecurityHintsTests {
34+
class SessionJdbcRuntimeHintsTests {
3535

3636
private final RuntimeHints hints = new RuntimeHints();
3737

38-
private final SessionJdbcSecurityHints sessionJdbcSecurityHints = new SessionJdbcSecurityHints();
38+
private final SessionJdbcRuntimeHints sessionJdbcRuntimeHints = new SessionJdbcRuntimeHints();
3939

4040
@Test
4141
void aotFactoriesContainsRegistrar() {
4242
boolean match = SpringFactoriesLoader.forResourceLocation("META-INF/spring/aot.factories")
4343
.load(RuntimeHintsRegistrar.class).stream()
44-
.anyMatch((registrar) -> registrar instanceof SessionJdbcSecurityHints);
44+
.anyMatch((registrar) -> registrar instanceof SessionJdbcRuntimeHints);
4545
assertThat(match).isTrue();
4646
}
4747

4848
@Test
4949
void jdbcSchemasHasHints() {
50-
this.sessionJdbcSecurityHints.registerHints(this.hints, getClass().getClassLoader());
50+
this.sessionJdbcRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
5151
assertThat(RuntimeHintsPredicates.resource().forResource("org/springframework/session/jdbc/schema.sql"))
5252
.accepts(this.hints);
5353
}
5454

5555
@Test
5656
void dataSourceHasHints() {
57-
this.sessionJdbcSecurityHints.registerHints(this.hints, getClass().getClassLoader());
57+
this.sessionJdbcRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
5858
assertThat(RuntimeHintsPredicates.reflection().onType(TypeReference.of("javax.sql.DataSource")))
5959
.accepts(this.hints);
6060
}

0 commit comments

Comments
 (0)