/** * @see com.isotrol.impe3.api.LocaleResolver#resolveLocale(com.isotrol.impe3.api.LocaleResolutionParams) */ public ResolvedLocale resolveLocale(LocaleResolutionParams params) { return new ResolvedLocale(params.getPath(), SPANISH, params.getParameters()); }
/** * @see com.isotrol.impe3.api.LocaleResolver#resolveLocale(com.isotrol.impe3.api.LocaleResolutionParams) */ public ResolvedLocale resolveLocale(LocaleResolutionParams params) { return new ResolvedLocale(params.getPath(), locale, params.getParameters()); }
/** * @see com.isotrol.impe3.api.LocaleResolver#resolveLocale(com.isotrol.impe3.api.LocaleResolutionParams) */ public ResolvedLocale resolveLocale(LocaleResolutionParams params) { Locale locale = params.getPortal().getDefaultLocale(); return new ResolvedLocale(params.getPath(), firstNonNull(locale, SPANISH), params.getParameters()); }
private ResolvedLocale resolve(Portal portal, PathSegments path, HttpHeaders headers, HttpRequestContext request, LocalParams parameters) { final Locale locale = headers.getLanguage(); final List<Locale> acceptables = headers.getAcceptableLanguages(); if (locale == null && (acceptables == null || acceptables.isEmpty())) { return null; } final Set<Locale> locales = portalSupportedLocales( portal.getDefaultLocale(), portal.getLocales()); if (locales.isEmpty()) { return null; } if (locale != null && locales.contains(locale)) { return new ResolvedLocale(path, locale, parameters); } if (acceptables != null) { for (Locale l : acceptables) { if (locales.contains(l)) { return new ResolvedLocale(path, l, parameters); } } } return null; }
/** * @see com.isotrol.impe3.api.LocaleResolver#resolveLocale(com.isotrol.impe3.api.LocaleResolutionParams) */ public ResolvedLocale resolveLocale(LocaleResolutionParams params) { Locale locale = null; PathSegments p = params.getPath(); if (p.isEmpty()) { // TODO use fallback return new ResolvedLocale(params.getPath(), params.getPortal().getDefaultLocale(), params.getParameters()); } String segment = p.get(0); locale = cache.getUnchecked(params.getPortal()).get(segment); if (locale == null) { // TODO use fallback return new ResolvedLocale(params.getPath(), params.getPortal().getDefaultLocale(), params.getParameters()); } return new ResolvedLocale(p.consume(), locale, params.getParameters()); }
/** * @see com.isotrol.impe3.api.LocaleResolver#resolveLocale(com.isotrol.impe3.api.LocaleResolutionParams) */ public ResolvedLocale resolveLocale(LocaleResolutionParams params) { Locale locale = null; if (attribute != null && params.getRequest() != null) { Object lo = params.getRequest().getSessionParams().get(attribute); if (lo instanceof Locale) { locale = (Locale) lo; } else if (lo != null) { final String ls = lo.toString(); try { locale = Locales.fromString(ls); } catch (RuntimeException e) { Loggers.connectors().warn(String.format("Unable to parse locale [%s]", ls)); } } } if (locale == null) { return fallback.resolveLocale(params); } return new ResolvedLocale(params.getPath(), locale, params.getParameters()); }