优化代码

This commit is contained in:
zhou-hao
2017-11-28 22:06:48 +08:00
parent 02a3984a9c
commit 1cdfb06403
7 changed files with 14 additions and 5 deletions

View File

@@ -52,13 +52,11 @@ public final class AuthenticationHolder {
private static Authentication get(Function<AuthenticationSupplier, Authentication> function) {
lock.readLock().lock();
try {
Authentication authentication = suppliers.stream()
return suppliers.stream()
.map(function)
.filter(Objects::nonNull)
.findFirst()
.orElse(null);
return authentication;
} finally {
lock.readLock().unlock();
}

View File

@@ -31,11 +31,13 @@ import java.util.function.Function;
* @since 3.0
*/
public abstract class AbstractAuthorizationEvent extends ApplicationEvent implements AuthorizationEvent {
private static final long serialVersionUID = -3027505108916079214L;
protected String username;
protected String password;
private Function<String, Object> parameterGetter;
private transient Function<String, Object> parameterGetter;
/**
* 带参构造方法,所有参数不能为null

View File

@@ -28,6 +28,8 @@ import java.util.function.Function;
*/
public class AuthorizationBeforeEvent extends AbstractAuthorizationEvent {
private static final long serialVersionUID = 5948747533500518524L;
public AuthorizationBeforeEvent(String username, String password, Function<String, Object> parameterGetter) {
super(username, password, parameterGetter);
}

View File

@@ -28,6 +28,8 @@ import java.util.function.Function;
*/
public class AuthorizationDecodeEvent extends AbstractAuthorizationEvent {
private static final long serialVersionUID = 5418501934490174251L;
public AuthorizationDecodeEvent(String username, String password, Function<String, Object> parameterGetter) {
super(username, password, parameterGetter);
}

View File

@@ -27,6 +27,9 @@ import org.springframework.context.ApplicationEvent;
* @author zhouhao
*/
public class AuthorizationExitEvent extends ApplicationEvent implements AuthorizationEvent {
private static final long serialVersionUID = -4590245933665047280L;
private Authentication authentication;
public AuthorizationExitEvent(Authentication authentication) {

View File

@@ -27,6 +27,7 @@ import java.util.function.Function;
*/
public class AuthorizationFailedEvent extends AbstractAuthorizationEvent {
private static final long serialVersionUID = -101792832265740828L;
/**
* 失败原因
*/

View File

@@ -34,9 +34,10 @@ import java.util.function.Function;
* @since 3.0
*/
public class AuthorizationSuccessEvent extends ApplicationEvent implements AuthorizationEvent {
private static final long serialVersionUID = -2452116314154155058L;
private Authentication authentication;
private Function<String, Object> parameterGetter;
private transient Function<String, Object> parameterGetter;
private Map<String, Object> result = new HashMap<>();