Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added optional creation of Lang obect is one if correct. #338

Closed
wants to merge 2 commits into from

Conversation

rssh
Copy link
Contributor

@rssh rssh commented May 28, 2012

It would be good to have in API ability to create language from string only if string can represent correct language. This is needed when you want to have explicit localization be available (for example when language is set as part or url). So, I added optional method to Lang object, with typical usage:

Lang.optional(slang).getOrElse(Lang.prefferedLanguage) 

@ornicar
Copy link
Contributor

ornicar commented May 30, 2012

👍 actually my logs are filled by stacktraces because of clients using invalid acceptLanguage headers

@joscha
Copy link
Contributor

joscha commented Jun 4, 2012

same here - what is still needed to make this pullable?
Backlink to discussion that brought me here: https://groups.google.com/forum/?fromgroups#!topic/play-framework/vihGFeHagcU

@pk11
Copy link
Contributor

pk11 commented Jun 4, 2012

Hi there, could you please sign our CLA? http://typesafe.com/contribute/cla

@rssh
Copy link
Contributor Author

rssh commented Jun 4, 2012

Done

// rssh: mobile

----- Reply message -----
От: "Peter Hausel" reply@reply.github.com
Дата: пн, июн 4, 2012 15:21
Тема: [Play20] added optional creation of Lang obect is one if correct. (#338)
Кому: "Ruslan Shevchenko" ruslan@shevchenko.kiev.ua

Hi there, could you please sign our CLA? http://typesafe.com/contribute/cla


Reply to this email directly or view it on GitHub:
#338 (comment)

@tmyymmt
Copy link

tmyymmt commented Jun 5, 2012

This is a critical problem for many people. Thanks.

@pk11
Copy link
Contributor

pk11 commented Jun 13, 2012

actually, just one small thing, could you please rename the option method to get? Otherwise it looks good. Thanks

@ghost ghost assigned pk11 Jun 13, 2012
@pk11
Copy link
Contributor

pk11 commented Jun 15, 2012

Thanks. This is now merged, please provide a corresponding ticket* (lighthouse: https://play.lighthouseapp.com/projects/82401-play-20/milestones/137248-21) and a functional test next time ( as described here: https://github.com/playframework/Play20/wiki/Guidelines) Thanks again!

(* I have created a ticket for this pull request already)

@pk11 pk11 closed this Jun 15, 2012
@joscha
Copy link
Contributor

joscha commented Jun 27, 2012

I am still getting this with 2.1-TRUNK from today (2012-06-27):

java.lang.RuntimeException: Unrecognized language: *
at scala.sys.package$.error(package.scala:27)
at play.api.i18n.Lang$$anonfun$apply$1.apply(Messages.scala:56)
at play.api.i18n.Lang$$anonfun$apply$1.apply(Messages.scala:56)
at scala.Option.getOrElse(Option.scala:108)
at play.api.i18n.Lang$.apply(Messages.scala:55)
at play.api.mvc.RequestHeader$$anonfun$acceptLanguages$1$$anonfun$apply$1.apply(Http.scala:66)
at play.api.mvc.RequestHeader$$anonfun$acceptLanguages$1$$anonfun$apply$1.apply(Http.scala:66)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:38)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:194)
at scala.collection.mutable.ArrayOps.map(ArrayOps.scala:38)
at play.api.mvc.RequestHeader$$anonfun$acceptLanguages$1.apply(Http.scala:66)
at play.api.mvc.RequestHeader$$anonfun$acceptLanguages$1.apply(Http.scala:65)
at scala.Option.map(Option.scala:133)
at play.api.mvc.RequestHeader$class.acceptLanguages(Http.scala:65)
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$19$$anonfun$apply$17$$anon$1.acceptLanguages(PlayDefaultUpstreamHandler.scala:296)
at play.core.j.JavaHelpers$$anon$2.acceptLanguages(JavaHelpers.scala:120)
at play.mvc.Http$Context.lang(Http.java:108)
at play.mvc.Http$Context$Implicit.lang(Http.java:174)
at play.api.templates.PlayMagicForJava$.implicitJavaLang(Templates.scala:198)
at views.html.login$.apply(login.template.scala:34)
at views.html.login$.render(login.template.scala:82)
at views.html.login.render(login.template.scala)
at controllers.Application.login(Application.java:136)
at Routes$$anonfun$routes$1$$anonfun$apply$11$$anonfun$apply$12.apply(routes_routing.scala:208)
at Routes$$anonfun$routes$1$$anonfun$apply$11$$anonfun$apply$12.apply(routes_routing.scala:208)
at play.core.Router$HandlerInvoker$$anon$4$$anon$1.invocation(Router.scala:1171)
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:29)
at play.GlobalSettings$1.call(GlobalSettings.java:58)
at play.core.j.JavaAction$$anon$2.apply(JavaAction.scala:71)
at play.core.j.JavaAction$$anon$2.apply(JavaAction.scala:70)
at play.libs.F$Promise$PromiseActor.onReceive(F.java:395)
at akka.actor.UntypedActor$$anonfun$receive$1.apply(UntypedActor.scala:154)
at akka.actor.UntypedActor$$anonfun$receive$1.apply(UntypedActor.scala:153)
at akka.actor.Actor$class.apply(Actor.scala:318)
at akka.actor.UntypedActor.apply(UntypedActor.scala:93)
at akka.actor.ActorCell.invoke(ActorCell.scala:626)
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197)
at akka.dispatch.Mailbox.run(Mailbox.scala:179)
at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:516)
at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
at akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)

@dreki
Copy link

dreki commented Sep 27, 2012

I really hate this bug, please fix it. It's getting in the way of testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants