Skip to content

Commit c8e5fbf

Browse files
committed
Fix Package Tangle
Issue gh-14598
1 parent 61274a3 commit c8e5fbf

File tree

5 files changed

+52
-34
lines changed

5 files changed

+52
-34
lines changed

core/src/main/java/org/springframework/security/access/expression/ExpressionUtils.java

-31
Original file line numberDiff line numberDiff line change
@@ -19,43 +19,12 @@
1919
import org.springframework.expression.EvaluationContext;
2020
import org.springframework.expression.EvaluationException;
2121
import org.springframework.expression.Expression;
22-
import org.springframework.security.authorization.AuthorizationDecision;
23-
import org.springframework.security.authorization.AuthorizationResult;
24-
import org.springframework.security.authorization.ExpressionAuthorizationDecision;
2522

2623
public final class ExpressionUtils {
2724

2825
private ExpressionUtils() {
2926
}
3027

31-
/**
32-
* Evaluate a SpEL expression and coerce into an {@link AuthorizationDecision}
33-
* @param expr a SpEL expression
34-
* @param ctx an {@link EvaluationContext}
35-
* @return the resulting {@link AuthorizationDecision}
36-
* @since 6.3
37-
*/
38-
public static AuthorizationResult evaluate(Expression expr, EvaluationContext ctx) {
39-
try {
40-
Object result = expr.getValue(ctx);
41-
if (result instanceof AuthorizationResult decision) {
42-
return decision;
43-
}
44-
if (result instanceof Boolean granted) {
45-
return new ExpressionAuthorizationDecision(granted, expr);
46-
}
47-
if (result == null) {
48-
return null;
49-
}
50-
throw new IllegalArgumentException(
51-
"SpEL expression must return either a Boolean or an AuthorizationDecision");
52-
}
53-
catch (EvaluationException ex) {
54-
throw new IllegalArgumentException("Failed to evaluate expression '" + expr.getExpressionString() + "'",
55-
ex);
56-
}
57-
}
58-
5928
public static boolean evaluateAsBoolean(Expression expr, EvaluationContext ctx) {
6029
try {
6130
return expr.getValue(ctx, Boolean.class);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/*
2+
* Copyright 2002-2024 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.springframework.security.authorization.method;
18+
19+
import org.springframework.expression.EvaluationContext;
20+
import org.springframework.expression.EvaluationException;
21+
import org.springframework.expression.Expression;
22+
import org.springframework.security.authorization.AuthorizationResult;
23+
import org.springframework.security.authorization.ExpressionAuthorizationDecision;
24+
25+
final class ExpressionUtils {
26+
27+
private ExpressionUtils() {
28+
}
29+
30+
static AuthorizationResult evaluate(Expression expr, EvaluationContext ctx) {
31+
try {
32+
Object result = expr.getValue(ctx);
33+
if (result instanceof AuthorizationResult decision) {
34+
return decision;
35+
}
36+
if (result instanceof Boolean granted) {
37+
return new ExpressionAuthorizationDecision(granted, expr);
38+
}
39+
if (result == null) {
40+
return null;
41+
}
42+
throw new IllegalArgumentException(
43+
"SpEL expression must return either a Boolean or an AuthorizationDecision");
44+
}
45+
catch (EvaluationException ex) {
46+
throw new IllegalArgumentException("Failed to evaluate expression '" + expr.getExpressionString() + "'",
47+
ex);
48+
}
49+
}
50+
51+
}

core/src/main/java/org/springframework/security/authorization/method/PostAuthorizeAuthorizationManager.java

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import org.springframework.context.ApplicationContext;
2424
import org.springframework.expression.EvaluationContext;
25-
import org.springframework.security.access.expression.ExpressionUtils;
2625
import org.springframework.security.access.expression.method.MethodSecurityExpressionHandler;
2726
import org.springframework.security.access.prepost.PostAuthorize;
2827
import org.springframework.security.authorization.AuthorizationDecision;

core/src/main/java/org/springframework/security/authorization/method/PreAuthorizeAuthorizationManager.java

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import org.springframework.context.ApplicationContext;
2424
import org.springframework.expression.EvaluationContext;
25-
import org.springframework.security.access.expression.ExpressionUtils;
2625
import org.springframework.security.access.expression.method.MethodSecurityExpressionHandler;
2726
import org.springframework.security.access.prepost.PreAuthorize;
2827
import org.springframework.security.authorization.AuthorizationDecision;

core/src/test/java/org/springframework/security/access/expression/ExpressionUtilsTests.java renamed to core/src/test/java/org/springframework/security/authorization/method/ExpressionUtilsTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.security.access.expression;
17+
package org.springframework.security.authorization.method;
1818

1919
import org.junit.jupiter.api.Test;
2020

0 commit comments

Comments
 (0)