more optional validations
This commit is contained in:
@@ -1,43 +1,17 @@
|
||||
package com.restapi.integ
|
||||
|
||||
import com.restapi.config.AppConfig.Companion.appConfig
|
||||
import java.io.File
|
||||
import javax.script.Invocable
|
||||
import javax.script.ScriptEngineManager
|
||||
|
||||
|
||||
object Scripting {
|
||||
const val a = "1"
|
||||
@JvmStatic
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
|
||||
|
||||
k()
|
||||
|
||||
|
||||
}
|
||||
|
||||
fun k(){
|
||||
fun execute(name: String, params: Map<String, Any>): Any {
|
||||
val engine = ScriptEngineManager().getEngineByExtension("kts")!!
|
||||
val res1 = engine.eval("""
|
||||
fun fn(x: Int) = x + 2
|
||||
val obj = object {
|
||||
fun fn1(x: Int) = x + 3
|
||||
}
|
||||
obj""".trimIndent())
|
||||
println(res1)
|
||||
|
||||
val invocator = engine as? Invocable
|
||||
println(invocator)
|
||||
|
||||
try {
|
||||
println(invocator!!.invokeFunction("fn1", 3))
|
||||
} catch (e: NoSuchMethodException) {
|
||||
println(e)
|
||||
}
|
||||
|
||||
val res2 = invocator!!.invokeFunction("fn", 3)
|
||||
println(res2)
|
||||
val res3 = invocator.invokeMethod(res1, "fn1", 3)
|
||||
println(res3)
|
||||
engine.eval(File(appConfig.scriptsPath(), "$name.kts").reader())
|
||||
val invocator = engine as Invocable
|
||||
return invocator.invokeFunction("execute", params)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user