/** * Get a messages context appropriate for the given request. * * Will select a language from the request, based on the languages available, and fallback to the default language * if none of the candidates are available. * * @param request the incoming request * @return the preferred messages context for the request */ public Messages preferred(Http.RequestHeader request) { play.api.i18n.Messages msgs = messages.preferred(request); return new MessagesImpl(new Lang(msgs.lang()), this); }
/** * Get a messages context appropriate for the given request. * * Will select a language from the request, based on the languages available, and fallback to the default language * if none of the candidates are available. * * @param request the incoming request * @return the preferred messages context for the request */ public Messages preferred(Http.RequestHeader request) { play.api.i18n.Messages msgs = messages.preferred(request); return new MessagesImpl(new Lang(msgs.lang()), this); }
/** * Get a messages context appropriate for the given request. * * Will select a language from the request, based on the languages available, and fallback to the default language * if none of the candidates are available. * * @param request the incoming request * @return the preferred messages context for the request */ public Messages preferred(Http.RequestHeader request) { play.api.i18n.Messages msgs = messages.preferred(request); return new MessagesImpl(new Lang(msgs.lang()), this); }
/** * Get a messages context appropriate for the given candidates. * * Will select a language from the candidates, based on the languages available, and fallback to the default language * if none of the candidates are available. * * @param candidates the candidate languages * @return the most appropriate Messages instance given the candidate languages */ public Messages preferred(Collection<Lang> candidates) { Seq<Lang> cs = Scala.asScala(candidates); play.api.i18n.Messages msgs = messages.preferred((Seq)cs); return new MessagesImpl(new Lang(msgs.lang()), this); }
/** * Get a messages context appropriate for the given candidates. * * Will select a language from the candidates, based on the languages available, and fallback to the default language * if none of the candidates are available. * * @param candidates the candidate languages * @return the most appropriate Messages instance given the candidate languages */ public Messages preferred(Collection<Lang> candidates) { Seq<Lang> cs = Scala.asScala(candidates); play.api.i18n.Messages msgs = messages.preferred((Seq)cs); return new MessagesImpl(new Lang(msgs.lang()), this); }
/** * Get a messages context appropriate for the given candidates. * * Will select a language from the candidates, based on the languages available, and fallback to the default language * if none of the candidates are available. * * @param candidates the candidate languages * @return the most appropriate Messages instance given the candidate languages */ public Messages preferred(Collection<Lang> candidates) { Seq<Lang> cs = Scala.asScala(candidates); play.api.i18n.Messages msgs = messages.preferred((Seq)cs); return new MessagesImpl(new Lang(msgs.lang()), this); }
private Set<ConstraintViolation<Object>> runValidation(Lang lang, TypedMap attrs, DataBinder dataBinder, Map<String, Object> objectData) { return withRequestLocale(lang, () -> { dataBinder.bind(new MutablePropertyValues(objectData)); final ValidationPayload payload = new ValidationPayload(lang, lang != null ? new MessagesImpl(lang, this.messagesApi) : null, Http.Context.safeCurrent().map(ctx -> ctx.args).orElse(null), attrs, this.config); final Validator validator = validatorFactory.unwrap(HibernateValidatorFactory.class).usingContext().constraintValidatorPayload(payload).getValidator(); if (groups != null) { return validator.validate(dataBinder.getTarget(), groups); } else { return validator.validate(dataBinder.getTarget()); } }); }
private Set<ConstraintViolation<Object>> runValidation(Lang lang, TypedMap attrs, DataBinder dataBinder, Map<String, Object> objectData) { return withRequestLocale(lang, () -> { dataBinder.bind(new MutablePropertyValues(objectData)); final ValidationPayload payload = new ValidationPayload(lang, lang != null ? new MessagesImpl(lang, this.messagesApi) : null, Http.Context.safeCurrent().map(ctx -> ctx.args).orElse(null), attrs, this.config); final Validator validator = validatorFactory.unwrap(HibernateValidatorFactory.class).usingContext().constraintValidatorPayload(payload).getValidator(); if (groups != null) { return validator.validate(dataBinder.getTarget(), groups); } else { return validator.validate(dataBinder.getTarget()); } }); }
private Set<ConstraintViolation<Object>> runValidation(Lang lang, TypedMap attrs, DataBinder dataBinder, Map<String, Object> objectData) { return withRequestLocale(lang, () -> { dataBinder.bind(new MutablePropertyValues(objectData)); final ValidationPayload payload = new ValidationPayload(lang, lang != null ? new MessagesImpl(lang, this.messagesApi) : null, Http.Context.safeCurrent().map(ctx -> ctx.args).orElse(null), attrs, this.config); final Validator validator = validatorFactory.unwrap(HibernateValidatorFactory.class).usingContext().constraintValidatorPayload(payload).getValidator(); if (groups != null) { return validator.validate(dataBinder.getTarget(), groups); } else { return validator.validate(dataBinder.getTarget()); } }); }
private List<ValidationError> getFieldErrorsAsValidationErrors(Lang lang, BindingResult result) { return result.getFieldErrors().stream().map(error -> { String key = error.getObjectName() + "." + error.getField(); if (key.startsWith("target.") && rootName == null) { key = key.substring(7); } if (error.isBindingFailure()) { ImmutableList.Builder<String> builder = ImmutableList.builder(); final Messages msgs = lang != null ? new MessagesImpl(lang, this.messagesApi) : null; for (String code: error.getCodes()) { code = REPLACE_TYPEMISMATCH.matcher(code).replaceAll(Matcher.quoteReplacement(INVALID_MSG_KEY)); if (msgs == null || msgs.isDefinedAt(code)) { builder.add(code); } } final ImmutableList<String> messages = builder.build(); return new ValidationError(key, messages.isEmpty() ? Arrays.asList(INVALID_MSG_KEY) : messages.reverse(), convertErrorArguments(error.getArguments())); } else { return new ValidationError(key, error.getDefaultMessage(), convertErrorArguments(error.getArguments())); } }).collect(Collectors.toList()); }
private List<ValidationError> getFieldErrorsAsValidationErrors(Lang lang, BindingResult result) { return result.getFieldErrors().stream().map(error -> { String key = error.getObjectName() + "." + error.getField(); if (key.startsWith("target.") && rootName == null) { key = key.substring(7); } if (error.isBindingFailure()) { ImmutableList.Builder<String> builder = ImmutableList.builder(); final Messages msgs = lang != null ? new MessagesImpl(lang, this.messagesApi) : null; for (String code: error.getCodes()) { code = REPLACE_TYPEMISMATCH.matcher(code).replaceAll(Matcher.quoteReplacement(INVALID_MSG_KEY)); if (msgs == null || msgs.isDefinedAt(code)) { builder.add(code); } } final ImmutableList<String> messages = builder.build(); return new ValidationError(key, messages.isEmpty() ? Arrays.asList(INVALID_MSG_KEY) : messages.reverse(), convertErrorArguments(error.getArguments())); } else { return new ValidationError(key, error.getDefaultMessage(), convertErrorArguments(error.getArguments())); } }).collect(Collectors.toList()); }
private List<ValidationError> getFieldErrorsAsValidationErrors(Lang lang, BindingResult result) { return result.getFieldErrors().stream().map(error -> { String key = error.getObjectName() + "." + error.getField(); if (key.startsWith("target.") && rootName == null) { key = key.substring(7); } if (error.isBindingFailure()) { ImmutableList.Builder<String> builder = ImmutableList.builder(); final Messages msgs = lang != null ? new MessagesImpl(lang, this.messagesApi) : null; for (String code: error.getCodes()) { code = REPLACE_TYPEMISMATCH.matcher(code).replaceAll(Matcher.quoteReplacement(INVALID_MSG_KEY)); if (msgs == null || msgs.isDefinedAt(code)) { builder.add(code); } } final ImmutableList<String> messages = builder.build(); return new ValidationError(key, messages.isEmpty() ? Arrays.asList(INVALID_MSG_KEY) : messages.reverse(), convertErrorArguments(error.getArguments())); } else { return new ValidationError(key, error.getDefaultMessage(), convertErrorArguments(error.getArguments())); } }).collect(Collectors.toList()); }