Example usage for org.springframework.web.servlet HandlerMapping URI_TEMPLATE_VARIABLES_ATTRIBUTE

List of usage examples for org.springframework.web.servlet HandlerMapping URI_TEMPLATE_VARIABLES_ATTRIBUTE

Introduction

In this page you can find the example usage for org.springframework.web.servlet HandlerMapping URI_TEMPLATE_VARIABLES_ATTRIBUTE.

Prototype

String URI_TEMPLATE_VARIABLES_ATTRIBUTE

To view the source code for org.springframework.web.servlet HandlerMapping URI_TEMPLATE_VARIABLES_ATTRIBUTE.

Click Source Link

Document

Name of the HttpServletRequest attribute that contains the URI templates map, mapping variable names to values.

Usage

From source file:com.wms.multitenant.tenant.interceptor.TenantIdentifierInterceptorAdapter.java

@Override
public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object handler) throws Exception {

    Map<String, Object> pathVars = (Map<String, Object>) req
            .getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
    if (pathVars.containsKey("tenantId")) {
        String tenantId = pathVars.get("tenantId").toString();
        Optional<Tenant> thisTenant = tenantRepo.findByTenantKey(tenantId);
        if (thisTenant.isPresent()) {
            req.setAttribute("Current_Tenant", thisTenant.get().getTenantKey());
            return true;
        } else {// www .ja  va 2s. com
            res.sendRedirect(req.getContextPath() + "/signUp");
            return false;
        }
    } else {
        return true;
    }

}

From source file:eu.trentorise.game.api.rest.AuthorizationInterceptor.java

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    @SuppressWarnings("unchecked")
    Map<String, String> pathVariables = (Map<String, String>) request
            .getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);

    String gameId = (String) pathVariables.get("gameId");
    String user = identityLookup.getName();
    boolean isOk = permissionManager.checkGamePermission(user, gameId);
    if (!isOk) {/*  w  ww . j  av  a  2 s .c  om*/
        response.sendError(HttpServletResponse.SC_FORBIDDEN, "access not permitted");
    }
    return isOk;
}

From source file:org.wallride.web.support.PathVariableLocaleResolver.java

@Override
public Locale resolveLocale(HttpServletRequest request) {
    Blog blog = blogService.getBlogById(Blog.DEFAULT_ID);
    String defaultLanguage = (blog != null) ? blog.getDefaultLanguage() : null;

    Map<String, Object> pathVariables = (Map<String, Object>) request
            .getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
    String currentLanguage = (String) pathVariables.get("language");
    if (currentLanguage == null) {
        currentLanguage = defaultLanguage;
    } else {/* w  w  w. ja va 2 s. c o  m*/
        boolean correct = false;
        if (blog != null) {
            for (BlogLanguage blogLanguage : blog.getLanguages()) {
                if (blogLanguage.getLanguage().equals(currentLanguage)) {
                    correct = true;
                    break;
                }
            }
        }
        if (!correct) {
            currentLanguage = defaultLanguage;
        }
    }

    return (currentLanguage != null) ? Locale.forLanguageTag(currentLanguage) : request.getLocale();
}

From source file:fi.helsinki.opintoni.security.authorization.portfolio.PortfolioRequestResolver.java

@SuppressWarnings("unchecked")
private Map<String, String> getTemplateVariables(HttpServletRequest request) {
    return (Map<String, String>) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
}

From source file:rugal.sample.controller.StudentActionServerSideTest.java

