From 30c5788b8bac3a4a290b0f12f63fc506e26f24ac Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Thu, 20 Nov 2014 15:36:53 -0600 Subject: [PATCH] SEC-1897: Remove raw types from AbstractAccessDecisionManager --- .../aspect/AnnotationSecurityAspectTests.java | 2 +- .../GlobalMethodSecurityConfiguration.java | 2 +- .../configurers/AbstractInterceptUrlConfigurer.java | 2 +- .../ExpressionUrlAuthorizationConfigurer.java | 6 ++---- .../web/configurers/UrlAuthorizationConfigurer.java | 12 ++++-------- ...ractSecurityWebSocketMessageBrokerConfigurer.java | 2 +- .../ExpressionUrlAuthorizationConfigurerConfigs.java | 2 +- .../access/vote/AbstractAccessDecisionManager.java | 10 +++++----- .../security/access/vote/AffirmativeBased.java | 2 +- .../security/access/vote/ConsensusBased.java | 2 +- .../security/access/vote/UnanimousBased.java | 2 +- .../security/access/vote/AffirmativeBasedTests.java | 12 ++++++------ .../security/access/vote/ConsensusBasedTests.java | 2 +- .../security/access/vote/UnanimousBasedTests.java | 4 ++-- 14 files changed, 28 insertions(+), 34 deletions(-) diff --git a/aspects/src/test/java/org/springframework/security/access/intercept/aspectj/aspect/AnnotationSecurityAspectTests.java b/aspects/src/test/java/org/springframework/security/access/intercept/aspectj/aspect/AnnotationSecurityAspectTests.java index 62ab7c268b..bfee144194 100644 --- a/aspects/src/test/java/org/springframework/security/access/intercept/aspectj/aspect/AnnotationSecurityAspectTests.java +++ b/aspects/src/test/java/org/springframework/security/access/intercept/aspectj/aspect/AnnotationSecurityAspectTests.java @@ -56,7 +56,7 @@ public class AnnotationSecurityAspectTests { adm = new AffirmativeBased(); AccessDecisionVoter[] voters = new AccessDecisionVoter[] {new RoleVoter(), new PreInvocationAuthorizationAdviceVoter(new ExpressionBasedPreInvocationAdvice())}; - adm.setDecisionVoters(Arrays.asList(voters)); + adm.setDecisionVoters(Arrays.>asList(voters)); interceptor.setAccessDecisionManager(adm); interceptor.setAuthenticationManager(authman); interceptor.setSecurityMetadataSource(new SecuredAnnotationSecurityMetadataSource()); diff --git a/config/src/main/java/org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.java b/config/src/main/java/org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.java index e36108013f..d48455eadc 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.java +++ b/config/src/main/java/org/springframework/security/config/annotation/method/configuration/GlobalMethodSecurityConfiguration.java @@ -173,7 +173,7 @@ public class GlobalMethodSecurityConfiguration implements ImportAware { */ @SuppressWarnings("rawtypes") protected AccessDecisionManager accessDecisionManager() { - List decisionVoters = new ArrayList(); + List> decisionVoters = new ArrayList>(); ExpressionBasedPreInvocationAdvice expressionAdvice = new ExpressionBasedPreInvocationAdvice(); expressionAdvice.setExpressionHandler(getExpressionHandler()); if(prePostEnabled()) { diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractInterceptUrlConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractInterceptUrlConfigurer.java index 77c9027f1b..b65c2c1d22 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractInterceptUrlConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/AbstractInterceptUrlConfigurer.java @@ -103,7 +103,7 @@ abstract class AbstractInterceptUrlConfigurer getDecisionVoters(H http); + abstract List> getDecisionVoters(H http); abstract class AbstractInterceptUrlRegistry,T> extends AbstractConfigAttributeRequestMatcherRegistry { diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer.java index a0589c187f..84594a10bf 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer.java @@ -141,8 +141,8 @@ public final class ExpressionUrlAuthorizationConfigurer getDecisionVoters(H http) { - List decisionVoters = new ArrayList(); + final List> getDecisionVoters(H http) { + List> decisionVoters = new ArrayList>(); WebExpressionVoter expressionVoter = new WebExpressionVoter(); expressionVoter.setExpressionHandler(getExpressionHandler(http)); decisionVoters.add(expressionVoter); @@ -213,8 +213,6 @@ public final class ExpressionUrlAuthorizationConfigurer *
  • - * {@link org.springframework.security.config.annotation.web.builders.HttpSecurity#getAuthenticationManager()} + * AuthenticationManager *
  • * * * @param * the type of {@link HttpSecurityBuilder} that is being configured - * @param - * the type of object that is being chained * * @author Rob Winch * @since 3.2 @@ -144,15 +142,14 @@ public final class UrlAuthorizationConfigurer> /** * Creates the default {@link AccessDecisionVoter} instances used if an - * {@link AccessDecisionManager} was not specified using - * {@link #accessDecisionManager(AccessDecisionManager)}. + * {@link AccessDecisionManager} was not specified. * * @param http the builder to use */ @Override @SuppressWarnings("rawtypes") - final List getDecisionVoters(H http) { - List decisionVoters = new ArrayList(); + final List> getDecisionVoters(H http) { + List> decisionVoters = new ArrayList>(); decisionVoters.add(new RoleVoter()); decisionVoters.add(new AuthenticatedVoter()); return decisionVoters; @@ -236,7 +233,6 @@ public final class UrlAuthorizationConfigurer> /** * Creates a new instance * @param requestMatchers the {@link RequestMatcher} instances to map to some {@link ConfigAttribute} instances. - * @see UrlAuthorizationConfigurer#chainRequestMatchers(List) */ private AuthorizedUrl(List requestMatchers) { Assert.notEmpty(requestMatchers, "requestMatchers must contain at least one value"); diff --git a/config/src/main/java/org/springframework/security/config/annotation/web/socket/AbstractSecurityWebSocketMessageBrokerConfigurer.java b/config/src/main/java/org/springframework/security/config/annotation/web/socket/AbstractSecurityWebSocketMessageBrokerConfigurer.java index cb0b83cedd..a9fb8f0a31 100644 --- a/config/src/main/java/org/springframework/security/config/annotation/web/socket/AbstractSecurityWebSocketMessageBrokerConfigurer.java +++ b/config/src/main/java/org/springframework/security/config/annotation/web/socket/AbstractSecurityWebSocketMessageBrokerConfigurer.java @@ -81,7 +81,7 @@ public abstract class AbstractSecurityWebSocketMessageBrokerConfigurer extends A @Bean public ChannelSecurityInterceptor inboundChannelSecurity() { ChannelSecurityInterceptor channelSecurityInterceptor = new ChannelSecurityInterceptor(inboundMessageSecurityMetadataSource()); - List voters = new ArrayList(); + List> voters = new ArrayList>(); voters.add(new MessageExpressionVoter()); AffirmativeBased manager = new AffirmativeBased(voters); channelSecurityInterceptor.setAccessDecisionManager(manager); diff --git a/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurerConfigs.java b/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurerConfigs.java index 2c35ad7701..0beb5f5d28 100644 --- a/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurerConfigs.java +++ b/config/src/test/groovy/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurerConfigs.java @@ -55,7 +55,7 @@ public class ExpressionUrlAuthorizationConfigurerConfigs { protected void configure(HttpSecurity http) throws Exception { SecurityExpressionHandler handler = new DefaultWebSecurityExpressionHandler(); WebExpressionVoter expressionVoter = new WebExpressionVoter(); - AffirmativeBased adm = new AffirmativeBased(Arrays.asList(expressionVoter)); + AffirmativeBased adm = new AffirmativeBased(Arrays.>asList(expressionVoter)); http .authorizeRequests() .expressionHandler(handler) diff --git a/core/src/main/java/org/springframework/security/access/vote/AbstractAccessDecisionManager.java b/core/src/main/java/org/springframework/security/access/vote/AbstractAccessDecisionManager.java index 9e824af895..ebe63115e9 100644 --- a/core/src/main/java/org/springframework/security/access/vote/AbstractAccessDecisionManager.java +++ b/core/src/main/java/org/springframework/security/access/vote/AbstractAccessDecisionManager.java @@ -44,7 +44,7 @@ public abstract class AbstractAccessDecisionManager implements AccessDecisionMan //~ Instance fields ================================================================================================ protected final Log logger = LogFactory.getLog(getClass()); - private List decisionVoters; + private List> decisionVoters; protected MessageSourceAccessor messages = SpringSecurityMessageSource.getAccessor(); @@ -53,7 +53,7 @@ public abstract class AbstractAccessDecisionManager implements AccessDecisionMan protected AbstractAccessDecisionManager() { } - protected AbstractAccessDecisionManager(List decisionVoters) { + protected AbstractAccessDecisionManager(List> decisionVoters) { Assert.notEmpty(decisionVoters, "A list of AccessDecisionVoters is required"); this.decisionVoters = decisionVoters; } @@ -72,7 +72,7 @@ public abstract class AbstractAccessDecisionManager implements AccessDecisionMan } } - public List getDecisionVoters() { + public List> getDecisionVoters() { return this.decisionVoters; } @@ -88,10 +88,10 @@ public abstract class AbstractAccessDecisionManager implements AccessDecisionMan * @deprecated Use constructor */ @Deprecated - public void setDecisionVoters(List newList) { + public void setDecisionVoters(List> newList) { Assert.notEmpty(newList); - Iterator iter = newList.iterator(); + Iterator> iter = newList.iterator(); while (iter.hasNext()) { Object currentObject = iter.next(); diff --git a/core/src/main/java/org/springframework/security/access/vote/AffirmativeBased.java b/core/src/main/java/org/springframework/security/access/vote/AffirmativeBased.java index f47734c5be..b4c9d0af38 100644 --- a/core/src/main/java/org/springframework/security/access/vote/AffirmativeBased.java +++ b/core/src/main/java/org/springframework/security/access/vote/AffirmativeBased.java @@ -36,7 +36,7 @@ public class AffirmativeBased extends AbstractAccessDecisionManager { public AffirmativeBased() { } - public AffirmativeBased(List decisionVoters) { + public AffirmativeBased(List> decisionVoters) { super(decisionVoters); } diff --git a/core/src/main/java/org/springframework/security/access/vote/ConsensusBased.java b/core/src/main/java/org/springframework/security/access/vote/ConsensusBased.java index e7bbeb7a94..1be4e29731 100644 --- a/core/src/main/java/org/springframework/security/access/vote/ConsensusBased.java +++ b/core/src/main/java/org/springframework/security/access/vote/ConsensusBased.java @@ -41,7 +41,7 @@ public class ConsensusBased extends AbstractAccessDecisionManager { public ConsensusBased() { } - public ConsensusBased(List decisionVoters) { + public ConsensusBased(List> decisionVoters) { super(decisionVoters); } diff --git a/core/src/main/java/org/springframework/security/access/vote/UnanimousBased.java b/core/src/main/java/org/springframework/security/access/vote/UnanimousBased.java index 9f2718bcca..9dd40c48cf 100644 --- a/core/src/main/java/org/springframework/security/access/vote/UnanimousBased.java +++ b/core/src/main/java/org/springframework/security/access/vote/UnanimousBased.java @@ -38,7 +38,7 @@ public class UnanimousBased extends AbstractAccessDecisionManager { public UnanimousBased() { } - public UnanimousBased(List decisionVoters) { + public UnanimousBased(List> decisionVoters) { super(decisionVoters); } diff --git a/core/src/test/java/org/springframework/security/access/vote/AffirmativeBasedTests.java b/core/src/test/java/org/springframework/security/access/vote/AffirmativeBasedTests.java index 93403fb633..4bfc424594 100644 --- a/core/src/test/java/org/springframework/security/access/vote/AffirmativeBasedTests.java +++ b/core/src/test/java/org/springframework/security/access/vote/AffirmativeBasedTests.java @@ -61,32 +61,32 @@ public class AffirmativeBasedTests { @Test public void oneAffirmativeVoteOneDenyVoteOneAbstainVoteGrantsAccess() throws Exception { - mgr.setDecisionVoters(Arrays.asList(grant, deny, abstain)); + mgr.setDecisionVoters(Arrays.>asList(grant, deny, abstain)); mgr.afterPropertiesSet(); mgr.decide(user, new Object(), attrs); } @Test public void oneDenyVoteOneAbstainVoteOneAffirmativeVoteGrantsAccess() throws Exception { - mgr.setDecisionVoters(Arrays.asList(deny, abstain, grant)); + mgr.setDecisionVoters(Arrays.>asList(deny, abstain, grant)); mgr.decide(user, new Object(), attrs); } @Test public void oneAffirmativeVoteTwoAbstainVotesGrantsAccess() throws Exception { - mgr.setDecisionVoters(Arrays.asList(grant, abstain, abstain)); + mgr.setDecisionVoters(Arrays.>asList(grant, abstain, abstain)); mgr.decide(user, new Object(), attrs); } @Test(expected=AccessDeniedException.class) public void oneDenyVoteTwoAbstainVotesDeniesAccess() throws Exception { - mgr.setDecisionVoters(Arrays.asList(deny, abstain, abstain)); + mgr.setDecisionVoters(Arrays.>asList(deny, abstain, abstain)); mgr.decide(user, new Object(), attrs); } @Test(expected=AccessDeniedException.class) public void onlyAbstainVotesDeniesAccessWithDefault() throws Exception { - mgr.setDecisionVoters(Arrays.asList(abstain, abstain, abstain)); + mgr.setDecisionVoters(Arrays.>asList(abstain, abstain, abstain)); assertTrue(!mgr.isAllowIfAllAbstainDecisions()); // check default mgr.decide(user, new Object(), attrs); @@ -94,7 +94,7 @@ public class AffirmativeBasedTests { @Test public void testThreeAbstainVotesGrantsAccessIfAllowIfAllAbstainDecisionsIsSet() throws Exception { - mgr.setDecisionVoters(Arrays.asList(abstain, abstain, abstain)); + mgr.setDecisionVoters(Arrays.>asList(abstain, abstain, abstain)); mgr.setAllowIfAllAbstainDecisions(true); assertTrue(mgr.isAllowIfAllAbstainDecisions()); // check changed diff --git a/core/src/test/java/org/springframework/security/access/vote/ConsensusBasedTests.java b/core/src/test/java/org/springframework/security/access/vote/ConsensusBasedTests.java index 7c1a89e377..f6bedcc282 100644 --- a/core/src/test/java/org/springframework/security/access/vote/ConsensusBasedTests.java +++ b/core/src/test/java/org/springframework/security/access/vote/ConsensusBasedTests.java @@ -110,7 +110,7 @@ public class ConsensusBasedTests { RoleVoter roleVoter = new RoleVoter(); DenyVoter denyForSureVoter = new DenyVoter(); DenyAgainVoter denyAgainForSureVoter = new DenyAgainVoter(); - List voters = new Vector(); + List> voters = new Vector>(); voters.add(roleVoter); voters.add(denyForSureVoter); voters.add(denyAgainForSureVoter); diff --git a/core/src/test/java/org/springframework/security/access/vote/UnanimousBasedTests.java b/core/src/test/java/org/springframework/security/access/vote/UnanimousBasedTests.java index 7513593307..ef626158d8 100644 --- a/core/src/test/java/org/springframework/security/access/vote/UnanimousBasedTests.java +++ b/core/src/test/java/org/springframework/security/access/vote/UnanimousBasedTests.java @@ -43,7 +43,7 @@ public class UnanimousBasedTests extends TestCase { RoleVoter roleVoter = new RoleVoter(); DenyVoter denyForSureVoter = new DenyVoter(); DenyAgainVoter denyAgainForSureVoter = new DenyAgainVoter(); - List voters = new Vector(); + List> voters = new Vector>(); voters.add(roleVoter); voters.add(denyForSureVoter); voters.add(denyAgainForSureVoter); @@ -59,7 +59,7 @@ public class UnanimousBasedTests extends TestCase { DenyVoter denyForSureVoter = new DenyVoter(); DenyAgainVoter denyAgainForSureVoter = new DenyAgainVoter(); - List voters = new Vector(); + List> voters = new Vector>(); voters.add(roleVoter); voters.add(denyForSureVoter); voters.add(denyAgainForSureVoter);