Search in sources :

Example 1 with HandlerMappingIntrospector

use of org.springframework.web.servlet.handler.HandlerMappingIntrospector in project spring-security by spring-projects.

the class AbstractRequestMatcherRegistry method createMvcMatchers.

/**
	 * Creates {@link MvcRequestMatcher} instances for the method and patterns passed in
	 *
	 * @param method the HTTP method to use or null if any should be used
	 * @param mvcPatterns the Spring MVC patterns to match on
	 * @return a List of {@link MvcRequestMatcher} instances
	 */
protected final List<MvcRequestMatcher> createMvcMatchers(HttpMethod method, String... mvcPatterns) {
    boolean isServlet30 = ClassUtils.isPresent("javax.servlet.ServletRegistration", getClass().getClassLoader());
    ObjectPostProcessor<Object> opp = this.context.getBean(ObjectPostProcessor.class);
    HandlerMappingIntrospector introspector = new HandlerMappingIntrospector(this.context);
    List<MvcRequestMatcher> matchers = new ArrayList<MvcRequestMatcher>(mvcPatterns.length);
    for (String mvcPattern : mvcPatterns) {
        MvcRequestMatcher matcher = new MvcRequestMatcher(introspector, mvcPattern);
        if (isServlet30) {
            opp.postProcess(matcher);
        }
        if (method != null) {
            matcher.setMethod(method);
        }
        matchers.add(matcher);
    }
    return matchers;
}
Also used : HandlerMappingIntrospector(org.springframework.web.servlet.handler.HandlerMappingIntrospector) ArrayList(java.util.ArrayList) MvcRequestMatcher(org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher)

Aggregations

ArrayList (java.util.ArrayList)1 MvcRequestMatcher (org.springframework.security.web.servlet.util.matcher.MvcRequestMatcher)1 HandlerMappingIntrospector (org.springframework.web.servlet.handler.HandlerMappingIntrospector)1