[
https://issues.apache.org/jira/browse/LIVY-654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gyorgy Gal updated LIVY-654:
----------------------------
Fix Version/s: 0.10.0
(was: 0.9.0)
This issue has been moved to the 0.10.0 release as part of a bulk update. If
you feel this is moved out inappropriately, feel free to provide justification
and reset the Fix Version to 0.9.0.
> Ability to validate string before creating state/kind of session/statement
> ---------------------------------------------------------------------------
>
> Key: LIVY-654
> URL: https://issues.apache.org/jira/browse/LIVY-654
> Project: Livy
> Issue Type: Improvement
> Reporter: Oleksandr Shevchenko
> Priority: Minor
> Fix For: 0.10.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Kind.scala, SessionState.scala and StatementState.java don't include a method
> for string validation. It might be very useful to verify if some string can
> be converted to an enum type.
>
> For example, to parse JSON string we need to write something like this (to
> prevent IllegalStateException):
>
> {code:java}
> Try {
> value match {
> case JsString(state) => SessionState(state)
> case _ => throw MyException
> }
> }
> match {
> case Success(state) => state
> case Failure(ex) => throw MyException
> }
> {code}
> it can be simplified to:
> {code:java}
> value match {
> case JsString(state) if SessionState.isValid(state) => SessionState(state)
> case _ => throw MyException
> }
> {code}
>
> The second problem is StatementState.java enum use Pascal case instead of
> upper case
>
> [https://github.com/apache/incubator-livy/blob/412ccc8fcf96854fedbe76af8e5a6fec2c542d25/rsc/src/main/java/org/apache/livy/rsc/driver/StatementState.java#L26]
> For example, Waiting instead of WAITING. This isn't fit Java code style.
> In this case, we can't use StatementState.valueOf("waiting".toUpperCase()) as
> usually but
> StatementState.valueOf(state.toLowerCase().capitalize). Not sure if we can
> change it now.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)