本文整理汇总了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();
}
示例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();
}
示例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();
}