@@ -2,7 +2,7 @@ package de.frosner.broccoli.models
2
2
3
3
import com .typesafe .config .{Config , ConfigValue , ConfigValueType }
4
4
import com .typesafe .config .impl .ConfigInt
5
- import de .frosner .broccoli .services .{ParameterValueParsingException , TemplateParameterNotFoundException }
5
+ import de .frosner .broccoli .services .{ParameterNotFoundException , ParameterValueParsingException }
6
6
import org .apache .commons .lang3 .StringEscapeUtils
7
7
import play .api .libs .json ._
8
8
@@ -33,8 +33,8 @@ object ParameterValue {
33
33
jsValue : JsValue ): Try [ParameterValue ] =
34
34
Try {
35
35
val parameterInfo =
36
- parameterInfos.getOrElse(parameterName, ParameterInfo (parameterName, None , None , None , None , None ))
37
- fromJsValue(parameterInfo.`type`.getOrElse( ParameterType . Raw ) , jsValue) match {
36
+ parameterInfos.getOrElse(parameterName, throw ParameterNotFoundException (parameterName, parameterInfos.keySet ))
37
+ fromJsValue(parameterInfo.`type`, jsValue) match {
38
38
case Some (param) => param
39
39
case None =>
40
40
throw ParameterValueParsingException (parameterName)
@@ -59,7 +59,6 @@ object ParameterValue {
59
59
}
60
60
}
61
61
sealed trait ParameterValue {
62
- def isEmpty : Boolean
63
62
64
63
/**
65
64
* Implemented by each parameter value depending on what it wants
@@ -70,22 +69,18 @@ sealed trait ParameterValue {
70
69
}
71
70
72
71
case class IntParameterValue (value : Int ) extends ParameterValue {
73
- override def isEmpty : Boolean = false // can never be empty
74
72
override def asJsonString : String = value.toString
75
73
override def asJsValue : JsValue = JsNumber (value)
76
74
}
77
75
case class DecimalParameterValue (value : BigDecimal ) extends ParameterValue {
78
- override def isEmpty : Boolean = false // can never be empty
79
76
override def asJsonString : String = value.toString
80
77
override def asJsValue : JsValue = JsNumber (value)
81
78
}
82
79
case class StringParameterValue (value : String ) extends ParameterValue {
83
- override def isEmpty : Boolean = value.isEmpty
84
80
override def asJsonString : String = StringEscapeUtils .escapeJson(value)
85
81
override def asJsValue : JsValue = JsString (value)
86
82
}
87
83
case class RawParameterValue (value : String ) extends ParameterValue {
88
- override def isEmpty : Boolean = value.isEmpty
89
84
override def asJsonString : String = value
90
85
override def asJsValue : JsValue = JsString (value)
91
86
}
0 commit comments