diff options
author | Robert Jaros <rjaros@finn.pl> | 2020-02-09 00:02:38 +0100 |
---|---|---|
committer | Robert Jaros <rjaros@finn.pl> | 2020-02-09 00:02:38 +0100 |
commit | 321fadf3b8381b9d33cb6c5208d0bf6c4d7923f7 (patch) | |
tree | 1cb143c9756044d27c53302836d69980e1474450 | |
parent | f8ff7ea49d2154d249c79a8c9591614793213e9e (diff) | |
download | kvision-321fadf3b8381b9d33cb6c5208d0bf6c4d7923f7.tar.gz kvision-321fadf3b8381b9d33cb6c5208d0bf6c4d7923f7.tar.bz2 kvision-321fadf3b8381b9d33cb6c5208d0bf6c4d7923f7.zip |
Simplify bindings definitions for remote components (select, typeahead)
6 files changed, 0 insertions, 170 deletions
diff --git a/kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt index 09239fdd..71c7d641 100644 --- a/kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt +++ b/kvision-modules/kvision-common-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt @@ -111,14 +111,6 @@ expect open class KVServiceManager<T : Any>(serviceClass: KClass<T>) { ) /** - * Binds a given function of the receiver as a select options source - * @param function a function of the receiver - */ - protected fun bindSelectRemote( - function: suspend T.(String?, String?, String?) -> List<RemoteOption> - ) - - /** * Binds a given function of the receiver as a tabulator component source * @param function a function of the receiver */ diff --git a/kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt index c257645d..aaf63153 100644 --- a/kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt +++ b/kvision-modules/kvision-remote/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt @@ -129,17 +129,6 @@ actual open class KVServiceManager<T : Any> actual constructor(serviceClass: KCl } /** - * Binds a given function of the receiver as a select options source - * @param function a function of the receiver - */ - protected actual fun bindSelectRemote( - function: suspend T.(String?, String?, String?) -> List<RemoteOption> - ) { - val routeDef = "route${this::class.simpleName}${counter++}" - calls[function.toString().replace("\\s".toRegex(), "")] = Pair("/kv/$routeDef", HttpMethod.POST) - } - - /** * Binds a given function of the receiver as a tabulator component source * @param function a function of the receiver */ diff --git a/kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt index 6cc2b73d..7bb7af06 100644 --- a/kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt +++ b/kvision-modules/kvision-server-jooby/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt @@ -446,51 +446,6 @@ actual open class KVServiceManager<T : Any> actual constructor(val serviceClass: } /** - * Binds a given function of the receiver as a select options source - * @param function a function of the receiver - */ - @Suppress("TooGenericExceptionCaught") - protected actual fun bindSelectRemote( - function: suspend T.(String?, String?, String?) -> List<RemoteOption> - ) { - val routeDef = "route${this::class.simpleName}${counter++}" - routes.add { - call(HttpMethod.POST, "/kv/$routeDef") { req, res -> - val jsonRpcRequest = req.body(JsonRpcRequest::class.java) - @Suppress("MagicNumber") - if (jsonRpcRequest.params.size == 3) { - val param1 = getParameter<String?>(jsonRpcRequest.params[0]) - val param2 = getParameter<String?>(jsonRpcRequest.params[1]) - val param3 = getParameter<String?>(jsonRpcRequest.params[2]) - val injector = req.require(Injector::class.java) - val service = injector.getInstance(serviceClass.java) - GlobalScope.launch(start = CoroutineStart.UNDISPATCHED) { - try { - val result = function.invoke(service, param1, param2, param3) - res.send( - JsonRpcResponse( - id = jsonRpcRequest.id, - result = mapper.writeValueAsString(result) - ) - ) - } catch (e: Exception) { - if (!(e is ServiceException)) LOG.error(e.message, e) - res.send( - JsonRpcResponse( - id = jsonRpcRequest.id, error = e.message ?: "Error", - exceptionType = e.javaClass.canonicalName - ) - ) - } - } - } else { - res.send(JsonRpcResponse(id = jsonRpcRequest.id, error = "Invalid parameters")) - } - }.invoke(this) - } - } - - /** * Binds a given function of the receiver as a tabulator component source * @param function a function of the receiver */ diff --git a/kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt index 19bb8db4..d3fde5c7 100644 --- a/kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt +++ b/kvision-modules/kvision-server-ktor/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt @@ -449,52 +449,6 @@ actual open class KVServiceManager<T : Any> actual constructor(val serviceClass: } /** - * Binds a given function of the receiver as a select options source - * @param function a function of the receiver - */ - @Suppress("TooGenericExceptionCaught") - protected actual fun bindSelectRemote( - function: suspend T.(String?, String?, String?) -> List<RemoteOption> - ) { - val routeDef = "route${this::class.simpleName}${counter++}" - addRoute(HttpMethod.POST, "/kv/$routeDef") { - val service = call.injector.createChildInjector(DummyWsSessionModule()).getInstance(serviceClass.java) - val jsonRpcRequest = call.receive<JsonRpcRequest>() - @Suppress("MagicNumber") - if (jsonRpcRequest.params.size == 3) { - val param1 = getParameter<String?>(jsonRpcRequest.params[0]) - val param2 = getParameter<String?>(jsonRpcRequest.params[1]) - val param3 = getParameter<String?>(jsonRpcRequest.params[2]) - try { - val result = function.invoke(service, param1, param2, param3) - call.respond( - JsonRpcResponse( - id = jsonRpcRequest.id, - result = mapper.writeValueAsString(result) - ) - ) - } catch (e: Exception) { - if (!(e is ServiceException)) LOG.error(e.message, e) - call.respond( - JsonRpcResponse( - id = jsonRpcRequest.id, - error = e.message ?: "Error", - exceptionType = e.javaClass.canonicalName - ) - ) - } - } else { - call.respond( - JsonRpcResponse( - id = jsonRpcRequest.id, - error = "Invalid parameters" - ) - ) - } - } - } - - /** * Binds a given function of the receiver as a tabulator component source * @param function a function of the receiver */ diff --git a/kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt b/kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt index 291a9481..05e009a4 100644 --- a/kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt +++ b/kvision-modules/kvision-server-spring-boot/src/main/kotlin/pl/treksoft/kvision/remote/KVServiceManager.kt @@ -511,59 +511,6 @@ actual open class KVServiceManager<T : Any> actual constructor(val serviceClass: } /** - * Binds a given function of the receiver as a select options source - * @param function a function of the receiver - */ - @Suppress("TooGenericExceptionCaught") - protected actual fun bindSelectRemote( - function: suspend T.(String?, String?, String?) -> List<RemoteOption> - ) { - val routeDef = "route${this::class.simpleName}${counter++}" - addRoute(HttpMethod.POST, "/kv/$routeDef") { req, ctx -> - val service = ctx.getBean(serviceClass.java) - initializeService(service, req) - val jsonRpcRequest = req.awaitBody<JsonRpcRequest>() - @Suppress("MagicNumber") - if (jsonRpcRequest.params.size == 3) { - val param1 = getParameter<String?>(jsonRpcRequest.params[0]) - val param2 = getParameter<String?>(jsonRpcRequest.params[1]) - val param3 = getParameter<String?>(jsonRpcRequest.params[2]) - try { - val result = function.invoke(service, param1, param2, param3) - ServerResponse.ok().json().bodyValueAndAwait( - mapper.writeValueAsString( - JsonRpcResponse( - id = jsonRpcRequest.id, - result = mapper.writeValueAsString(result) - ) - ) - ) - } catch (e: Exception) { - if (!(e is ServiceException)) LOG.error(e.message, e) - ServerResponse.ok().json().bodyValueAndAwait( - mapper.writeValueAsString( - JsonRpcResponse( - id = jsonRpcRequest.id, - error = e.message ?: "Error", - exceptionType = e.javaClass.canonicalName - ) - ) - ) - } - } else { - ServerResponse.ok().json().bodyValueAndAwait( - mapper.writeValueAsString( - JsonRpcResponse( - id = jsonRpcRequest.id, - error = "Invalid parameters" - ) - ) - ) - } - } - } - - /** * Binds a given function of the receiver as a tabulator component source * @param function a function of the receiver */ diff --git a/kvision-tools/kvision-compiler-plugin/src/main/kotlin/pl/treksoft/kvision/plugin/KVProcessor.kt b/kvision-tools/kvision-compiler-plugin/src/main/kotlin/pl/treksoft/kvision/plugin/KVProcessor.kt index e09c9021..31ed4ffd 100644 --- a/kvision-tools/kvision-compiler-plugin/src/main/kotlin/pl/treksoft/kvision/plugin/KVProcessor.kt +++ b/kvision-tools/kvision-compiler-plugin/src/main/kotlin/pl/treksoft/kvision/plugin/KVProcessor.kt @@ -98,8 +98,6 @@ class KVProcessor : AbstractProcessor() { when { it.returnType.toString().startsWith("RemoteData") -> appendln(" bindTabulatorRemote($iName::${it.name})") - it.returnType.toString() == "List<RemoteOption>" -> - appendln(" bindSelectRemote($iName::${it.name})") else -> appendln(" bind($iName::${it.name})") } } @@ -149,11 +147,6 @@ class KVProcessor : AbstractProcessor() { params )}) = ${it.returnType.toString()}()" ) - it.returnType.toString() == "List<RemoteOption>" -> appendln( - " override suspend fun $name(${getParameterList( - params - )}) = emptyList<RemoteOption>()" - ) else -> appendln( " override suspend fun $name(${getParameterList(params)}) = call($iName::$name, ${getParameterNames( params |