From 22fa3cc16f03b639d4cdb7d5c0cc25a5a602b65f Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 20 Nov 2015 13:08:56 +0100 Subject: [PATCH] =?UTF-8?q?JB=20V8=20debugger=20protocol=20=E2=80=94=20spe?= =?UTF-8?q?edup=20scriptParsed=20event=20(part=201)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/org/jetbrains/rpc/CommandProcessor.kt | 9 +++++++ .../src/org/jetbrains/rpc/MessageManager.kt | 6 +++-- .../src/org/jetbrains/rpc/RequestCallback.kt | 26 ------------------- .../src/DomainGenerator.kt | 6 ++++- .../protocol-reader/src/ReaderGenerator.kt | 2 +- 5 files changed, 19 insertions(+), 30 deletions(-) delete mode 100644 platform/script-debugger/backend/src/org/jetbrains/rpc/RequestCallback.kt diff --git a/platform/script-debugger/backend/src/org/jetbrains/rpc/CommandProcessor.kt b/platform/script-debugger/backend/src/org/jetbrains/rpc/CommandProcessor.kt index 51152a319563..2a0b61db3152 100644 --- a/platform/script-debugger/backend/src/org/jetbrains/rpc/CommandProcessor.kt +++ b/platform/script-debugger/backend/src/org/jetbrains/rpc/CommandProcessor.kt @@ -17,6 +17,7 @@ package org.jetbrains.rpc import com.intellij.openapi.diagnostic.Logger import io.netty.buffer.ByteBuf +import org.jetbrains.concurrency.Promise import org.jetbrains.jsonProtocol.Request import java.util.concurrent.atomic.AtomicInteger @@ -55,4 +56,12 @@ fun requestToByteBuf(message: Request<*>, isDebugEnabled: Boolean = LOG.isDebugE interface ResultReader { fun readResult(readMethodName: String, successResponse: RESPONSE): RESULT? +} + +interface RequestCallback { + fun onSuccess(response: SUCCESS_RESPONSE?, resultReader: ResultReader?) + + fun onError(error: Throwable) + + fun onError(error: String) = onError(Promise.createError(error)) } \ No newline at end of file diff --git a/platform/script-debugger/backend/src/org/jetbrains/rpc/MessageManager.kt b/platform/script-debugger/backend/src/org/jetbrains/rpc/MessageManager.kt index d3f4a97604fd..22fbef00b687 100644 --- a/platform/script-debugger/backend/src/org/jetbrains/rpc/MessageManager.kt +++ b/platform/script-debugger/backend/src/org/jetbrains/rpc/MessageManager.kt @@ -40,7 +40,9 @@ class MessageManager(privat fun readIfHasSequence(incoming: INCOMING): INCOMING_WITH_SEQ? - fun getSequence(incomingWithSeq: INCOMING_WITH_SEQ): Int + fun getSequence(incomingWithSeq: INCOMING_WITH_SEQ): Int = throw AbstractMethodError() + + fun getSequence(incomingWithSeq: INCOMING_WITH_SEQ, incoming: INCOMING) = getSequence(incomingWithSeq) fun acceptNonSequence(incoming: INCOMING) @@ -91,7 +93,7 @@ class MessageManager(privat return } - val callback = getCallbackAndRemove(handler.getSequence(commandResponse)) + val callback = getCallbackAndRemove(handler.getSequence(commandResponse, incomingParsed)) if (rejectIfClosed(callback)) { return } diff --git a/platform/script-debugger/backend/src/org/jetbrains/rpc/RequestCallback.kt b/platform/script-debugger/backend/src/org/jetbrains/rpc/RequestCallback.kt deleted file mode 100644 index c69db70a8da5..000000000000 --- a/platform/script-debugger/backend/src/org/jetbrains/rpc/RequestCallback.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2000-2015 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jetbrains.rpc - -import org.jetbrains.concurrency.Promise - -interface RequestCallback { - fun onSuccess(response: SUCCESS_RESPONSE?, resultReader: ResultReader?) - - fun onError(error: Throwable) - - fun onError(error: String) = onError(Promise.createError(error)) -} \ No newline at end of file diff --git a/platform/script-debugger/protocol/protocol-model-generator/src/DomainGenerator.kt b/platform/script-debugger/protocol/protocol-model-generator/src/DomainGenerator.kt index e79c7d801c72..192422703b0d 100644 --- a/platform/script-debugger/protocol/protocol-model-generator/src/DomainGenerator.kt +++ b/platform/script-debugger/protocol/protocol-model-generator/src/DomainGenerator.kt @@ -243,7 +243,11 @@ internal class DomainGenerator(val generator: Generator, val domain: ProtocolMet generateJsonProtocolInterface(className, event.description(), event.parameters(), object : TextOutConsumer { override fun append(out: TextOutput) { out.newLine().append("companion object TYPE : org.jetbrains.jsonProtocol.EventType<").append(fullName).append(", ").append(generator.naming.inputPackage).append('.').append(READER_INTERFACE_NAME).append('>') - out.append("(\"").append(domainName).append('.').append(event.name()).append("\")").block() { + out.append("(\"") + if (!domainName.isNullOrEmpty()) { + out.append(domainName).append('.') + } + out.append(event.name()).append("\")").block() { out.append("override fun read(protocolReader: ") out.append(generator.naming.inputPackage).append('.').append(READER_INTERFACE_NAME).append(", ").append(JSON_READER_PARAMETER_DEF).append(")") out.append(" = protocolReader.").append(generator.naming.eventData.getParseMethodName(domainName, event.name())).append("(reader)") diff --git a/platform/script-debugger/protocol/protocol-reader/src/ReaderGenerator.kt b/platform/script-debugger/protocol/protocol-reader/src/ReaderGenerator.kt index dbfaf51ed108..0ce01b5f1cd2 100644 --- a/platform/script-debugger/protocol/protocol-reader/src/ReaderGenerator.kt +++ b/platform/script-debugger/protocol/protocol-reader/src/ReaderGenerator.kt @@ -82,7 +82,7 @@ private fun generate(configuration: GenerateConfiguration<*>, stringBuilder: Str out.newLine().append("import org.jetbrains.io.JsonReaderEx") out.newLine().newLine().append("import org.jetbrains.jsonProtocol.JsonReaders.*") - out.newLine().newLine().append("class ").append(configuration.className).space() + out.newLine().newLine().append("internal class ").append(configuration.className).space() out.append(':').space().append(configuration.root.type.canonicalName).append(if (configuration.root.type.isInterface) "" else "()").openBlock(false) val rootClassScope = fileScope.newClassScope()