diff --git a/spring-session-core/src/main/java/org/springframework/session/MapSession.java b/spring-session-core/src/main/java/org/springframework/session/MapSession.java index 1b1d91b1..b042147f 100644 --- a/spring-session-core/src/main/java/org/springframework/session/MapSession.java +++ b/spring-session-core/src/main/java/org/springframework/session/MapSession.java @@ -74,8 +74,7 @@ public final class MapSession implements Session, Serializable { */ private Duration maxInactiveInterval = DEFAULT_MAX_INACTIVE_INTERVAL; - private transient SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy - .getInstance(); + private transient SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Creates a new instance with a secure randomly generated identifier. @@ -85,14 +84,14 @@ public final class MapSession implements Session, Serializable { } /** - * Creates a new instance using the specified {@link SessionIdGenerationStrategy} to - * generate the session id. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use. + * Creates a new instance using the specified {@link SessionIdGenerator} to generate + * the session id. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use. * @since 3.2 */ - public MapSession(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this(sessionIdGenerationStrategy.generate()); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public MapSession(SessionIdGenerator sessionIdGenerator) { + this(sessionIdGenerator.generate()); + this.sessionIdGenerator = sessionIdGenerator; } /** @@ -155,7 +154,7 @@ public final class MapSession implements Session, Serializable { @Override public String changeSessionId() { - String changedId = this.sessionIdGenerationStrategy.generate(); + String changedId = this.sessionIdGenerator.generate(); setId(changedId); return changedId; } @@ -247,13 +246,12 @@ public final class MapSession implements Session, Serializable { } /** - * Sets the {@link SessionIdGenerationStrategy} to use when generating a new session - * id. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use. + * Sets the {@link SessionIdGenerator} to use when generating a new session id. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use. * @since 3.2 */ - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } private static final long serialVersionUID = 7160779239673823561L; diff --git a/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java b/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java index e78580b2..270fe847 100644 --- a/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java +++ b/spring-session-core/src/main/java/org/springframework/session/MapSessionRepository.java @@ -43,7 +43,7 @@ public class MapSessionRepository implements SessionRepository { private final Map sessions; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Creates a new instance backed by the provided {@link java.util.Map}. This allows @@ -74,7 +74,7 @@ public class MapSessionRepository implements SessionRepository { this.sessions.remove(session.getOriginalId()); } MapSession saved = new MapSession(session); - saved.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + saved.setSessionIdGenerator(this.sessionIdGenerator); this.sessions.put(session.getId(), saved); } @@ -89,7 +89,7 @@ public class MapSessionRepository implements SessionRepository { return null; } MapSession result = new MapSession(saved); - result.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + result.setSessionIdGenerator(this.sessionIdGenerator); return result; } @@ -100,14 +100,14 @@ public class MapSessionRepository implements SessionRepository { @Override public MapSession createSession() { - MapSession result = new MapSession(this.sessionIdGenerationStrategy); + MapSession result = new MapSession(this.sessionIdGenerator); result.setMaxInactiveInterval(this.defaultMaxInactiveInterval); return result; } - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java b/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java index bddeca55..70fc9edf 100644 --- a/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java +++ b/spring-session-core/src/main/java/org/springframework/session/ReactiveMapSessionRepository.java @@ -45,7 +45,7 @@ public class ReactiveMapSessionRepository implements ReactiveSessionRepository sessions; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Creates a new instance backed by the provided {@link Map}. This allows injecting a @@ -86,7 +86,7 @@ public class ReactiveMapSessionRepository implements ReactiveSessionRepository Mono.justOrEmpty(this.sessions.get(id)) .filter((session) -> !session.isExpired()) .map(MapSession::new) - .doOnNext((session) -> session.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy)) + .doOnNext((session) -> session.setSessionIdGenerator(this.sessionIdGenerator)) .switchIfEmpty(deleteById(id).then(Mono.empty()))); // @formatter:on } @@ -99,21 +99,20 @@ public class ReactiveMapSessionRepository implements ReactiveSessionRepository createSession() { return Mono.defer(() -> { - MapSession result = new MapSession(this.sessionIdGenerationStrategy); + MapSession result = new MapSession(this.sessionIdGenerator); result.setMaxInactiveInterval(this.defaultMaxInactiveInterval); return Mono.just(result); }); } /** - * Sets the {@link SessionIdGenerationStrategy} to use. - * @param sessionIdGenerationStrategy the non-null {@link SessionIdGenerationStrategy} - * to use + * Sets the {@link SessionIdGenerator} to use. + * @param sessionIdGenerator the non-null {@link SessionIdGenerator} to use * @since 3.2 */ - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-core/src/main/java/org/springframework/session/SessionIdGenerationStrategy.java b/spring-session-core/src/main/java/org/springframework/session/SessionIdGenerator.java similarity index 94% rename from spring-session-core/src/main/java/org/springframework/session/SessionIdGenerationStrategy.java rename to spring-session-core/src/main/java/org/springframework/session/SessionIdGenerator.java index cc20530f..59f4e402 100644 --- a/spring-session-core/src/main/java/org/springframework/session/SessionIdGenerationStrategy.java +++ b/spring-session-core/src/main/java/org/springframework/session/SessionIdGenerator.java @@ -24,7 +24,7 @@ import org.springframework.lang.NonNull; * @author Marcus da Coregio * @since 3.2 */ -public interface SessionIdGenerationStrategy { +public interface SessionIdGenerator { @NonNull String generate(); diff --git a/spring-session-core/src/main/java/org/springframework/session/UuidSessionIdGenerationStrategy.java b/spring-session-core/src/main/java/org/springframework/session/UuidSessionIdGenerator.java similarity index 70% rename from spring-session-core/src/main/java/org/springframework/session/UuidSessionIdGenerationStrategy.java rename to spring-session-core/src/main/java/org/springframework/session/UuidSessionIdGenerator.java index 42316f17..536c4ebe 100644 --- a/spring-session-core/src/main/java/org/springframework/session/UuidSessionIdGenerationStrategy.java +++ b/spring-session-core/src/main/java/org/springframework/session/UuidSessionIdGenerator.java @@ -21,17 +21,16 @@ import java.util.UUID; import org.springframework.lang.NonNull; /** - * A {@link SessionIdGenerationStrategy} that generates a random UUID to be used as the - * session id. + * A {@link SessionIdGenerator} that generates a random UUID to be used as the session id. * * @author Marcus da Coregio * @since 3.2 */ -public final class UuidSessionIdGenerationStrategy implements SessionIdGenerationStrategy { +public final class UuidSessionIdGenerator implements SessionIdGenerator { - private static final UuidSessionIdGenerationStrategy INSTANCE = new UuidSessionIdGenerationStrategy(); + private static final UuidSessionIdGenerator INSTANCE = new UuidSessionIdGenerator(); - private UuidSessionIdGenerationStrategy() { + private UuidSessionIdGenerator() { } @Override @@ -41,10 +40,10 @@ public final class UuidSessionIdGenerationStrategy implements SessionIdGeneratio } /** - * Returns the singleton instance of {@link UuidSessionIdGenerationStrategy}. - * @return the singleton instance of {@link UuidSessionIdGenerationStrategy} + * Returns the singleton instance of {@link UuidSessionIdGenerator}. + * @return the singleton instance of {@link UuidSessionIdGenerator} */ - public static UuidSessionIdGenerationStrategy getInstance() { + public static UuidSessionIdGenerator getInstance() { return INSTANCE; } diff --git a/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java b/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java index 09ac62db..8ece096e 100644 --- a/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java +++ b/spring-session-core/src/test/java/org/springframework/session/MapSessionTests.java @@ -45,7 +45,7 @@ class MapSessionTests { @Test void constructorWhenSessionIdGenerationStrategyThenUsesStrategy() { - MapSession session = new MapSession(new FixedSessionIdGenerationStrategy("my-id")); + MapSession session = new MapSession(new FixedSessionIdGenerator("my-id")); assertThat(session.getId()).isEqualTo("my-id"); } @@ -159,18 +159,18 @@ class MapSessionTests { @Test void changeSessionIdWhenSessionIdStrategyThenUsesStrategy() { - MapSession session = new MapSession(new IncrementalSessionIdGenerationStrategy()); + MapSession session = new MapSession(new IncrementalSessionIdGenerator()); String idBeforeChange = session.getId(); String idAfterChange = session.changeSessionId(); assertThat(idBeforeChange).isEqualTo("1"); assertThat(idAfterChange).isEqualTo("2"); } - static class FixedSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class FixedSessionIdGenerator implements SessionIdGenerator { private final String id; - FixedSessionIdGenerationStrategy(String id) { + FixedSessionIdGenerator(String id) { this.id = id; } @@ -181,7 +181,7 @@ class MapSessionTests { } - static class IncrementalSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class IncrementalSessionIdGenerator implements SessionIdGenerator { private int counter = 1; diff --git a/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java b/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java index 9210b1f2..96a4d3ae 100644 --- a/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java +++ b/spring-session-core/src/test/java/org/springframework/session/ReactiveMapSessionRepositoryTests.java @@ -154,7 +154,7 @@ class ReactiveMapSessionRepositoryTests { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); MapSession session = this.repository.createSession().block(); assertThat(session.getId()).isEqualTo("test"); assertThat(session.changeSessionId()).isEqualTo("test"); @@ -162,13 +162,13 @@ class ReactiveMapSessionRepositoryTests { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); MapSession session = this.repository.createSession().block(); this.repository.save(session).block(); diff --git a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoIndexedSessionRepository.java b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoIndexedSessionRepository.java index 18cf41d5..664c9538 100644 --- a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoIndexedSessionRepository.java +++ b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoIndexedSessionRepository.java @@ -36,8 +36,8 @@ import org.springframework.data.mongodb.core.index.IndexOperations; import org.springframework.lang.Nullable; import org.springframework.session.FindByIndexNameSessionRepository; import org.springframework.session.MapSession; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.events.SessionCreatedEvent; import org.springframework.session.events.SessionDeletedEvent; import org.springframework.session.events.SessionExpiredEvent; @@ -83,7 +83,7 @@ public class MongoIndexedSessionRepository private ApplicationEventPublisher eventPublisher; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); public MongoIndexedSessionRepository(MongoOperations mongoOperations) { this.mongoOperations = mongoOperations; @@ -92,7 +92,7 @@ public class MongoIndexedSessionRepository @Override public MongoSession createSession() { - MongoSession session = new MongoSession(this.sessionIdGenerationStrategy); + MongoSession session = new MongoSession(this.sessionIdGenerator); session.setMaxInactiveInterval(this.defaultMaxInactiveInterval); @@ -126,7 +126,7 @@ public class MongoIndexedSessionRepository deleteById(id); return null; } - session.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + session.setSessionIdGenerator(this.sessionIdGenerator); } return session; @@ -147,7 +147,7 @@ public class MongoIndexedSessionRepository .map((query) -> this.mongoOperations.find(query, Document.class, this.collectionName)) .orElse(Collections.emptyList()).stream() .map((dbSession) -> MongoSessionUtils.convertToSession(this.mongoSessionConverter, dbSession)) - .peek((session) -> session.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy)) + .peek((session) -> session.setSessionIdGenerator(this.sessionIdGenerator)) .collect(Collectors.toMap(MongoSession::getId, (mapSession) -> mapSession)); } @@ -225,13 +225,13 @@ public class MongoIndexedSessionRepository } /** - * Set the {@link SessionIdGenerationStrategy} to use to generate session ids. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Set the {@link SessionIdGenerator} to use to generate session ids. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @since 3.2 */ - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoSession.java b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoSession.java index b3d8cc91..25ee1c4d 100644 --- a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoSession.java +++ b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/MongoSession.java @@ -28,8 +28,8 @@ import java.util.stream.Collectors; import org.springframework.lang.Nullable; import org.springframework.session.MapSession; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.util.Assert; /** @@ -68,8 +68,7 @@ class MongoSession implements Session { private Map attrs = new HashMap<>(); - private transient SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy - .getInstance(); + private transient SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Constructs a new instance using the provided session id. @@ -85,7 +84,7 @@ class MongoSession implements Session { } MongoSession(long maxInactiveIntervalInSeconds) { - this(UuidSessionIdGenerationStrategy.getInstance().generate(), maxInactiveIntervalInSeconds); + this(UuidSessionIdGenerator.getInstance().generate(), maxInactiveIntervalInSeconds); } MongoSession(String id, long maxInactiveIntervalInSeconds) { @@ -97,25 +96,25 @@ class MongoSession implements Session { } /** - * Constructs a new instance using the provided {@link SessionIdGenerationStrategy}. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Constructs a new instance using the provided {@link SessionIdGenerator}. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @since 3.2 */ - MongoSession(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this(sessionIdGenerationStrategy.generate(), MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + MongoSession(SessionIdGenerator sessionIdGenerator) { + this(sessionIdGenerator.generate(), MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS); + this.sessionIdGenerator = sessionIdGenerator; } /** - * Constructs a new instance using the provided {@link SessionIdGenerationStrategy} - * and max inactive interval. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Constructs a new instance using the provided {@link SessionIdGenerator} and max + * inactive interval. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @param maxInactiveIntervalInSeconds the max inactive interval in seconds * @since 3.2 */ - MongoSession(SessionIdGenerationStrategy sessionIdGenerationStrategy, long maxInactiveIntervalInSeconds) { - this(sessionIdGenerationStrategy.generate(), maxInactiveIntervalInSeconds); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + MongoSession(SessionIdGenerator sessionIdGenerator, long maxInactiveIntervalInSeconds) { + this(sessionIdGenerator.generate(), maxInactiveIntervalInSeconds); + this.sessionIdGenerator = sessionIdGenerator; } static String coverDot(String attributeName) { @@ -129,7 +128,7 @@ class MongoSession implements Session { @Override public String changeSessionId() { - String changedId = this.sessionIdGenerationStrategy.generate(); + String changedId = this.sessionIdGenerator.generate(); this.id = changedId; return changedId; } @@ -245,13 +244,13 @@ class MongoSession implements Session { } /** - * Sets the {@link SessionIdGenerationStrategy} to use. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Sets the {@link SessionIdGenerator} to use. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @since 3.2 */ - void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepository.java b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepository.java index 36c6f09e..8d0a3119 100644 --- a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepository.java +++ b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepository.java @@ -35,8 +35,8 @@ import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.session.MapSession; import org.springframework.session.ReactiveSessionRepository; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.events.SessionCreatedEvent; import org.springframework.session.events.SessionDeletedEvent; import org.springframework.util.Assert; @@ -79,7 +79,7 @@ public class ReactiveMongoSessionRepository private ApplicationEventPublisher eventPublisher; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); public ReactiveMongoSessionRepository(ReactiveMongoOperations mongoOperations) { this.mongoOperations = mongoOperations; @@ -99,13 +99,13 @@ public class ReactiveMongoSessionRepository @Override public Mono createSession() { // @formatter:off - return Mono.fromSupplier(() -> this.sessionIdGenerationStrategy.generate()) + return Mono.fromSupplier(() -> this.sessionIdGenerator.generate()) .map(MongoSession::new) .doOnNext((mongoSession) -> mongoSession.setMaxInactiveInterval(this.defaultMaxInactiveInterval)) .doOnNext( - (mongoSession) -> mongoSession.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy)) + (mongoSession) -> mongoSession.setSessionIdGenerator(this.sessionIdGenerator)) .doOnNext((mongoSession) -> publishEvent(new SessionCreatedEvent(this, mongoSession))) - .switchIfEmpty(Mono.just(new MongoSession(this.sessionIdGenerationStrategy))) + .switchIfEmpty(Mono.just(new MongoSession(this.sessionIdGenerator))) .subscribeOn(Schedulers.boundedElastic()) .publishOn(Schedulers.parallel()); // @formatter:on @@ -138,8 +138,7 @@ public class ReactiveMongoSessionRepository return findSession(id) // .map((document) -> MongoSessionUtils.convertToSession(this.mongoSessionConverter, document)) // .filter((mongoSession) -> !mongoSession.isExpired()) // - .doOnNext( - (mongoSession) -> mongoSession.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy)) + .doOnNext((mongoSession) -> mongoSession.setSessionIdGenerator(this.sessionIdGenerator)) .switchIfEmpty(Mono.defer(() -> this.deleteById(id).then(Mono.empty()))); } @@ -229,9 +228,9 @@ public class ReactiveMongoSessionRepository this.blockingMongoOperations = blockingMongoOperations; } - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfiguration.java b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfiguration.java index 8ca28358..ff60d2da 100644 --- a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfiguration.java +++ b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfiguration.java @@ -36,8 +36,8 @@ import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.session.IndexResolver; import org.springframework.session.MapSession; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.config.annotation.web.http.SpringHttpSessionConfiguration; import org.springframework.session.data.mongo.AbstractMongoSessionConverter; @@ -72,7 +72,7 @@ public class MongoHttpSessionConfiguration implements BeanClassLoaderAware, Embe private IndexResolver indexResolver; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); @Bean public MongoIndexedSessionRepository mongoSessionRepository(MongoOperations mongoOperations) { @@ -102,7 +102,7 @@ public class MongoHttpSessionConfiguration implements BeanClassLoaderAware, Embe if (StringUtils.hasText(this.collectionName)) { repository.setCollectionName(this.collectionName); } - repository.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + repository.setSessionIdGenerator(this.sessionIdGenerator); this.sessionRepositoryCustomizers .forEach((sessionRepositoryCustomizer) -> sessionRepositoryCustomizer.customize(repository)); @@ -166,8 +166,8 @@ public class MongoHttpSessionConfiguration implements BeanClassLoaderAware, Embe } @Autowired(required = false) - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfiguration.java b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfiguration.java index 88f806f3..f37544bd 100644 --- a/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfiguration.java +++ b/spring-session-data-mongodb/src/main/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfiguration.java @@ -37,8 +37,8 @@ import org.springframework.data.mongodb.core.ReactiveMongoOperations; import org.springframework.session.IndexResolver; import org.springframework.session.MapSession; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.ReactiveSessionRepositoryCustomizer; import org.springframework.session.config.annotation.web.server.SpringWebSessionConfiguration; import org.springframework.session.data.mongo.AbstractMongoSessionConverter; @@ -76,7 +76,7 @@ public class ReactiveMongoWebSessionConfiguration private IndexResolver indexResolver; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); @Bean public ReactiveMongoSessionRepository reactiveMongoSessionRepository(ReactiveMongoOperations operations) { @@ -116,7 +116,7 @@ public class ReactiveMongoWebSessionConfiguration this.sessionRepositoryCustomizers .forEach((sessionRepositoryCustomizer) -> sessionRepositoryCustomizer.customize(repository)); - repository.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + repository.setSessionIdGenerator(this.sessionIdGenerator); return repository; } @@ -187,8 +187,8 @@ public class ReactiveMongoWebSessionConfiguration } @Autowired(required = false) - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/MongoIndexedSessionRepositoryTest.java b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/MongoIndexedSessionRepositoryTest.java index 90c0986b..05b4bdc4 100644 --- a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/MongoIndexedSessionRepositoryTest.java +++ b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/MongoIndexedSessionRepositoryTest.java @@ -34,7 +34,7 @@ import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.query.Query; import org.springframework.session.FindByIndexNameSessionRepository; import org.springframework.session.MapSession; -import org.springframework.session.SessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; @@ -213,7 +213,7 @@ public class MongoIndexedSessionRepositoryTest { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.repository.setSessionIdGenerationStrategy(new FixedSessionIdGenerationStrategy("123")); + this.repository.setSessionIdGenerator(new FixedSessionIdGenerator("123")); MongoSession session = this.repository.createSession(); assertThat(session.getId()).isEqualTo("123"); assertThat(session.changeSessionId()).isEqualTo("123"); @@ -221,12 +221,12 @@ public class MongoIndexedSessionRepositoryTest { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerationStrategy(null)); + assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerator(null)); } @Test void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.repository.setSessionIdGenerationStrategy(new FixedSessionIdGenerationStrategy("456")); + this.repository.setSessionIdGenerator(new FixedSessionIdGenerator("456")); Document sessionDocument = new Document(); @@ -244,11 +244,11 @@ public class MongoIndexedSessionRepositoryTest { assertThat(newSessionId).isEqualTo("456"); } - static class FixedSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class FixedSessionIdGenerator implements SessionIdGenerator { private final String id; - FixedSessionIdGenerationStrategy(String id) { + FixedSessionIdGenerator(String id) { this.id = id; } diff --git a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepositoryTest.java b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepositoryTest.java index afeffc05..d070fbbf 100644 --- a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepositoryTest.java +++ b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/ReactiveMongoSessionRepositoryTest.java @@ -213,7 +213,7 @@ public class ReactiveMongoSessionRepositoryTest { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); this.repository.createSession().as(StepVerifier::create).assertNext((mongoSession) -> { assertThat(mongoSession.getId()).isEqualTo("test"); @@ -223,13 +223,13 @@ public class ReactiveMongoSessionRepositoryTest { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); String sessionId = UUID.randomUUID().toString(); Document sessionDocument = new Document(); diff --git a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java index 238a335b..1cd48e12 100644 --- a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java +++ b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/http/MongoHttpSessionConfigurationTest.java @@ -34,8 +34,8 @@ import org.springframework.data.mongodb.core.index.IndexOperations; import org.springframework.mock.env.MockEnvironment; import org.springframework.session.IndexResolver; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.data.mongo.AbstractMongoSessionConverter; import org.springframework.session.data.mongo.JacksonMongoSessionConverter; @@ -206,16 +206,14 @@ public class MongoHttpSessionConfigurationTest { void registerWhenSessionIdGenerationStrategyBeanThenUses() { registerAndRefresh(SessionIdGenerationStrategyConfiguration.class); MongoIndexedSessionRepository sessionRepository = this.context.getBean(MongoIndexedSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(TestSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(TestSessionIdGenerator.class); } @Test void registerWhenNoSessionIdGenerationStrategyBeanThenDefault() { registerAndRefresh(DefaultConfiguration.class); MongoIndexedSessionRepository sessionRepository = this.context.getBean(MongoIndexedSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(UuidSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(UuidSessionIdGenerator.class); } private void registerAndRefresh(Class... annotatedClasses) { @@ -374,13 +372,13 @@ public class MongoHttpSessionConfigurationTest { static class SessionIdGenerationStrategyConfiguration { @Bean - SessionIdGenerationStrategy sessionIdGenerationStrategy() { - return new TestSessionIdGenerationStrategy(); + SessionIdGenerator sessionIdGenerationStrategy() { + return new TestSessionIdGenerator(); } } - static class TestSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class TestSessionIdGenerator implements SessionIdGenerator { @Override public String generate() { diff --git a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java index 6b8f34cb..6067db9a 100644 --- a/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java +++ b/spring-session-data-mongodb/src/test/java/org/springframework/session/data/mongo/config/annotation/web/reactive/ReactiveMongoWebSessionConfigurationTest.java @@ -35,8 +35,8 @@ import org.springframework.data.mongodb.core.index.IndexOperations; import org.springframework.session.IndexResolver; import org.springframework.session.ReactiveSessionRepository; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.ReactiveSessionRepositoryCustomizer; import org.springframework.session.config.annotation.web.server.EnableSpringWebSession; import org.springframework.session.data.mongo.AbstractMongoSessionConverter; @@ -228,16 +228,14 @@ public class ReactiveMongoWebSessionConfigurationTest { void registerWhenSessionIdGenerationStrategyBeanThenUses() { registerAndRefresh(GoodConfig.class, SessionIdGenerationStrategyConfiguration.class); ReactiveMongoSessionRepository sessionRepository = this.context.getBean(ReactiveMongoSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(TestSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(TestSessionIdGenerator.class); } @Test void registerWhenNoSessionIdGenerationStrategyBeanThenDefault() { registerAndRefresh(GoodConfig.class); ReactiveMongoSessionRepository sessionRepository = this.context.getBean(ReactiveMongoSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(UuidSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(UuidSessionIdGenerator.class); } private void registerAndRefresh(Class... annotatedClasses) { @@ -439,13 +437,13 @@ public class ReactiveMongoWebSessionConfigurationTest { static class SessionIdGenerationStrategyConfiguration { @Bean - SessionIdGenerationStrategy sessionIdGenerationStrategy() { - return new TestSessionIdGenerationStrategy(); + SessionIdGenerator sessionIdGenerationStrategy() { + return new TestSessionIdGenerator(); } } - static class TestSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class TestSessionIdGenerator implements SessionIdGenerator { @Override public String generate() { diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisSessionRepository.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisSessionRepository.java index fbc568f9..ea6769c5 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisSessionRepository.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisSessionRepository.java @@ -31,8 +31,8 @@ import org.springframework.session.MapSession; import org.springframework.session.ReactiveSessionRepository; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -63,7 +63,7 @@ public class ReactiveRedisSessionRepository private SaveMode saveMode = SaveMode.ON_SET_ATTRIBUTE; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Create a new {@link ReactiveRedisSessionRepository} instance. @@ -124,7 +124,7 @@ public class ReactiveRedisSessionRepository @Override public Mono createSession() { return Mono.defer(() -> { - MapSession cached = new MapSession(this.sessionIdGenerationStrategy); + MapSession cached = new MapSession(this.sessionIdGenerator); cached.setMaxInactiveInterval(this.defaultMaxInactiveInterval); RedisSession session = new RedisSession(cached, true); return Mono.just(session); @@ -172,13 +172,13 @@ public class ReactiveRedisSessionRepository } /** - * Set the {@link SessionIdGenerationStrategy} to use to generate session ids. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Set the {@link SessionIdGenerator} to use to generate session ids. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @since 3.2 */ - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } /** @@ -220,7 +220,7 @@ public class ReactiveRedisSessionRepository @Override public String changeSessionId() { - String newSessionId = ReactiveRedisSessionRepository.this.sessionIdGenerationStrategy.generate(); + String newSessionId = ReactiveRedisSessionRepository.this.sessionIdGenerator.generate(); this.cached.setId(newSessionId); return newSessionId; } diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java index b0275757..7cdbb1b3 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java @@ -52,8 +52,8 @@ import org.springframework.session.MapSession; import org.springframework.session.PrincipalNameIndexResolver; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.events.SessionCreatedEvent; import org.springframework.session.events.SessionDeletedEvent; import org.springframework.session.events.SessionDestroyedEvent; @@ -324,7 +324,7 @@ public class RedisIndexedSessionRepository private ThreadPoolTaskScheduler taskScheduler; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Creates a new instance. For an example, refer to the class level javadoc. @@ -551,7 +551,7 @@ public class RedisIndexedSessionRepository @Override public RedisSession createSession() { - MapSession cached = new MapSession(this.sessionIdGenerationStrategy); + MapSession cached = new MapSession(this.sessionIdGenerator); cached.setMaxInactiveInterval(this.defaultMaxInactiveInterval); RedisSession session = new RedisSession(cached, true); session.flushImmediateIfNecessary(); @@ -721,13 +721,13 @@ public class RedisIndexedSessionRepository } /** - * Set the {@link SessionIdGenerationStrategy} to use to generate session ids. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Set the {@link SessionIdGenerator} to use to generate session ids. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @since 3.2 */ - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } /** @@ -794,7 +794,7 @@ public class RedisIndexedSessionRepository @Override public String changeSessionId() { - String newSessionId = RedisIndexedSessionRepository.this.sessionIdGenerationStrategy.generate(); + String newSessionId = RedisIndexedSessionRepository.this.sessionIdGenerator.generate(); this.cached.setId(newSessionId); return newSessionId; } diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionRepository.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionRepository.java index 0320e5e2..a94629a2 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionRepository.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisSessionRepository.java @@ -27,9 +27,9 @@ import org.springframework.session.FlushMode; import org.springframework.session.MapSession; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; import org.springframework.session.SessionRepository; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.util.Assert; /** @@ -58,7 +58,7 @@ public class RedisSessionRepository implements SessionRepository sessionRepositoryCustomizer.customize(sessionRepository)); return sessionRepository; @@ -94,8 +94,8 @@ public class RedisHttpSessionConfiguration extends AbstractRedisHttpSessionConfi } @Autowired(required = false) - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfiguration.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfiguration.java index 1873a17c..44069eb6 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfiguration.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfiguration.java @@ -44,8 +44,8 @@ import org.springframework.data.redis.listener.PatternTopic; import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.session.IndexResolver; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.data.redis.RedisIndexedSessionRepository; import org.springframework.session.data.redis.config.ConfigureNotifyKeyspaceEventsAction; import org.springframework.session.data.redis.config.ConfigureRedisAction; @@ -82,7 +82,7 @@ public class RedisIndexedHttpSessionConfiguration private StringValueResolver embeddedValueResolver; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); @Bean @Override @@ -105,7 +105,7 @@ public class RedisIndexedHttpSessionConfiguration sessionRepository.setCleanupCron(this.cleanupCron); int database = resolveDatabase(); sessionRepository.setDatabase(database); - sessionRepository.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + sessionRepository.setSessionIdGenerator(this.sessionIdGenerator); getSessionRepositoryCustomizers() .forEach((sessionRepositoryCustomizer) -> sessionRepositoryCustomizer.customize(sessionRepository)); return sessionRepository; @@ -210,8 +210,8 @@ public class RedisIndexedHttpSessionConfiguration } @Autowired(required = false) - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } /** diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java index 5bbb8965..359f9ac4 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/annotation/web/server/RedisWebSessionConfiguration.java @@ -39,8 +39,8 @@ import org.springframework.data.redis.serializer.RedisSerializationContext; import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.session.MapSession; import org.springframework.session.SaveMode; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.ReactiveSessionRepositoryCustomizer; import org.springframework.session.config.annotation.web.server.SpringWebSessionConfiguration; import org.springframework.session.data.redis.ReactiveRedisSessionRepository; @@ -79,7 +79,7 @@ public class RedisWebSessionConfiguration implements BeanClassLoaderAware, Embed private StringValueResolver embeddedValueResolver; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); @Bean public ReactiveRedisSessionRepository sessionRepository() { @@ -90,7 +90,7 @@ public class RedisWebSessionConfiguration implements BeanClassLoaderAware, Embed sessionRepository.setRedisKeyNamespace(this.redisNamespace); } sessionRepository.setSaveMode(this.saveMode); - sessionRepository.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + sessionRepository.setSessionIdGenerator(this.sessionIdGenerator); this.sessionRepositoryCustomizers .forEach((sessionRepositoryCustomizer) -> sessionRepositoryCustomizer.customize(sessionRepository)); return sessionRepository; @@ -174,8 +174,8 @@ public class RedisWebSessionConfiguration implements BeanClassLoaderAware, Embed } @Autowired(required = false) - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisSessionRepositoryTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisSessionRepositoryTests.java index c46f7752..0afea0d3 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisSessionRepositoryTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/ReactiveRedisSessionRepositoryTests.java @@ -440,7 +440,7 @@ class ReactiveRedisSessionRepositoryTests { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); this.repository.createSession().as(StepVerifier::create).assertNext((redisSession) -> { assertThat(redisSession.getId()).isEqualTo("test"); @@ -450,14 +450,14 @@ class ReactiveRedisSessionRepositoryTests { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test @SuppressWarnings("unchecked") void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.repository.setSessionIdGenerationStrategy(() -> "changed-session-id"); + this.repository.setSessionIdGenerator(() -> "changed-session-id"); given(this.redisOperations.opsForHash()).willReturn(this.hashOperations); String attribute1 = "attribute1"; String attribute2 = "attribute2"; diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisIndexedSessionRepositoryTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisIndexedSessionRepositoryTests.java index 223f56dd..0b8493e6 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisIndexedSessionRepositoryTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisIndexedSessionRepositoryTests.java @@ -912,7 +912,7 @@ class RedisIndexedSessionRepositoryTests { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.redisRepository.setSessionIdGenerationStrategy(() -> "test"); + this.redisRepository.setSessionIdGenerator(() -> "test"); RedisSession session = this.redisRepository.createSession(); assertThat(session.getId()).isEqualTo("test"); assertThat(session.changeSessionId()).isEqualTo("test"); @@ -920,13 +920,13 @@ class RedisIndexedSessionRepositoryTests { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.redisRepository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.redisRepository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.redisRepository.setSessionIdGenerationStrategy(() -> "test"); + this.redisRepository.setSessionIdGenerator(() -> "test"); String attribute1 = "attribute1"; String attribute2 = "attribute2"; MapSession expected = new MapSession("original"); diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisSessionRepositoryTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisSessionRepositoryTests.java index 3e22e30c..58e3c607 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisSessionRepositoryTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/RedisSessionRepositoryTests.java @@ -375,7 +375,7 @@ class RedisSessionRepositoryTests { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.sessionRepository.setSessionIdGenerationStrategy(() -> "test"); + this.sessionRepository.setSessionIdGenerator(() -> "test"); RedisSessionRepository.RedisSession session = this.sessionRepository.createSession(); assertThat(session.getId()).isEqualTo("test"); assertThat(session.changeSessionId()).isEqualTo("test"); @@ -383,14 +383,13 @@ class RedisSessionRepositoryTests { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException() - .isThrownBy(() -> this.sessionRepository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.sessionRepository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.sessionRepository.setSessionIdGenerationStrategy(() -> "test"); + this.sessionRepository.setSessionIdGenerator(() -> "test"); Instant now = Instant.now().truncatedTo(ChronoUnit.MILLIS); given(this.sessionHashOperations.entries(eq(TEST_SESSION_KEY))) .willReturn(mapOf(RedisSessionMapper.CREATION_TIME_KEY, Instant.EPOCH.toEpochMilli(), diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java index 3758bcf6..2de2c428 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpsSessionConfigurationTests.java @@ -39,8 +39,8 @@ import org.springframework.data.redis.core.RedisOperations; import org.springframework.mock.env.MockEnvironment; import org.springframework.session.FlushMode; import org.springframework.session.SaveMode; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.data.redis.RedisSessionRepository; import org.springframework.session.data.redis.config.annotation.SpringSessionRedisConnectionFactory; @@ -212,16 +212,14 @@ class RedisHttpsSessionConfigurationTests { void registerWhenSessionIdGenerationStrategyBeanThenUses() { registerAndRefresh(RedisConfig.class, SessionIdGenerationStrategyConfiguration.class); RedisSessionRepository sessionRepository = this.context.getBean(RedisSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(TestSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(TestSessionIdGenerator.class); } @Test void registerWhenNoSessionIdGenerationStrategyBeanThenDefault() { registerAndRefresh(RedisConfig.class, DefaultConfiguration.class); RedisSessionRepository sessionRepository = this.context.getBean(RedisSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(UuidSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(UuidSessionIdGenerator.class); } private void registerAndRefresh(Class... annotatedClasses) { @@ -404,8 +402,8 @@ class RedisHttpsSessionConfigurationTests { static class SessionIdGenerationStrategyConfiguration { @Bean - SessionIdGenerationStrategy sessionIdGenerationStrategy() { - return new TestSessionIdGenerationStrategy(); + SessionIdGenerator sessionIdGenerationStrategy() { + return new TestSessionIdGenerator(); } } @@ -416,7 +414,7 @@ class RedisHttpsSessionConfigurationTests { } - static class TestSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class TestSessionIdGenerator implements SessionIdGenerator { @Override public String generate() { diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java index f135e4db..2183e3ad 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisIndexedHttpSessionConfigurationTests.java @@ -43,8 +43,8 @@ import org.springframework.session.FlushMode; import org.springframework.session.IndexResolver; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.data.redis.RedisIndexedSessionRepository; import org.springframework.session.data.redis.config.annotation.SpringSessionRedisConnectionFactory; @@ -246,16 +246,14 @@ class RedisIndexedHttpSessionConfigurationTests { void registerWhenSessionIdGenerationStrategyBeanThenUses() { registerAndRefresh(RedisConfig.class, SessionIdGenerationStrategyConfiguration.class); RedisIndexedSessionRepository sessionRepository = this.context.getBean(RedisIndexedSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(TestSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(TestSessionIdGenerator.class); } @Test void registerWhenNoSessionIdGenerationStrategyBeanThenDefault() { registerAndRefresh(RedisConfig.class, DefaultConfiguration.class); RedisIndexedSessionRepository sessionRepository = this.context.getBean(RedisIndexedSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(UuidSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(UuidSessionIdGenerator.class); } private void registerAndRefresh(Class... annotatedClasses) { @@ -467,8 +465,8 @@ class RedisIndexedHttpSessionConfigurationTests { static class SessionIdGenerationStrategyConfiguration { @Bean - SessionIdGenerationStrategy sessionIdGenerationStrategy() { - return new TestSessionIdGenerationStrategy(); + SessionIdGenerator sessionIdGenerationStrategy() { + return new TestSessionIdGenerator(); } } @@ -479,7 +477,7 @@ class RedisIndexedHttpSessionConfigurationTests { } - static class TestSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class TestSessionIdGenerator implements SessionIdGenerator { @Override public String generate() { diff --git a/spring-session-docs/modules/ROOT/pages/configuration/common.adoc b/spring-session-docs/modules/ROOT/pages/configuration/common.adoc index 23dedaf7..7a5f6eff 100644 --- a/spring-session-docs/modules/ROOT/pages/configuration/common.adoc +++ b/spring-session-docs/modules/ROOT/pages/configuration/common.adoc @@ -9,9 +9,9 @@ It contains configuration examples for the following use cases: [[changing-how-session-ids-are-generated]] == Changing How Session IDs Are Generated -By default, Spring Session uses `UuidSessionIdGenerationStrategy` which, in turn, uses a `java.util.UUID` to generate a session id. +By default, Spring Session uses `UuidSessionIdGenerator` which, in turn, uses a `java.util.UUID` to generate a session id. There might be scenarios where it may be better to include other characters to increase entropy, or you may want to use a different algorithm to generate the session id. -To change this, you can provide a custom `SessionIdGenerationStrategy` bean: +To change this, you can provide a custom `SessionIdGenerator` bean: .Changing How Session IDs Are Generated [tabs] @@ -21,11 +21,11 @@ Java:: [source,java,role="primary"] ---- @Bean -public SessionIdGenerationStrategy sessionIdGenerationStrategy() { - return new MySessionIdGenerationStrategy(); +public SessionIdGenerator sessionIdGenerator() { + return new MySessionIdGenerator(); } -class MySessionIdGenerationStrategy implements SessionIdGenerationStrategy { +class MySessionIdGenerator implements SessionIdGenerator { @Override public String generate() { @@ -36,11 +36,11 @@ class MySessionIdGenerationStrategy implements SessionIdGenerationStrategy { ---- ====== -After exposing your `SessionIdGenerationStrategy` bean, Spring Session will use it to generate session ids. +After exposing your `SessionIdGenerator` bean, Spring Session will use it to generate session ids. -If you are manually configuring your `SessionRepository` bean (instead of using `@EnableRedisHttpSession`, for example), you can set the `SessionIdGenerationStrategy` directly on the `SessionRepository` implementation: +If you are manually configuring your `SessionRepository` bean (instead of using `@EnableRedisHttpSession`, for example), you can set the `SessionIdGenerator` directly on the `SessionRepository` implementation: -.Setting `SessionIdGenerationStrategy` directly into `SessionRepository` implementation +.Setting `SessionIdGenerator` directly into `SessionRepository` implementation [tabs] ====== Java:: @@ -50,7 +50,7 @@ Java:: @Bean public RedisSessionRepository redisSessionRepository(RedisOperations redisOperations) { RedisSessionRepository repository = new RedisSessionRepository(redisOperations) - repository.setSessionIdGenerationStrategy(new MySessionIdGenerationStrategy()); + repository.setSessionIdGenerator(new MySessionIdGenerator()); return repository; } ---- diff --git a/spring-session-docs/modules/ROOT/pages/whats-new.adoc b/spring-session-docs/modules/ROOT/pages/whats-new.adoc index d1d7b2aa..a18e5da0 100644 --- a/spring-session-docs/modules/ROOT/pages/whats-new.adoc +++ b/spring-session-docs/modules/ROOT/pages/whats-new.adoc @@ -1,3 +1,3 @@ = What's New -- xref:configuration/common.adoc#changing-how-session-ids-are-generated[docs] - https://github.com/spring-projects/spring-session/issues/11[gh-11] - Introduce `SessionIdGenerationStrategy` to allow custom session id generation +- xref:configuration/common.adoc#changing-how-session-ids-are-generated[docs] - https://github.com/spring-projects/spring-session/issues/11[gh-11] - Introduce `SessionIdGenerator` to allow custom session id generation diff --git a/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepository.java b/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepository.java index 0b5109df..cc0280e4 100644 --- a/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepository.java +++ b/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepository.java @@ -48,8 +48,8 @@ import org.springframework.session.MapSession; import org.springframework.session.PrincipalNameIndexResolver; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.events.AbstractSessionEvent; import org.springframework.session.events.SessionCreatedEvent; import org.springframework.session.events.SessionDeletedEvent; @@ -153,7 +153,7 @@ public class HazelcastIndexedSessionRepository private UUID sessionListenerId; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Create a new {@link HazelcastIndexedSessionRepository} instance. @@ -249,7 +249,7 @@ public class HazelcastIndexedSessionRepository @Override public HazelcastSession createSession() { - MapSession cached = new MapSession(this.sessionIdGenerationStrategy); + MapSession cached = new MapSession(this.sessionIdGenerator); cached.setMaxInactiveInterval(this.defaultMaxInactiveInterval); HazelcastSession session = new HazelcastSession(cached, true); session.flushImmediateIfNecessary(); @@ -354,13 +354,13 @@ public class HazelcastIndexedSessionRepository } /** - * Set the {@link SessionIdGenerationStrategy} to use to generate session ids. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Set the {@link SessionIdGenerator} to use to generate session ids. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @since 3.2 */ - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } /** @@ -419,7 +419,7 @@ public class HazelcastIndexedSessionRepository @Override public String changeSessionId() { - String newSessionId = HazelcastIndexedSessionRepository.this.sessionIdGenerationStrategy.generate(); + String newSessionId = HazelcastIndexedSessionRepository.this.sessionIdGenerator.generate(); this.delegate.setId(newSessionId); this.sessionIdChanged = true; return newSessionId; diff --git a/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java b/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java index 16354a58..3bda8897 100644 --- a/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java +++ b/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java @@ -38,8 +38,8 @@ import org.springframework.session.IndexResolver; import org.springframework.session.MapSession; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.config.annotation.web.http.SpringHttpSessionConfiguration; import org.springframework.session.hazelcast.HazelcastIndexedSessionRepository; @@ -77,7 +77,7 @@ public class HazelcastHttpSessionConfiguration implements ImportAware { private List> sessionRepositoryCustomizers; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); @Bean public FindByIndexNameSessionRepository sessionRepository() { @@ -162,15 +162,15 @@ public class HazelcastHttpSessionConfiguration implements ImportAware { sessionRepository.setDefaultMaxInactiveInterval(this.maxInactiveInterval); sessionRepository.setFlushMode(this.flushMode); sessionRepository.setSaveMode(this.saveMode); - sessionRepository.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + sessionRepository.setSessionIdGenerator(this.sessionIdGenerator); this.sessionRepositoryCustomizers .forEach((sessionRepositoryCustomizer) -> sessionRepositoryCustomizer.customize(sessionRepository)); return sessionRepository; } @Autowired(required = false) - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } } diff --git a/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepositoryTests.java b/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepositoryTests.java index 73215f68..35ede804 100644 --- a/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepositoryTests.java +++ b/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/HazelcastIndexedSessionRepositoryTests.java @@ -467,7 +467,7 @@ class HazelcastIndexedSessionRepositoryTests { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); HazelcastSession session = this.repository.createSession(); assertThat(session.getId()).isEqualTo("test"); assertThat(session.changeSessionId()).isEqualTo("test"); @@ -475,13 +475,13 @@ class HazelcastIndexedSessionRepositoryTests { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); MapSession saved = new MapSession("original"); saved.setAttribute("savedName", "savedValue"); given(this.sessions.get(eq(saved.getId()))).willReturn(saved); diff --git a/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfigurationTests.java b/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfigurationTests.java index 062930ca..b241daaa 100644 --- a/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfigurationTests.java +++ b/spring-session-hazelcast/src/test/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfigurationTests.java @@ -36,8 +36,8 @@ import org.springframework.session.FlushMode; import org.springframework.session.IndexResolver; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.hazelcast.HazelcastIndexedSessionRepository; import org.springframework.session.hazelcast.config.annotation.SpringSessionHazelcastInstance; @@ -245,8 +245,7 @@ class HazelcastHttpSessionConfigurationTests { registerAndRefresh(DefaultConfiguration.class, SessionIdGenerationStrategyConfiguration.class); HazelcastIndexedSessionRepository sessionRepository = this.context .getBean(HazelcastIndexedSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(TestSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(TestSessionIdGenerator.class); } @Test @@ -254,8 +253,7 @@ class HazelcastHttpSessionConfigurationTests { registerAndRefresh(DefaultConfiguration.class); HazelcastIndexedSessionRepository sessionRepository = this.context .getBean(HazelcastIndexedSessionRepository.class); - assertThat(sessionRepository).extracting("sessionIdGenerationStrategy") - .isInstanceOf(UuidSessionIdGenerationStrategy.class); + assertThat(sessionRepository).extracting("sessionIdGenerator").isInstanceOf(UuidSessionIdGenerator.class); } private void registerAndRefresh(Class... annotatedClasses) { @@ -489,13 +487,13 @@ class HazelcastHttpSessionConfigurationTests { static class SessionIdGenerationStrategyConfiguration { @Bean - SessionIdGenerationStrategy sessionIdGenerationStrategy() { - return new TestSessionIdGenerationStrategy(); + SessionIdGenerator sessionIdGenerationStrategy() { + return new TestSessionIdGenerator(); } } - static class TestSessionIdGenerationStrategy implements SessionIdGenerationStrategy { + static class TestSessionIdGenerator implements SessionIdGenerator { @Override public String generate() { diff --git a/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/JdbcIndexedSessionRepository.java b/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/JdbcIndexedSessionRepository.java index 5c40be5c..afee9d83 100644 --- a/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/JdbcIndexedSessionRepository.java +++ b/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/JdbcIndexedSessionRepository.java @@ -62,8 +62,8 @@ import org.springframework.session.MapSession; import org.springframework.session.PrincipalNameIndexResolver; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.transaction.support.TransactionOperations; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -254,7 +254,7 @@ public class JdbcIndexedSessionRepository implements private ThreadPoolTaskScheduler taskScheduler; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); /** * Create a new {@link JdbcIndexedSessionRepository} instance which uses the provided @@ -465,7 +465,7 @@ public class JdbcIndexedSessionRepository implements @Override public JdbcSession createSession() { - MapSession delegate = new MapSession(this.sessionIdGenerationStrategy); + MapSession delegate = new MapSession(this.sessionIdGenerator); delegate.setMaxInactiveInterval(this.defaultMaxInactiveInterval); JdbcSession session = new JdbcSession(delegate, UUID.randomUUID().toString(), true); session.flushIfRequired(); @@ -691,13 +691,13 @@ public class JdbcIndexedSessionRepository implements } /** - * Set the {@link SessionIdGenerationStrategy} to use to generate session ids. - * @param sessionIdGenerationStrategy the {@link SessionIdGenerationStrategy} to use + * Set the {@link SessionIdGenerator} to use to generate session ids. + * @param sessionIdGenerator the {@link SessionIdGenerator} to use * @since 3.2 */ - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - Assert.notNull(sessionIdGenerationStrategy, "sessionIdGenerationStrategy cannot be null"); - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + Assert.notNull(sessionIdGenerator, "sessionIdGenerator cannot be null"); + this.sessionIdGenerator = sessionIdGenerator; } private enum DeltaValue { @@ -787,7 +787,7 @@ public class JdbcIndexedSessionRepository implements @Override public String changeSessionId() { this.changed = true; - String newSessionId = JdbcIndexedSessionRepository.this.sessionIdGenerationStrategy.generate(); + String newSessionId = JdbcIndexedSessionRepository.this.sessionIdGenerator.generate(); this.delegate.setId(newSessionId); return newSessionId; } diff --git a/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfiguration.java b/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfiguration.java index e937c115..2e3b286f 100644 --- a/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfiguration.java +++ b/spring-session-jdbc/src/main/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfiguration.java @@ -50,8 +50,8 @@ import org.springframework.session.IndexResolver; import org.springframework.session.MapSession; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.config.annotation.web.http.SpringHttpSessionConfiguration; import org.springframework.session.jdbc.JdbcIndexedSessionRepository; @@ -111,7 +111,7 @@ public class JdbcHttpSessionConfiguration implements BeanClassLoaderAware, Embed private StringValueResolver embeddedValueResolver; - private SessionIdGenerationStrategy sessionIdGenerationStrategy = UuidSessionIdGenerationStrategy.getInstance(); + private SessionIdGenerator sessionIdGenerator = UuidSessionIdGenerator.getInstance(); @Bean public JdbcIndexedSessionRepository sessionRepository() { @@ -148,7 +148,7 @@ public class JdbcHttpSessionConfiguration implements BeanClassLoaderAware, Embed else { sessionRepository.setConversionService(createConversionServiceWithBeanClassLoader(this.classLoader)); } - sessionRepository.setSessionIdGenerationStrategy(this.sessionIdGenerationStrategy); + sessionRepository.setSessionIdGenerator(this.sessionIdGenerator); this.sessionRepositoryCustomizers .forEach((sessionRepositoryCustomizer) -> sessionRepositoryCustomizer.customize(sessionRepository)); return sessionRepository; @@ -241,8 +241,8 @@ public class JdbcHttpSessionConfiguration implements BeanClassLoaderAware, Embed } @Autowired(required = false) - public void setSessionIdGenerationStrategy(SessionIdGenerationStrategy sessionIdGenerationStrategy) { - this.sessionIdGenerationStrategy = sessionIdGenerationStrategy; + public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator) { + this.sessionIdGenerator = sessionIdGenerator; } @Override diff --git a/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/FixedSessionIdGenerationStrategy.java b/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/FixedSessionIdGenerator.java similarity index 79% rename from spring-session-jdbc/src/test/java/org/springframework/session/jdbc/FixedSessionIdGenerationStrategy.java rename to spring-session-jdbc/src/test/java/org/springframework/session/jdbc/FixedSessionIdGenerator.java index e4872a2d..12657acd 100644 --- a/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/FixedSessionIdGenerationStrategy.java +++ b/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/FixedSessionIdGenerator.java @@ -16,13 +16,13 @@ package org.springframework.session.jdbc; -import org.springframework.session.SessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; -public class FixedSessionIdGenerationStrategy implements SessionIdGenerationStrategy { +public class FixedSessionIdGenerator implements SessionIdGenerator { private final String id; - public FixedSessionIdGenerationStrategy(String id) { + public FixedSessionIdGenerator(String id) { this.id = id; } diff --git a/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/JdbcIndexedSessionRepositoryTests.java b/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/JdbcIndexedSessionRepositoryTests.java index e2d9d51e..4e8533bc 100644 --- a/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/JdbcIndexedSessionRepositoryTests.java +++ b/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/JdbcIndexedSessionRepositoryTests.java @@ -265,8 +265,8 @@ class JdbcIndexedSessionRepositoryTests { @Test void setSessionIdGenerationStrategyWhenNullThenException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test @@ -777,7 +777,7 @@ class JdbcIndexedSessionRepositoryTests { @Test void createSessionWhenSessionIdGenerationStrategyThenUses() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); JdbcSession session = this.repository.createSession(); assertThat(session.getId()).isEqualTo("test"); assertThat(session.changeSessionId()).isEqualTo("test"); @@ -785,13 +785,13 @@ class JdbcIndexedSessionRepositoryTests { @Test void setSessionIdGenerationStrategyWhenNullThenThrowsException() { - assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerationStrategy(null)) - .withMessage("sessionIdGenerationStrategy cannot be null"); + assertThatIllegalArgumentException().isThrownBy(() -> this.repository.setSessionIdGenerator(null)) + .withMessage("sessionIdGenerator cannot be null"); } @Test void findByIdWhenChangeSessionIdThenUsesSessionIdGenerationStrategy() { - this.repository.setSessionIdGenerationStrategy(() -> "test"); + this.repository.setSessionIdGenerator(() -> "test"); Session saved = this.repository.new JdbcSession(new MapSession(), "primaryKey", false); saved.setAttribute("savedName", "savedValue"); given(this.jdbcOperations.query(isA(String.class), isA(PreparedStatementSetter.class), diff --git a/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfigurationTests.java b/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfigurationTests.java index 8b9892c8..bfdc376c 100644 --- a/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfigurationTests.java +++ b/spring-session-jdbc/src/test/java/org/springframework/session/jdbc/config/annotation/web/http/JdbcHttpSessionConfigurationTests.java @@ -43,10 +43,10 @@ import org.springframework.session.FlushMode; import org.springframework.session.IndexResolver; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionIdGenerationStrategy; -import org.springframework.session.UuidSessionIdGenerationStrategy; +import org.springframework.session.SessionIdGenerator; +import org.springframework.session.UuidSessionIdGenerator; import org.springframework.session.config.SessionRepositoryCustomizer; -import org.springframework.session.jdbc.FixedSessionIdGenerationStrategy; +import org.springframework.session.jdbc.FixedSessionIdGenerator; import org.springframework.session.jdbc.JdbcIndexedSessionRepository; import org.springframework.session.jdbc.config.annotation.SpringSessionDataSource; import org.springframework.test.util.ReflectionTestUtils; @@ -325,18 +325,18 @@ class JdbcHttpSessionConfigurationTests { void sessionIdGenerationStrategyWhenCustomBeanThenUses() { registerAndRefresh(DataSourceConfiguration.class, CustomSessionIdGenerationStrategyConfiguration.class); JdbcIndexedSessionRepository sessionRepository = this.context.getBean(JdbcIndexedSessionRepository.class); - SessionIdGenerationStrategy sessionIdGenerationStrategy = (SessionIdGenerationStrategy) ReflectionTestUtils - .getField(sessionRepository, "sessionIdGenerationStrategy"); - assertThat(sessionIdGenerationStrategy).isInstanceOf(FixedSessionIdGenerationStrategy.class); + SessionIdGenerator sessionIdGenerator = (SessionIdGenerator) ReflectionTestUtils.getField(sessionRepository, + "sessionIdGenerator"); + assertThat(sessionIdGenerator).isInstanceOf(FixedSessionIdGenerator.class); } @Test void sessionIdGenerationStrategyWhenNoBeanThenDefault() { registerAndRefresh(DataSourceConfiguration.class, DefaultConfiguration.class); JdbcIndexedSessionRepository sessionRepository = this.context.getBean(JdbcIndexedSessionRepository.class); - SessionIdGenerationStrategy sessionIdGenerationStrategy = (SessionIdGenerationStrategy) ReflectionTestUtils - .getField(sessionRepository, "sessionIdGenerationStrategy"); - assertThat(sessionIdGenerationStrategy).isInstanceOf(UuidSessionIdGenerationStrategy.class); + SessionIdGenerator sessionIdGenerator = (SessionIdGenerator) ReflectionTestUtils.getField(sessionRepository, + "sessionIdGenerator"); + assertThat(sessionIdGenerator).isInstanceOf(UuidSessionIdGenerator.class); } private void registerAndRefresh(Class... annotatedClasses) { @@ -349,8 +349,8 @@ class JdbcHttpSessionConfigurationTests { static class CustomSessionIdGenerationStrategyConfiguration { @Bean - SessionIdGenerationStrategy sessionIdGenerationStrategy() { - return new FixedSessionIdGenerationStrategy("my-id"); + SessionIdGenerator sessionIdGenerationStrategy() { + return new FixedSessionIdGenerator("my-id"); } }