Skip to content

upgrade to play 2.5.13 #2

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This is your new Play 2.1 application
This is your new Play 2.5 application
=====================================

This file will be packaged with your application, when using `play dist`.
66 changes: 34 additions & 32 deletions app/controllers/Messages.scala
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
package controllers

import play.api.mvc.{AsyncResult, Action, Controller}
import play.api.data._
import play.api.data.Forms._
import helpers.Global.messagesRepository
import javax.inject.Inject

import com.github.mauricio.async.db.util.ExecutorServiceUtils.CachedExecutionContext
import models.Message
import models.{Message, MessageRepository}
import play.api.data.Forms._
import play.api.data._
import play.api.i18n.{I18nSupport, MessagesApi}
import play.api.mvc.{Action, Controller}

import scala.concurrent.Future

/**
* User: mauricio
* Date: 4/27/13
* Time: 4:17 PM
*/
object Messages extends Controller {
object Messages {

val messageForm = Form(
mapping(
Expand All @@ -22,44 +21,47 @@ object Messages extends Controller {
)(Message.apply)(Message.unapply)
)

def index = Action {
AsyncResult( messagesRepository.list.map {
}

class Messages @Inject() (val messagesRepository: MessageRepository)(implicit val messagesApi: MessagesApi) extends Controller with I18nSupport {

import Messages._

def index = Action.async {
messagesRepository.list.map {
messages =>
Ok(views.html.messages.index(messages))
} )
}
}

def form = Action {
Ok(views.html.messages.form(messageForm))
}

def edit( id : Long ) = Action {
AsyncResult {
messagesRepository.find(id).map {
messageOption =>
messageOption match {
case Some(message) => {
Ok( views.html.messages.form( messageForm.fill(message) ) )
}
case None => Ok( views.html.messages.form( messageForm ) )
def edit(id: Long) = Action.async {
messagesRepository.find(id).map {
messageOption =>
messageOption match {
case Some(message) => {
Ok(views.html.messages.form(messageForm.fill(message)))
}
}
case None => Ok(views.html.messages.form(messageForm))
}
}

}

def update = Action { implicit request =>
def update = Action.async { implicit request =>
messageForm.bindFromRequest().fold(
form => {
BadRequest( views.html.messages.form(form) )
Future(BadRequest(views.html.messages.form(form)))
},
message => {
AsyncResult {
messagesRepository.save(message).map {
message =>
Redirect(routes.Messages.index())
}
messagesRepository.save(message).map {
message =>
Redirect(routes.Messages.index())
}
} )
})
}

}
22 changes: 22 additions & 0 deletions app/helpers/ConnectionPoolProvider.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package helpers

import javax.inject.{Inject, Provider}

import com.github.mauricio.async.db.pool.{ConnectionPool, PoolConfiguration}
import com.github.mauricio.async.db.postgresql.PostgreSQLConnection
import com.github.mauricio.async.db.postgresql.pool.PostgreSQLConnectionFactory
import play.api.inject.ApplicationLifecycle

import scala.concurrent.{ExecutionContext, Future}


class ConnectionPoolProvider @Inject()(factory: PostgreSQLConnectionFactory,
applicationLifecycle: ApplicationLifecycle)
(implicit executionContext: ExecutionContext) extends Provider[ConnectionPool[PostgreSQLConnection]] {

applicationLifecycle.addStopHook(() => Future(get.close))

lazy val get: ConnectionPool[PostgreSQLConnection] = new ConnectionPool(factory, PoolConfiguration.Default)


}
19 changes: 19 additions & 0 deletions app/helpers/DatabaseConfigurationProvider.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package helpers

import javax.inject.Provider

import com.github.mauricio.async.db.Configuration
import com.github.mauricio.async.db.postgresql.util.URLParser


class DatabaseConfigurationProvider extends Provider[Configuration] {
private val databaseConfiguration : Configuration = System.getenv("DATABASE_URL") match {
case url : String => URLParser.parse(url)
case _ => new Configuration(
username = "postgres" ,
database = Some("postgresql_async_app_development")
)
}

lazy val get: Configuration = databaseConfiguration
}
33 changes: 0 additions & 33 deletions app/helpers/Global.scala

This file was deleted.

14 changes: 14 additions & 0 deletions app/helpers/PostgreSQLConnectionFactoryProvider.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package helpers

import javax.inject.{Inject, Provider}

import com.github.mauricio.async.db.Configuration
import com.github.mauricio.async.db.postgresql.pool.PostgreSQLConnectionFactory
import com.github.mauricio.async.db.postgresql.util.URLParser


class PostgreSQLConnectionFactoryProvider @Inject() (conf: Configuration) extends Provider[PostgreSQLConnectionFactory] {

lazy val get: PostgreSQLConnectionFactory = new PostgreSQLConnectionFactory( conf )

}
20 changes: 20 additions & 0 deletions app/helpers/PostgresModule.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package helpers

import com.github.mauricio.async.db.{Configuration, Connection}
import com.github.mauricio.async.db.pool.ConnectionPool
import com.github.mauricio.async.db.postgresql.PostgreSQLConnection
import com.github.mauricio.async.db.postgresql.pool.PostgreSQLConnectionFactory
import com.google.inject.AbstractModule

/**
* Created by domdorn on 19/03/17.
*/
class PostgresModule extends AbstractModule {
override def configure(): Unit = {
bind(classOf[Configuration]).toProvider(classOf[DatabaseConfigurationProvider])
bind(classOf[PostgreSQLConnectionFactory]).toProvider(classOf[PostgreSQLConnectionFactoryProvider])
bind(classOf[ConnectionPool[PostgreSQLConnection]]).toProvider(classOf[ConnectionPoolProvider])
bind(classOf[Connection]).toProvider(classOf[ConnectionPoolProvider])

}
}
6 changes: 4 additions & 2 deletions app/models/MessageRepository.scala
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package models

import javax.inject.Inject

import scala.concurrent.Future
import org.joda.time.LocalDate
import com.github.mauricio.async.db.{RowData, Connection}
import com.github.mauricio.async.db.{Connection, RowData}
import com.github.mauricio.async.db.util.ExecutorServiceUtils.CachedExecutionContext

/**
Expand All @@ -18,7 +20,7 @@ object MessageRepository {
val SelectOne = "SELECT id, content, moment FROM messages WHERE id = ?"
}

class MessageRepository(pool: Connection) {
class MessageRepository @Inject() (pool: Connection) {

import MessageRepository._

Expand Down
3 changes: 2 additions & 1 deletion app/views/main.scala.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
@(title: String)(content: Html)
@import play.api.i18n.Messages
@(title: String)(content: Html)(implicit messages: Messages)

<!DOCTYPE html>

Expand Down
3 changes: 2 additions & 1 deletion app/views/messages/form.scala.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
@(messageForm: Form[Message])
@import play.api.i18n.Messages
@(messageForm: Form[Message])(implicit messages: Messages)
@main("Message Form") {

@if( messageForm.hasErrors ) {
Expand Down
3 changes: 2 additions & 1 deletion app/views/messages/index.scala.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
@(messages : IndexedSeq[Message])
@import play.api.i18n.Messages
@(messages : IndexedSeq[Message])(implicit msg: Messages)

@main("Messages!") {

Expand Down
17 changes: 17 additions & 0 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import sbt.Keys._
import sbt._
import play.sbt.PlayImport._


scalaVersion in ThisBuild := "2.11.8"

name := "postgresql-async-app"

version := "2.5.13-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

libraryDependencies ++= Seq(
"com.github.mauricio" %% "postgresql-async" % "0.2.20"
)

7 changes: 1 addition & 6 deletions conf/application.conf
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,7 @@ application.secret="pVYurJ`B6sDd_OF@fon?Kd_XdTIsIT454Du1l4G6i6^v<55FSc`UN59_3bOs
# ~~~~~
application.langs="en"

# Global object class
# ~~~~~
# Define the Global object class for this application.
# Default to Global in the root package.

application.global=helpers.Global
play.modules.enabled += helpers.PostgresModule

# Router
# ~~~~~
Expand Down
20 changes: 0 additions & 20 deletions project/Build.scala

This file was deleted.

2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=0.12.2
sbt.version=0.13.13
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ logLevel := Level.Warn
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// Use the Play sbt plugin for Play projects
addSbtPlugin("play" % "sbt-plugin" % "2.1.1")
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.13")