|
Play Framework/Scala example source code file (JAction.scala)
The JAction.scala Play Framework example source code/* * Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com> */ package play.it.http import play.api.mvc.EssentialAction import play.core.j.{JavaActionAnnotations, JavaAction} import play.mvc.{ Http, Result } import play.libs.F.Promise /** * Use this to mock Java actions, eg: * * {{{ * new FakeApplication( * withRouter = { * case _ => JAction(new MockController() { * @Security.Authenticated * def action = ok * }) * } * } * }}} */ object JAction { def apply(c: AbstractMockController): EssentialAction = { new JavaAction { val annotations = new JavaActionAnnotations(c.getClass, c.getClass.getMethod("action")) val parser = annotations.parser def invocation = c.invocation } } } trait AbstractMockController { def invocation: Promise[Result] def ctx = Http.Context.current() def response = ctx.response() def request = ctx.request() def session = ctx.session() def flash = ctx.flash() } abstract class MockController extends AbstractMockController { def action: Result def invocation: Promise[Result] = Promise.pure(action) } abstract class AsyncMockController extends AbstractMockController { def action: Promise[Result] def invocation: Promise[Result] = action } Other Play Framework source code examplesHere is a short list of links related to this Play Framework JAction.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.