Commit 736a209e authored by Andy Wilkinson's avatar Andy Wilkinson

Upgrade to Spring Session 2.0.0.M4

Closes gh-10125
parent 9dd3fb70
...@@ -23,25 +23,25 @@ import org.springframework.session.SessionRepository; ...@@ -23,25 +23,25 @@ import org.springframework.session.SessionRepository;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
/** /**
* Exception thrown when multiple {@link SessionRepository} implementations are * Exception thrown when multiple {@link SessionRepository} implementations are available
* available with no way to know which implementation should be used. * with no way to know which implementation should be used.
* *
* @author Stephane Nicoll * @author Stephane Nicoll
* @since 2.0.0 * @since 2.0.0
*/ */
public class NonUniqueSessionRepositoryException extends RuntimeException { public class NonUniqueSessionRepositoryException extends RuntimeException {
private final List<Class<? extends SessionRepository>> availableCandidates; private final List<Class<? extends SessionRepository<?>>> availableCandidates;
public NonUniqueSessionRepositoryException( public NonUniqueSessionRepositoryException(
List<Class<? extends SessionRepository>> availableCandidates) { List<Class<? extends SessionRepository<?>>> availableCandidates) {
super("Multiple session repository candidates are available, set the " super("Multiple session repository candidates are available, set the "
+ "'spring.session.store-type' property accordingly"); + "'spring.session.store-type' property accordingly");
this.availableCandidates = (!ObjectUtils.isEmpty(availableCandidates) this.availableCandidates = (!ObjectUtils.isEmpty(availableCandidates)
? availableCandidates : Collections.emptyList()); ? availableCandidates : Collections.emptyList());
} }
public List<Class<? extends SessionRepository>> getAvailableCandidates() { public List<Class<? extends SessionRepository<?>>> getAvailableCandidates() {
return this.availableCandidates; return this.availableCandidates;
} }
......
...@@ -34,7 +34,8 @@ class NonUniqueSessionRepositoryFailureAnalyzer ...@@ -34,7 +34,8 @@ class NonUniqueSessionRepositoryFailureAnalyzer
StringBuilder message = new StringBuilder(); StringBuilder message = new StringBuilder();
message.append(String.format("Multiple Spring Session store implementations are " message.append(String.format("Multiple Spring Session store implementations are "
+ "available on the classpath:%n")); + "available on the classpath:%n"));
for (Class<? extends SessionRepository> candidate : cause.getAvailableCandidates()) { for (Class<? extends SessionRepository<?>> candidate : cause
.getAvailableCandidates()) {
message.append(String.format(" - %s%n", candidate.getName())); message.append(String.format(" - %s%n", candidate.getName()));
} }
StringBuilder action = new StringBuilder(); StringBuilder action = new StringBuilder();
......
...@@ -106,7 +106,7 @@ public class SessionAutoConfiguration { ...@@ -106,7 +106,7 @@ public class SessionAutoConfiguration {
@PostConstruct @PostConstruct
public void checkAvailableImplementations() { public void checkAvailableImplementations() {
List<Class<? extends SessionRepository>> candidates = new ArrayList<>(); List<Class<? extends SessionRepository<?>>> candidates = new ArrayList<>();
addCandidate(candidates, addCandidate(candidates,
"org.springframework.session.hazelcast.HazelcastSessionRepository"); "org.springframework.session.hazelcast.HazelcastSessionRepository");
addCandidate(candidates, addCandidate(candidates,
...@@ -119,10 +119,12 @@ public class SessionAutoConfiguration { ...@@ -119,10 +119,12 @@ public class SessionAutoConfiguration {
} }
} }
private void addCandidate( @SuppressWarnings("unchecked")
List<Class<? extends SessionRepository>> candidates, String fqn) { private void addCandidate(List<Class<? extends SessionRepository<?>>> candidates,
String fqn) {
try { try {
Class<? extends SessionRepository> candidate = (Class<? extends SessionRepository>) this.classLoader.loadClass(fqn); Class<? extends SessionRepository<?>> candidate = (Class<? extends SessionRepository<?>>) this.classLoader
.loadClass(fqn);
if (candidate != null) { if (candidate != null) {
candidates.add(candidate); candidates.add(candidate);
} }
......
...@@ -49,7 +49,9 @@ public class NonUniqueSessionRepositoryFailureAnalyzerTests { ...@@ -49,7 +49,9 @@ public class NonUniqueSessionRepositoryFailureAnalyzerTests {
assertThat(analysis.getAction()).contains("spring.session.store-type"); assertThat(analysis.getAction()).contains("spring.session.store-type");
} }
private Exception createFailure(Class<? extends SessionRepository>... candidates) { @SafeVarargs
private final Exception createFailure(
Class<? extends SessionRepository<?>>... candidates) {
return new NonUniqueSessionRepositoryException(Arrays.asList(candidates)); return new NonUniqueSessionRepositoryException(Arrays.asList(candidates));
} }
......
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
<spring-security.version>5.0.0.M3</spring-security.version> <spring-security.version>5.0.0.M3</spring-security.version>
<spring-security-jwt.version>1.0.8.RELEASE</spring-security-jwt.version> <spring-security-jwt.version>1.0.8.RELEASE</spring-security-jwt.version>
<spring-security-oauth.version>2.2.0.RELEASE</spring-security-oauth.version> <spring-security-oauth.version>2.2.0.RELEASE</spring-security-oauth.version>
<spring-session.version>2.0.0.M3</spring-session.version> <spring-session.version>2.0.0.M4</spring-session.version>
<spring-social.version>2.0.0.M3</spring-social.version> <spring-social.version>2.0.0.M3</spring-social.version>
<spring-social-facebook.version>3.0.0.M2</spring-social-facebook.version> <spring-social-facebook.version>3.0.0.M2</spring-social-facebook.version>
<spring-social-linkedin.version>2.0.0.M2</spring-social-linkedin.version> <spring-social-linkedin.version>2.0.0.M2</spring-social-linkedin.version>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment