Polish messaging generics and imports

This commit is contained in:
Rob Winch 2014-09-16 14:31:06 -05:00
parent b6fcde880a
commit b717333707
10 changed files with 15 additions and 13 deletions

View File

@ -24,8 +24,9 @@ import org.springframework.security.core.Authentication;
/** /**
* The default implementation of {@link SecurityExpressionHandler} which uses a {@link MessageSecurityExpressionRoot}. * The default implementation of {@link SecurityExpressionHandler} which uses a {@link MessageSecurityExpressionRoot}.
* *
* @since 4.0 * @param <T> the type for the body of the Message
* *
* @since 4.0
* @author Rob Winch * @author Rob Winch
*/ */
public class DefaultMessageSecurityExpressionHandler<T> extends AbstractSecurityExpressionHandler<Message<T>> { public class DefaultMessageSecurityExpressionHandler<T> extends AbstractSecurityExpressionHandler<Message<T>> {

View File

@ -20,7 +20,6 @@ import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.messaging.access.intercept.DefaultMessageSecurityMetadataSource; import org.springframework.security.messaging.access.intercept.DefaultMessageSecurityMetadataSource;
import org.springframework.security.messaging.access.intercept.MessageSecurityMetadataSource; import org.springframework.security.messaging.access.intercept.MessageSecurityMetadataSource;
import org.springframework.security.messaging.util.matcher.MessageMatcher; import org.springframework.security.messaging.util.matcher.MessageMatcher;
import org.springframework.security.messaging.util.matcher.SimpDestinationMessageMatcher;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
@ -66,7 +65,7 @@ public final class ExpressionBasedMessageSecurityMetadataSourceFactory {
* @return the {@link MessageSecurityMetadataSource} to use. Cannot be null. * @return the {@link MessageSecurityMetadataSource} to use. Cannot be null.
*/ */
public static MessageSecurityMetadataSource createExpressionMessageMetadataSource(LinkedHashMap<MessageMatcher<?>,String> matcherToExpression) { public static MessageSecurityMetadataSource createExpressionMessageMetadataSource(LinkedHashMap<MessageMatcher<?>,String> matcherToExpression) {
DefaultMessageSecurityExpressionHandler handler = new DefaultMessageSecurityExpressionHandler(); DefaultMessageSecurityExpressionHandler<Object> handler = new DefaultMessageSecurityExpressionHandler<Object>();
LinkedHashMap<MessageMatcher<?>, Collection<ConfigAttribute>> matcherToAttrs = new LinkedHashMap<MessageMatcher<?>, Collection<ConfigAttribute>>(); LinkedHashMap<MessageMatcher<?>, Collection<ConfigAttribute>> matcherToAttrs = new LinkedHashMap<MessageMatcher<?>, Collection<ConfigAttribute>>();

View File

@ -26,6 +26,7 @@ import org.springframework.util.Assert;
* @since 4.0 * @since 4.0
* @author Rob Winch * @author Rob Winch
*/ */
@SuppressWarnings("serial")
class MessageExpressionConfigAttribute implements ConfigAttribute { class MessageExpressionConfigAttribute implements ConfigAttribute {
private final Expression authorizeExpression; private final Expression authorizeExpression;

View File

@ -35,7 +35,7 @@ import java.util.Collection;
* @author Rob Winch * @author Rob Winch
*/ */
public class MessageExpressionVoter<T> implements AccessDecisionVoter<Message<T>> { public class MessageExpressionVoter<T> implements AccessDecisionVoter<Message<T>> {
private SecurityExpressionHandler<Message<T>> expressionHandler = new DefaultMessageSecurityExpressionHandler(); private SecurityExpressionHandler<Message<T>> expressionHandler = new DefaultMessageSecurityExpressionHandler<T>();
public int vote(Authentication authentication, Message<T> message, Collection<ConfigAttribute> attributes) { public int vote(Authentication authentication, Message<T> message, Collection<ConfigAttribute> attributes) {
assert authentication != null; assert authentication != null;

View File

@ -27,7 +27,7 @@ import org.springframework.security.core.Authentication;
*/ */
final class MessageSecurityExpressionRoot extends SecurityExpressionRoot { final class MessageSecurityExpressionRoot extends SecurityExpressionRoot {
public MessageSecurityExpressionRoot(Authentication authentication, Message message) { public MessageSecurityExpressionRoot(Authentication authentication, Message<?> message) {
super(authentication); super(authentication);
} }
} }

View File

@ -44,6 +44,7 @@ public final class DefaultMessageSecurityMetadataSource implements MessageSecuri
this.messageMap = messageMap; this.messageMap = messageMap;
} }
@SuppressWarnings({ "rawtypes", "unchecked" })
public Collection<ConfigAttribute> getAttributes(Object object) throws IllegalArgumentException { public Collection<ConfigAttribute> getAttributes(Object object) throws IllegalArgumentException {
final Message message = (Message) object; final Message message = (Message) object;
for (Map.Entry<MessageMatcher<?>, Collection<ConfigAttribute>> entry : messageMap.entrySet()) { for (Map.Entry<MessageMatcher<?>, Collection<ConfigAttribute>> entry : messageMap.entrySet()) {

View File

@ -33,9 +33,9 @@ public interface MessageMatcher<T> {
boolean matches(Message<? extends T> message); boolean matches(Message<? extends T> message);
/** /**
* Matches every {@link Message} * Matches every {@link Message}
*/ */
MessageMatcher ANY_MESSAGE = new MessageMatcher<Object>() { MessageMatcher<Object> ANY_MESSAGE = new MessageMatcher<Object>() {
public boolean matches(Message<? extends Object> message) { public boolean matches(Message<? extends Object> message) {
return true; return true;
} }

View File

@ -27,13 +27,11 @@ import org.springframework.security.access.AccessDecisionManager;
import org.springframework.security.access.AccessDeniedException; import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.access.ConfigAttribute; import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.access.SecurityConfig; import org.springframework.security.access.SecurityConfig;
import org.springframework.security.access.intercept.InterceptorStatusToken;
import org.springframework.security.access.intercept.RunAsManager; import org.springframework.security.access.intercept.RunAsManager;
import org.springframework.security.authentication.TestingAuthenticationToken; import org.springframework.security.authentication.TestingAuthenticationToken;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -119,6 +117,7 @@ public class ChannelSecurityInterceptorTests {
} }
@SuppressWarnings("unchecked")
@Test @Test
public void preSendPostSendRunAs() throws Exception { public void preSendPostSendRunAs() throws Exception {
when(source.getAttributes(message)).thenReturn(attrs); when(source.getAttributes(message)).thenReturn(attrs);
@ -138,6 +137,7 @@ public class ChannelSecurityInterceptorTests {
interceptor.afterSendCompletion(message, channel, true, null); interceptor.afterSendCompletion(message, channel, true, null);
} }
@SuppressWarnings("unchecked")
@Test @Test
public void preSendFinallySendRunAs() throws Exception { public void preSendFinallySendRunAs() throws Exception {
when(source.getAttributes(message)).thenReturn(attrs); when(source.getAttributes(message)).thenReturn(attrs);

View File

@ -36,11 +36,11 @@ import static org.powermock.api.mockito.PowerMockito.when;
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
public class DefaultMessageSecurityMetadataSourceTests { public class DefaultMessageSecurityMetadataSourceTests {
@Mock @Mock
MessageMatcher matcher1; MessageMatcher<Object> matcher1;
@Mock @Mock
MessageMatcher matcher2; MessageMatcher<Object> matcher2;
@Mock @Mock
Message message; Message<?> message;
@Mock @Mock
Authentication authentication; Authentication authentication;

View File

@ -29,7 +29,7 @@ public class SecurityContextChannelInterceptorTests {
@Mock @Mock
Principal principal; Principal principal;
MessageBuilder messageBuilder; MessageBuilder<String> messageBuilder;
Authentication authentication; Authentication authentication;