Skip to content

Commit e7d5c41

Browse files
committed
Remove custom Jackson 3 support for unmodifiable collections
Signed-off-by: Sébastien Deleuze <[email protected]>
1 parent c134d10 commit e7d5c41

8 files changed

+5
-288
lines changed

core/src/main/java/org/springframework/security/jackson/AllowlistTypeResolverBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ static class AllowlistTypeIdResolver implements TypeIdResolver {
8080
names.add("java.util.Collections$EmptyList");
8181
names.add("java.util.Collections$EmptyMap");
8282
names.add("java.util.Collections$UnmodifiableRandomAccessList");
83+
names.add("java.util.Collections$UnmodifiableSet");
84+
names.add("java.util.Collections$UnmodifiableMap");
8385
names.add("java.util.Collections$SingletonList");
8486
names.add("java.util.Date");
8587
names.add("java.time.Instant");

core/src/main/java/org/springframework/security/jackson/CoreJacksonModule.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package org.springframework.security.jackson;
1818

19-
import java.util.Collections;
20-
2119
import tools.jackson.core.Version;
2220
import tools.jackson.databind.cfg.MapperBuilder;
2321
import tools.jackson.databind.module.SimpleModule;
@@ -32,8 +30,9 @@
3230
/**
3331
* Jackson module for spring-security-core. This module register
3432
* {@link AnonymousAuthenticationTokenMixin}, {@link RememberMeAuthenticationTokenMixin},
35-
* {@link SimpleGrantedAuthorityMixin}, {@link UnmodifiableSetMixin}, {@link UserMixin}
36-
* and {@link UsernamePasswordAuthenticationTokenMixin}. If no default typing enabled by
33+
* {@link SimpleGrantedAuthorityMixin}, {{@link UserMixin},
34+
* {@link UsernamePasswordAuthenticationTokenMixin} and
35+
* {@link UsernamePasswordAuthenticationTokenMixin}. If no default typing enabled by
3736
* default then it'll enable it because typing info is needed to properly
3837
* serialize/deserialize objects. In order to use this module just add this module into
3938
* your JsonMapper configuration.
@@ -64,9 +63,6 @@ public void setupModule(SetupContext context) {
6463
context.setMixIn(AnonymousAuthenticationToken.class, AnonymousAuthenticationTokenMixin.class);
6564
context.setMixIn(RememberMeAuthenticationToken.class, RememberMeAuthenticationTokenMixin.class);
6665
context.setMixIn(SimpleGrantedAuthority.class, SimpleGrantedAuthorityMixin.class);
67-
context.setMixIn(Collections.unmodifiableSet(Collections.emptySet()).getClass(), UnmodifiableSetMixin.class);
68-
context.setMixIn(Collections.unmodifiableList(Collections.emptyList()).getClass(), UnmodifiableListMixin.class);
69-
context.setMixIn(Collections.unmodifiableMap(Collections.emptyMap()).getClass(), UnmodifiableMapMixin.class);
7066
context.setMixIn(User.class, UserMixin.class);
7167
context.setMixIn(UsernamePasswordAuthenticationToken.class, UsernamePasswordAuthenticationTokenMixin.class);
7268
context.setMixIn(BadCredentialsException.class, BadCredentialsExceptionMixin.class);

core/src/main/java/org/springframework/security/jackson/UnmodifiableListDeserializer.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

core/src/main/java/org/springframework/security/jackson/UnmodifiableListMixin.java

Lines changed: 0 additions & 52 deletions
This file was deleted.

core/src/main/java/org/springframework/security/jackson/UnmodifiableMapDeserializer.java

Lines changed: 0 additions & 51 deletions
This file was deleted.

core/src/main/java/org/springframework/security/jackson/UnmodifiableMapMixin.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

core/src/main/java/org/springframework/security/jackson/UnmodifiableSetDeserializer.java

Lines changed: 0 additions & 39 deletions
This file was deleted.

core/src/main/java/org/springframework/security/jackson/UnmodifiableSetMixin.java

Lines changed: 0 additions & 52 deletions
This file was deleted.

0 commit comments

Comments
 (0)