@Test
//    @Ignore//  w ww. j a  v a2s  .c o  m
public void getAddress() {
    request.setMethod(HttpMethod.GET.name());
    request.setRequestURI("/student/{id}");
    HashMap<String, String> pathVariablesMap = new HashMap<>(1);
    pathVariablesMap.put("id", "3");
    request.setAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE, pathVariablesMap);
    Class<?>[] parameterTypes = new Class<?>[] { Integer.class };
    ModelAndView mv = null;
    try {
        mv = handlerAdapter.handle(request, response,
                new HandlerMethod(studentAction, "retrieve", parameterTypes));
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:learning.candystore.controller.CandyActionServerSideTest.java

@Test
@Ignore//from w w w. j a va 2 s  . c om
public void getAddress() {
    request.setMethod(HttpMethod.GET.name());
    request.setRequestURI("/student/{id}");
    HashMap<String, String> pathVariablesMap = new HashMap<>(1);
    pathVariablesMap.put("id", "1");
    request.setAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE, pathVariablesMap);
    Class<?>[] parameterTypes = new Class<?>[] { Integer.class };
    ModelAndView mv = null;
    try {
        mv = handlerAdapter.handle(request, response,
                new HandlerMethod(candyAction, "retrieve", parameterTypes));
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:nd.dev.framework.basedemo.controllers.StudentActionServerSideTest.java

public void getAddress() {
    request.setMethod(HttpMethod.GET.name());
    request.setRequestURI("/student/{id}");
    HashMap<String, String> pathVariablesMap = new HashMap<>(1);
    pathVariablesMap.put("id", "1");
    request.setAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE, pathVariablesMap);
    Class<?>[] parameterTypes = new Class<?>[] { Integer.class };
    ModelAndView mv = null;/*from   ww w  .  j a  v  a 2s .  com*/
    try {
        mv = handlerAdapter.handle(request, response,
                new HandlerMethod(studentAction, "retrieve", parameterTypes));
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:org.springjutsu.validation.util.RequestUtils.java

/**
 * Used by successView and validationFailureView.
 * If the user specifies a path containing RESTful url
 * wildcards, evaluate those wildcard expressions against 
 * the current model map, and plug them into the url.
 * If the wildcard is a multisegmented path, get the top level
 * bean from the model map, and fetch the sub path using 
 * a beanwrapper instance.//from ww w . ja va  2  s .  co  m
 * @param viewName The view potentially containing wildcards
 * @param model the model map 
 * @param request the request
 * @return a wildcard-substituted view name
 */
@SuppressWarnings("unchecked")
public static String replaceRestPathVariables(String viewName, Map<String, Object> model,
        HttpServletRequest request) {
    String newViewName = viewName;
    Matcher matcher = Pattern.compile(PATH_VAR_PATTERN).matcher(newViewName);
    while (matcher.find()) {
        String match = matcher.group();
        String varName = match.substring(1, match.length() - 1);
        String baseVarName = null;
        String subPath = null;
        if (varName.contains(".")) {
            baseVarName = varName.substring(0, varName.indexOf("."));
            subPath = varName.substring(varName.indexOf(".") + 1);
        } else {
            baseVarName = varName;
        }
        Map<String, String> uriTemplateVariables = (Map<String, String>) request
                .getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
        if (uriTemplateVariables != null && uriTemplateVariables.containsKey(varName)) {
            newViewName = newViewName.replace(match, String.valueOf(uriTemplateVariables.get(varName)));
        } else {
            Object resolvedObject = model.get(baseVarName);
            if (resolvedObject == null) {
                throw new IllegalArgumentException(varName + " is not present in model.");
            }
            if (subPath != null) {
                BeanWrapperImpl beanWrapper = new BeanWrapperImpl(resolvedObject);
                resolvedObject = beanWrapper.getPropertyValue(subPath);
            }
            if (resolvedObject == null) {
                throw new IllegalArgumentException(varName + " is not present in model.");
            }
            newViewName = newViewName.replace(match, String.valueOf(resolvedObject));
        }
        matcher.reset(newViewName);
    }
    return newViewName;
}

From source file:cn.guoyukun.spring.jpa.web.bind.method.annotation.BaseMethodArgumentResolver.java

@SuppressWarnings("unchecked")
protected final Map<String, String> getUriTemplateVariables(NativeWebRequest request) {
    Map<String, String> variables = (Map<String, String>) request
            .getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE, RequestAttributes.SCOPE_REQUEST);
    return (variables != null) ? variables : Collections.<String, String>emptyMap();
}

From source file:org.wallride.web.controller.guest.page.PageDescribeController.java

@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    BlogLanguage blogLanguage = (BlogLanguage) request
            .getAttribute(BlogLanguageMethodArgumentResolver.BLOG_LANGUAGE_ATTRIBUTE);
    if (blogLanguage == null) {
        Blog blog = blogService.getBlogById(Blog.DEFAULT_ID);
        blogLanguage = blog.getLanguage(blog.getDefaultLanguage());
    }//from ww w.  j  ava  2s  . com

    String path = urlPathHelper.getLookupPathForRequest(request);

    PathMatcher pathMatcher = new AntPathMatcher();
    if (!pathMatcher.match(PATH_PATTERN, path)) {
        throw new HttpNotFoundException();
    }

    Map<String, String> variables = pathMatcher.extractUriTemplateVariables(PATH_PATTERN, path);
    request.setAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE, variables);

    Page page = pageService.getPageByCode(variables.get("code"), blogLanguage.getLanguage());
    if (page == null) {
        page = pageService.getPageByCode(variables.get("code"), blogLanguage.getBlog().getDefaultLanguage());
    }
    if (page == null) {
        throw new HttpNotFoundException();
    }
    if (page.getStatus() != Post.Status.PUBLISHED) {
        throw new HttpNotFoundException();
    }

    return createModelAndView(page);
}