当前位置: 首页>>代码示例>>Java>>正文


Java RegisteredService.getTheme方法代码示例

本文整理汇总了Java中org.jasig.cas.services.RegisteredService.getTheme方法的典型用法代码示例。如果您正苦于以下问题:Java RegisteredService.getTheme方法的具体用法?Java RegisteredService.getTheme怎么用?Java RegisteredService.getTheme使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.jasig.cas.services.RegisteredService的用法示例。


在下文中一共展示了RegisteredService.getTheme方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: resolveThemeName

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
@Override
public String resolveThemeName(final HttpServletRequest request) {
    if (this.servicesManager == null) {
        return getDefaultThemeName();
    }
    // retrieve the user agent string from the request
    final String userAgent = request.getHeader("User-Agent");

    if (StringUtils.isBlank(userAgent)) {
        return getDefaultThemeName();
    }

    for (final Map.Entry<Pattern, String> entry : this.overrides.entrySet()) {
        if (entry.getKey().matcher(userAgent).matches()) {
            request.setAttribute("isMobile", "true");
            request.setAttribute("browserType", entry.getValue());
            break;
        }
    }

    final RequestContext context = RequestContextHolder.getRequestContext();
    final Service service = WebUtils.getService(context);
    if (service != null) {
        final RegisteredService rService = this.servicesManager.findServiceBy(service);
        if (rService != null && rService.getAccessStrategy().isServiceAccessAllowed()
                && StringUtils.isNotBlank(rService.getTheme())) {
            LOGGER.debug("Service [{}] is configured to use a custom theme [{}]", rService, rService.getTheme());
            final CasThemeResourceBundleMessageSource messageSource = new CasThemeResourceBundleMessageSource();
            messageSource.setBasename(rService.getTheme());
            if (messageSource.doGetBundle(rService.getTheme(), request.getLocale()) != null) {
                LOGGER.debug("Found custom theme [{}] for service [{}]", rService.getTheme(), rService);
                return rService.getTheme();
            } else {
                LOGGER.warn("Custom theme {} for service {} cannot be located. Falling back to default theme...",
                        rService.getTheme(), rService);
            }
        }
    }
    return getDefaultThemeName();
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:41,代码来源:ServiceThemeResolver.java

示例2: buildView

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
/**
 * Uses the viewName and the theme associated with the service.
 * being requested and returns the appropriate view.
 * @param viewName the name of the view to be resolved
 * @return a theme-based UrlBasedView
 * @throws Exception an exception
 */
@Override
protected AbstractUrlBasedView buildView(final String viewName) throws Exception {
    final RequestContext requestContext = RequestContextHolder.getRequestContext();
    final WebApplicationService service = WebUtils.getService(requestContext);
    final RegisteredService registeredService = this.servicesManager.findServiceBy(service);

    final String themeId = service != null && registeredService != null
            && registeredService.getAccessStrategy().isServiceAccessAllowed()
            && StringUtils.hasText(registeredService.getTheme()) ? registeredService.getTheme() : defaultThemeId;

    final String themePrefix = String.format("%s/%s/ui/", pathPrefix, themeId);
    LOGGER.debug("Prefix {} set for service {} with theme {}", themePrefix, service, themeId);

    //Build up the view like the base classes do, but we need to forcefully set the prefix for each request.
    //From UrlBasedViewResolver.buildView
    final InternalResourceView view = (InternalResourceView) BeanUtils.instantiateClass(getViewClass());
    view.setUrl(themePrefix + viewName + getSuffix());
    final String contentType = getContentType();
    if (contentType != null) {
        view.setContentType(contentType);
    }
    view.setRequestContextAttribute(getRequestContextAttribute());
    view.setAttributesMap(getAttributesMap());

    //From InternalResourceViewResolver.buildView
    view.setAlwaysInclude(false);
    view.setExposeContextBeansAsAttributes(false);
    view.setPreventDispatchLoop(true);

    LOGGER.debug("View resolved: {}", view.getUrl());

    return view;
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:41,代码来源:RegisteredServiceThemeBasedViewResolver.java

示例3: resolveThemeName

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
@Override
public String resolveThemeName(final HttpServletRequest request) {
    if (this.servicesManager == null) {
        return getDefaultThemeName();
    }

    final Service service = WebUtils.getService(this.argumentExtractors, request);

    final RegisteredService rService = this.servicesManager.findServiceBy(service);

    // retrieve the user agent string from the request
    String userAgent = request.getHeader("User-Agent");

    if (userAgent == null) {
        return getDefaultThemeName();
    }

    for (final Map.Entry<Pattern, String> entry : this.overrides.entrySet()) {
        if (entry.getKey().matcher(userAgent).matches()) {
            request.setAttribute("isMobile", "true");
            request.setAttribute("browserType", entry.getValue());
            break;
        }
    }

    return service != null && rService != null && StringUtils.hasText(rService.getTheme())
            ? rService.getTheme() : getDefaultThemeName();
}
 
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:29,代码来源:ServiceThemeResolver.java

示例4: resolveServiceThemeName

import org.jasig.cas.services.RegisteredService; //导入方法依赖的package包/类
/**
 * Resolve the theme for the service. This method's logic is taken from ServiceThemeResolver.
 *
 * @param request
 * @return configured theme for this service
 */
protected String resolveServiceThemeName(HttpServletRequest request) {
    if (this.servicesManager == null) {
        return getDefaultThemeName();
    }

    final Service service = WebUtils.getService(this.argumentExtractors, request);

    final RegisteredService rService = this.servicesManager.findServiceBy(service);

    return service != null && rService != null && StringUtils.hasText(rService.getTheme())
            ? rService.getTheme()
            : getDefaultThemeName();
}
 
开发者ID:Jasig,项目名称:uPortal-start,代码行数:20,代码来源:ConfigurableUserAgentOverrideThemeResolver.java


注:本文中的org.jasig.cas.services.RegisteredService.getTheme方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。