Skip to content
This repository has been archived by the owner on Dec 22, 2022. It is now read-only.

Commit

Permalink
Merge branch 'master' into feature/variableEndpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
jhkuperus committed Feb 3, 2017
2 parents 8fe56fa + f940011 commit 9dc6207
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 1 deletion.
7 changes: 7 additions & 0 deletions app/Filters.scala
@@ -0,0 +1,7 @@
import javax.inject.Inject

import play.api.http.DefaultHttpFilters
import play.filters.cors.CORSFilter

class Filters @Inject() (corsFilter: CORSFilter)
extends DefaultHttpFilters(corsFilter)
3 changes: 3 additions & 0 deletions app/controllers/conversion/Conversion.scala
Expand Up @@ -96,16 +96,19 @@ object DefaultJsonConversion extends JsonConversionsProvider {

private def bedragFunct(fact: Fact[Any], factValue: JsValue): JsResult[Bedrag] = factValue match {
case jsNumber: JsNumber => Json.fromJson[Bedrag](jsNumber)
case jsString: JsString => Json.fromJson[Bedrag](jsString)
case _ => JsError(ValidationError(s"Conversion for Bedrag fact ${fact.name} failed, corresponding value was not of expected type JsNumber"))
}

private def percentageFunct(fact: Fact[Any], factValue: JsValue): JsResult[Percentage] = factValue match {
case jsNumber: JsNumber => Json.fromJson[Percentage](jsNumber)
case jsString: JsString => Json.fromJson[Percentage](jsString)
case _ => JsError(ValidationError(s"Conversion for Percentage fact ${fact.name} failed, corresponding value was not of expected type JsNumber"))
}

private def booleanFunct(fact: Fact[Any], factValue: JsValue): JsResult[Boolean] = factValue match {
case jsBoolean: JsBoolean => JsSuccess(jsBoolean.value)
case jsString: JsString => JsSuccess(jsString.value.toBoolean)
case _ => JsError(ValidationError(s"Conversion for String fact ${fact.name} failed, corresponding value was not of expected type JsBoolean"))
}

Expand Down
3 changes: 3 additions & 0 deletions app/controllers/conversion/ImplicitConversions.scala
Expand Up @@ -7,6 +7,7 @@ import play.api.data.validation.ValidationError
import play.api.libs.json._

import scala.annotation.tailrec
import scala.util.Try

object ImplicitConversions {

Expand Down Expand Up @@ -55,6 +56,7 @@ object ImplicitConversions {
implicit object bedragReads extends Reads[Bedrag] {
def reads(jsValue: JsValue): JsResult[Bedrag] = jsValue match {
case jsNumber: JsNumber => JsSuccess(jsNumber.value.euro)
case jsString: JsString => Try(JsSuccess(jsString.value.euro)).getOrElse(JsError(ValidationError(s"Unable to convert value '${jsString.value}' to Bedrag, is it numeric?")))
case other: Any => JsError(ValidationError("error.invalid.bedrag", other))
}
}
Expand All @@ -68,6 +70,7 @@ object ImplicitConversions {
implicit object percentageReads extends Reads[Percentage] {
def reads(jsValue: JsValue): JsResult[Percentage] = jsValue match {
case jsNumber: JsNumber => JsSuccess(jsNumber.value.procent)
case jsString: JsString => Try(JsSuccess(jsString.value.procent)).getOrElse(JsError(ValidationError(s"Unable to convert value '${jsString.value}' to Percentage, is it numeric?")))
case other: Any => JsError(ValidationError("error.invalid.percentage", other))
}
}
Expand Down
3 changes: 2 additions & 1 deletion build.sbt
Expand Up @@ -40,7 +40,8 @@ lazy val dependencies = Seq(
"org.joda" % "joda-convert" % jodaConvertVersion,
"org.scalatest" %% "scalatest" % scalaTestVersion % Test,
"org.scalacheck" %% "scalacheck" % "1.12.5" % Test,
"com.storm-enroute" %% "scalameter" % "0.7" % Test
"com.storm-enroute" %% "scalameter" % "0.7" % Test,
filters
)

// *** Static analysis ***
Expand Down
8 changes: 8 additions & 0 deletions conf/application.conf
Expand Up @@ -18,3 +18,11 @@ jars.load = [
// Add location to JARs containing Glossaries and Berekeningen, example:
// "C:/RootOfM2Folder/.m2/repository/org/scala-rules/examples_2.11/1.0.1-SNAPSHOT/examples_2.11-1.0.1-SNAPSHOT.jar"
]

# CORS Configuration
play.filters.cors {
pathPrefixes = ["/"]
allowedOrigins = null
allowedHttpMethods = ["GET", "POST"]
allowedHttpHeaders = null
}

0 comments on commit 9dc6207

Please sign in to comment.