Application.scala 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package controllers
  2. import play.api.Play.current
  3. import play.api.mvc._
  4. import play.api.libs.json.Json
  5. import java.util.concurrent._
  6. import scala.concurrent._
  7. import scala.concurrent.Future
  8. import play.api.libs.concurrent.Execution.Implicits._
  9. import play.core.NamedThreadFactory
  10. import models.ActivateWorld
  11. import models.Models._
  12. import models.ActivateFortune
  13. import models.persistenceContext._
  14. object Application extends Controller {
  15. private val TestDatabaseRows = 10000
  16. def db(queries: Int) =
  17. Action {
  18. transactional {
  19. val random = ThreadLocalRandom.current()
  20. val worlds =
  21. for (_ <- 1 to queries) yield {
  22. ActivateWorld.fingByLegacyId(random.nextInt(TestDatabaseRows) + 1)
  23. }
  24. Ok(Json.toJson(worlds))
  25. }
  26. }
  27. def fortunes() =
  28. Action {
  29. val transaction = new Transaction
  30. try
  31. transactional(transaction) {
  32. val fortunes =
  33. ActivateFortune.all ++ List(new ActivateFortune(0, "Additional fortune added at request time."))
  34. Ok(views.html.fortune(fortunes))
  35. }
  36. finally
  37. transaction.rollback
  38. }
  39. def update(queries: Int) =
  40. Action {
  41. val random = ThreadLocalRandom.current()
  42. transactional {
  43. val worlds =
  44. for (_ <- 1 to queries) yield {
  45. val world = ActivateWorld.fingByLegacyId(random.nextInt(TestDatabaseRows) + 1)
  46. world.randomNumber = random.nextInt(TestDatabaseRows) + 1
  47. world
  48. }
  49. Ok(Json.toJson(worlds)).withHeaders("Server" -> "Netty")
  50. }
  51. }
  52. }