|
Play Framework/Scala example source code file (JavaGlobalSettingsAdapter.scala)
The JavaGlobalSettingsAdapter.scala Play Framework example source code/* * Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com> */ package play.core.j import play.api._ import play.api.mvc._ import java.io.File import scala.concurrent.Future import play.api.libs.iteratee._ import scala.util.control.NonFatal /** Adapter that holds the Java `GlobalSettings` and acts as a Scala `GlobalSettings` for the framework. */ class JavaGlobalSettingsAdapter(val underlying: play.GlobalSettings) extends GlobalSettings { require(underlying != null, "underlying cannot be null") override def beforeStart(app: Application) { underlying.beforeStart(new play.Application(app)) } override def onStart(app: Application) { underlying.onStart(new play.Application(app)) } override def onStop(app: Application) { underlying.onStop(new play.Application(app)) } override def onRouteRequest(request: RequestHeader): Option[Handler] = { val r = JavaHelpers.createJavaRequest(request) Option(underlying.onRouteRequest(r)).map(Some(_)).getOrElse(super.onRouteRequest(request)) } override def onError(request: RequestHeader, ex: Throwable): Future[Result] = { JavaHelpers.invokeWithContext(request, req => Option(underlying.onError(req, ex))) .getOrElse(super.onError(request, ex)) } override def onHandlerNotFound(request: RequestHeader): Future[Result] = { JavaHelpers.invokeWithContext(request, req => Option(underlying.onHandlerNotFound(req))) .getOrElse(super.onHandlerNotFound(request)) } override def onBadRequest(request: RequestHeader, error: String): Future[Result] = { JavaHelpers.invokeWithContext(request, req => Option(underlying.onBadRequest(req, error))) .getOrElse(super.onBadRequest(request, error)) } override def getControllerInstance[A](controllerClass: Class[A]): A = { Option(underlying.getControllerInstance(controllerClass)) .getOrElse(super.getControllerInstance(controllerClass)) } override def onLoadConfig(config: Configuration, path: File, classloader: ClassLoader, mode: Mode.Mode) = { import JavaModeConverter.asJavaMode Option(underlying.onLoadConfig(new play.Configuration(config), path, classloader, mode)) .map(_.getWrappedConfiguration).getOrElse(super.onLoadConfig(config, path, classloader, mode)) } override def doFilter(a: EssentialAction): EssentialAction = { try { Filters(super.doFilter(a), underlying.filters.map(_.newInstance: play.api.mvc.EssentialFilter): _*) } catch { case NonFatal(e) => { import play.api.libs.iteratee.Execution.Implicits.trampoline EssentialAction(req => Iteratee.flatten(onError(req, e).map(result => Done(result, Input.Empty)))) } } } } Other Play Framework source code examplesHere is a short list of links related to this Play Framework JavaGlobalSettingsAdapter.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.